JP4495034B2 - 可変長符号化方式および可変長符号化装置 - Google Patents

可変長符号化方式および可変長符号化装置 Download PDF

Info

Publication number
JP4495034B2
JP4495034B2 JP2005161813A JP2005161813A JP4495034B2 JP 4495034 B2 JP4495034 B2 JP 4495034B2 JP 2005161813 A JP2005161813 A JP 2005161813A JP 2005161813 A JP2005161813 A JP 2005161813A JP 4495034 B2 JP4495034 B2 JP 4495034B2
Authority
JP
Japan
Prior art keywords
vlc
coefficient sequence
mode
variable
coefficient
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.)
Active
Application number
JP2005161813A
Other languages
English (en)
Other versions
JP2006339997A (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 JP2005161813A priority Critical patent/JP4495034B2/ja
Priority to US11/444,438 priority patent/US7248191B2/en
Publication of JP2006339997A publication Critical patent/JP2006339997A/ja
Application granted granted Critical
Publication of JP4495034B2 publication Critical patent/JP4495034B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、例えばMPEG方式等で実現されている、画像データなどの可変長符号化方法、および可変長符号化装置に関するものである。
高い圧縮率で画像データを圧縮する技術が発達し、ディジタルカメラやディジタルビデオカメラに用いられている。
例えば、動画像データの圧縮方法としては、ISOで規格化されたMPEG(Moving Picture Experts Group)が一般的に知られている。MPEGにおいては、画面(フレーム)を複数画素で構成するブロック(以下、マクロブロックという。)毎にフレーム内相関を利用した符号化(以下、Intra符号化という。)、またはフレーム間相関を利用した符号化(以下、Inter符号化という。)を実施することを特徴としている。
前記の符号化は、具体的には、マクロブロック内のデータに対して、直交変換方式の1つであるDCT(Discrete Cosine Transform、離散コサイン変換)が行われ、量子化、VLC(Variable Length Code、可変長符号化)の各処理が施されて画像データの圧縮が実現される。
このVLCによる符号化は、DCTを行った結果得られたDCT係数に対し、先行するゼロの係数の個数であるRunと、非ゼロの係数値であるLevelとその非ゼロの係数が最後であるかどうかを示すLastを(Last,Run,Level)の組(係数列)として、これに一意的な符号を割り当てて符号化を行うものである(VLC処理という。)。MPEG方式の圧縮では、一意的な符号を割り当てるために定義されたVLCテーブルが用いられて、可変長符号化が行われる。
VLCテーブルが用いられて可変長符号化が行われる際に、VLCテーブル上に(Last,Run,Level)の組に対応するVLCが定義されていない場合には、以下に説明する3つのエスケープモードが適用されて符号化が行われる。
まず、第1のエスケープモードは、(Last,Run,Level)の組に対し、Levelの絶対値からVLCテーブルにおいてLast,Runに対応する最大のLevelの値であるLMAXを減算した後にLevelの符号を付加したNewLevelを新たなLevelとし、その(Last,Run,NewLevel)の組を再度VLCテーブルによりVLC処理を行うモードである。
NewLevel算出式を下記に示す。
NewLevel=sign(Level)×(|Level|−LMAX)
ただし、sign(Level)はLevelの符号を意味する。また、|Level|はLevelの絶対値を意味する。
また、第2のエスケープモードは、(Last,Run,Level)の組に対し、Runの値からVLCテーブルにおいてLast,Levelに対応する最大のRunの値であるRMAXに1を加算した値を減算したNewRunを新たなRunとし、その(Last,NewRun,Level)の組を再度VLCテーブルによりVLC処理を行うモードである。
NewRun算出式を下記に示す。
NewRun=Run−(RMAX+1)
第3のエスケープモードは、(Last,Run,Level)の組に対し、これをFLC(Fixed Length Code、固定長符号)に変換するモードである。
図31は、上記の方法により符号化を行う可変長符号化装置において、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。
まず、(Last,Run,Level)の組に対してVLC処理を試み、符号化できた場合はそのコード(有効なコード)を出力する(ステップS1)。
出力されたコードは、有効なコードかどうかが判定され(ステップS2)、有効なコードであれば出力されて符号化が完了する(ステップS3)。
ステップS1で符号化が完了しなかった場合は、LMAXを用いて第1のエスケープモードが既に実施されたかどうかを判定する(ステップS4)。
実施されていなければ、前記NewLevel算出式によりNewLevelを算出し、(Last,Run,NewLevel)の組を生成し(ステップS5)、ステップS1のVLC処理を試みる。出力されたコードは、有効なコードかどうかが判定され(ステップS2)、有効なコードであれば、それが出力されて符号化が完了する(ステップS3)。
ステップS4でも符号化が完了しなかった場合は、RMAXを用いて第2のエスケープモードが既に実施されたかどうかを判定する(ステップS6)。
実施されていなければ、前記NewRun算出式によりNewRunを算出し、(Last,NewRun,Level)の組を生成し(ステップS7)、ステップS1のVLC処理を試みる。出力されたコードは、有効なコードかどうかが判定され(ステップS2)、有効なコードであれば、それが出力されて符号化が完了する(ステップS3)。
ステップS6でも符号化が完了しなかった場合は、(Last,Run,Level)の組がFLC(Fixed Length Code、固定長符号)に変換(FLC処理)される(ステップS8)。そして、このFLCに変換された結果が出力されて符号化が完了する(ステップS3)。
このように、従来のMPEG圧縮におけるVLC処理方法では、VLCテーブルから出力結果を得るサイクルを1サイクルとすると、FLCの結果を得るまでに3サイクルの処理が必要となる。すなわち、FLC処理が多発するようなデータの場合には、多くの処理サイクルが必要となり、処理速度が遅くなるという問題があった。
FLC処理が多発するようなデータに対しても、少ないサイクルで符号化を実現する方法としては、図32に示す手順による処理方法が提案されている(例えば、特許文献1を参照。)。
この方法では、入力された(Last,Run,Level)の組に対するVLC処理、第1のエスケープモードによりNewLevel算出式が用いられて新たに生成された(Last,Run,NewLevel)の組に対するVLC処理、第2のエスケープモードによりNewRun算出式が用いられて新たに生成された(Last,NewRun,Level)の組に対するVLC処理、および第3のエスケープモードにより(Last,Run,Level)に対するFLC処理の4つの処理が平行して行われるようになっている。
この方法による処理を実現する装置では、3つのVLC処理が平行して行われるので、それぞれの処理に対応して、合計3つのVLCテーブルが設けられている。
上記の3つのVLC処理による出力、およびVLC処理による出力は、予め定められた優先順位によって1つの出力が選択される。
この方法によれば、VLCテーブルの処理サイクルを1サイクルとすると、1サイクルで符号化を完了することができる。
特許第3573735号公報
しかし、上記のように3つのVLC処理を平行して実施する方法では、符号化の処理サイクルは短くなるが、3つの並列のVLCテーブルを持つ必要があり、この方法を実現する符号化装置では、回路規模が大きくなってしまうという問題を有していた。
本発明は、前記の問題に着目してなされたものであり、可変長符号化装置の回路規模増加を抑えつつ、処理サイクルが短く、効率よく可変長符号化がきる可変長符号化方法、および可変長符号化装置を提供することを課題とする。
前記の課題を解決するため、請求項1の発明は、
係数列から可変長符号化データを生成する可変長符号化方法であって、
前記係数列は、デジタルデータに離散コサイン変換を行って得たDCT係数における、先行するゼロ係数の個数であるRunと、非ゼロの係数の値であるLevelと、前記非ゼロの係数が最後であるかどうかを示すLastとから成る係数列であり、
可変長符号化すべき係数列と当該係数列を可変長符号化した可変長符号化データとの対応関係を示すVLCテーブルにおいて、与えられた係数列のLast、およびRunに対応する最大のLevelの値であるLMAXを用いて、関係式:
NewLevel=sign(Level)×(|Level|−LMAX)
(ただし、sign(Level)は、Levelの符号を意味し、|Level|は、Levelの絶対値を意味する。)
から求めたNewLevelで、与えられた係数列におけるLevelを置き換えた第1の係数列を生成する第1の係数列生成ステップと、
前記VLCテーブルにおいて、与えられた係数列のLast、およびLevelに対応する最大のRunの値であるRMAXを用いて、関係式:
NewRun=Run−(RMAX+1)
から求めたNewRunで、与えられた係数列におけるRunを置き換えた第2の係数列を生成する第2の係数列生成ステップと、
与えられた係数列に応じて、与えられた係数列を可変長符号化するモード、前記第1の係数列を可変長符号化するモード、前記第2の係数列を可変長符号化するモード、および与えられた係数列を固定長符号化するモードのうち、何れのモードで符号化をすべきかを判定するVLCモード判定ステップと、
前記VLCモード判定ステップの判定結果に基づいて、前記与えられた係数列、前記第1の係数列、および前記第2の係数列のうちから1つの係数列を出力する係数列出力ステップと、
前記VLCテーブルに基づいて、前記係数列出力ステップが出力した係数列から可変長符号化データを生成する可変長符号化ステップと、
前記係数列出力ステップが出力した係数列を固定長符号化した固定長符号化データを生成する固定長符号化ステップと、
前記VLCモード判定ステップの判定結果に基づいて、前記可変長符号化データ、および前記固定長符号化データのうちの何れか一方を出力する符号化データ出力ステップと、
を有することを特徴とする。
これにより、入力された係数列に適する符号化モードが、可変長符号化が行われる前に決定されるので、効率よく1ステップでVLC処理を行うことができる。また、本方法で符号化を行う装置は、VLCテーブルを複数個持つ必要がないので、回路規模増加を抑えることが可能になる。
また、請求項2の発明は、
請求項1の可変長符号化方法であって、
さらに、与えられた係数列に応じて、可変長符号化、および固定長符号化のうちの何れの符号化を与えられた係数列に対して行うべきかを判定するFLCモード判定ステップを有し、
前記VLCモード判定ステップは、前記FLCモード判定ステップの判定結果が可変長符号化をすべきこと示している場合に、何れのモードで符号化をすべきかを判定することを特徴とする。
これにより、VLCモード判定よりも簡単な比較処理のみで済むFLCモード判定が、VLCモード判定よりも先に行われるので、VLCモード判定を行う係数列を減らすことができる。
また、請求項3の発明は、
請求項1の可変長符号化方法であって、
前記第1の係数列生成ステップは、前記VLCモード判定ステップの判定の結果が、前記第1の係数列を可変長符号化するモードで符号化をすべきことを示している場合に、前記第1の係数列を生成し、
前記第2の係数列生成ステップは、前記VLCモード判定ステップの判定の結果が、前記第2の係数列を可変長符号化するモードで符号化をすべきことを示している場合に、前記第2の係数列を生成することを特徴とする。
これにより、第1の係数列生成、および第2の係数列生成の何れか一方の係数列の生成を行えばよいので、例えば、第1の係数列生成を行う回路と、第2の係数列生成を行う回路との共通化を図ることが可能になり、本方法で符号化を行う装置の回路規模削減に貢献できる。
また、請求項4の発明は、
請求項1の可変長符号化方法であって、
前記VLCモード判定ステップは、与えられた係数列と与えられた係数列を符号化するモードとの対応関係を示すモード情報を保持したVLCモード判定テーブルを用いて、何れのモードで符号化をすべきかを判定することを特徴とする。
これにより、VLCモード判定テーブルを検索することによって、符号化モードが決定される。
また、請求項5の発明は、
請求項4の可変長符号化方法であって、
前記モード情報は、複数のVLCモード判定テーブルに分割されて保持されていることを特徴とする。
これにより、より効率よくVLCモード判定テーブルを検索することが可能になる。
また、請求項6の発明は、
請求項4の可変長符号化方法であって、
前記VLCモード判定テーブルは、Runの値が所定の値より小さい係数列についてのモード情報が保持されていることを特徴とする。
これにより、Runの値が所定の値より小さい係数列に対しては、効率よく1ステップで符号化が可能になる。
また、請求項7の発明は、
請求項5の可変長符号化方法であって、
前記デジタルデータは、画像データがフレーム内符号化、またはフレーム間符号化されたものであり、
前記複数のVLCモード判定テーブルは、前記フレーム内符号化された画像データに対応した係数列用のVLCモード判定テーブルと、前記フレーム間符号化された画像データに対応した係数列用のVLCモード判定テーブルとであることを特徴とする。
これにより、画像データの予測符号化モードに応じて、効率よく1ステップで符号化のモードが決定される。
また、請求項8の発明は、
請求項4の可変長符号化方法であって、
前記デジタルデータは、画像データがフレーム内符号化、またはフレーム間符号化されたものであり、
前記VLCモード判定テーブルは、前記フレーム内符号化された画像データに対応した係数列、および前記フレーム間符号化された画像データに対応した係数列のうちの何れか一方の係数列についてのモード情報が保持されていることを特徴とする。
これにより、VLCモード判定テーブルの規模を小さくし、小規模な符号化装置を構築することが可能になる。
また、請求項9の発明は、
請求項5の可変長符号化方法であって、
前記複数のVLCモード判定テーブルは、前記Lastの値が前記非ゼロの係数が最後であることを示している係数列についてのVLCモード判定テーブルと、前記Lastの値が前記非ゼロの係数が最後でないことを示している係数列についてのVLCモード判定テーブルとであることを特徴とする。
これにより、Lastの値に応じて、VLCモード判定テーブルの検索範囲を限定できるので、効率よく1ステップで符号化のモードが決定される。
また、請求項10の発明は、
請求項4の可変長符号化方法であって、
前記VLCモード判定テーブルは、前記Lastの値が前記非ゼロの係数が最後であることを示している係数列、および前記Lastの値が前記非ゼロの係数が最後でないことを示している係数列のうちの何れか一方の係数列についてのモード情報が保持されていることを特徴とする。
これにより、VLCモード判定テーブルの規模を小さくし、小規模な符号化装置を構築することが可能になる。
また、請求項11の発明は、
請求項1の可変長符号化方法であって、
前記VLCモード判定テーブルは、前記第1の係数列を可変長符号化するモード、および前記第2の係数列を可変長符号化するモードのうち、可変長符号化後の符号量が少ない方のモードが判定結果として選択されるように構成されていることを特徴とする。
これにより、可変長符号化後の符号量が少ない符号化モードが選択され、効率の良い符号化データが生成される。
また、請求項12の発明は、
請求項1の可変長符号化方法であって、
前記固定長符号化ステップは、可変長符号化すべき係数列と当該係数列を固定長符号化した固定長符号化データとの対応関係を示すFLCテーブルに基づいて、固定長符号化を行うことを特徴とする。
これにより、テーブルを参照することで固定長符号化データが生成される。
また、請求項13〜24に係る可変長符号化装置は、それぞれ上記請求項1〜12に係る可変長符号化方法と同様の作用効果を奏する。
また、請求項25の発明は、
請求項24の可変長符号化装置であって、さらに、
前記VLCテーブルを格納するVLCテーブル用メモリと、
前記FLCテーブルを格納するFLCテーブル用メモリとを備え、
前記VLCテーブル用メモリは、前記VLCテーブルが使用される場合にのみ、動作のためのクロック信号が供給されるように構成され、
前記FLCテーブル用メモリは、前記FLCテーブルが使用される場合にのみ、動作のためのクロック信号が供給されるように構成されていることを特徴とする。
また、請求項26の発明は、
請求項17の可変長符号化装置であって、
さらに、それぞれのVLCモード判定テーブルに対応した複数のVLCモード判定テーブル用メモリを備え、
使用されているVLCモード判定テーブルが保持されたVLCモード判定テーブル用メモリにのみ、動作のためのクロック信号が供給されるように構成されていることを特徴とする。
これらにより、各テーブルのうち使用されるテーブルが格納されたメモリにのみ動作クロック信号が供給されるので、消費電力の削減が可能になる。
また、請求項27の発明は、
請求項13から請求項26のうちの何れか1項の可変長符号化装置と、
画像光を画像信号に変換するセンサと、
入射された画像光を前記センサ上に結像する光学系と、
前記画像信号をデジタルデータに変換して前記可変長符号化装置に出力する変換器と、
を備えたことを特徴とする。
また、請求項28の発明は、
請求項13から請求項26のうちの何れか1項の可変長符号化装置と、
入力されたアナログ値の画像信号をデジタルデータに変換して前記可変長符号化装置に出力する変換器と、
を備えたことを特徴とする。
これらにより、回路規模増加を抑えつつ、効率よく可変長符号化ができる撮像システム(例えばデジタルスチルカメラ(DSC)等)を構築できる。
本発明によれば回路規模増加を抑えつつ、効率よく可変長符号化ができる。
以下、本発明の実施形態について図面を参照しながら説明する。
《発明の実施形態1》
図1は、本発明の実施形態1に係る可変長符号化装置100の構成を示すブロック図である。同図に示すように可変長符号化装置100は、変換部110、VLC符号化前処理部120、およびVLC符号化処理部130を備えて構成されている。
(変換部110の構成)
変換部110は、図示しないDCT・量子化部がマクロブロック内のデータに対して、DCT(Discrete Cosine Transform、離散コサイン変換)、および量子化を行った結果から得られたDCT係数について、先行するゼロの係数の個数であるRunと、非ゼロの係数の値であるLevelと、その非ゼロの係数が最後であるかどうかを示すLastとを求め、これらを(Last,Run,Level)の組(係数列)として、VLC符号化前処理部120に出力するようになっている。(Last,Run,Level)の組は、具体的には、図1に示すように、それぞれLast信号、Run信号、およびLevel信号としてVLC符号化前処理部120に出力される。
(VLC符号化前処理部120の構成)
VLC符号化前処理部120は、マクロブロックの予測符号化モード(フレーム内符号化、またはフレーム間符号化)、Last、Run、およびLevelの値に応じて、入力された(Last,Run,Level)の組、第1エスケープモード(後述)によって生成された(Last,Run,Level)の組、および第2エスケープモード(後述)よって生成された(Last,Run,Level)の組のうちから何れか1つの組を選択して、VLC符号化処理部130に出力するようになっている。
VLC符号化前処理部120は、詳しくは、図2に示すように、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部124を備えて構成されている。
(VLCモード判定部121の構成)
VLCモード判定部121は、図3に示すテーブルを用いて、前記予測符号化モード、Last、Run、およびLevelの値の組み合わせから、変換部110が生成した(Last,Run,Level)の組がVLCテーブルに存在するか否かを判定するようになっている(以下、VLCモード判定という。)。なお、予測符号化モードに関する情報(予測符号化情報)は、Intra/Inter識別信号として可変長符号化装置100の外部から入力されるようになっている。
また、VLCモード判定部121は、(Last,Run,Level)の組がVLCテーブルに存在しない場合に、後述する3つのエスケープモードのうちの何れのエスケープモードで符号化するかを判定するようになっている(以下、エスケープモード判定という。)。
VLCモード判定、およびエスケープモード判定の結果は、VLCモード判定結果信号として、VLCモード選択部124に出力されるようになっている。なお、各判定結果と、VLCモード判定結果信号として出力される値(“00”、“01”、“10”、および“11”の何れかの値)とは、本実施形態では、図4の表に示すように対応している。
(第1エスケープモード処理部122の構成)
第1エスケープモード処理部122は、変換部110が出力した(Last,Run,Level)の組、および前記予測符号化モードに基づいて、NewLevel算出式(後述)によりNewLevelを求め、それをLevelと置き換えた(Last,Run,NewLevel)の組を新たな組としてVLCモード選択部124に出力するようになっている(この処理を第1エスケープモード処理と呼ぶ)。
NewLevel算出式は、次のように表される。
NewLevel算出式:
NewLevel=sign(Level)×(|Level|−LMAX)
ここで、sign(Level)はLevelの符号を意味する。また、|Level|は、Levelの絶対値を意味する。
また、NewLevel算出式に用いるLMAXは、可変長符号化すべき係数列と当該係数列を可変長符号化した可変長符号化データとの対応関係を示すVLCテーブルにおいて、与えられた係数列のLast、およびRunに対応する最大のLevelの値である。LMAXの値は、具体的には、LMAXテーブルを用いて求めればよい。LMAXテーブルの一部を抜粋したものを図5に示す。
(第2エスケープモード処理部123の構成)
第2エスケープモード処理部123は、変換部110が出力した(Last,Run,Level)の組、および予測符号化モードに基づいて、NewRun算出式(後述)によりNewRunを求め、それをRunと置き換えた(Last,NewRun,Level)の組を新たな組としてVLCモード選択部124に出力するようになっている(この処理を第2エスケープモード処理と呼ぶ)。
NewRun算出式は、次のように表される。
NewRun算出式:
NewRun=Run−(RMAX+1)
NewRun算出式に用いるRMAXは、前記VLCテーブルにおいて、与えられた係数列のLast、およびLevelに対応する最大のRunの値である。RMAXは、具体的には、RMAXテーブルを用いて求める。RMAXテーブルの一部を抜粋したものを図6に示す。
(VLCモード選択部124の構成)
VLCモード選択部124は、前記VLCモード判定結果に基づいて、変換部110が出力した(Last,Run,Level)の組、第1エスケープモード処理部122が出力した(Last,Run,NewLevel)の組、および第2エスケープモード処理部123が出力した(Last,NewRun,Level)の組の3組のうちから1組を選択するようになっている。
また、VLCモード選択部124は、選択された組を出力するパス(VLC処理部131に対して出力するパス、およびFLC処理部132に対して出力するパス)を決定し、前記選択した組を選択されたパスからVLC符号化処理部130に出力するようになっている。
1つの組の選択、および選択された組を出力するパスの決定は、図7に示すテーブルに基づいて行われる。
また、VLCモード選択部124は、同時に何れのパスを選択したかを示す選択情報を含んだ選択信号もVLC符号化処理部130へ出力するようになっている。なお、この選択信号には、さらに前記VLCモード判定結果も含められ、後述するようにVLC符号化処理部130で使用される。
(VLC符号化処理部130の構成)
VLC符号化処理部130は、図8に示すようにVLC処理部131、FLC処理部132、および符号化モード選択部133を備えて構成され、可変長符号化処理を施した符号化データを外部に出力するようになっている。
(VLC処理部131の構成)
VLC処理部131は、前記選択情報に応じて、VLCテーブル(図9を参照。)を用いて、VLC符号化前処理部120が出力した(Last,Run,Level)の組に対し、可変長符号化を行って符号化データを生成し、符号化モード選択部133に出力するようになっている。
(FLC処理部132の構成)
FLC処理部132は、前記選択情報に応じて、VLC符号化前処理部120が出力した(Last,Run,Level)の組に対し、固定長符号(Lastを1ビット、Runを6ビット、Markerビットを1ビット(1ビット符号“1”)、Levelを12ビット)に変換(固定長符号化)して符号化データを生成し、符号化モード選択部133に出力するようになっている。固定長符号化は、具体的には、FLCテーブル(図10、図11、および図12を参照。)を用いて行われる。
(符号化モード選択部133の構成)
符号化モード選択部133は、VLC符号化前処理部120が出力した選択情報に基づいて、VLC処理部131から出力された符号化データ、およびFLC処理部132から出力された符号化データのうちから何れか一方を選択し、選択した符号化データに対し、VLCモード判定結果に応じた符号を付加して出力するようになっている(図13を参照。)。
(可変長符号化装置100の動作)
このように構成された可変長符号化装置100では、マクロブロック内のデータに対して、DCT、および量子化が行われ、変換部110によって(Last,Run,Level)の組が生成される。その後、図14に示すステップS1〜S8の各処理が行われて、マクロブロック内のデータが符号化される。図14は、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。
まず、ステップS1では、変換部110は、符号化の対象となる(Last,Run,Level)の組をLast信号、Run信号、およびLevel信号として、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部124に出力する。
ステップS2では、VLCモード判定部121は、前記VLCモード判定、およびエスケープモード判定を行い、その結果をVLCモード判定結果信号としてVLCモード選択部124へ出力する。
ステップS3では、第1エスケープモード処理部122は、変換部110が出力した(Last,Run,Level)の組に対し、NewLevel算出式によりNewLevelを求め、それをLevelと置き換えた(Last,Run,NewLevel)を新たな組としてVLCモード選択部124へ出力する。
ステップS4では、第2エスケープモード処理部123は、変換部110が出力した(Last,Run,Level)の組に対し、NewRun算出式によりNewRunを求め、それをRunと置き換えた(Last,NewRun,Level)新をたな組としてVLCモード選択部124へ出力する。
ステップS5では、VLCモード選択部124は、変換部110が出力した(Last,Run,Level)の組(すなわち符号化対象となっている組)、第1エスケープモード処理部122が出力した(Last,Run,NewLevel)の組、および第2エスケープモード処理部123が出力した(Last,NewRun,Level)の組のうちから有効となる1つの組をVLCモード判定結果に基づいて選択する。同時に、VLCモード判定結果に基づいて、選択された組の出力先(VLC処理部131、またはFLC処理部132)を選択する。
選択された組は、新たな(Last,Run,Level)として、選択された出力先に出力される。この際、“VLC処理”と“FLC処理”の何れの処理を選択したかを示す選択情報が選択信号として符号化モード選択部133に出力される。
ステップS6では、VLC処理部131に対し、VLCモード選択部124において選択された有効な(Last,Run,Level)の組が入力される。
VLC処理部131は、その入力された組に対し、VLCテーブルを用いて、一意的な符号割り当てを行い、その結果である符号化データを符号化モード選択部133に出力する。
ステップS7では、FLC処理部132に対し、VLCモード選択部124において選択された(Last,Run,Level)の組が入力される。
FLC処理部132は、その組に対し固定長符号(Lastを1ビット、Runを6ビット、Markerビットを1ビット(1ビット符号“1”)、Levelを12ビット)の変換を行い(図10〜図12を参照。)、その結果である符号化データを符号化モード選択部133に出力する。
ステップS8では、符号化モード選択部133は、VLCモード選択部124入力された選択情報に基づいて、VLC処理部131から出力された符号化データ、およびFLC処理部132から出力された符号化データのうちから一方の符号化データを選択する。また、選択信号に含まれたVLCモード判定結果に基づいて、VLC処理部131またはFLC処理部132から受け取った符号の先頭に図13の表に示す符号を付加した上で、符号化データとして出力する。
上記で説明した本可変長符号化装置の動作を、VLCモード判定結果が“00”、“01”、“10”、および“11”の各場合について具体的な数値を用いて説明する。
《1.VLCモード判定結果が“00”の場合》
例えば、処理対象のマクロブロックがIntraマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(0,9,2)の場合の各ステップの処理を説明する。
(ステップS1) 変換部110は、(Last,Run,Level)の組である(0,9,2)を、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部124に出力する。
(ステップS2) VLCモード判定部121は、VLCモード判定テーブルを用いてVLCモード判定を行う。(Last,Run,Level)の組が(0,9,2)で、かつ処理対象のマクロブロックが“Intraマクロブロック”なので、VLCモード判定結果は、“00”となり、結果の“00”がVLCモード選択部124に出力される。
(ステップS3) 第1エスケープモード処理部122は、LMAXの減算処理を行う。この例では、Last=“0”,Run=“9”なので、LMAX=“2”となり、NewLevel=“0”となる(図5を参照。)。これにより、第1エスケープモード処理部122からは、NewLevelを新たなLevelとした(0,9,0)がVLCモード選択部124に出力される。
(ステップS4) 第2エスケープモード処理部123は、RMAXの減算処理を行う。Last=“0”,Level=“2”なので、RMAX=“9”となり(図6を参照。)、NewRun=“−1”となる。これにより、第2エスケープモード処理部123からは、NewRunを新たなRunとした(0、−1,2)がVLCモード選択部124に出力される。
(ステップS5) VLCモード選択部124には、変換部110が出力した(0,9,2)、第1エスケープモード処理部122が出力した(0,9,0)、第2エスケープモード処理部123が出力した(0、−1,2)の3組が入力される。
また、VLCモード選択部124には、VLCモード判定結果信号も同時に入力される。この例では、VLCモード判定結果が“00”であるため、変換部110が出力した(0,9,2)が出力する組として選択される(図7を参照。)。また、VLCモード判定結果によって出力先も決定され、この例では、“VLC処理部”が選択される。
以上により、変換部110が出力した(0,9,2)がVLC処理部131に出力される。また、符号化モード選択部133に出力する選択情報は、“VLC処理部”を示す。
(ステップS6) VLC処理部131は、VLCテーブル(図9を参照。)を用いて、入力された(0,9,2)に対して符号化処理を施して“000001000110”を符号化モード選択部133に出力する。
(ステップS7) FLC処理部132は、選択情報が“VLC処理部”を示しているので処理を実行しない。
(ステップS8) 符号化モード選択部133は、VLCモード判定結果=“00”なのでVLC処理部131の出力した符号化データに符号を付加せず(図13を参照。)に、(0,9,2)を符号化した結果として“000001000110”を出力する。
《2.VLCモード判定結果が“01”の場合》
例えば、処理対象のマクロブロックがInterマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(0,2,5)の場合の各ステップの処理を説明する。
(ステップS1) 変換部110は、(Last,Run,Level)の組である(0,2,5)をVLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部124に出力する。
(ステップS2) VLCモード判定部121では、VLCモード判定テーブル(図3を参照)を用いてVLCモード判定を行う。(Last,Run,Level)の組が(0,2,5)、かつ処理対象のマクロブロックが“Interマクロブロック”なので、VLCモード判定結果は、“01”となり、結果の“01”がVLCモード選択部124に出力される。
(ステップS3) 第1エスケープモード処理部122は、LMAXの減算処理を行う。この例では、Last=“0”、Run=“2”なので、LMAX=“4”となり(図5を参照。)、NewLevel=“1”となる。これにより、第1エスケープモード処理部122からは、NewLevelを新たなLevelとした(0,2,1)がVLCモード選択部124に出力される。
(ステップS4) 第2エスケープモード処理部123は、RMAXの減算処理を行う。この例では、Last=“0”,Level=“5”なので、RMAX=“1”となり(図6を参照。)、NewRun=“0”となる。これにより、第2エスケープモード処理部123からは、NewRunを新たなRunとした(0,0,5)がVLCモード選択部124に出力される。
(ステップS5) VLCモード選択部124には、変換部110が出力した(0,2,5)、第1エスケープモード処理部122が出力した(0,2,1)、および第2エスケープモード処理部123が出力した(0,0,5)の3組が入力される。また、VLCモード判定結果信号も同時に入力される。この例では、VLCモード判定結果が“01”なので、第1エスケープモード処理部122が出力した(0,2,1)が選択される(図3を参照)。
また、VLCモード判定結果により出力先も決定され、この例では、“VLC処理部”が選ばれる。したがって、(0,2,1)がVLC処理部131に出力される。また、符号化モード選択部133に出力する選択情報は、“VLC処理部”を示す。
(ステップS6) VLC処理部131は、VLCテーブル(図9を参照。)を用いて、入力された(0,2,1)の組に対して符号化処理を施して、“11100”を符号化モード選択部133に出力する。
(ステップS7) FLC処理部132は、選択情報が“VLC処理部”を示しているので処理を実行しない。
(ステップS8) 符号化モード選択部133は、VLCモード判定結果=“01”なので、“000001101”を符号“11100”の先頭に付加する(図13を参照)。最終的には“00000110111100”を(0,2,5)を符号化した結果として出力する。
《3.VLCモード判定結果が“10”の場合》
例えば、処理対象のマクロブロックがIntraマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(0,3,−9)の場合の各ステップの処理を説明する。
(ステップS1) 変換部110は、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部124に(Last,Run,Level)の組である(0,3,−9)を出力する。
(ステップS2) VLCモード判定部121は、VLCモード判定テーブル(図3を参照。)を用いてVLCモード判定を行う。Last,Run,Level)の組が(0,3,−9)、かつ処理対象のマクロブロックが“Intraマクロブロック”なので、VLCモード判定結果は、“10”となり、結果の“10”がVLCモード選択部124に出力される。
(ステップS3) 第1エスケープモード処理部122は、LMAXの減算処理を行う。この例では、Last=“0”,Run=“3”なので、LMAX=“4”となり(図5を参照。)、NewLevel=“5”となる。これにより、第1エスケープモード処理部122からは、NewLevelを新たなLevelとした(0,3,−5)がVLCモード選択部124に出力される。
(ステップS4) 第2エスケープモード処理部123では、RMAXの減算処理が行われる。この例では、Last=“0”,Level=“−9”なので、RMAX=“1”となり(図6を参照。)、NewRun=“1”となる。これにより、第2エスケープモード処理部123からはNewRunを新たなRunとした(0,1,−9)がVLCモード選択部124に出力される。
(ステップS5) VLCモード選択部124には、変換部110が出力した(0,3,−9)、第1エスケープモード処理部122が出力した(0,3,−5)、および第2エスケープモード処理部123が出力した(0、1,−9)の3組が入力される。
また、VLCモード判定結果信号も同時に入力される。この例では、VLCモード判定結果が“10”であるため、第2エスケープモード処理部123が出力した(0,1,−9)が選択される(図7を参照)。また、VLCモード判定結果によって出力先も決定され、この例では、“VLC処理部”が選択される。以上により、第2エスケープモード処理部123が出力した(0,1,−9)がVLC処理部131に出力される。また、符号化モード選択部133に送る選択情報は、“VLC処理部”を示す信号となる。
(ステップS6) VLC処理部131は、VLCテーブル(図9を参照)を用いて、入力された(0,1,−9)の組に対して符号化処理を施して、“0000010100111”を符号化モード選択部133に出力する。
(ステップS7) FLC処理部132は、選択情報が“VLC処理部”を示しているので処理を実行しない。
(ステップS8) 符号化モード選択部133は、VLCモード判定結果=“10”なので、“000001110”を符号“0000010100111”の先頭に付加する(図13を参照。)。最終的には“0000011100000010100111”を(0,3,−9)を符号化した結果として出力する。
《4.VLCモード判定結果が“11”の場合》
例えば、処理対象のマクロブロックがIntraマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(1,3,5)の場合の各ステップの処理を説明する。
(ステップS1) 変換部110は、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部124に(Last,Run,Level)の組として(1,3,5)を出力する。
(ステップS2) VLCモード判定部121は、VLCモード判定テーブル(図3を参照)を用いてVLCモード判定を行う。Last,Run,Level)の組が(1,3,5)、かつ処理対象のマクロブロックが“Intraマクロブロック”なので、VLCモード判定結果は、“11”となり、結果の“11”がVLCモード選択部124に出力される。
(ステップS3) 第1エスケープモード処理部122は、LMAXの減算処理を行う。この例では、Last=“1”,Run=“3”なので、LMAX=“2”となり(図5を参照。)、NewLevel=“3”となる。これにより、第1エスケープモード処理部122からは、NewLevelを新たなLevelとした(1,3,3)がVLCモード選択部124に出力される。
(ステップS4) 第2エスケープモード処理部123では、RMAXの減算処理が行われる。この例では、Last=“1”,Level=“5”なので、RMAX=“0”となり(図6を参照。)、NewRun=“2”となる。これにより、第2エスケープモード処理部123からはNewRunを新たなRunとした(1,2,5)がVLCモード選択部124に出力される。
(ステップS5) VLCモード選択部124には、変換部110が出力した(1,3,5)、第1エスケープモード処理部122が出力した(1,3,3)、および第2エスケープモード処理部123が出力した(1、2,5)の3組が入力される。
また、VLCモード判定結果信号も同時に入力される。この例では、VLCモード判定結果が“11”であるため、変換部110が出力した(1,3,5)が選択される(図7を参照。)。また、VLCモード判定結果によって出力先も決定され、この例では、“FLC処理部”が選択される。以上により、(1,3,5)がFLC処理部132に出力される。また、符号化モード選択部133に出力する選択情報は“FLC処理部”を示す。
(ステップS6) VLC処理部131は、選択情報が“FLC処理部”を示しているため処理を実行しない。
(ステップS7) FLC処理部132は、入力された(1,3,5)の組に対して固定長符号化処理を施して“10000111000000000101”を符号化モード選択部133に出力する(図10〜図12を参照)。
(ステップS8) 符号化モード選択部133は、VLCモード判定結果=“11”なので、“000001111”を符号“10000111000000000101”の先頭に付加する(図13を参照)。最終的には、“00000111110000111000000000101”を(1,3,5)を符号化した結果として出力する。
上記のように本実施形態によれば、入力された(Last,Run,Level)に適するエスケープモードが、VLCテーブル比較の前に既に決定されているので、VLCテーブルを複数個持つことなく、全ての(Last,Run,Level)を1サイクルで符号化することが可能になる。
《発明の実施形態2》
実施形態1の可変長符号化装置よりもさらに回路規模を抑えることが可能な装置の例を説明する。なお、以下の実施形態において前記実施形態1等と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
図15は、本発明の実施形態2に係る可変長符号化装置200の構成を示すブロック図である。可変長符号化装置200は、実施形態1における可変長符号化装置100のVLC符号化前処理部120に代えてVLC符号化前処理部220を備えて構成されている。
(VLC符号化前処理部220の構成)
VLC符号化前処理部220は、図16に示すように、VLCモード判定部121、エスケープモード処理部222、およびVLCモード選択部224を備えて構成されている。
エスケープモード処理部222は、前記第1エスケープモード処理、および第2エスケープモード処理を行う機能を有し、Intra/Inter識別信号(予測符号化モードを表す信号)、およびVLCモード判定部121が出力したVLCモード判定結果に基づいて、変換部110が生成した(Last,Run,Level)の組、前記第1エスケープモード処理によって生成された(Last,Run,Level)の組、および第2エスケープモード処理によって生成された(Last,Run,Level)の組のうちの何れか一つの組をVLCモード選択部224に出力するようになっている。
このように、エスケープモード処理部222に前記第1エスケープモード処理、および第2エスケープモード処理の両方の処理を行う機能を備えさせることにより、回路の共通化を図ることが可能になり、回路規模削減に貢献できる。
VLCモード選択部224は、VLCモード判定部121が出力したVLCモード判定結果に基づいて、エスケープモード処理部222が出力した(Last,Run,Level)の組を出力するパス(VLC処理部131に対して出力するパス、およびFLC処理部132に対して出力するパス)を選択し、選択したパスを介して、(Last,Run,Level)の組をVLC符号化処理部130に出力するようになっている。VLCモード選択部224による前記パスの選択は、具体的には、図17に示す表に基づいて行われる。
また、VLCモード選択部224は、同時に何れのパスを選択したかを示す選択情報を選択信号としてVLC符号化処理部130に出力するようになっている。
(可変長符号化装置200の動作)
このように構成された可変長符号化装置200では、まず、マクロブロック内のデータに対して、DCT、および量子化が行われ、変換部110によって(Last,Run,Level)の組が生成される。その後、図18に示すステップS1〜S7の処理が行われ、マクロブロック内のデータが符号化される。図18は、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。
まず、ステップS1では、変換部110は、符号化の対象となる(Last,Run,Level)の組をLast信号、Run信号、およびLevel信号として、VLCモード判定部121、エスケープモード処理部222、およびVLCモード選択部224に出力する。
ステップS2では、VLCモード判定部121は、前記VLCモード判定、およびエスケープモード判定を行い、その結果をVLCモード判定結果信号としてVLCモード選択部224、およびエスケープモード処理部222に出力する。
ステップS3では、エスケープモード処理部222は、予測符号化モード、およびVLCモード判定結果に基づいて、変換部110が生成した(Last,Run,Level)の組、前記第1エスケープモード処理によって生成された(Last,Run,Level)の組、および第2エスケープモード処理によって生成された(Last,Run,Level)の組のうちの何れか一つの組をVLCモード選択部224に出力する。
ステップS4では、VLCモード選択部224は、図17に示す表を用い、VLCモード判定部121が出力したVLCモード判定結果に基づいて、エスケープモード処理部222が出力した(Last,Run,Level)の組を出力するパス(VLC処理部131に対して出力するパス、およびFLC処理部132に対して出力するパス)を選択し、選択したパスを介して、(Last,Run,Level)の組をVLC符号化処理部130に出力する。また、VLCモード選択部224は、同時に何れのパスを選択したかを示す選択情報を選択信号としてVLC符号化処理部130に出力する。
ステップS5では、VLC処理部131に対し、VLCモード選択部224において選択された有効な(Last,Run,Level)の組が入力される。VLC処理部131は、その入力された組に対し、VLCテーブルを用いて、一意的な符号割り当てを行い、その結果である符号化データを符号化モード選択部133に出力する。
ステップS6では、FLC処理部132に対し、VLCモード選択部124において選択された(Last,Run,Level)の組が入力される。
FLC処理部132は、その組に対し固定長符号(Lastを1ビット、Runを6ビット、Markerビットを1ビット(1ビット符号“1”)、Levelを12ビット)の変換を行い(図10〜図12を参照。)、その結果である符号化データを符号化モード選択部133に出力する。
ステップS7では、符号化モード選択部133は、VLCモード選択部124入力された選択情報に基づいて、VLC処理部131から出力された符号化データとFLC処理部132から出力された符号化データのうちから一方の符号化データを選択する。また、選択信号に含まれたVLCモード判定結果に基づいて、VLC処理部131またはFLC処理部132から受け取った符号の先頭に図13の表に示す符号を付加した上で、符号化データとして出力する。
上記で説明した本可変長符号化装置の動作を、例えば、VLCモード判定結果が“00”、処理対象のマクロブロックがIntraマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(0,9,2)である場合における各ステップの処理を説明する。
(ステップS1) 変換部110は、(Last,Run,Level)の組である(0,9,2)をVLCモード判定部121、エスケープモード処理部222に出力する。
(ステップS2) (Last,Run,Level)の組が(0,9,2)で、かつ処理対象のマクロブロックが“Intraマクロブロック”なので、VLCモード判定部121のVLCモード判定結果が“00”となり、判定結果の“00”がVLCモード選択部224、およびエスケープモード処理部222に出力される。
(ステップS3) エスケープモード処理部222では、VLCモード判定結果に基づき、必要に応じ第1エスケープモード処理、または第2エスケープモード処理が行われる。この例では、VLCモード判定結果が“00”なので、第1エスケープモード処理、および第2エスケープモード処理は行われず、(0,9,2)の組に対し、何の変更も加えられずにVLCモード選択部224に出力される。
(ステップS4) VLCモード選択部224には、VLCモード判定部121が出力したVLCモード判定結果を受け、エスケープモード処理部222が出力した(Last,Run,Level)の組の出力先を決定する。この例では、VLCモード判定結果が“00”であるため“VLC処理部”が選ばれる(図7を参照.)。これにより、(0,9,2)がVLC処理部131に出力される。また、符号化モード選択部133には、“VLC処理”を示す選択情報が出力される。
(ステップS5) VLC処理部131は、VLCテーブル(図9を参照。)を用いて符号化処理を行う。この例では、入力された(0,9,2)の組に対して、符号化処理を施すと“000001000110”となる。この符号化結果を符号化モード選択部133に出力する。
(ステップS6) FLC処理部132は、選択情報が“VLC処理部”を示しているため、処理は実行しない。
(ステップS7) 符号化モード選択部133では、VLCモード選択部224が出力した選択情報に基づいて、符号化モードの選択を行う。この例では、選択情報が“VLC処理部”を示しているためVLC処理部131の出力を符号化データとして受け取る。そして、選択信号に含まれるVLCモード判定結果が“00”であるため符号を付加せず(図13を参照。)、“000001000110”を(0,9,2)を符号化した結果として出力する。
上記のように本実施形態においても、やはり、入力された(Last,Run,Level)に適するエスケープモードが、VLCテーブル比較の前に既に決定されているので、VLCテーブルを複数個持つことなく、全ての(Last,Run,Level)を1サイクルで符号化することが可能になる。
しかも、本実施形態では、前記第1エスケープモード処理、および第2エスケープモード処理を同時に行う必要がないので、エスケープモード処理部222に、前記第1エスケープモード処理、および第2エスケープモード処理の両方の処理を行う機能を備えさせることにより、回路の共通化を図ることが可能になり、回路規模削減に貢献できる。
《発明の実施形態3》
実施形態1の可変長符号化装置よりもVLCモード判定テーブルの規模を大幅に削減することが可能な装置の例を説明する。
図19は、本発明の実施形態3に係る可変長符号化装置300の構成を示すブロック図である。可変長符号化装置300は、実施形態1における可変長符号化装置100のVLC符号化前処理部120に代えて、VLC符号化前処理部320を備えて構成されている。
(VLC符号化前処理部320の構成)
VLC符号化前処理部320は、図20に示すように、VLCモード選択部124、FLCモード判定部321、VLCモード判定部322、第1エスケープモード処理部323、および第2エスケープモード処理部324を備えて構成されている。
FLCモード判定部321は、変換部110が出力した(Last,Run,Level)の組の符号化に、第3のエスケープモードが最適か否かを判定するようになっている。
この判定では、まず、Intra/Inter識別信号が示す予測符号化モード、および(Last,Run,Level)の組のLastに対して、図21に示すFLC判定テーブルを用いて、第3のエスケープモードが最適か否かを切り分けるRunThrとLevelThrを生成する。そして、Run≦RunThr、かつLevel≦LevelThrを充たさない場合に、第3のエスケープモードが最適と判定する。判定の結果(以下、FLCモード判定結果と言う。)は、FLCモード判定結果信号として出力される。FLCモード判定結果は、本実施形態では、“0”、“1”の何れかの出力値である。各出力値の意味は、図22に示す表のようになっている。
VLCモード判定部322は、FLCモード判定部321で第3のエスケープモードが最適と判断された場合(具体的には、FLCモード判定結果が“1”の場合)には、VLCモード判定結果として“第3のエスケープモード”を示す“11”を出力し、FLCモード判定部321で第3のエスケープモードが最適と判断されなかった場合には、前記VLCモード判定を行って、VLCモード判定の判定結果をVLCモード選択部124に出力するようになっている。
第1エスケープモード処理部323は、FLCモード判定部321で第3のエスケープモードが最適と判断されなかった場合には、入力された(Last,Run,Level)の組に対して前記第1エスケープモード処理をしてVLCモード選択部124に出力し、FLCモード判定部321で第3のエスケープモードが最適と判断された場合には、第1エスケープモード処理を行わずに入力された(Last,Run,Level)をVLCモード選択部124に出力するようになっている。
第2エスケープモード処理部324は、FLCモード判定部321で第3のエスケープモードが最適と判断されなかった場合には、入力された(Last,Run,Level)の組に対して前記第2エスケープモード処理をしてVLCモード選択部124に出力し、FLCモード判定部321で第3のエスケープモードが最適と判断された場合には、第2エスケープモード処理を行わずに、入力された(Last,Run,Level)をそのままVLCモード選択部124に出力するようになっている。
(可変長符号化装置300の動作)
このように構成された可変長符号化装置300では、まず、マクロブロック内のデータに対して、DCT、および量子化が行われ、変換部110によって(Last,Run,Level)の組が生成される。その後、図23に示すステップS1〜S9の処理が行われ、マクロブロック内のデータが符号化される。図23は、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。
まず、ステップS1では、変換部110は、符号化の対象となる(Last,Run,Level)の組をLast信号、Run信号、およびLevel信号として、FLCモード判定部321、VLCモード判定部322、第1エスケープモード処理部323、および第2エスケープモード処理部324に出力する。
ステップS2では、変換部110が出力した(Last,Run,Level)の組の符号化に、第3のエスケープモードが最適か否かをFLCモード判定部321が判定する。FLCモード判定結果は、VLCモード判定部322、第1エスケープモード処理部323、および第2エスケープモード処理部324に出力される。
ステップS3では、VLCモード判定部322がFLCモード判定結果に応じて、VLCモード判定を行う。
ステップS4では、第1エスケープモード処理部323が、FLCモード判定結果に応じて、第1エスケープモード処理を行う。
ステップS5では、第2エスケープモード処理部324が、FLCモード判定結果に応じて、第2エスケープモード処理を行う。
ステップS6では、VLCモード選択部124は、変換部110が出力した(Last,Run,Level)の組、第1エスケープモード処理部323が出力した(Last,Run,NewLevel)の組、および第2エスケープモード処理部324が出力した(Last,NewRun,Level)の組のうちから有効となる1つの組をVLCモード判定結果に基づいて選択する。同時に、VLCモード判定結果に基づいて、選択された組の出力先(VLC処理部131、またはFLC処理部132)を選択する。選択された組は、新たな(Last,Run,Level)として、選択された出力先に出力される。この際、“VLC処理”と“FLC処理”の何れの処理を選択したかを示す選択情報が選択信号として符号化モード選択部133に出力される。
ステップS7では、VLCモード選択部124で出力先にVLC処理部131が選択されると、VLC処理部131には、符号化モード選択部133において選択された有効な(Last,Run,Level)の組が入力される。VLC処理部131は、入力された組に対し、VLCテーブルから一意的な符号割り当てを行い、その結果を符号化モード選択部133に出力する。
ステップS8では、VLCモード選択部124で出力先にFLC処理部132が選択されると、FLC処理部132にはVLCモード選択部124において選択された(Last,Run,Level)の組が入力される。FLC処理部132は、入力された組に対し固定長符号の変換を行い、符号化した結果を符号化モード選択部133に出力する。
ステップS9では、符号化モード選択部133は、VLCモード選択部124入力された選択情報に基づいて、VLC処理部131から出力された符号化データ、およびFLC処理部132から出力された符号化データのうちから一方の符号化データを選択する。また、選択信号に含まれたVLCモード判定結果に基づいて、VLC処理部131またはFLC処理部132から受け取った符号の先頭に図13の表に示す符号を付加した上で、符号化データとして出力する。
上記で説明した本可変長符号化装置の動作を、例えば、FLCモード判定結果が“1”、処理対象のマクロブロックがInterマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(1,3,7)である場合における各ステップの処理を説明する。
(ステップS1) 変換部110からFLCモード判定部321、VLCモード判定部322、第1エスケープモード処理部323、第2エスケープモード処理部324、およびVLCモード選択部124に(1,3,7)が入力される。
(ステップS2) Last=“1”で、かつ処理対象のマクロブロックが“Interマクロブロック”なので、FLCモード判定部321は、FLCモード判定テーブル(図21を参照。)からRunThr=“64”とLevelThr=“6”とを求める。Runに関しては、Run≦RunThrを充たしているが、Levelに関しては、Level≦LevelThrを充たしていない。したがって、第3のエスケープモードが最適であると判定され、FLCモード判定部321からはFLCモード判定結果として“1”がVLCモード判定部322、第1エスケープモード処理部323、および第2エスケープモード処理部324に出力される。
(ステップS3) VLCモード判定部322は、FLCモード判定部321が出力したFLCモード判定結果が“1”であるため、VLCモード判定結果として“11”をVLCモード選択部124に出力する。
(ステップS4) 第1エスケープモード処理部323は、FLCモード判定部321が出力したFLCモード判定結果が“1”であるため、入力された(1,3,7)の組をそのままを、VLCモード選択部124に出力する。
(ステップS5) 第2エスケープモード処理部324は、FLCモード判定部321が出力したFLCモード判定結果が“1”であるため、入力された(1,3,7)の組をそのままを、VLCモード選択部124に出力する。
(ステップS6) VLCモード選択部124は、VLCモード判定部322が出力したVLCモード判定結果が“11”であるため、変換部110が出力した(1,3,7)を選択する。また、VLCモード選択部124は、出力先として“FLC処理部”を選び、選択した(1,3,7)をFLC処理部132に出力する。さらにVLCモード選択部124は、符号化モード選択部133に“FLC処理”を示す選択情報を出力する。
(ステップS7) VLC処理部131では、選択情報が“FLC処理部”で処理することを示しているため、処理は実行しない。
(ステップS8) FLC処理部132では、(1,3,7)に対して、固定長符号化処理を施して、符号化結果の“10000111000000000111”を符号化モード選択部133に出力する。
(ステップS9) 符号化モード選択部133では、VLCモード選択部124が出力した選択情報に基づいて、符号化モードの選択を行う。この例では、選択情報が“FLC処理”を示しているため、FLC処理部132の出力を符号化データとして受け取る。そして、VLCモード判定結果を基に、受け取った符号化データの先頭に符号を付加する。VLCモード判定結果が“11”であるため“000001111”を符号化データ“10000111000000000111”の先頭に付加する(図13を参照。)。最終的には、“0000011110000111000000000111”を(1,3,7)を符号化した結果として出力する。
上記のように本実施形態においても、やはり、入力された(Last,Run,Level)に適するエスケープモードが、VLCテーブル比較の前に既に決定されているので、VLCテーブルを複数個持つことなく、全ての(Last,Run,Level)を1サイクルで符号化することが可能になる。
しかも、VLCモード判定よりも先に、VLCモード判定よりも簡単な比較処理のみで済むFLCモード判定を第1に行うので、VLCモード判定を行う(Last,Run,Level)の組を減らすことができ、VLCモード判定テーブルの規模を大幅に削減することが可能になる。
《発明の実施形態4》
VLCモード判定テーブルのサイズを実施形態1〜3の可変長符号化装置よりも小さくすることが可能な装置の例を説明する。
図24は、本発明の実施形態4に係る可変長符号化装置400の構成を示すブロック図である。可変長符号化装置400は、変換部110、VLC符号化前処理部420、およびVLC符号化処理部130を備えて構成されている。
(VLC符号化前処理部420の構成)
VLC符号化前処理部420は、図25に示すように、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部424を備えて構成されている。
VLCモード選択部424は、変換部110が出力した(Last,Run,Level)の組、第1エスケープモード処理部122が出力した(Last,Run,NewLevel)の組、および第2エスケープモード処理部123が出力した(Last,NewRun,Level)の組の3組のうちから1組を選択する場合に、前記VLCモード判定結果に加え、VLC符号化処理部430が出力した次モード要求信号が示す次モード要求情報(後述)も用いて有効な組の選択を行う点が、実施形態1等におけるVLCモード判定部121と異なっている。
VLCモード判定結果および次モード要求情報を用いた選択は、具体的には図26に示すテーブルに基づいて行われる。このテーブルに示すように、VLCモード選択部424による選択は、2つの組が選択される場合がある。
(VLC符号化処理部430の構成)
VLC符号化処理部430は、図27に示すように、FLC処理部132、VLC処理部431、および符号化モード選択部433を備えて構成されている。
VLC処理部431は、VLCモード選択部424が出力した(Last,Run,Level)の組が前記VLCテーブル(図9を参照。)に存在する場合に、前記VLCテーブルに基づいて(Last,Run,Level)の組を可変長符号化して、符号化データを符号化モード選択部433に出力するようになっている。
また、VLC処理部431は、VLCモード選択部424が出力した(Last,Run,Level)の組が前記VLCテーブルに存在するか否か(すなわち可変長符号化を完了できたかどうか)を示す符号化完了情報を符号化完了信号として符号化モード選択部433に出力するようになっている。本実施形態では、符号化完了情報は、具体的には、符号化処理を完了できなかった場合に、“0”、符号化処理を完了できた場合に、“1”に設定される。
符号化モード選択部433は、選択情報が“VLC処理”を示し、かつVLC処理部431で可変長符号化が完了していない場合には、別のエスケープモードによる処理を指示するための情報である次モード要求情報を次モード要求信号としてVLCモード選択部424に出力し、それ以外の場合には、選択信号に含まれたVLCモード判定結果に基づいて、VLC処理部431、またはFLC処理部132が出力した符号化データの先頭に図13のテーブルに示す符号を付加し、符号化結果として外部に出力するようになっている。本実施形態では、次モード要求情報は、初期値が“00”であり、前記符号化完了情報が“0”の場合(VLC処理部431で符号化処理できなかった場合)に値が1ずつ加算されてから出力され、符号化結果を出力した際にはリセットされるようになっている。
(可変長符号化装置400の動作)
このように構成された可変長符号化装置400では、まず、マクロブロック内のデータに対して、DCT、および量子化が行われ、変換部110によって(Last,Run,Level)の組が生成される。その後、図28に示すステップS1〜S8の処理が行われ、マクロブロック内のデータが符号化される。図28は、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。
ステップS1では、変換部110は、符号化の対象となる(Last,Run,Level)の組をLast信号、Run信号、およびLevel信号として、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部424に出力する。
ステップS2では、VLCモード判定部121は、前記VLCモード判定、およびエスケープモード判定を行い、その結果をVLCモード判定結果信号としてVLCモード選択部424へ出力する。
ステップS3では、第1エスケープモード処理部122は、変換部110が出力した(Last,Run,Level)の組に対し、前記NewLevel算出式によりNewLevelを求め、それをLevelと置き換えた(Last,Run,NewLevel)を新たな組としてVLCモード選択部424へ出力する。
ステップS4では、第2エスケープモード処理部123は、変換部110が出力した(Last,Run,Level)の組に対し、前記NewRun算出式によりNewRunを求め、それをRunと置き換えた(Last,NewRun,Level)新をたな組としてVLCモード選択部424へ出力する。
ステップS5では、VLCモード選択部424は、変換部110が出力した(Last,Run,Level)の組(すなわち符号化対象となっている組)、第1エスケープモード処理部122が出力した(Last,Run,NewLevel)の組、および第2エスケープモード処理部123が出力した(Last,NewRun,Level)の組のうちから有効となる1組または2組をVLCモード判定結果に基づいて選択する。同時に、VLCモード判定結果に基づいて、選択された組の出力先(VLC処理部431、またはFLC処理部132)を選択する。
選択された組は、新たな(Last,Run,Level)として、選択された出力先に出力される。この際、“VLC処理”、“FLC処理”、および“VLC処理とFLC処理との両方の処理”の何れを選択したかを示す選択情報も符号化モード選択部433に出力される。
ステップS6では、VLC処理部431は、VLCモード選択部424が出力した(Last,Run,Level)の組が前記VLCテーブルに存在する場合には、前記VLCテーブルに基づいて、一意的な符号割り当てを行って、符号化データを符号化モード選択部433に出力するともに、符号化完了情報に“1”を設定して符号化モード選択部433に出力する。
また、VLCモード選択部424が出力した(Last,Run,Level)の組が前記VLCテーブルに存在しない場合には、符号化できないので、符号化完了情報に“0”を設定して符号化モード選択部433に出力する。
ステップS7では、FLC処理部132は、VLCモード選択部424が出力した(Last,Run,Level)の組に対し、前記固定長符号の変換を行い、符号化した結果(符号化データ)を符号化モード選択部133に出力する。
ステップS8では、符号化モード選択部433は、選択情報が“VLC処理”を示し、かつ符号化完了情報が“0”の場合には、前記次モード要求信号をVLCモード選択部424に出力し、それ以外の場合には、選択信号に含まれたVLCモード判定結果に基づいて、VLC処理部431、またはFLC処理部132が出力した符号化データの先頭に図13のテーブルに示す符号を付加した符号化データを出力する。
上記で説明した実施形態4に係る可変長符号化装置の動作を、例えば、処理対象のマクロブロックがIntraマクロブロックであり、変換部110が生成した(Last,Run,Level)の組が(1,3,5)である場合について説明する。
(ステップS1) まず、変換部110によって、VLCモード判定部121、第1エスケープモード処理部122、第2エスケープモード処理部123、およびVLCモード選択部424に(1,3,5)が出力される。
(ステップS2) VLCモード判定部121によって、VLCモード判定が行われる。(Last,Run,Level)の組が(1,3,5)、かつ処理対象のマクロブロックが“Intraマクロブロック”なので、VLCモード判定テーブルには、(1,3,5)は存在しない。したがって、VLCモード判定結果は、“00”となり、結果の“00”がVLCモード選択部424に出力される。
(ステップS3) 第1エスケープモード処理部122によって、LMAX減算処理が行われる。この例では、Last=“1”、Run=“3”より、LMAX=“2”となり、NewLevel=“3”となる。これにより、第1エスケープモード処理部122からは、NewLevelを新たなLevelとした(1,3,3)がVLCモード選択部424に出力される。
(ステップS4) 第2エスケープモード処理部123によって、RMAXの減算処理が行われる。Last=“1”、Level=“5”なので、RMAX=“0”となり(図6を参照。)、NewRun=“2”となる。これにより、第2エスケープモード処理部123からは、NewRunを新たなRunとした(1,2,5)がVLCモード選択部424に出力される。
(ステップS5) VLCモード選択部424には、変換部110が出力した(1,3,5)、第1エスケープモード処理部122が出力した(1,3,3)、および第2エスケープモード処理部123が出力した(1、2,5)の3組が入力される。また、VLCモード選択部424には、同時にVLCモード判定結果と次モード要求情報(=“00”:初期値)とが入力される。
VLCモード判定結果が“00”、かつ次モード要求情報が“00”であるため、VLCモード選択部424によって、変換部110が出力した(1,3,5)が出力する組として選択される。また、VLCモード判定結果、および次モード要求情報に基づいて、出力先として“VLC処理部”が選ばれる。
以上により、変換部110が出力した(1,3,5)がVLC処理部431に出力される。また、符号化モード選択部433に出力する選択情報は、“VLC処理”を示す信号となる。
(ステップS6) VLCモード選択部424が出力した(1,3,5)は、VLCテーブル(図9を参照。)には存在しない。したがって、VLC処理部431は符号化処理ができず、符号化完了情報に“0”を設定して符号化モード選択部433に出力する。
(ステップS7) 選択情報が“VLC処理部”を示しているので、FLC処理部132による符号化の処理は実行されない。
(ステップS8) VLC処理部431が出力した符号化完了情報が“0”なので、符号化モード選択部433によって、次モード要求情報(=“00”)に1が加算されて、“01”がVLCモード選択部424に出力される。
上記のように、一度目の処理では、符号化が完了しなかったので、この可変長符号化装置4では、ステップS5〜S8が再度実行される。
(ステップS5) VLCモード判定結果が“00”であり、かつ符号化モード選択部433が出力した次モード要求情報が“01”なので、VLCモード選択部424では第1エスケープモード処理部122が出力した(1,3,3)が選択されて、VLC処理部431に出力される。また、“VLC処理”を示す選択情報が符号化モード選択部433に出力される。
(ステップS6) 第1エスケープモード処理部122が出力した(1,3,3)がVLCテーブルに存在しないため、VLC処理部431では符号化処理が行われず、符号化完了情報に“0”が設定されて符号化モード選択部433に出力される。
(ステップS7) 選択情報が“VLC処理部”を示しているので、FLC処理部132では、符号化処理は行われない。
(ステップS8) VLC処理部431が出力した符号化完了情報が“0”なので、符号化モード選択部433からは、次モード要求情報(=“01”)に1が加算された“10”がVLCモード選択部424に出力される。
この例では、2度目の処理でも符号化が完了しなかったので、さらにステップS5〜S8が実行される。
(ステップS5) VLCモード判定結果が“00”であり、かつ符号化モード選択部433が出力した次モード要求情報が“10”なので、VLCモード選択部424では、変換部110が出力した(1,3,5、)、および第2エスケープモード処理部123が出力した(1,2,5)が選択され(図26を参照。)、変換部110が出力した(1,3,5、)は、FLC処理部132に出力され、第2エスケープモード処理部123が出力した(1,2,5)は、VLC処理部431に出力される。また、“VLC処理かつFLC処理部”を示す選択情報が符号化モード選択部433に出力される。
(ステップS6) 第1エスケープモード処理部122が出力した(1,2,5)がVLCテーブルに存在しないため、VLC処理部431では、符号化処理が行われず、符号化完了情報に“0”が設定されて符号化モード選択部433に出力される。
(ステップS7) 選択情報が“VLC処理かつFLC処理部”を示しているので、FLC処理部132では、固定長符号化処理が行われる。入力された(1,3,5)に対して符号化処理が施されると、図10〜図12に示すように、“10000111000000000101”となる。そして、この符号化結果は、VLCモード選択部424に出力される。
(ステップS8) 選択情報の示す内容が“VLC処理かつFLC処理”なので、符号化モード選択部433はVLC処理部431とFLC処理部132との双方からの出力を受け付ける。
一方、VLC処理部431が出力した、符号化完了情報は、“0”なので、VLC処理部431における符号化は、完了していないことが解る。また、FLC処理部132からは固定長符号化された符号化データが出力されている。したがって、変換部110が出力した(1,3,5)の組に対する符号化データとしては、FLC処理部132から出力された符号化データ“10000111000000000101”が選択される。
また、VLCモード判定結果=“11”であるため、“000001111”が符号“10000111000000000101”の先頭に付加される(図13を参照。)。最終的には、“00000111110000111000000000101”が、(1,3,5)が符号化された符号化データとして出力される。
また、符号化処理が完了したため、次モード要求情報が“00”にリセットされる。
上記のように本実施形態によれば、VLCモード判定テーブルに(Last,Run,Level)の組が存在する場合には1サイクルで符号化が行われ、存在しない場合には最大3サイクルで符号化が行われる。
例えば、VLCモード判定部121にInter用VLCモード判定テーブルのみを持たせると、Interマクロブロックに対しては、全ての(Last,Run,Level)の組に対し、1サイクルで符号化し、Intraマクロブロックに対しては、3サイクル符号化する符号化装置となる。これはInterマクロブロックの出現率が高く、Intraマクロブロックの出現率が低い場合、すなわち出力符号の大半がInterマクロブロックとなるような符号化仕様においては、VLCモード判定テーブルの規模を小さくし、小規模な符号化装置を構築するのに非常に有用である。逆に、Intra用VLCモード判定テーブルのみを持たせると、出力符号の大半がIntraマクロブロックとなるような符号化仕様に対して、VLCモード判定テーブルの規模を小さくし、小規模な符号化装置を構築するのに非常に有用である。
また、例えば、VLCモード判定部121に、Last=“0”の時用のVLCモード判定テーブルのみを持たせると、マクロブロック内のLast=“0”の組に対しては、全ての(Last,Run,Level)の組に対し1サイクルで符号化し、Last=“1”においては3サイクル符号化する符号化装置となる。マクロブロック内における最大組数が64の場合には、Last=“1”が使用されるのは64回に1回だけであり、非常に使用頻度は低いので、このような仕様で符号化を行う場合には、小規模な符号化装置を構築するのに非常に有用である。
また、例えば、VLCモード判定部121にRun<2の時用のVLCモード判定テーブルのみを持たせると、マクロブロック内のRun<2の組に対しては全て1サイクルで符号化し、Run≧2の組に対しては3サイクル符号化する符号化装置となる。
1係数1サイクルの符号化を保証する場合において、Run≧3においては、符号化に3サイクル要しても支障はない。具体的に説明すると、Run=2、Level=6を符号化する場合に3サイクル要したとする。この場合、符号化の対象となっている係数は、Run=2より0係数が2個と、Level=6、すなわち(0,0,6)であり3係数符号化したことになり、1係数1サイクルは実現できている。したがって、1係数1サイクルの符号化を保証するには、Run<2のVLC判定テーブルのみを持つことで実現できる。
上記のように本実施形態によれば、VLCモード判定テーブルの規模を上記の各実施形態の装置よりも更に小さくすることができ、小規模な符号化装置を構築できる。
《発明の実施形態5》
実施形態1〜4に係る可変長符号化装置が応用された装置として、撮像システム(例えばデジタルスチルカメラ(DSC)等)の例を説明する。
図29は、本発明の実施形態5に係る撮像システム500の構成を示すブロック図である。同図に示すように、撮像システム500は、光学系510、センサ520、アナログ・デジタル変換器530、画像処理回路540、記録転送回路550、再生回路560、タイミング制御回路570、およびシステム制御回路580を備えて構成されている。
光学系510は、入射した画像光をセンサ520上に結像するようになっている。
センサ520は、結像された画像光を蓄積し、電気信号に変換(光電変換)するようになっている。
アナログ・デジタル変換器530は、センサ520から出力された電気信号をデジタル信号(画像データ)に変換するようになっている。
画像処理回路540は、可変長符号化装置541を備える一方、Y/C処理、エッジ処理、画像の拡大縮小、画像圧縮伸張処理などの画像処理を行うようになっている。
可変長符号化装置541は、上記の実施形態1〜4に係る可変長符号化装置の何れかである。
記録転送回路550は、画像処理回路540で画像処理された信号をメディアへ記録したり、再生のために再生回路560に出力するようになっている。
再生回路560は、記録、または転送された信号を再生するようになっている。
タイミング制御回路570は、センサ520とアナログ・デジタル変換器530の動作タイミングを制御するようになっている。
システム制御回路580は、撮像システム500全体の動作を制御するようになっている。
このように構成された撮像システム500では、光学系510、センサ520、およびアナログ・デジタル変換器530によって生成された画像データが、可変長符号化装置541によって可変長符号化される。可変長符号化されたデータ(符号化データ)は、記録転送回路550、および再生回路560によって符号化データの再生やメディアへの記録が行われる。
このように、本発明に係る可変長符号化装置は、小規模な回路構成で符号化装置を構築できるので、上記のような撮像システム等に応用するのに有用である。
なお、可変長符号化装置541における画像処理は必ずしも光学系510を介してセンサ520に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部の装置から電気信号として入力される画像信号を処理する場合に適用してもよい。
なお、可変長符号化装置541における画像処理は必ずしも光学系510を介してセンサ520に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部の装置から電気信号として入力される画像信号を処理する場合に適用してもよい。
なお、上記の各実施形態で説明した可変長符号化装置においては、VLCモード判定に1つのVLCモード判定テーブルを用いる例を説明したが、複数個のVLCモード判定テーブルを用いるようにVLCモード判定部121を構成してもよい。例えば、VLCモード判定テーブルをIntra用VLCモード判定テーブルとInter用VLCモード判定テーブルとに別け、Intra/Inter識別信号により使用するテーブルを切替えて判定を行うようにしてもよい。この場合、Intra用の判定部およびInter用判定部の何れの判定部に(Last,Run,Level)の組を入力するかを選択するIntra/Inter切替え部と、何れの判定部の出力を判定結果として出力するかを選択するVLCモード判定結果選択部をVLCモード判定部121に設け、図30に示すように、これらのテーブルの切替え処理を行う。図30は、各処理が行われる順を模式的に示す図である。
また、VLCモード判定テーブルを、例えば、Last=“0”の時用のVLCモード判定テーブルとLast=“1”の時用のVLCモード判定テーブルとに別け、Lastの値により使用するテーブルを切替えて判定を行うようにしてもよい。
VLCモード判定テーブルを複数に分けることにより、例えばIntra符号化時においては、Inter用VLCモード判定テーブルが格納されたメモリへの動作クロック信号を止め、Inter符号化時においては、Intra用VLCモード判定テーブルが格納されたメモリへの動作クロック信号を止めることが可能となり、消費電力の削減が可能になる。
また、VLC処理部およびFLC処理部は、排他的に利用されるため、選択情報が“VLC処理”を示している場合は、FLC処理部の動作クロック信号を止めてVLC処理部のみに動作クロック信号を供給し、選択情報が“FLC処理”を示している場合は、VLC処理部の動作クロック信号を止めてFLC処理部のみに動作クロック信号を供給するようにしてもよい。これにより、消費電力の削減が可能になる。
また、FLC処理部では、FLCテーブルを使用し符号化を行う例を示したが、テーブルを使用せずに数式による算出方式を用いて符号化を行うようにしてもよい。
また、第1のエスケープモードによる符号化と第2のエスケープモードによる符号化とを比較した場合、例えば、第2のエスケープモードによる符号化を行った方が符号量が少なくなる(Last,Run,Level)の組が存在する場合がある。この場合は、VLCモード判定テーブルを用いたVLCモード判定結果が第2のエスケープモードとなるような判定にすることで、更に高圧縮な符号化データの出力が可能になる。すなわち、符号量が少なくなる方のエスケープモードが選択されるように、(Last,Run,Level)の組に応じたVLCモード判定テーブルを構成すればよい。
本発明に係る可変長符号化方式および可変長符号化装置は、回路規模増加を抑えつつ、効率よく可変長符号化ができるという効果を有し、例えばMPEG方式等で実現されている可変長符号化装置等として有用である。
本発明の実施形態1に係る可変長符号化装置の構成を示すブロック図である。 本発明の実施形態1に係るVLC符号化前処理部の構成を示すブロック図である。 VLCモード判定テーブルの一部を抜粋したものである。 VLCモード判定結果として出力される値と判定結果の意味との対応関係を示すテーブルである。 LMAXテーブルの一部を抜粋したものである。 RMAXテーブルの一部を抜粋したものである。 本発明の実施形態1に係るVLCモード判定結果とVLCモード選択部の出力先との対応関係を示すテーブルである。 本発明の実施形態1に係るVLC符号化処理部の構成を示すブロック図である。 VLCテーブルの一部を抜粋したものである。 FLCテーブル(Lastへの固定長符号の割り当て)の一部を抜粋したものである。 FLCテーブル(Runへの固定長符号の割り当て)の一部を抜粋したものである。 FLCテーブル(Levelへの固定長符号の割り当て)の一部を抜粋したものである。 VLCモード判定結果とエスケープモードに応じて付加される符号との対応関係を示すテーブルである。 本発明の実施形態1に係る可変長符号化装置において各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。 本発明の実施形態2に係る可変長符号化装置の構成を示すブロック図である。 本発明の実施形態2に係るVLC符号化前処理部の構成を示すブロック図である。 本発明の実施形態2に係るVLCモード判定結果とVLCモード選択部の出力先との対応関係を示すテーブルである。 本発明の実施形態2に係る可変長符号化装置において、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。 本発明の実施形態3に係る可変長符号化装置の構成を示すブロック図である。 本発明の実施形態3に係るVLC符号化前処理部の構成を示すブロック図である。 FLCモード判定テーブルの一例を示したものである。 FLCモード判定結果として出力される値と判定結果の意味との対応関係を示すテーブルである。 本発明の実施形態3に係る可変長符号化装置において、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。 本発明の実施形態4に係る可変長符号化装置の構成を示すブロック図である。 本発明の実施形態4に係るVLC符号化前処理部の構成を示すブロック図である。 本発明の実施形態4に係るVLCモード判定結果、次モード要求情報とVLCモード選択部の出力先との対応関係を示すテーブルである。 本発明の実施形態4に係るVLC符号化処理部の構成を示すブロック図である。 本発明の実施形態4に係る可変長符号化装置において、各処理が行われる順、各処理における情報(信号)の流れを模式的に示す図である。 本発明の実施形態5に係る撮像システムの構成を示すブロック図である。 VLCモード判定テーブルをIntra用VLCモード判定テーブルとInter用VLCモード判定テーブルとに別けた場合のVLCモード判定部において、各処理が行われる順を模式的に示す図である。 従来の可変長符号化装置の動作を模式的に示す図である。 従来の可変長符号化装置の動作を模式的に示す図である。
符号の説明
100 可変長符号化装置
110 変換部
120 VLC符号化前処理部
121 VLCモード判定部
122 第1エスケープモード処理部
123 第2エスケープモード処理部
124 VLCモード選択部
130 VLC符号化処理部
131 VLC処理部
132 FLC処理部
133 符号化モード選択部
200 可変長符号化装置
220 VLC符号化前処理部
222 エスケープモード処理部
224 VLCモード選択部
300 可変長符号化装置
320 VLC符号化前処理部
321 FLCモード判定部
322 VLCモード判定部
323 第1エスケープモード処理部
324 第2エスケープモード処理部
400 可変長符号化装置
420 VLC符号化前処理部
424 VLCモード選択部
430 VLC符号化処理部
431 VLC処理部
433 符号化モード選択部
500 撮像システム
510 光学系
520 センサ
530 アナログ・デジタル変換器
540 画像処理回路
541 可変長符号化装置
550 記録転送回路
560 再生回路
570 タイミング制御回路
580 システム制御回路

Claims (28)

  1. 係数列から可変長符号化データを生成する可変長符号化方法であって、
    前記係数列は、デジタルデータに離散コサイン変換を行って得たDCT係数における、先行するゼロ係数の個数であるRunと、非ゼロの係数の値であるLevelと、前記非ゼロの係数が最後であるかどうかを示すLastとから成る係数列であり、
    可変長符号化すべき係数列と当該係数列を可変長符号化した可変長符号化データとの対応関係を示すVLCテーブルにおいて、与えられた係数列のLast、およびRunに対応する最大のLevelの値であるLMAXを用いて、関係式:
    NewLevel=sign(Level)×(|Level|−LMAX)
    (ただし、sign(Level)は、Levelの符号を意味し、|Level|は、Levelの絶対値を意味する。)
    から求めたNewLevelで、与えられた係数列におけるLevelを置き換えた第1の係数列を生成する第1の係数列生成ステップと、
    前記VLCテーブルにおいて、与えられた係数列のLast、およびLevelに対応する最大のRunの値であるRMAXを用いて、関係式:
    NewRun=Run−(RMAX+1)
    から求めたNewRunで、与えられた係数列におけるRunを置き換えた第2の係数列を生成する第2の係数列生成ステップと、
    与えられた係数列に応じて、与えられた係数列を可変長符号化するモード、前記第1の係数列を可変長符号化するモード、前記第2の係数列を可変長符号化するモード、および与えられた係数列を固定長符号化するモードのうち、何れのモードで符号化をすべきかを判定するVLCモード判定ステップと、
    前記VLCモード判定ステップの判定結果に基づいて、前記与えられた係数列、前記第1の係数列、および前記第2の係数列のうちから1つの係数列を出力する係数列出力ステップと、
    前記VLCテーブルに基づいて、前記係数列出力ステップが出力した係数列から可変長符号化データを生成する可変長符号化ステップと、
    前記係数列出力ステップが出力した係数列を固定長符号化した固定長符号化データを生成する固定長符号化ステップと、
    前記VLCモード判定ステップの判定結果に基づいて、前記可変長符号化データ、および前記固定長符号化データのうちの何れか一方を出力する符号化データ出力ステップと、
    を有することを特徴とする可変長符号化方法。
  2. 請求項1の可変長符号化方法であって、
    さらに、与えられた係数列に応じて、可変長符号化、および固定長符号化のうちの何れの符号化を与えられた係数列に対して行うべきかを判定するFLCモード判定ステップを有し、
    前記VLCモード判定ステップは、前記FLCモード判定ステップの判定結果が可変長符号化をすべきこと示している場合に、何れのモードで符号化をすべきかを判定することを特徴とする可変長符号化方法。
  3. 請求項1の可変長符号化方法であって、
    前記第1の係数列生成ステップは、前記VLCモード判定ステップの判定の結果が、前記第1の係数列を可変長符号化するモードで符号化をすべきことを示している場合に、前記第1の係数列を生成し、
    前記第2の係数列生成ステップは、前記VLCモード判定ステップの判定の結果が、前記第2の係数列を可変長符号化するモードで符号化をすべきことを示している場合に、前記第2の係数列を生成することを特徴とする可変長符号化方法。
  4. 請求項1の可変長符号化方法であって、
    前記VLCモード判定ステップは、与えられた係数列と与えられた係数列を符号化するモードとの対応関係を示すモード情報を保持したVLCモード判定テーブルを用いて、何れのモードで符号化をすべきかを判定することを特徴とする可変長符号化方法。
  5. 請求項4の可変長符号化方法であって、
    前記モード情報は、複数のVLCモード判定テーブルに分割されて保持されていることを特徴とする可変長符号化方法。
  6. 請求項4の可変長符号化方法であって、
    前記VLCモード判定テーブルは、Runの値が所定の値より小さい係数列についてのモード情報が保持されていることを特徴とする可変長符号化方法。
  7. 請求項5の可変長符号化方法であって、
    前記デジタルデータは、画像データがフレーム内符号化、またはフレーム間符号化されたものであり、
    前記複数のVLCモード判定テーブルは、前記フレーム内符号化された画像データに対応した係数列用のVLCモード判定テーブルと、前記フレーム間符号化された画像データに対応した係数列用のVLCモード判定テーブルとであることを特徴とする可変長符号化方法。
  8. 請求項4の可変長符号化方法であって、
    前記デジタルデータは、画像データがフレーム内符号化、またはフレーム間符号化されたものであり、
    前記VLCモード判定テーブルは、前記フレーム内符号化された画像データに対応した係数列、および前記フレーム間符号化された画像データに対応した係数列のうちの何れか一方の係数列についてのモード情報が保持されていることを特徴とする可変長符号化方法。
  9. 請求項5の可変長符号化方法であって、
    前記複数のVLCモード判定テーブルは、前記Lastの値が前記非ゼロの係数が最後であることを示している係数列についてのVLCモード判定テーブルと、前記Lastの値が前記非ゼロの係数が最後でないことを示している係数列についてのVLCモード判定テーブルとであることを特徴とする可変長符号化方法。
  10. 請求項4の可変長符号化方法であって、
    前記VLCモード判定テーブルは、前記Lastの値が前記非ゼロの係数が最後であることを示している係数列、および前記Lastの値が前記非ゼロの係数が最後でないことを示している係数列のうちの何れか一方の係数列についてのモード情報が保持されていることを特徴とする可変長符号化方法。
  11. 請求項1の可変長符号化方法であって、
    前記VLCモード判定テーブルは、前記第1の係数列を可変長符号化するモード、および前記第2の係数列を可変長符号化するモードのうち、可変長符号化後の符号量が少ない方のモードが判定結果として選択されるように構成されていることを特徴とする可変長符号化方法。
  12. 請求項1の可変長符号化方法であって、
    前記固定長符号化ステップは、可変長符号化すべき係数列と当該係数列を固定長符号化した固定長符号化データとの対応関係を示すFLCテーブルに基づいて、固定長符号化を行うことを特徴とする可変長符号化方法。
  13. 係数列から可変長符号化データを生成する可変長符号化装置であって、
    前記係数列は、デジタルデータに離散コサイン変換を行って得たDCT係数における、先行するゼロ係数の個数であるRunと、非ゼロの係数の値であるLevelと、前記非ゼロの係数が最後であるかどうかを示すLastとから成る係数列であり、
    可変長符号化すべき係数列と当該係数列を可変長符号化した可変長符号化データとの対応関係を示すVLCテーブルにおいて、与えられた係数列のLast、およびRunに対応する最大のLevelの値であるLMAXを用いて、関係式:
    NewLevel=sign(Level)×(|Level|−LMAX)
    (ただし、sign(Level)は、Levelの符号を意味し、|Level|は、Levelの絶対値を意味する。)
    から求めたNewLevelで、与えられた係数列におけるLevelを置き換えた第1の係数列を生成する第1の係数列生成部と、
    前記VLCテーブルにおいて、与えられた係数列のLast、およびLevelに対応する最大のRunの値であるRMAXを用いて、関係式:
    NewRun=Run−(RMAX+1)
    から求めたNewRunで、与えられた係数列におけるRunを置き換えた第2の係数列を生成する第2の係数列生成部と、
    与えられた係数列に応じて、与えられた係数列を可変長符号化するモード、前記第1の係数列を可変長符号化するモード、前記第2の係数列を可変長符号化するモード、および与えられた係数列を固定長符号化するモードのうち、何れのモードで符号化をすべきかを判定するVLCモード判定部と、
    前記VLCモード判定部の判定結果に基づいて、前記与えられた係数列、前記第1の係数列、および前記第2の係数列のうちから1つの係数列を出力する係数列出力部と、
    前記VLCテーブルに基づいて、前記係数列出力部が出力した係数列から可変長符号化データを生成する可変長符号化部と、
    前記係数列出力部が出力した係数列を固定長符号化した固定長符号化データを生成する固定長符号化部と、
    前記VLCモード判定部の判定結果に基づいて、前記可変長符号化データ、および前記固定長符号化データのうちの何れか一方を出力する符号化データ出力部と、
    を備えたことを特徴とする可変長符号化装置。
  14. 請求項13の可変長符号化装置であって、
    さらに、与えられた係数列に応じて、可変長符号化、および固定長符号化のうちの何れの符号化を与えられた係数列に対して行うべきかを判定するFLCモード判定部を備え、
    前記VLCモード判定部は、前記FLCモード判定部の判定結果が可変長符号化をすべきこと示している場合に、何れのモードで符号化をすべきかを判定するように構成されていることを特徴とする可変長符号化装置。
  15. 請求項13の可変長符号化装置であって、
    前記第1の係数列生成部は、前記VLCモード判定部の判定の結果が、前記第1の係数列を可変長符号化するモードで符号化をすべきことを示している場合に、前記第1の係数列を生成するように構成され、
    前記第2の係数列生成部は、前記VLCモード判定部の判定の結果が、前記第2の係数列を可変長符号化するモードで符号化をすべきことを示している場合に、前記第2の係数列を生成するように構成されていることを特徴とする可変長符号化装置。
  16. 請求項13の可変長符号化装置であって、
    前記VLCモード判定部は、与えられた係数列と与えられた係数列を符号化するモードとの対応関係を示すモード情報を保持したVLCモード判定テーブルを用いて、何れのモードで符号化をすべきかを判定するように構成されていることを特徴とする可変長符号化装置。
  17. 請求項16の可変長符号化装置であって、
    前記モード情報は、複数のVLCモード判定テーブルに分割されて保持されていることを特徴とする可変長符号化装置。
  18. 請求項16の可変長符号化装置であって、
    前記VLCモード判定テーブルは、Runの値が所定の値より小さい係数列についてのモード情報が保持されていることを特徴とする可変長符号化装置。
  19. 請求項17の可変長符号化装置であって、
    前記デジタルデータは、画像データがフレーム内符号化、またはフレーム間符号化されたものであり、
    前記複数のVLCモード判定テーブルは、前記フレーム内符号化された画像データに対応した係数列用のVLCモード判定テーブルと、前記フレーム間符号化された画像データに対応した係数列用のVLCモード判定テーブルとであることを特徴とする可変長符号化装置。
  20. 請求項16の可変長符号化装置であって、
    前記デジタルデータは、画像データがフレーム内符号化、またはフレーム間符号化されたものであり、
    前記VLCモード判定テーブルは、前記フレーム内符号化された画像データに対応した係数列、および前記フレーム間符号化された画像データに対応した係数列のうちの何れか一方の係数列についてのモード情報が保持されていることを特徴とする可変長符号化装置。
  21. 請求項17の可変長符号化装置であって、
    前記複数のVLCモード判定テーブルは、前記Lastの値が前記非ゼロの係数が最後であることを示している係数列についてのVLCモード判定テーブルと、前記Lastの値が前記非ゼロの係数が最後でないことを示している係数列についてのVLCモード判定テーブルとであることを特徴とする可変長符号化装置。
  22. 請求項16の可変長符号化装置であって、
    前記VLCモード判定テーブルは、前記Lastの値が前記非ゼロの係数が最後であることを示している係数列、および前記Lastの値が前記非ゼロの係数が最後でないことを示している係数列のうちの何れか一方の係数列についてのモード情報が保持されていることを特徴とする可変長符号化装置。
  23. 請求項13の可変長符号化装置であって、
    前記VLCモード判定テーブルは、前記第1の係数列を可変長符号化するモード、および前記第2の係数列を可変長符号化するモードのうち、可変長符号化後の符号量が少ない方のモードが判定結果として選択されるように構成されていることを特徴とする可変長符号化装置。
  24. 請求項13の可変長符号化装置であって、
    前記固定長符号化部は、可変長符号化すべき係数列と当該係数列を固定長符号化した固定長符号化データとの対応関係を示すFLCテーブルに基づいて、固定長符号化を行うように構成されていることを特徴とする可変長符号化装置。
  25. 請求項24の可変長符号化装置であって、さらに、
    前記VLCテーブルを格納するVLCテーブル用メモリと、
    前記FLCテーブルを格納するFLCテーブル用メモリとを備え、
    前記VLCテーブル用メモリは、前記VLCテーブルが使用される場合にのみ、動作のためのクロック信号が供給されるように構成され、
    前記FLCテーブル用メモリは、前記FLCテーブルが使用される場合にのみ、動作のためのクロック信号が供給されるように構成されていることを特徴とする可変長符号化装置。
  26. 請求項17の可変長符号化装置であって、
    さらに、それぞれのVLCモード判定テーブルに対応した複数のVLCモード判定テーブル用メモリを備え、
    使用されているVLCモード判定テーブルが保持されたVLCモード判定テーブル用メモリにのみ、動作のためのクロック信号が供給されるように構成されていることを特徴とする可変長符号化装置。
  27. 請求項13から請求項26のうちの何れか1項の可変長符号化装置と、
    画像光を画像信号に変換するセンサと、
    入射された画像光を前記センサ上に結像する光学系と、
    前記画像信号をデジタルデータに変換して前記可変長符号化装置に出力する変換器と、
    を備えたことを特徴とする撮像システム。
  28. 請求項13から請求項26のうちの何れか1項の可変長符号化装置と、
    入力されたアナログ値の画像信号をデジタルデータに変換して前記可変長符号化装置に出力する変換器と、
    を備えたことを特徴とする撮像システム。


JP2005161813A 2005-06-01 2005-06-01 可変長符号化方式および可変長符号化装置 Active JP4495034B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005161813A JP4495034B2 (ja) 2005-06-01 2005-06-01 可変長符号化方式および可変長符号化装置
US11/444,438 US7248191B2 (en) 2005-06-01 2006-06-01 Variable-length coding method, variable-length coding device and imaging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005161813A JP4495034B2 (ja) 2005-06-01 2005-06-01 可変長符号化方式および可変長符号化装置

Publications (2)

Publication Number Publication Date
JP2006339997A JP2006339997A (ja) 2006-12-14
JP4495034B2 true JP4495034B2 (ja) 2010-06-30

Family

ID=37493603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005161813A Active JP4495034B2 (ja) 2005-06-01 2005-06-01 可変長符号化方式および可変長符号化装置

Country Status (2)

Country Link
US (1) US7248191B2 (ja)
JP (1) JP4495034B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620607B1 (en) * 2005-09-26 2009-11-17 Quintura Inc. System and method for using a bidirectional neural network to identify sentences for use as document annotations
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US9319700B2 (en) * 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8599926B2 (en) * 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8325819B2 (en) * 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US7610185B1 (en) * 2007-02-26 2009-10-27 Quintura, Inc. GUI for subject matter navigation using maps and search terms
US7616133B2 (en) 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US8363725B2 (en) * 2008-09-08 2013-01-29 Sony Corporation Method and apparatus for VLC encoding in a video encoding system
WO2010041488A1 (ja) * 2008-10-10 2010-04-15 株式会社東芝 動画像符号化装置
JP2011193335A (ja) * 2010-03-16 2011-09-29 Sony Corp 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
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
US20150172666A1 (en) * 2012-04-16 2015-06-18 Mediatek Inc. Method and apparatus for sample adaptive offset coding with separate sign and mag -nitude
US9509998B1 (en) * 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213988A (ja) * 1990-12-12 1992-08-05 Sony Corp 伝送符号器
JPH06237184A (ja) * 1993-02-10 1994-08-23 Fujitsu Ltd 可変長符号化回路
JPH10191336A (ja) * 1996-12-27 1998-07-21 Nec Corp 可変長符号化装置
JPH10322223A (ja) * 1997-05-21 1998-12-04 Sharp Corp 可変長符号化回路
JPH1131973A (ja) * 1997-07-11 1999-02-02 Sony Corp 符号化装置、符号化方法、復号化装置、復号化方法、伝送媒体、および、情報処理方法
JP2004254208A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd 3モードエスケープ可変長符号化装置および方法
JP3573735B2 (ja) * 2000-05-23 2004-10-06 松下電器産業株式会社 可変長符号化方法および可変長符号化装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69720559T2 (de) * 1996-11-06 2004-02-12 Matsushita Electric Industrial Co., Ltd., Kadoma Methode zur Bildkodierung mit Kodes variabler Länge

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213988A (ja) * 1990-12-12 1992-08-05 Sony Corp 伝送符号器
JPH06237184A (ja) * 1993-02-10 1994-08-23 Fujitsu Ltd 可変長符号化回路
JPH10191336A (ja) * 1996-12-27 1998-07-21 Nec Corp 可変長符号化装置
JPH10322223A (ja) * 1997-05-21 1998-12-04 Sharp Corp 可変長符号化回路
JPH1131973A (ja) * 1997-07-11 1999-02-02 Sony Corp 符号化装置、符号化方法、復号化装置、復号化方法、伝送媒体、および、情報処理方法
JP3573735B2 (ja) * 2000-05-23 2004-10-06 松下電器産業株式会社 可変長符号化方法および可変長符号化装置
JP2004254208A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd 3モードエスケープ可変長符号化装置および方法

Also Published As

Publication number Publication date
JP2006339997A (ja) 2006-12-14
US20060273939A1 (en) 2006-12-07
US7248191B2 (en) 2007-07-24

Similar Documents

Publication Publication Date Title
JP4495034B2 (ja) 可変長符号化方式および可変長符号化装置
JP4682102B2 (ja) 画像符号化装置及び画像符号化方法
US7102551B2 (en) Variable length decoding device
JP5520122B2 (ja) データ変換装置
JP4922138B2 (ja) 動画像符号化装置及び動画像符号化方法
CN101960858A (zh) 运动图像编码装置、摄像装置以及运动图像编码方法
KR100338198B1 (ko) 부호화 장치와 복호 장치, 부호화 방법과 복호 방법, 및화상 처리 장치
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
JP2004007555A (ja) エントロピー符号化装置
JP5116704B2 (ja) 画像符号化装置及び画像符号化方法
JP6512916B2 (ja) 撮像装置およびその制御方法ならびにプログラム
JP2007329903A (ja) 可変長復号化装置、可変長復号化方法および撮像システム
JP4181887B2 (ja) 可変長符号化装置、及びその方法
JP2005318296A (ja) 動画像符号化方法と装置及びプログラム
US20080008248A1 (en) Orthogonal transformation apparatus and imaging system
JP6614935B2 (ja) 映像符号化装置およびプログラム
JP2008294669A (ja) 画像符号化装置
JP4656529B2 (ja) 携帯型記録装置
JP2009232454A (ja) 高域係数用符号化ブロックパターン生成方法及び装置
JP2008187694A (ja) 画像符号化装置およびその方法
JP2000032474A (ja) 動画像符号化装置
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
JP3188081B2 (ja) 画像符号化方法および画像符号化装置
JP2005159832A (ja) 信号処理装置
JP2023008624A (ja) 撮像装置及びその制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100303

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4495034

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250