JP4442891B2 - 可変長符号化装置及び可変長符号化方法 - Google Patents

可変長符号化装置及び可変長符号化方法 Download PDF

Info

Publication number
JP4442891B2
JP4442891B2 JP2004347238A JP2004347238A JP4442891B2 JP 4442891 B2 JP4442891 B2 JP 4442891B2 JP 2004347238 A JP2004347238 A JP 2004347238A JP 2004347238 A JP2004347238 A JP 2004347238A JP 4442891 B2 JP4442891 B2 JP 4442891B2
Authority
JP
Japan
Prior art keywords
variable length
variable
length code
block
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004347238A
Other languages
English (en)
Other versions
JP2006157678A (ja
JP2006157678A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004347238A priority Critical patent/JP4442891B2/ja
Priority to US11/288,855 priority patent/US7894532B2/en
Publication of JP2006157678A publication Critical patent/JP2006157678A/ja
Publication of JP2006157678A5 publication Critical patent/JP2006157678A5/ja
Application granted granted Critical
Publication of JP4442891B2 publication Critical patent/JP4442891B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Description

本発明は、静止画像及び動画像に対する符号化処理における、高速な可変長復号化装置を提供するものである。
従来から、静止画像や動画像の圧縮符号化技術の一部としてランレングス/カテゴリ符号化及び可変長符号化によるエントロピー符号化技術を使用する方式が良く知られている。この技術は国際標準であるJPEG(Joint Photographic Expert Group)符号化方式及びMPEG−1/−2(Moving Picture Experts Group)符号化方式においても採用されている。
これらの符号化方式において可変長符号化が施される事象は、ランレングス及びレベルと呼ばれる2次元の事象に対してハフマン符号を割り当てる事によってエントロピー符号化を実現している。すなわち、JPEG或いはMPEG−1/−2においては、この一種類の2次元事象に対して可変長符号化を施す事だけで符号化ストリームを生成する事が可能である。なお、以後において可変長符号化の対象となる事象(DTC係数や動きベクトルなど、所定のシンタクスで伝送することが規定されている情報)をシンタックス要素と呼ぶこととする。ここでシンタックスとは、圧縮符号化されたデータ列の規則をいう。
一方、近年高能率符号化方式として注目されているH.264符号化方式のエントロピー符号化においては、変換係数をランレングス及びレベルを独立のシンタックス要素として符号化する事に加えて、4×4ブロック内の有意係数の総数(TotalCoeffs)及びジグザグ・スキャン順で最終有意係数が絶対値1である係数の個数(trailing_ones)から2次元事象のシンタックス要素coeff_token、更には変換係数の値が零の数であるTotalZeros、及びジグザグ・スキャン順で最終有意係数が絶対値1である係数の符号trailing_ones_signの5つのシンタックス要素をブロック毎に可変長符号化しなければならない。JPEG或いはMPEG−1/−2符号化方式とH.264符号化方式の可変長符号化装置の比較を図1に示す。
H.264符号化方式におけるエントロピー符号化では、直交変換後の変換係数或いは画像データに対して4×4ブロック単位に処理を行う。H.264符号化方式においては、図2Aで示す4×4ブロック内のジグザグ・スキャン順の逆方向(逆スキャン順)から処理を行い、順次前記5つのシンタックス要素を生成し可変長符号化する。なお、ブロック内の変換係数の値をIをジグザグスキャン番号としてLevel[I]として表現する。
<H.264符号化方式のエントロピー符号化処理>
次に図2Bで示す変換係数から成る4×4ブロックを、H.264符号化方式のCAVLC方式によるエントロピー符号化処理を説明する。H.264符号化方式の可変長符号化装置のブロック図を図3に示す。更に、図4には4×4ブロック単位の5つのシンタックス要素に対応する可変長符号が結合されて符号化ストリームになる際の結合される順番を示す。
TotalCoeffs算出手段304において、図2Bの4×4ブロック内の変換係数において値0ではない個数を算出する。ここでは、TotalCoeffs= 6である。次にTotalZeros算出手段306において最終有意係数であるLevel[9]からLevel[0]までの間にLevel[I]値が0である個数を算出する。ここでは、TotalZeros=4である。trailing_ones算出手段405においては、最終有意係数であるLevel[9]から絶対値1である変換係数の個数を最大3まで算出する。ここでは、Level[9]及びLevel[7]が絶対値が1であるので、trailing_ones2となる。なお、TotalCoeffs算出手段304で算出したTotalCoeffsの値とtrailing_ones算出手段305で算出したtrailing_onesの値から2次元事象のシンタックス要素であるcoeff_tokenをcoeff_token可変長符号生成手段309において算出する。
シンタックス要素であるLevelについては、逆スキャン順で順次生成するため、最終有意係数であるLevel[9]から順次Levelを生成する。ただし、trailing_ones算出手段305において算出したtrailing_onesの値に応じて、Levelの値を修正する必要があり、この処理を行うのがLevel選択手段301である。Level選択手段301においては、Level[I]の値が0でない場合に順次閾値判定手段302及びLevel可変長符号生成手段303に出力すると同時に、trailing_onesの値が3より小さい場合には絶対値が1ではない最初のLevel[I]の値の絶対値から1を減算する。ここでは、trailing_ones =2であるのでLevel[6]の絶対値6から1を減算した値5をLevel[6]のLevelとして出力する。更に、閾値判定手段302においてsuffixLengthを判定しLevel可変長符号生成手段303に出力する。
SuffixLengthは、H.264の規格上予め定められた閾値テーブルと、入力されるLevel[I]の値との大小を比較する事で判定する。Level可変長符号生成手段303では、SuffixLengthの値に応じて可変長符号に用いる可変長テーブル(図示しない)を選択する。
次にrun_befere算出手段307において、逆スキャン順におけるゼロランの算出を行う。Level[9]からLevel[7]間はrun_before=1、Level[7]からLevel[6]間はrun_before=0という様に順次算出する。なお、zeros_left管理手段においては、TotalZerosの値から順次算出されるrun_beforeの値を減算した値をzeros_leftとしてrun_before可変長符号生成手段311へ出力する。run_before可変長符号生成手段311においては、run_before及びzeros_leftの値から可変長符号を生成する。
可変長符号結合手段312においては、図4で示す順番に従い、coef_token可変長符号生成手段309から入力される可変長符号、次にtrailing_ones算出手段305から入力されるtrailing_ones_sign、次にLevel可変長符号生成手段303から入力される可変長符号、次にTotalZeros可変長符号生成手段310から入力される可変長符号、最後にrun_before可変長符号生成手段311から入力される可変長符号を順次結合して図2Bに対応する符号化ストリームとして出力する。
<従来技術による処理>
図3のブロック図を基に、ハードウエアにおいてエントロピー符号化した場合の例について説明する。また、図5には、従来技術によるエントロピー符号化の各処理と時間の関係が示されている。
図3のブロック図の入力である変換係数は、図5における処理503で示す通り4×4ブロック内の16個の変換係数が逆スキャン順に処理506及び処理510に順次入力される。処理506において、シンタックス要素TotalCoeffs及びtrailing_onesの算出を平行に算出すると共に、trailing_onesに対応する係数の符号tralilng_ones_signを算出する。シンタックス要素TotalCoeffs及びtrailing_onesの算出が完了した時点において、これら2つのシンタックス要素の値からcoeff_tokenに対応する可変長符号を生成する。
生成した一つの可変長符号及び一つの符号tralilng_ones_signは、処理515で示す可変長符号結合手段515によって、coeff_token及びtralilng_ones_signからなる符号化ストリームが生成される。また、処理506と平行して処理510において、シンタックス要素TotalZeros及び対応する可変長符号を生成する。ただし、生成した一つの可変長符号はこの時点では、処理515の可変長符号結合手段において符号化ストリームとして結合されず、処理510の出力として保持される。
次に処理511においてLevel[I]の可変長符号を生成する。処理504で示す通りに、処理503で入力された変換係数とまったく同一の変換係数が再度処理511に入力される。処理511においては、処理506で算出したtrailing_onesの値に応じて、処理504から入力される変換係数の値Level[I]に対応する可変長符号を随時、処理515の可変長符号結合手段に出力する。処理515の可変長符号結合手段は最大16個の可変長符号を随時結合して、coeff_token、tralilng_ones_sign及びLevelからなる符号化ストリームを生成する。
さらに、処理515の可変長符号結合手段は処理511から入力が完了した時点で、処理510の出力として保持されているTotalZerosを、結合しcoeff_token、tralilng_ones_sign、Level及びTotalZerosからなる符号ストリームを生成する。
次に処理514においてrun_beforeの可変長符号を生成する。処理505で示す通り、処理504と同様に処理503と同一の変換係数が順次入力される。処理514においては、処理510で既に算出したシンタックス要素TotalZerosの値と、入力される変換係数の値Level[I]からrun_beforeの可変長符号を随時生成して、処理515の可変長符号結合手段に出力する。処理515の可変長符号結合手段は、これまで生成したcoeff_token、tralilng_ones_sign、Level及びTotalZerosからなる符号化ストリームに随時run_beforeの可変長符号を結合し、4×4ブロックの符号化ストリームの生成を完了する。
同様の処理を、ピクチャ内のすべての4×4ブロックに対して繰り返し行う事で、エントロピー符号化を実現する。
例えば特許文献1に開示の画像符号化/復号化装置においては、符号化処理を構成する各処理をステージに分割し、処理ステージの前後にメモリを構成する事によってパイプライン処理を実現し高速化を試みている。
特開平11−252549号公報
しかしながら、従来技術においては、1つの4×4ブロックを処理するために、計3回(上述の処理503、504及び505への計3回の入力)の4×4ブロックの変換係数を入力する必要があり莫大な処理時間を必要とされ、リアルタイム符号化を実現する事が困難であるという問題がある。
また、特許文献1においても、複数のシンタックス要素を一つの符号化ストリームとして処理する様なエントロピー符号化には適用することは困難である。
本発明はこのような問題点に鑑みてなされたものであり、静止画像及び動画像に対するエントロピー符号化において、ブロック単位のパイプラン動作を行う事によって高速な可変長符号化装置を提供するものである。
上記課題を解決するために、本発明による可変長符号化装置は、ブロック単位で画像データを入力し、画像データから複数のシンタックス要素を生成し、かつ可変長符号化して符号化ストリームを出力する可変長符号化装置であって、前記画像データをブロック単位に記憶する少なくとも二つ以上のブロック記憶手段から構成されるブロック記憶手段群と、前記ブロック記憶手段から画像データを読み出し少なくとも二つ以上のシンタックス要素を生成するシンタックス要素生成手段群と、前記シンタックス要素生成手段群から生成されるシンタックス要素をシンタックス要素ごとに可変長符号化し可変長符号語を出力する可変長符号化手段群と、前記可変長符号化手段群により符号化された前記可変長符号語を記憶する少なくとも二つ以上の可変長符号記憶手段から構成される可変長符号記憶手段群と、前記可変長符号記憶手段群から読み出された複数の前記可変長符号語を、各シンタックス要素に対応する可変長符号語ごとに、少なくとも二以上のシンタックス要素に対応する可変長符号語について結合して符号化ストリームを生成する可変長符号結合手段とを備えることを特徴とする。
また、本発明による可変長符号化方法は、ブロック単位で画像データを入力し、画像データから複数のシンタックス要素を生成し、かつ可変長符号化して符号化ストリームを出力する可変長符号化方法であって、前記画像データをブロック単位で、少なくとも二つ以上のブロック記憶手段から構成されるブロック記憶手段群に格納する格納工程と、前記ブロック記憶手段から画像データを読み出し少なくとも二つ以上のシンタックス要素を生成するシンタックス要素生成工程と、前記シンタックス要素生成工程で生成されたシンタックス要素をシンタックス要素ごとに可変長符号化して可変長符号語を出力する可変長符号化工程と、前記可変長符号化工程において符号化された前記可変長符号語を、少なくとも二つ以上の可変長符号記憶手段群に記憶する可変長符号記憶工程と、前記可変長符号記憶手段群から読み出された複数の前記可変長符号語を、各シンタックス要素に対応する可変長符号語ごとに、少なくとも二以上のシンタックス要素に対応する可変長符号語について結合して符号化ストリームを生成する可変長符号結合工程とを備えることを特徴とする。
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
以上のような構成を備える本発明によれば、ブロック単位のパイプラン動作を行うことによって高速な可変長符号化を実現することができる。
<基本的概念>
図6に示す可変長符号化装置に入力にはブロック単位の画像データが入力される。入力される画像データは、一次的にブロック単位でブロック記憶手段群601に記憶される。ブロック記憶手段601は少なくとも2つ以上のブロックを記憶出来る容量を持ち、ブロック単位の容量毎に独立に動作を行う。入力されるブロック単位の画像データは、ブロック記憶手段群601内の複数のブロック単位の記憶手段から一つが選択し、順次画像データの書き込みを行う。
ブロック記憶手段群601において、一つのブロックに対する書き込みが完了した後、該ブロック記憶手段群601から画像データを順次読み出し、シンタックス要素生成手段群602内の複数のシンタックス要素生成手段において各々のシンタックス要素を生成する。
また、該各々のシンタックス要素に対して独立に可変長符号化を行い可変長符号を生成し、かつ該各々の可変長符号を可変長符号記憶手段群605において独立に記憶する。
一方、シンタックス要素生成手段群及び可変長符号生成手段群における処理と並行して、ブロック記憶手段群601においては、ブロック記憶手段群601内の複数のブロック記憶手段から、シンタックス要素生成手段群に対して読み出しを行っていないブロック記憶手段を一つ選択し、次のブロック単位の画像データの書き込みを行う。
さらに、可変長符号結合手段606において、可変長符号記憶手段群605において独立に記憶された各々のシンタックス要素に対応する可変長符号を結合して、一つの符号化ストリームを出力する。
すべての入力画像データに対してブロック単位にこれらの処理を繰り返し行う事で、ブロック記憶手段群601及び可変長記憶手段群605をステージの境界としたブロック単位のパイプライン動作を行う可変長符号化装置が実現出来る。
次に、本発明の好適な実施例として、H.264符号化方式のエントロピー符号化方式であるCAVLC方式に適用した可変長符号化装置について説明する。
<符号化装置の構成>
図7には、実施例1のエントロピー符号化装置のブロック図を示す。
本可変長符号化装置の入力画像データは、直交変換及び量子化処理が施された図2Aで示される変換係数である。変換係数は図示しない量子化処理を行うブロックから図2Aで示される4×4ブロック単位で、かつラスタスキャン順に入力される。
入力された4×4ブロックの変換係数は、順次ブロック記憶手段に記憶されると同時に、TotalCoeffs算出手段704、trailing_ones算出手段706、及びTotalZeors算出手段707に入力される。ブロック記憶手段720は、4×4ブロックの変換係数を記憶可能な容量をもつ二つのブロック記憶手段であるブロック記憶手段718及びブロック記憶手段719から構成される。
これら2つのブロック記憶手段718及び719は、4×4ブロック単位でオルタネート・バッファとして動作する。すなわち、入力される変換係数の書き込み先が4×4ブロック単位で切り替わる。
一方、TotalCoeffs算出手段704、trailing_ones算出手段706、及びTotalZeors算出手段707では、本可変長符号化装置に入力される変換係数を入力として、それぞれ[H.264符号化方式のエントロピー符号化処理]で示した処理と同様な手法により、シンタックス要素TotalCoeffs、trailing_ones、trailing_ones_sign及びTotalZeorsを出力する。
また、Coeff_token可変長符号化生成手段705には、TotalCoeffs、trailing_onesが入力され、これら2つのシンタックス要素から算出されるcoeff_tokenの値に応じた可変長符号が出力される。同様に、TotalZeors可変長符号生成手段709においても、入力されるTotalZeorsの値に応じた可変長符号が出力される。
各シンタックス要素に対応した可変長符号は、可変長符号記憶手段721に記憶される。可変長符号記憶手段721は、各シンタックス要素に対応して、4×4ブロック単位で発生する最大符号量を記憶可能な容量をもつ2つの記憶手段である、可変長符号記憶手段群712及び713から構成される。可変長符号記憶手段群712及び713は、各シンタックス要素毎に、4×4ブロック単位でオルタネート・バッファとして動作する。
また、Level及びrun_beforeのシンタックス要素を生成する際に必要となるtrailing_ones及びTotalZerosの値は、可変長符号記憶手段群721内の変数記憶手段に記憶される。
一方、Level選択手段701及びrun_before算出手段708には、ブロック記憶手段720に記憶されている変換係数を、4×4ブロック単位で逆スキャン順に読み出す事により入力する。本可変長符号化装置の入力変換係数の書き込みが行われていないブロック記憶手段720内のブロック記憶手段718或いは719から一つを選択して、読み出しが行われる。Level選択手段701、閾値判定手段702及びLevel可変長符号生成手段703の動作は、それぞれ上述したH.264符号化方式のエントロピー符号化処理と同様である。
Level可変長符号生成手段703から4×4ブロック毎に出力される可変長符号の数は、4×4ブロック内の有意係数の個数に応じて異なる。可変長符号記憶手段群721内のLevel可変長符号記憶手段713或いは714においては、Level可変長符号生成手段703から入力される可変長符号化を4×4ブロック単位で一つの符号語ストリームとして結合して記憶する。
また、run_before算出手段708、zeros_left管理手段711及びrun_before可変長符号生成手段710の動作は、上述したH.264符号化方式のエントロピー符号化処理と同様である。
さらに、run_before可変長符号生成手段710から出力される4×4ブロック毎に出力される可変長符号の数は、4×4ブロック内の有意係数の個数に応じて異なる。可変長符号記憶手段群721内のrun_before可変長符号記憶手段710においては、run_before可変長符号生成手段710から入力される可変長符号化を4×4ブロック単位で一つの符号語ストリームとして結合して記憶する。
可変長符号記憶手段群721は、各シンタックス要素に対応する可変長符号を記憶する、Level可変長符号記憶手段、coef_token可変長符号記憶手段、trailing_ones_sign記憶手段、TotalZeros可変長符号記憶手段及run_before可変長符号記憶手段及びシンタックス要素の生成に必要な変数を記憶する変数記憶手段から構成される。このうち、Level可変長符号記憶手段及び及run_before可変長符号記憶手段においては、入力される可変長符号の数が4×4単位で可変であるために、入力される可変長符号を随時結合する事によって一つの符号語ストリームとして記憶する。
また、可変長符号記憶手段721内の6つの記憶手段はそれぞれ、2つの記憶手段から構成されておりブロック単位に独立にオルタネート動作(交互切換動作)を行う。このとき、ブロック記憶手段群及び可変長符号記憶手段群における書き込み及び読み出し動作は、ブロック単位で並行(パラレル)に行われることになる。
付加情報選択手段716には、可変長符号記憶手段群721内の、coef_token可変長符号記憶手段、trailing_ones_sign記憶手段及びTotalZeros可変長符号記憶手段のそれぞれ2組の可変長符号が入力される。付加情報選択手段716においては、4×4ブロック単位で切り替える事によって、2組の内どちらか一方を選択して、可変長符号結合手段717に出力する。言うまでもなく、付加情報選択手段716の出力においては、未だ各シンタックス要素に対応した可変長符号は独立しており一つの符号化ストリームとしては構成されていない。
RunLevel選択手段715には、可変長符号記憶手段群721内のLevel可変長符号記憶手段及び及run_before可変長符号記憶手段のそれぞれ2組の可変長符号が入力される。付加情報選択手段716と同様に4×4ブロック単位で切り替える事によって、2組の内どちらか一方を選択して、可変長符号結合手段717に供給する。
変数選択手段714の構成も、可変長符号記憶手段群721内の変数記憶手段から入力される点以外は、付加情報選択手段716及びRunLevel選択手段715と同様である。ただし、その出力は可変長符号結合手段717に供給されるのではなく、Level選択手段701及びzero_lefet管理手段711に供給される。
可変長符号結合手段717は、付加情報選択手段716及びRunLevel選択手段715から入力される各シンタックス要素に対応した可変長符号を、順次結合する事で符号化ストリームを生成する。
<パイプライン動作の具体例>
本可変長符号化装置におけるブロック単位の3ステージから成るパイプライン動作を示した図を図8に示す。図8には4つの4×4ブロックが順次入力された際の動作がブロック単位にT1〜T4の期間に分割した形で示されている。以後4×4ブロック#0を対象とした3つのステージに注目して説明を行う。
(1)ステージ1
期間T1において、最初の4×4ブロック#0が本可変長符号化装置に入力される。4×4ブロック#0内の各変換係数は、図中ブロック処理で示す通りに、ブロック記憶手段#0(図7中のブロック記憶手段718に対応)に順次書き込みを行うのと平行して、付加情報処理を行いその結果を、可変長符号記憶手段群721に記憶する。ここで、付加情報処理とは、図7中のTotalCoeffs算出手段704、trailing_ones算出手段706、coeff_token可変長符号生成手段705、TotalZeors算出手段707及びTotalZeors可変長符号生成手段に対応する。図8中の付加情報処理に、TotalZeors算出手段707及びTotalZeors可変長符号生成手段を記載していないが、平行して処理が行われているものとする。
付加情報処理の結果得られたcoef_token、TotalZeros及びtrailing_ones_signに対応する可変長符号は、それぞれ対応する可変長符号記憶手段群内の#0の記憶手段に記憶される。また同様にTotalZeors及びtrailing_onesの値も、それぞれ対応する可変長符号記憶手段群内の#0の記憶手段に記憶される。
(2)ステージ2
期間T2において、4×4ブロック#0が記憶されているブロック記憶手段#0から変換係数を読み出し、Level処理及びrun_before処理を行う。Level処理とは、Level選択手段701、閾値判定手段702及びLevel可変長符号生成手段703の3つの処理に対応し、run_before処理とはrun_before算出手段708、zeros_left管理手段711及びrun_before可変長符号生成手段710に対応する。Level処理及びrun_before処理の結果得られた可変長符号は、それぞれ対応する可変長符号記憶手段群内の#0の記憶手段に記憶される。
また、これらの処理に平行して、可変長符号結合手段717は、ステージ1において可変長符号記憶手段群内の#0の記憶手段に書き込みを行ったcoef_token、TotalZerosに対応する可変長符号を読み出し、結合し可変長符号結合手段717内に保持し、trailing_ones_signは独立して保持する。
一方、次の4×4ブロック#1が平行して本可変長符号化装置に入力され、ステージ1の処理が行われる。この場合4×4ブロックが書き込み先はブロック記憶手段#1(図7中のブロック記憶手段719に対応)であり、付加情報処理の結果は可変長符号記憶手段群内の#1の記憶手段に記憶される。
(3)ステージ3
期間T3において、可変長符号結合手段717においてステージ2においてLevel処理及びrun_before処理の結果を記憶した可変長符号を、それぞれ対応する可変長符号記憶手段群内の#0の記憶手段から読み出し、ステージ2において可変長符号結合手段717に保持しておいた、coef_token、TotalZerosを結合した可変長符号及びtrailing_ones_signに対応する符号を結合し符号化ストリームとして出力する。
<実施形態の効果>
ブロック単位で複数のシンタックス要素を可変長符号化して、一つの符号化ストリームを出力可変長符号化装置において、入力段にブロック単位にオルタネートで動作する2つのブロック記憶手段及び各々のシンタックス要素に対応する可変長符号をブロック単位にオルタネートで動作する2つ可変長符号記憶手段を用いる事によって、ブロック単位のパイプライン動作が実現でき、高速な可変長符号処理を行う事が可能となった。
H.264符号化方式と他の符号化方式との比較を示した図である。 スキャン順を説明するための図である。 H.264符号化方式におけるエントロピー符号方式の処理を示したブロック図である。 H.264におけるシンタックス要素の順番を示した図である。 従来のエントロピー符号方式の各処理と時間の関係を示した図である。 本発明における可変長符号化装置の基本的概念を説明するための図である。 実施形態例におけるエントロピー符号方式の可変長符号化装置の構成を示すブロック図である。 実施形態によるエントロピー符号方式の処理の手順を示す図である。

Claims (8)

  1. ブロック単位で画像データを入力し、画像データから複数のシンタックス要素を生成し、かつ可変長符号化して符号化ストリームを出力する可変長符号化装置であって、
    前記画像データをブロック単位に記憶する少なくとも二つ以上のブロック記憶手段から構成されるブロック記憶手段群と、
    前記ブロック記憶手段から画像データを読み出し少なくとも二つ以上のシンタックス要素を生成するシンタックス要素生成手段群と、
    前記シンタックス要素生成手段群から生成されるシンタックス要素をシンタックス要素ごとに可変長符号化し可変長符号語を出力する可変長符号化手段群と、
    前記可変長符号化手段群により符号化された前記可変長符号語を記憶する少なくとも二つ以上の可変長符号記憶手段から構成される可変長符号記憶手段群と、
    前記可変長符号記憶手段群から読み出された複数の前記可変長符号語を、各シンタックス要素に対応する可変長符号語ごとに、少なくとも二以上のシンタックス要素に対応する可変長符号語について結合して符号化ストリームを生成する可変長符号結合手段と
    を備えることを特徴とする可変長符号化装置。
  2. 前記ブロック記憶手段群及び前記可変長符号記憶手段群は、ブロック単位で書き込み及び読み出し動作を並行に行うことを特徴とする請求項1に記載の可変長符号化装置。
  3. 前記ブロック記憶手段群及び前記可変長符号記憶手段群は、パイプライン動作のステージの境界となっていることを特徴とする請求項1又は2に記載の可変長符号化装置。
  4. 前記可変長符号記憶手段群からの読み出し動作は、前記可変長符号記憶手段群に記憶されている符号の種類ごとに実行されることを特徴とする請求項2に記載の可変長符号化装置。
  5. ブロック単位で画像データを入力し、画像データから複数のシンタックス要素を生成し、かつ可変長符号化して符号化ストリームを出力する可変長符号化方法であって、
    前記画像データをブロック単位で、少なくとも二つ以上のブロック記憶手段から構成されるブロック記憶手段群に格納する格納工程と、
    前記ブロック記憶手段から画像データを読み出し少なくとも二つ以上のシンタックス要素を生成するシンタックス要素生成工程と、
    前記シンタックス要素生成工程で生成されたシンタックス要素をシンタックス要素ごとに可変長符号化して可変長符号語を出力する可変長符号化工程と、
    前記可変長符号化工程において符号化された前記可変長符号語を、少なくとも二つ以上の可変長符号記憶手段群に記憶する可変長符号記憶工程と、
    前記可変長符号記憶手段から読み出された複数の前記可変長符号語を、各シンタックス要素に対応する可変長符号語ごとに、少なくとも二以上のシンタックス要素に対応する可変長符号語について結合して符号化ストリームを生成する可変長符号結合工程と
    を備えることを特徴とする可変長符号化方法。
  6. 前記ブロック記憶手段群及び前記可変長符号記憶手段群における書き込み及び読み出し動作は、ブロック単位で並行に行われることを特徴とする請求項5に記載の可変長符号化方法。
  7. 前記ブロック記憶手段群及び前記可変長符号記憶手段群は、パイプライン動作のステージの境界となっていることを特徴とする請求項5又は6に記載の可変長符号化方法。
  8. 前記可変長符号記憶手段群からの読み出し動作は、前記可変長符号記憶手段群に記憶されている符号の種類ごとに実行されることを特徴とする請求項6に記載の可変長符号化方法。
JP2004347238A 2004-11-30 2004-11-30 可変長符号化装置及び可変長符号化方法 Expired - Fee Related JP4442891B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004347238A JP4442891B2 (ja) 2004-11-30 2004-11-30 可変長符号化装置及び可変長符号化方法
US11/288,855 US7894532B2 (en) 2004-11-30 2005-11-29 Variable-length encoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004347238A JP4442891B2 (ja) 2004-11-30 2004-11-30 可変長符号化装置及び可変長符号化方法

Publications (3)

Publication Number Publication Date
JP2006157678A JP2006157678A (ja) 2006-06-15
JP2006157678A5 JP2006157678A5 (ja) 2008-01-24
JP4442891B2 true JP4442891B2 (ja) 2010-03-31

Family

ID=36567367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004347238A Expired - Fee Related JP4442891B2 (ja) 2004-11-30 2004-11-30 可変長符号化装置及び可変長符号化方法

Country Status (2)

Country Link
US (1) US7894532B2 (ja)
JP (1) JP4442891B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4612831B2 (ja) * 2004-11-15 2011-01-12 キヤノン株式会社 可変長符号化装置及び可変長符号化方法
JP2008227946A (ja) * 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
US8938009B2 (en) 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US8126929B2 (en) 2008-03-27 2012-02-28 International Business Machines Corporation Method and apparatus for encoding list of variable length structures to support bi-directional scans
US8059908B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive area of influence filter for irregular spatial sub-sampled images
US8059909B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive generation of irregular spatial sub-sampling for images
US8055087B2 (en) * 2008-04-29 2011-11-08 Sony Corporation Sample level variation for spatial sub-sampled images
US8013765B1 (en) * 2008-05-01 2011-09-06 Cavium, Inc. Modular scaleable processing engine for accelerating variable length coding
JP5309700B2 (ja) * 2008-06-03 2013-10-09 富士通株式会社 動画像復号装置および符号化装置
TW201128965A (en) * 2009-05-19 2011-08-16 Nokia Corp Method for coding and an apparatus
US8254709B2 (en) * 2009-12-16 2012-08-28 Industrial Technology Research Institute Variable length encoding device of image compression system
JP5489845B2 (ja) 2010-04-27 2014-05-14 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、プログラム及び記憶媒体
JP2012022021A (ja) * 2010-07-12 2012-02-02 Sony Corp 符号化装置および符号化方法、復号装置および復号方法、並びにプログラム
WO2012082029A1 (en) * 2010-12-14 2012-06-21 Telefonaktiebolaget L M Ericsson (Publ) Method and device for storing a compression ratio indication in a pixel value buffer in tile encoding
JP5966347B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966346B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
US9747293B2 (en) * 2012-02-28 2017-08-29 Deep Information Sciences, Inc. Method and system for storage and retrieval of information
JP2014116835A (ja) * 2012-12-11 2014-06-26 Toshiba Corp 復号装置、符号化装置、復号方法、及び符号化方法
CN115398919A (zh) * 2020-04-10 2022-11-25 北京达佳互联信息技术有限公司 用于视频编解码中的高级语法的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116861A (ja) * 1987-10-30 1989-05-09 Matsushita Graphic Commun Syst Inc データ転送システム
JPH04302598A (ja) * 1991-03-29 1992-10-26 Nec Corp エントロピ符号化回路
KR950010913B1 (ko) * 1992-07-23 1995-09-25 삼성전자주식회사 가변장부호화 및 복호화시스템
EP0664650B1 (en) * 1993-07-12 2002-05-15 Sony Corporation Decoding method and apparatus
JP4531871B2 (ja) * 1997-10-30 2010-08-25 富士通セミコンダクター株式会社 画像情報処理装置及び符号装置
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置
KR100571687B1 (ko) * 1999-02-09 2006-04-18 소니 가부시끼 가이샤 코딩 시스템 및 방법, 부호화 장치 및 방법, 복호화 장치및 방법, 기록 장치 및 방법, 및 재생 장치 및 방법
JP2003259370A (ja) * 2002-03-05 2003-09-12 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法
JP2004007555A (ja) * 2002-04-09 2004-01-08 Canon Inc エントロピー符号化装置
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器

Also Published As

Publication number Publication date
JP2006157678A (ja) 2006-06-15
US7894532B2 (en) 2011-02-22
US20060115000A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
JP4442891B2 (ja) 可変長符号化装置及び可変長符号化方法
JP7280233B2 (ja) 画像復号方法、画像復号システム及び画像復号のためのコンピュータ可読媒体
JP4878262B2 (ja) エントロピー符号化装置
KR101705940B1 (ko) 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들
JPH08265800A (ja) 圧縮方法、伸長方法、並列コンテキストモデラー、並列エントロピーコーダー、並列エントロピーデコーダー、画像圧縮装置及び画像伸長装置
US20140286417A1 (en) Data encoding and decoding
KR0152038B1 (ko) 상대 주소를 이용한 가변장 복호화 장치
JP2004007555A (ja) エントロピー符号化装置
JPWO2008065822A1 (ja) 符号化装置及び符号化方法
JP2009021775A (ja) 符号化装置及び符号化方法
WO2007063612A1 (ja) 動画像符号化装置、動画像復号装置
JP5966347B2 (ja) 画像処理装置および方法
JP2007129612A (ja) 直交変換係数のスキャン方法,逆スキャン方法,スキャン装置,逆スキャン装置,およびそのプログラム並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH1023413A (ja) 符号化装置
JPH0723385A (ja) 高能率符号化装置
JP2010004284A (ja) 画像復号装置及び画像復号方法
JP2008199100A (ja) 可変長符号復号装置
JP2000217003A (ja) 符号化装置および復号化装置
JP5966346B2 (ja) 画像処理装置および方法
JPH08340258A (ja) 可変長符号化/復号化装置
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
JP3866539B2 (ja) 符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびそれらのプログラム記録媒体
JP2008141382A (ja) 符号化装置および方法、並びにプログラム
JPH10262249A (ja) 画像圧縮データの伸張方法及び装置
JPH06152988A (ja) 可変長符号の復号化装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071129

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091027

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100108

R150 Certificate of patent or registration of utility model

Ref document number: 4442891

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees