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

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

Info

Publication number
JP4612831B2
JP4612831B2 JP2004331107A JP2004331107A JP4612831B2 JP 4612831 B2 JP4612831 B2 JP 4612831B2 JP 2004331107 A JP2004331107 A JP 2004331107A JP 2004331107 A JP2004331107 A JP 2004331107A JP 4612831 B2 JP4612831 B2 JP 4612831B2
Authority
JP
Japan
Prior art keywords
syntax element
image data
data
block
value
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
JP2004331107A
Other languages
English (en)
Other versions
JP2006140969A (ja
JP2006140969A5 (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 JP2004331107A priority Critical patent/JP4612831B2/ja
Priority to US11/274,570 priority patent/US7903741B2/en
Publication of JP2006140969A publication Critical patent/JP2006140969A/ja
Publication of JP2006140969A5 publication Critical patent/JP2006140969A5/ja
Application granted granted Critical
Publication of JP4612831B2 publication Critical patent/JP4612831B2/ja
Priority to US13/785,701 priority patent/USRE45300E1/en
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/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
    • 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
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/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

Description

本発明は、画像信号を圧縮する際の可変長符号化装置に関するものである.
近年、動画像の圧縮符号化方式としてH.264と呼ばれる方式が規格化された。このH.264符号化方式では、MPEG2およびMPEG4などの従来の圧縮符号化方式に比べて、多くの演算量が要求されるが、より高い符号化効率が実現されることが知られている。
このH.264符号化方式では、可変長符号化方式として、コンテキスト適応型可変長符号化(CAVLC)方式が定義されている。CAVLC方式での符号化ストリームを形成するシンタクス要素としては、ブロック内の値がゼロでないデータの個数(以下、TotalCoeffと呼ぶ)、ブロック内の最後のゼロでないデータより前に入力される値がゼロであるデータの個数(以下、TotalZerosと呼ぶ)、ブロック内の最後の絶対値が2以上のデータ以降に入力される絶対値が1であるデータの個数(以下、TrailingOnesと呼ぶ)、非ゼロデータの値(以下、Levelと呼ぶ)、非ゼロデータに先行するゼロデータの個数(以下、Runと呼ぶ)がある。ただし、H.264の規格ではTrailingOnesの最大値は3であると定められている。
このCAVLC方式では、MPEG2およびMPEG4などで採用されている可変長符号化方式と比べて以下の2点が大きく異なっている。つまり、
1.LevelおよびRunが逆スキャン順に符号化される、
2.TotalCoeff、TrailingOnes、TotalZerosの算出結果に応じて、LevelおよびRunの符号化に必要な可変長符号化テーブルが変更される、
ということである。
そして、CAVLC方式の可変長符号化装置の一例として、特許文献1に記載されているものがある。この可変長符号化装置では、複数のデータを並列に可変長符号化し、生成された複数の可変長符号化データを順次連結することにより、処理の高速化を実現しようとしている。
特開2004−056758号公報
しかしながら、特許文献1に記載の可変長符号化装置においては、複数のシンタクス要素間に依存関係があり、第一のシンタクス要素の算出が終了するまで第二のシンタクス要素の符号化が開始できない場合には処理に時間がかかるという問題がある。
例えばCAVLC方式の場合では、ブロック内のすべての画像データを読み出してTotalCoeff、TrailingOnes、 TotalZerosを算出した後に、ブロック内のすべての画像データのLevelおよびRunを初めから順に可変長符号化しなければならないため、可変長符号化処理に時間がかかってしまうのである。
本発明はこのような問題点に鑑みてなされ、複数のシンタクス要素間に依存関係がある場合でも処理の高速化を実現できる可変長符号化装置及び方法を提供するものである。
上記課題を解決するために、本発明による可変長符号化装置は、ブロック単位に画像データを入力し、前記画像データのシンタクス要素から符号化データを生成する可変長符号化装置であって、前記画像データを予め設定された順番で格納する記憶手段と、前記記憶手段への画像データの格納と並行して、前記画像データから第一のシンタクス要素を算出する第一のシンタクス要素算出手段と、前記第一のシンタクス要素の値から第一のシンタクス要素の符号化データを生成する第一の符号化手段と、前記記憶手段に格納された前記画像データを格納時とは異なる順番で読み出し、読み出した画像データから第二のシンタクス要素の値を算出する第二のシンタクス要素算出手段と、前記第一のシンタクス要素の値と前記第二のシンタクス要素の値に基づいて第二のシンタクス要素の符号化データを生成する第二の符号化手段と、前記第一および第二のシンタクス要素の符号化データを結合する結合手段とを備え、前記第一の符号化手段と前記第二の符号化手段による前記第一および第二のシンタクス要素の符号化データの生成は、次に入力されるブロックの画像データを前記記憶手段に格納する間に行われ、前記第一のシンタクス要素算出手段は、前記入力された画像データからゼロデータの個数又は非ゼロデータの個数を示す付加情報を算出する付加情報算出手段と、前記記憶手段に格納された前記画像データ及び前記付加情報算出手段で算出された付加情報に基づいて、第一のシンタクス要素を算出する第一のシンタクス要素合成手段とを備え、前記付加情報算出手段は前記記憶手段への画像データの格納と並行して付加情報を算出し、前記第一のシンタクス要素合成手段は前記第二のシンタクス要素算出手段と並行して前記第一のシンタクス要素を算出することを特徴とする。
また、本発明による可変長符号化方法は、ブロック単位に画像データを入力し、前記画像データのシンタクス要素から符号化データを生成する可変長符号化方法であって、前記画像データを予め設定された順番で記憶手段に格納する記憶工程と、前記記憶手段への画像データの格納と並行して、前記画像データから第一のシンタクス要素を算出する第一のシンタクス要素算出工程と、前記第一のシンタクス要素の値から第一のシンタクス要素の符号化データを生成する第一の符号化工程と、前記記憶手段に格納された前記画像データを格納時とは異なる順番で読み出し、読み出した画像データから第二のシンタクス要素の値を算出する第二のシンタクス要素算出工程と、前記第一のシンタクス要素の値と前記第二のシンタクス要素の値に基づいて第二のシンタクス要素の符号化データを生成する第二の符号化工程と、前記第一および第二のシンタクス要素の符号化データを結合する結合工程とを備え、前記第一の符号化工程と前記第二の符号化工程による前記第一および第二のシンタクス要素の符号化データの生成は、次に入力されるブロックの画像データを前記記憶手段に格納する間に行われ、前記第一のシンタクス要素算出工程は、前記入力された画像データからゼロデータの個数又は非ゼロデータの個数を示す付加情報を算出する付加情報算出工程と、前記記憶手段に格納された前記画像データ及び前記付加情報算出工程で算出された付加情報に基づいて、第一のシンタクス要素を算出する第一のシンタクス要素合成工程とを備え、前記付加情報算出工程は前記記憶手段への画像データの格納と並行して付加情報を算出し、前記第一のシンタクス要素合成工程は前記第二のシンタクス要素算出工程と並行して前記第一のシンタクス要素を算出することを特徴とする。
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
以上のような構成を備える本発明によれば、記憶手段への画像データの書き込みと同時に、第一のシンタクス要素の算出を行うことにより、第二のシンタクス要素の可変長符号化処理を記憶手段からの読み出しと同じサイクルで行うことができるようになる。その結果、複数の依存関係のあるシンタクス要素を高速に可変長符号化することが可能になる。
<第一の実施形態>
図1は本発明の第一の実施形態の構成を示した図である。
図1において、本実施形態に係る可変長符号化装置101は、記憶手段102、第一のシンタクス要素算出手段103、第二のシンタクス要素算出手段104、第一の符号化手段105、第二の符号化手段106、可変長符号化データを結合する結合手段107を備える。
可変長符号化回路101には、縦横4個からなる矩形ブロックの画像データが図2Aで示すラスタースキャン順に入力される。
記憶手段102は、画像データが一時的に保存されるRAMである。なおこのRAMへの読み書きには1サイクルを要するものとする。
第一のシンタクス要素算出手段103は、ブロック内の画像データを読み込み、該ブロックのTotalCoeff、 TrailingOnes、 TotalZerosを算出し、内部に保持しておく回路である。
第二のシンタクス要素算出手段104は、記憶手段102に保存された画像データを図2Bで示す逆ジグザグスキャン順に読み出し、ブロックの各画像データのLevelおよびRunを算出する回路である。
第一の符号化手段105は、第一のシンタクス要素算出手段103で算出されたTotalCoeff、 TrailingOnes、 TotalZerosを予め定められている可変長符号化テーブルを用いて可変長符号化する回路である。
第二の符号化手段106は、第一のシンタクス要素算出手段103で算出されたTotalCoeff、 TrailingOnes、 TotalZerosに基づいて可変長符号化テーブルを選択し、その可変長符号化テーブルを用いて第二のシンタクス要素算出手段104で算出された各画像データのLevelおよびRun を可変長符号化する回路である。
結合手段107は、第一の符号化手段105および第二の符号化手段106によって出力された各シンタクス要素の可変長符号を所定のフォーマットに従って、シフトおよびパッキングし、一つの可変長ストリームデータを生成する回路である。
次に、図3で示した画像データを可変長符号化する際のデータの流れについて以下に説明する。
図4は、図1の各回路が行う処理を時間ごとに示したタイムチャートである。
時刻0から、可変長符号化装置101に図3のブロック1の画像データが1サイクルに一つずつ入力され、記憶手段102に書き込まれる。ブロックは縦横4個の画像データからなるので、ブロック1の全画像データの書き込みには16サイクルを要する。
画像データは、記憶手段102への書き込まれるのと同時に、第一のシンタクス要素算出手段103に入力される。第一のシンタクス要素算出手段103は、全画像データが入力された直後にブロック1のTotalCoeff、 TrailingOnes、TotalZerosの値を算出し、出力する。
続いて、時刻16から時刻32において、第二のシンタクス要素算出手段104は、記憶手段102からブロック1の画像データを逆ジグザグスキャン順に1サイクルに一つずつ読み出し、各画像データのRunおよびLevelの値を求める。第二のシンタクス要素算出手段103は、非ゼロデータが入力された直後にそのデータのLevelおよびRunの値を第二の符号化手段106に入力する。
また、時刻16までに算出されたTotalCoeff、 TrailingOnes、TotalZerosは第一の符号化手段105に入力され、予め定められている可変長符号化テーブルを用いて1サイクルで可変長符号化される。また、TrailingOneの値は、次のブロックの可変長符号化テーブル選択に必要となるので保持しておく。可変長符号化されたデータは結合手段107に入力され、時刻32まで保持される。
さらに、時刻16から時刻32において、第二の符号化手段106は、第一のシンタクス要素算出手段103から入力されるTotalCoeff、 TrailingOnes、TotalZerosの値にもとづいてRunおよびLevelの符号化に必要な可変長符号化テーブルを選択する。そして選択された可変長符号化テーブルを用いて1サイクルで各画像データのRun およびLevelの可変長符号化を行う。Run の符号化とLevelの符号化は並行して行なわれるものとする。可変長符号化されたデータは結合手段107に入力され、時刻32まで保持される。
また、これと並行して記憶手段102に図3のブロック2の画像データが書き込まれる。さらに、第一のシンタクス要素算出手段は、ブロック2のTotalCoeff、 TrailingOnes、TotalZerosをブロック1の場合と同様に算出する。
次に、時刻32から時刻48の間に、結合手段107は、第一の符号化手段105および第二の符号化手段106から入力された可変長符号を読み出し、結合およびパッキング処理を行い、H.264規格で定められている符号化ストリームを出力する。
また、これと並行して第二のシンタクス要素算出手段104は、ブロック2の各画像データのRunおよびLevelをブロック1の場合と同様に算出する。また、第一の符号化手段105および第二の符号化手段106はブロック2の各シンタクス要素の可変長符号化をブロック1の場合と同様に行う。
さらに、これと並行して記憶手段102に図3のブロック3の画像データが書き込まれる。また、第一のシンタクス要素算出手段は、ブロック3のTotalCoeff、 TrailingOnes、TotalZerosをブロック1の場合と同様に算出する。全てのブロックに対して同様の処理を繰り返し、1サイクルあたり1つのデータを処理していく。
続いて、各シンタクス要素の算出方法の詳細を説明する。
初めに第一のシンタクス要素算出手段103での、TotalCoeffの算出動作を図5のフローチャートを用いて説明する。
初めにステップS101において、変数TotalCoeffが0に初期化される。次にステップS102において、ブロック内の次の画像データが取り込まれ、処理はステップS103に進む。
ステップS103において、画像データの値がゼロであるか否かが判定される。ゼロでない場合には、処理はステップS104に進み、TotalCoeffの値を1加算してさらにステップS105に進む。
ゼロである場合には、処理はステップS105に進む。ステップS105において、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータである場合には、処理はステップS106に進み、現在のTotalCoeffの値を算出結果として出力し、現在のブロックに対する処理を終了する。ブロックの最後のデータでない場合には、処理はステップS102に戻り、次の画像データを取り込む。
続いて、第一のシンタクス要素算出手段103での、TrailingOnesの算出動作を図6のフローチャートを用いて説明する。
初めにステップS201で変数TrailingOnesが0に初期化される。また、変数LastIndex2および3個の要素からなる配列OneIndexの各要素が17に初期化する。なお、図6のフローチャートの説明において、ラスタースキャン順に入力される各画像データを逆ジグザグスキャン順の読み出す順番を示す数をインデックスと定義する。例えば、図7のブロック内の画像データ701のインデックスは16、画像データ702のインデックスは10である。
LastIndex2は、ブロック内の絶対値2以上の値をもつ画像データのインデックスの最小値を表す変数である。また、配列OneIndexはブロック内の絶対値1の値を持つ画像データのインデックスを小さい順に3つ格納する配列である。
次にステップS202において、ブロック内の次の画像データが取り込まれ、処理はステップS203に進む。ステップS203において、画像データの値がゼロであるか否かが判定される。ゼロである場合には、処理はステップS208に進む。ゼロでない場合には、処理はステップS204に進み、そこで画像データの絶対値が1であるか否かが判定される。
画像データの絶対値が1でない場合には、処理はステップS205に進み、LastIndex2の値と現在取り込まれている画像データのインデックス値を比較し、小さい値をLastIndex2に代入する。
ステップS204において、画像データの絶対値が1である場合には、処理はステップS206に進み、配列OneIndex[2]の値と現在取り込まれている画像データのインデックス値を比較し、小さいほうの値をOneIndex[2]に代入し、その後処理はステップS207に進む。
ステップS207において、OneIndex[0]、 OneIndex[1]、 OneIndex[2]の値を比較し、最小値がOneIndex[0]、 最大値がOneIndex[2]になるように、配列の値が並び替えられる。
ステップS208において、現在の画像データがブロックの最後のデータか否かを判別する。ブロックの最後のデータでない場合にはステップS202に戻り、次の画像データを取り込む。ブロックの最後のデータである場合にはステップS209に進む。ステップS209においてLastIndex2の値とOneIndex[2]が比較される。OneIndex[2]の方が小さい場合にはステップS210に進みTrailingOnesに1加算する。LastIndex2の方が小さい場合または値が等しい場合には処理はステップS211に進む。
続いて、ステップS211において、LastIndex2の値とOneIndex[1]が比較される。OneIndex[1]の方が小さい場合にはステップS212に進みTrailingOnesに1加算する。LastIndex2の方が小さい場合または値が等しい場合には、処理はステップS213に進む。
続いてステップS213において、LastIndex2の値とOneIndex[0]が比較される。OneIndex[0]の方が小さい場合には、処理はステップS214に進み、TrailingOnesに1加算する。LastIndex2の方が小さい場合または値が等しい場合には、処理はステップS215に進む。
最後に、ステップS215において、現在のTrailingOnesの値が算出結果として出力され、現在のブロックに対する処理が完了する。
次に第一のシンタクス要素算出手段103での、TotalZerosの算出動作を図8のフローチャートを用いて説明する。
初めに、ステップ301で変数TotalZerosが0に初期化される。また、変数LastIndexが17に初期化される。なお、LastIndexはブロック内の絶対値1以上の値をもつ画像データのインデックスの最小値を表す変数である。
次に、ステップS302において、ブロック内の次の画像データが取り込まれ、処理はステップS303に進む。ステップS303において、画像データの値がゼロであるか否かが判定される。ゼロである場合には、処理はステップS304に進み、TotalZerosに1加算する。ゼロでない場合には、処理はステップS305に進む。
ステップS305において、LastIndexの値と現在取り込まれている画像データのインデックス値が比較され、小さい値をLastIndexに代入してステップS306に進む。
ステップS306にて、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータである場合には、処理はステップS307に進み、TotalZerosから、LastIndex−1の値を減算する。
続いて、処理はステップS308に進み、現在のTotalZerosの値が算出結果として出力され、現在のブロックに対する処理が終了する。ステップS305において、ブロックの最後のデータでないと判断された場合には、処理はステップS302に戻り、次の画像データが取り込まれる。
上述した方法により、第一のシンタクス要素算出手段103は、記憶手段102にブロック内の最後の画像データ入力の直後に、TotalCoeff、TrailingOnes、TotalZerosの値を算出することが可能となる。
次に、第二のシンタクス要素算出手段104での、Runの算出動作を図9のフローチャートを用いて説明する。
初めにステップS401において、変数Run、FirstNonZeroFlagが0に初期化される。なお、FirstNonZeroFlagはブロック内のゼロでない画像データが一つでも入力されると1になり、まだ入力されていないときは0になるフラグである。
次にステップS402において、ブロック内の次の画像データが取り込まれ、処理はステップS403に進む。ステップS403において、画像データの値がゼロであるか否かが判定される。ゼロでない場合には、処理はステップS404に進み、そこでFirstNonZeroFlagの値がゼロであるか否かが判定される。ゼロでない場合には、処理はステップS405に進み、現在のRunの値を出力し、さらにステップS408に進む。ステップS403においてゼロであると判断された場合には、処理はステップS406に進む。ステップS406において、FirstNonZeroFlagが1にセットされ、さらに処理はステップS408に進む。
ステップS408では、Runにゼロが代入され、ステップS409に進む。なお、ステップS403において、画像データの値がゼロである場合にはステップS407に進み、Runに1を加算してステップS409に進む。
ステップS409において、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータである場合には現在のブロックに対する処理を終了する。ブロックの最後のデータでない場合にはステップS402に戻り、次の画像データを取り込む。
次に、第二のシンタクス要素算出手段104での、Levelの算出動作を図10のフローチャートを用いて説明する。
ステップS501において、ブロック内の次の画像データが取り込まれ、処理はステップS502に進む。ステップS502において、画像データの値がゼロであるか否かが判定される。ゼロである場合には、処理はステップS504に進み、ゼロでない場合にはステップS503に進む。ステップS503では現在入力されているデータの値がLevelとして出力され、処理はステップS504に進む。
ステップS504では、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータである場合には現在のブロックに対する処理が終了する。ブロックの最後のデータでない場合には、処理はステップS501に戻り、次の画像データが取り込まれる。
以上説明してきたように、本発明の第一の実施形態によれば、第二のシンタクス要素算出手段104は記憶手段102からブロック内の画像データ読み出しと同時にRunおよびLevelの値を算出することが可能となる。
第二の符号化手段106は、第一のシンタクス要素算出手段103で算出された第一のシンタクス要素をもとに、予め定められた複数の可変長符号化テーブルの中から一つの可変長符号化テーブルを選択しRunおよびLevelの可変長符号化を行う。予めTotalCoeff、 TrailingOnes、 TotalZerosの値が算出されているので、第二のシンタクス要素算出手段104によりブロック内の各画像データが読み出された直後にRun Levelの可変長符号化を行うことができる。
また、これと並行して第一の符号化手段105により、TotalCoeff、 TrailingOnes、 TotalZerosを可変長符号化することにより、全てのシンタクス要素の可変長符号を記憶手段102からブロック内の画像データ読み出しが終了したのと同じクロックサイクルを得ることができる。
<第二の実施形態>
続いて、本発明の第二の実施形態について説明する。
第二の実施形態と第一の実施形態との異なる点は次の通りである。第一の実施形態では、第一のシンタクス要素算出手段は記憶手段に入力される画像データから直接、第一のシンタクス要素の値を算出する。これに対し、第二の実施形態では、画像データから付加情報の値を算出し、第一のシンタクス要素算出手段は前記付加情報と、記憶手段から読み出されるデータを用いて第一のシンタクス要素の値を算出する。
図11は、本発明の第二の実施形態の構成を示した図である。図11において本発明にかかわる可変長符号化装置1101は記憶手段1102、第一のシンタクス要素算出手段1103、第二のシンタクス要素算出手段1104、第一の符号化手段1105、第二の符号化手段1106、可変長符号化データを結合する結合手段1107を備える。なお、可変長符号化回路1101、記憶手段1102、第二のシンタックス要素算出手段1104、第一の符号化手段1105、第二の符号化手段1106、結合手段1107の説明は第一の実施形態と同じであるため省略する。
第一のシンタクス要素算出手段1103は、記憶手段1102に画像データが入力されると同時に、第一のシンタクス要素の値の算出に必要な付加情報を算出する。そしてその後に記憶手段1102から画像データを読み出す際に前記付加情報を用いて第一のシンタクス要素の値を算出する。
第一のシンタクス要素算出手段1103の内部の構成を図12に示す。第一のシンタクス要素算出手段は、内部に付加情報算出手段1201および第一のシンタクス要素合成手段1202を持つ。
付加情報算出手段1201は、可変長符号化回路1101にラスタースキャン順に入力されるブロック内の各画像データから付加情報としてゼロデータの個数および非ゼロデータの個数を算出する回路である。
第一のシンタクス要素合成手段1202は、記憶手段1102から逆ジグザグスキャン順に読み出されるデータおよび付加情報算出手段1201で算出された付加情報からシンタクス要素のうち、第二のシンタクス要素の符号化に必要とされるTotalCoeff、 TrailingOnes、 TotalZerosの値を算出する回路である。
次に図3で示した画像データを可変長符号化する際のデータの流れについて以下に説明する。
図13は、図11の各回路が行う処理を時間ごとに示したタイムチャートである。時刻0から、可変長符号化装置1101に図3のブロック1の画像データが1サイクルに一つずつ入力され、記憶手段1102に書き込まれる。ブロックは、縦横4個の画像データからなるので、ブロック1の全てのデータの書き込みには16サイクルを要する。
記憶手段1102への書き込みと同時に、画像データは付加情報算出手段1201に入力され、付加情報としてブロック1のゼロデータの個数および非ゼロデータの個数が算出される。付加情報算出手段1201は全ての画像データが入力された直後に算出結果を出力する。
続いて時刻16から時刻32において、第一のシンタクス要素合成手段1202は、記憶手段1102からブロック1の画像データを逆ジグザグスキャン順に1サイクルに一つずつ読み出す。そして、付加情報算出手段1201で算出された付加情報および読み出された画像データをもとにブロック1の第一のシンタクス要素として、TotalCoeff、TrailingOnes、TotalZerosを求める。
第一のシンタクス要素合成手段1202は最初の絶対値が2以上のデータが読み出された時点あるいは、絶対値が1のデータが3つ読み出された時点でブロック1の第一のシンタクス要素の合成を完了する。例えば図7のようなデータが入力された場合には時刻27に−5が入力された時点で第一のシンタクス要素を算出することができる。
また、第二のシンタクス要素算出手段1104は記憶手段1102からブロック1の画像データを逆ジグザグスキャン順に1サイクルに一つずつ読み出し、各画像データのRun およびLevel値を求める。第二のシンタクス要素算出手段1104は非ゼロデータが入力された直後に、そのデータのLevelおよびRunの値を第二の符号化手段1106に入力する。
また、時刻27までに算出されたTotalCoeff、TrailingOnes、TotalZerosは第一の符号化手段1105に入力され、予め定められている可変長符号化テーブルを用いて1サイクルで可変長符号化される。また、TrailingOnesの値は次のブロックの可変長符号化テーブルの選択に必要になるので保持しておく。可変長符号化されたデータは結合手段1107に入力され、時刻32まで保持される。
さらに、時刻27から時刻32において、第二の符号化手段206は、第一のシンタクス要素合成手段1202から入力されるTotalCoeff、TrailingOnes、TotalZerosの値にもとづいてRun およびLevelの符号化に必要な可変長符号化テーブルを選択する。そして、選択された可変長符号化テーブルを用いて各画像データのRun およびLevelの可変長符号化を行う。第二の符号化手段1106はRunおよびLevelの符号化を並行して行うものとする。可変長符号化されたデータは結合手段1107に入力され、時刻32まで保持される。
また、これと並行して記憶手段1102に図3のブロック2の画像データが書き込まれる。また、付加情報算出手段1201は、ブロック2のゼロデータの個数およびゼロでないデータの個数をブロック1の場合と同様に算出する。
次に、時刻32から時刻48の間に、結合手段1107で第一の符号化手段1105および第二の符号化手段1106から入力された可変長符号を読み出し結合およびパッキング処理を行い符号化ストリームを出力する。
また、これと並行して第一のシンタクス要素合成手段1202はブロック2のTotalCoeff、TrailingOnesおよびTotalZerosの値をブロック1の場合と同様に算出する。
さらに、第二のシンタクス要素算出手段1104はブロック2の各データのRunおよびLevel値をブロック1の場合と同様に算出する。また、第一の符号化手段1105および第二の符号化手段1106はブロック2の各シンタクス要素の可変長符号化をブロック1の場合と同様に行う。
また、これと並行して記憶手段1102にさらに図3のブロック3の画像データが書き込まれる。付加情報算出手段1201は、ブロック2のゼロデータの個数およびゼロでないデータの個数をブロック1の場合と同様に算出する。全てのブロックに対して同様の処理を繰り返し、1サイクルあたり1つのデータを処理していく。
続いて、付加情報算出手段1201での付加情報の算出方法について、図14を用いて説明する。
初めにステップS601において、変数NonZeroCoeffおよびZeroCoeffが0に初期化される。なお、NonZeroCoeffはブロック内の非ゼロデータの個数を表す変数、ZeroCoeffはブロック内のゼロデータの個数を表す変数である。
次に、ステップS602において、ブロック内の次の画像データが取り込まれ、処理はステップS603に進む。ステップS603において、画像データの値がゼロであるか否かが判定される。ゼロでない場合には、処理はステップS604に進み、NonZeroCoeffの値を1加算してステップS606に進む。ゼロである場合には、処理はステップS605に進み、ZeroCoeffの値を1加算してステップS606に進む。
ステップS606において、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータである場合には、処理はステップS607に進み、現在のNonZeroCoeff、ZeroCoeffの値が算出結果として出力され、現在のブロックに対する処理が終了する。ブロックの最後のデータでない場合には処理はステップS602に戻り、次の画像データが取り込まれる。なお、本実施形態では、値がゼロであるデータと、非ゼロデータの両方を計数してNonZeroCoeff、ZeroCoeffの値を求めたが、どちらか一方を計数し、他方はブロックの画像データの個数から減算して算出してもよい。
続いて、第一のシンタクス要素合成手段1202における、第一のシンタクス要素の値の合成方法について説明する。
まず、TotalCoeffの値については、付加情報算出手段で算出されたNonZeroCoeffと同じであるので、NonZeroCoeffの値をそのまま出力する。
続いて、TrailingOnesの算出動作を図15のフローチャートを用いて説明する。
初めに、ステップS701において、変数TrailingOnesが0に初期化される。
次にステップS702において、ブロック内の次の画像データが取り込まれ、処理はステップS703に進む。ステップS703において、画像データの値がゼロであるか否かが判定される。ゼロである場合には、処理はステップS707に進み、ゼロでない場合にはステップS704に進む。そして、ステップS704において、画像データの絶対値が1であるか否かが判定される。
ステップS704において、画像データの絶対値が1でないと判断された場合には、処理はステップS708に進み、現在のTrailingOnesの値を出力して終了する。
ステップS704において画像データの絶対値が1であると判断された場合には、処理はステップS705に進み、TrailingOnesに1を加算して、さらにステップS706に進む。ステップS706においてTrailingOnesの値が3の場合にはステップS708に進み、現在のTrailingOnesの値を出力して終了する。一方、TrailingOnesの値が2以下の場合にはステップS707に進む。
ステップS707において、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータでない場合には、処理はステップS702に戻り、次の画像データが取り込まれる。ブロックの最後のデータである場合には、処理はステップS708に進み、現在のTrailingOnesの値が出力され、終了する。
次に、TotalZerosの算出動作について図16のフローチャートを用いて説明する。
初めにステップS801において、変数TotalZerosに付加情報算出手段1601で算出されたZeroCoeffを代入する。
次に、ステップS802において、ブロック内の次の画像データが取り込まれ、処理はステップS803に進む。
ステップS803において、画像データの値がゼロであるか否かが判定される。ゼロである場合には、処理はステップS804に進み、TotalZerosの値を1減算してさらにステップS805に進む。
ステップS803で画像データがゼロでないと判断された場合には、処理はステップS806に進み、現在のTotalZerosの値が出力され、終了する。
ステップS805において、現在の画像データがブロックの最後のデータか否かが判別される。ブロックの最後のデータである場合には、処理はステップS806に進み、現在のTotalZerosの値を算出結果として出力し、現在のブロックに対する処理を終了する。ブロックの最後のデータでない場合には、処理はステップS802に戻り、次の画像データが取り込まれる。
上述してきた方法により、第一のシンタクス要素合成手段はTotalCoeff、TrailingOnes、TotalZerosの値を、絶対値が2以上のデータ、あるいは3番目の絶対値が1のデータが読み出された時点で算出することが可能になる。
第二のシンタクス要素算出手段1104での処理は、第一の実施形態と同じであるため説明を省略する。なお、第二のシンタクス要素算出手段1104では、RunおよびLevelを、非ゼロデータが読み出された時点で算出することが可能である。
以上説明してきたように、本発明の第二の実施形態によれば、第二の符号化手段206は第一のシンタクス要素算出手段203で算出されたシンタクス要素を用いて、予め可変長符号化テーブルを選択しRunおよびLevelの可変長符号化を行う。TotalCoeff、TrailingOnes、 TotalZerosの値が確定するまでは可変長符号化を開始できないが、絶対値が2以上のデータあるいは3番目の絶対値が1のデータが読み出されるのに時間がかかる場合にはRunおよびLevelの個数が少なくなるので、全体としてはブロック内の最後のデータが読み出されるときと同じクロックサイクルで可変長符号化を終えることができる。
これと並行して、第一の符号化手段1105により、TotalCoeff、TrailingOnes、TotalZerosを可変長符号化することにより、全てのシンタクス要素の可変長符号を記憶手段1102からブロック内の画像データ読み出しが終了したのと同じクロックサイクルに得ることができる。
また、逆ジグザグスキャン順の画像データからのほうが第一のシンタックス要素の値が算出しやすい場合には、第一の実施形態よりも第一のシンタックス要素算出手段の回路規模を小さくすることができる。
なお、本発明の第一の実施形態および第二の実施形態では、毎サイクルに入力される画像データの個数は1つとしたが、符号化処理を並列化することにより、複数の画像データが毎サイクルに入力される場合にも本発明を適用することができる。
また、本発明の第一の実施形態および第二の実施形態ではH.264のCAVLC方式の例を説明したが、本発明はCAVLC方式以外にも、依存関係のある複数のシンタクス要素の符号化に適用することも可能である。
<その他の実施形態>
本発明では、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
また、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
第一の実施形態に係る可変長符号化装置の構成を示す図である。 画像データの読み出し順序を示す図である。 画像データの一例を示す図である。 第一の実施形態における各回路の動作を示すタイムチャートである。 TotalCoeffの算出方法を示すフローチャートである。 TrailingOnesの算出方法を示すフローチャートである。 画像データのブロックの一例を示す図である。 TotalZerosの算出方法を示すフローチャートである。 Runの算出方法を示すフローチャートである。 Levelの算出方法を示すフローチャートである。 第二の実施形態に係る可変長符号化装置の構成を示す図である。 第二の実施形態に係る可変長符号化装置における第一のシンタクス要素算出手段の内部構成を示す図である。 本発明の第二の実施形態における各回路の動作を示すタイムチャートである。 付加情報の算出方法を示すフローチャートである。 TrailingOnesの算出方法を示すフローチャートである。 TotalZerosの算出方法を示すフローチャートである。

Claims (12)

  1. ブロック単位に画像データを入力し、前記画像データのシンタクス要素から符号化データを生成する可変長符号化装置であって、
    前記画像データを予め設定された順番で格納する記憶手段と、
    前記記憶手段への画像データの格納と並行して、前記画像データから第一のシンタクス要素を算出する第一のシンタクス要素算出手段と、
    前記第一のシンタクス要素の値から第一のシンタクス要素の符号化データを生成する第一の符号化手段と、
    前記記憶手段に格納された前記画像データを格納時とは異なる順番で読み出し、読み出した画像データから第二のシンタクス要素の値を算出する第二のシンタクス要素算出手段と、
    前記第一のシンタクス要素の値と前記第二のシンタクス要素の値に基づいて第二のシンタクス要素の符号化データを生成する第二の符号化手段と、
    前記第一および第二のシンタクス要素の符号化データを結合する結合手段とを備え、
    前記第一の符号化手段と前記第二の符号化手段による前記第一および第二のシンタクス要素の符号化データの生成は、次に入力されるブロックの画像データを前記記憶手段に格納する間に行われ
    前記第一のシンタクス要素算出手段は、
    前記入力された画像データからゼロデータの個数又は非ゼロデータの個数を示す付加情報を算出する付加情報算出手段と、
    前記記憶手段に格納された前記画像データ及び前記付加情報算出手段で算出された付加情報に基づいて、第一のシンタクス要素を算出する第一のシンタクス要素合成手段とを備え、
    前記付加情報算出手段は前記記憶手段への画像データの格納と並行して付加情報を算出し、前記第一のシンタクス要素合成手段は前記第二のシンタクス要素算出手段と並行して前記第一のシンタクス要素を算出することを特徴とする可変長符号化装置。
  2. 前記第二のシンタクス要素算出手段は、前記記憶手段に格納された画像データを逆ジグザグスキャン順に読み出して、前記第二のシンタクス要素を算出することを特徴とする請求項1記載の可変長符号化装置。
  3. 前記第一のシンタクス要素は、ブロック内の非ゼロデータの個数、ゼロデータの個数、ブロック内の最後の非ゼロデータより前に入力されるゼロデータの個数、及びブロック内の最後の絶対値が2以上のデータ以降に入力される絶対値が1であるデータの個数のうち少なくとも1つを含むことを特徴とする請求項1又は請求項2記載の可変長符号化装置。
  4. 前記第二のシンタクス要素は、前記画像データのゼロラン長及び前記画像データのレベル値のうち少なくとも1つを含むことを特徴とする請求項1乃至3の何れか1項に記載の可変長符号化装置。
  5. 前記記憶手段からの前記画像データは、逆ジグザグスキャン順に読み出されて前記第一のシンタクス要素合成手段に供給されることを特徴とする請求項1乃至4のいずれか1項に記載の可変長符号化装置。
  6. ブロック単位に画像データを入力し、前記画像データのシンタクス要素から符号化データを生成する可変長符号化方法であって、
    前記画像データを予め設定された順番で記憶手段に格納する記憶工程と、
    前記記憶手段への画像データの格納と並行して、前記画像データから第一のシンタクス要素を算出する第一のシンタクス要素算出工程と、
    前記第一のシンタクス要素の値から第一のシンタクス要素の符号化データを生成する第一の符号化工程と、
    前記記憶手段に格納された前記画像データを格納時とは異なる順番で読み出し、読み出した画像データから第二のシンタクス要素の値を算出する第二のシンタクス要素算出工程と、
    前記第一のシンタクス要素の値と前記第二のシンタクス要素の値に基づいて第二のシンタクス要素の符号化データを生成する第二の符号化工程と、
    前記第一および第二のシンタクス要素の符号化データを結合する結合工程とを備え、
    前記第一の符号化工程と前記第二の符号化工程による前記第一および第二のシンタクス要素の符号化データの生成は、次に入力されるブロックの画像データを前記記憶手段に格納する間に行われ
    前記第一のシンタクス要素算出工程は、
    前記入力された画像データからゼロデータの個数又は非ゼロデータの個数を示す付加情報を算出する付加情報算出工程と、
    前記記憶手段に格納された前記画像データ及び前記付加情報算出工程で算出された付加情報に基づいて、第一のシンタクス要素を算出する第一のシンタクス要素合成工程とを備え、
    前記付加情報算出工程は前記記憶手段への画像データの格納と並行して付加情報を算出し、前記第一のシンタクス要素合成工程は前記第二のシンタクス要素算出工程と並行して前記第一のシンタクス要素を算出することを特徴とする可変長符号化方法。
  7. 前記第二のシンタクス要素算出工程は、前記記憶手段に格納された画像データを逆ジグザグスキャン順に読み出して、前記第二のシンタクス要素を算出することを特徴とする請求項記載の可変長符号化方法。
  8. 前記第一のシンタクス要素は、ブロック内の非ゼロデータの個数、ゼロデータの個数、ブロック内の最後の非ゼロデータより前に入力されるゼロデータの個数、及びブロック内の最後の絶対値が2以上のデータ以降に入力される絶対値が1であるデータの個数のうち少なくとも1つを含むことを特徴とする請求項又は請求項記載の可変長符号化方法。
  9. 前記第二のシンタクス要素は、前記画像データのゼロラン長及び前記画像データのレベル値のうち少なくとも1つを含むことを特徴とする請求項乃至の何れか1項に記載の可変長符号化方法。
  10. 前記記憶手段からの前記画像データは、逆ジグザグスキャン順に読み出されて前記第一のシンタクス要素合成工程に供給されることを特徴とする請求項6乃至9の何れか1項に記載の可変長符号化方法。
  11. コンピュータに、請求項乃至10の何れか1項に記載の可変長符号化方法の各工程を実行させるためのコンピュータプログラム。
  12. 請求項11に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読取可能な記憶媒体。
JP2004331107A 2004-11-15 2004-11-15 可変長符号化装置及び可変長符号化方法 Expired - Fee Related JP4612831B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004331107A JP4612831B2 (ja) 2004-11-15 2004-11-15 可変長符号化装置及び可変長符号化方法
US11/274,570 US7903741B2 (en) 2004-11-15 2005-11-15 Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements
US13/785,701 USRE45300E1 (en) 2004-11-15 2013-03-05 Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2006140969A JP2006140969A (ja) 2006-06-01
JP2006140969A5 JP2006140969A5 (ja) 2008-01-10
JP4612831B2 true JP4612831B2 (ja) 2011-01-12

Family

ID=36386239

Family Applications (1)

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

Country Status (2)

Country Link
US (2) US7903741B2 (ja)
JP (1) JP4612831B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9826238B2 (en) 2011-06-30 2017-11-21 Qualcomm Incorporated Signaling syntax elements for transform coefficients for sub-sets of a leaf-level coding unit
CN104320663A (zh) * 2014-11-14 2015-01-28 中国建设银行股份有限公司 一种视频压缩方法及装置和视频传输系统
CN111131826A (zh) * 2018-10-31 2020-05-08 上海天荷电子信息有限公司 定长码单元含多个编码参数变长码的数据压缩方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077436A (ja) * 1993-06-16 1995-01-10 Nec Corp 可変長符号化装置
JP2004007555A (ja) * 2002-04-09 2004-01-08 Canon Inc エントロピー符号化装置
JP2004179752A (ja) * 2002-11-25 2004-06-24 Kawasaki Microelectronics Kk ハフマンデコーダ

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289577A (en) * 1992-06-04 1994-02-22 International Business Machines Incorporated Process-pipeline architecture for image/video processing
US7099387B2 (en) * 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4181887B2 (ja) 2002-05-29 2008-11-19 キヤノン株式会社 可変長符号化装置、及びその方法
JP4442891B2 (ja) * 2004-11-30 2010-03-31 キヤノン株式会社 可変長符号化装置及び可変長符号化方法
US7292163B1 (en) * 2006-04-14 2007-11-06 Xilinx, Inc. Circuit for and method of encoding a data stream
US7501964B2 (en) * 2007-04-16 2009-03-10 Texas Instruments Incorporated Entropy coding for digital codecs
JP2008294669A (ja) * 2007-05-23 2008-12-04 Toshiba Corp 画像符号化装置
JP5489845B2 (ja) * 2010-04-27 2014-05-14 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、プログラム及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077436A (ja) * 1993-06-16 1995-01-10 Nec Corp 可変長符号化装置
JP2004007555A (ja) * 2002-04-09 2004-01-08 Canon Inc エントロピー符号化装置
JP2004179752A (ja) * 2002-11-25 2004-06-24 Kawasaki Microelectronics Kk ハフマンデコーダ

Also Published As

Publication number Publication date
JP2006140969A (ja) 2006-06-01
US7903741B2 (en) 2011-03-08
US20060104361A1 (en) 2006-05-18
USRE45300E1 (en) 2014-12-23

Similar Documents

Publication Publication Date Title
US7079698B2 (en) Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
KR101461209B1 (ko) 2d 매트릭스들에 인코딩 파라미터들을 저장하는 이미지 압축을 위한 방법 및 장치
US7894532B2 (en) Variable-length encoding apparatus and method
EP1237123B1 (en) Decoding apparatus and method
JP4878262B2 (ja) エントロピー符号化装置
JP4785706B2 (ja) 復号装置及び復号方法
US7218788B2 (en) Image coder/decoder, image coding/decoding method, and storage medium
JP4181887B2 (ja) 可変長符号化装置、及びその方法
US20040120590A1 (en) Data encoding with an amplitude model and path between the data and corresponding decoding
JP4612831B2 (ja) 可変長符号化装置及び可変長符号化方法
JP4100836B2 (ja) 画像処理装置
KR20000068164A (ko) 디지털 신호 변환 방법 및 장치, 변환 행렬 작성 방법 및 장치및제공 매체
JPH06343168A (ja) ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法
EP1073015A2 (en) Image signal processor for compression and encoding
JP4447903B2 (ja) 信号処理装置、信号処理方法、記録媒体及びプログラム
JP3954032B2 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラムおよび画像符号化プログラムを記録したコンピュータ読取可能な記録媒体
JP5501014B2 (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2004104773A (ja) 画像処理装置、画像処理方法、記憶媒体、及びプログラム
JPH0936749A (ja) 符号化復号化装置およびこれに用いられる符号化方法
JP2004336247A (ja) 画像符号化方法、画像符号化装置及びコンピュータプログラム
JP3862590B2 (ja) 画像処理装置及び方法及びコンピュータプログラム並びにコンピュータ可読記憶媒体
JPH10262249A (ja) 画像圧縮データの伸張方法及び装置
JPH09246989A (ja) 復号装置及びその方法
JPH07273661A (ja) 圧縮符号化復号化装置
JP2017153124A (ja) 復号装置、及び復号方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071115

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

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

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

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees