JP2004056758A - 可変長符号化装置、及びその方法 - Google Patents
可変長符号化装置、及びその方法 Download PDFInfo
- Publication number
- JP2004056758A JP2004056758A JP2003026298A JP2003026298A JP2004056758A JP 2004056758 A JP2004056758 A JP 2004056758A JP 2003026298 A JP2003026298 A JP 2003026298A JP 2003026298 A JP2003026298 A JP 2003026298A JP 2004056758 A JP2004056758 A JP 2004056758A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- length
- data
- coded data
- variable length
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【解決手段】付加データ1、2は、夫々右シフタ503、501に入力され、可変長符号化テーブル504、501から夫々入力される可変長符号語長に対応するビット数分だけ、右にシフトされる。右にシフトされた付加データは夫々、ORゲート508,510に入力され、ORゲート508,510は可変長符号化テーブル504、501から夫々入力される可変長符号語1、2の論理和演算を行う。ORゲート510の出力は右シフタ511に入力され、更に右シフタ511には符号長計測器530により計測されたビット数(可変長符号語1の符号長+付加データ1のビット数)が入力される。そしてシフタ511はこのビット数分だけORゲート510の出力を右にシフトする。ORゲート512は、右シフタ511の出力、及びORゲート508の出力の論理和を演算する。
【選択図】 図5
Description
【発明の属する技術分野】
本発明は、可変長符号化装置及びその方法に関するものである。
【0002】
【従来の技術】
従来から、静止画像や動画像の圧縮符号化技術の一つとして可変長符号によるエントロピ符号化技術を使用する方式が良く知られており、この技術は国際標準であるJPEG(Joint Photographic Expert Group)符号化方式及びMPEG(Moving Picture Experts Group)符号化方式においても採用されている。これらの方式において採用されているエントロピ符号化技術は、直交変換係数に量子化処理を行った後のデータの値に対して、ランレングス符号化を行う事でシンボル・データを生成し、そのシンボル・データそれぞれに対して可変長符号化データを生成するものである。また近年、そのエントロピ符号化技術に使用される可変長符号としてハフマン符号表を用いたハードウエア化の実現手段が数多く提案されてきた。
【0003】
更には、MPEG符号化方式においては、ヘッタ情報を構成するシンタックスとして例えば動きベクトルに対しては可変長符号が採用されており、この実現手段についても、ハフマン符号表を用いた場合と同様にハードウエア化の提案がされてきた。
【0004】
【発明が解決しようとする問題】
近年の通信網におけるデータ転送容量の向上や、記憶デバイスの高密度化によって、さまざまな画像システムで扱える画像データの大きさは飛躍的に増大している。また、こういった状況を背景にして圧縮符号化処理装置においても、高画質化の必要性も相俟って高ビット・レートでの圧縮符号化の必要性が求められている。
【0005】
しかし、高ビット・レートにおける圧縮符号化においては、シンボル・データの数が低ビット・レートで圧縮符号化した場合に比べて飛躍的に増大してしまい、従来技術を使用した可変長符号化装置においては高速で圧縮符号化を行う事が困難であり、また仮に従来技術を使用して可変長符号化装置を実施した場合でも、高ビット・レートになるに従い処理時間が増大して実用性に乏しい装置となってしまうという問題があった。
【0006】
あるいは、従来技術を使用して高ビット・レートに対応する可変長符号化装置を実現しようとした場合には、動作クロック周波数を高速化しなければならず、消費電力が飛躍的に増大してしまうという問題があった。
【0007】
更には、近年標準化が完了したMPEG−4符号化方式においては、マクロ・ブロック毎に最大4つの動きベクトル情報が必要であり水平方向及び垂直方向の成分それぞれについて可変長符号化が必要である事を考慮すると、マクロブロック毎に8回の可変長符号化が必要となり、処理時間が増大してしまうという問題があった。
【0008】
本発明は以上の問題に鑑みてなされたものであり、より高速に可変長符号化を行うことを目的とする。
【0009】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の可変長符号化装置は以下の構成を備える。
【0010】
すなわち、一連の連続する被符号化データ系列に対して可変長符号化を行うと共に総符号長を生成する可変長符号化装置であって、
並列に複数入力される被符号化データの数に応じて並列に複数設けられ、入力される被符号化データに対応する可変長符号語を含む可変長符号化データ及びその符号長を、可変長符号化テーブルを参照して生成する生成手段と、
前記生成手段による夫々隣り合う1つ乃至2つ以上の可変長符号化データを順次連結し、可変長符号化データ列及び総符号長を生成する連結手段と
を備えることを特徴とする。
【0011】
本発明の目的を達成するために、例えば本発明の可変長符号化方法は以下の構成を備える。
【0012】
すなわち、一連の連続する被符号化データ系列に対して可変長符号化を行うと共に総符号長を生成する可変長符号化方法であって、
並列に複数入力される被符号化データの数に応じて並列に複数設けられ、入力される被符号化データに対応する可変長符号語を含む可変長符号化データ及びその符号長を、可変長符号化テーブルを参照して生成する生成工程と、
前記生成工程による夫々隣り合う1つ乃至2つ以上の可変長符号化データを順次連結し、可変長符号化データ列及び総符号長を生成する連結工程と
を備えることを特徴とする。
【0013】
【発明の実施の形態】
以下添付図面を参照し、本発明を好適な実施形態に従って詳細に説明する。
【0014】
[第1の実施形態]
図4に従来の可変長符号化装置の構成例を示す。例えばJPEG符号化方式に対応した可変長符号化装置である場合には、入力データとしてランレングスRRRR、カテゴリSSSS及び付加ビットが同時に入力される。RRRR/SSSS及び付加ビットは、図4に示す可変長符号化装置の前段においてカテゴリ・エンコーダ等を構成する事によって生成される。カテゴリ・エンコーダにおいては、ジグザグスキャン順に並び替えられた、量子化されたDCT係数をカテゴリSSSS、付加ビット及びランレングスRRRRへと変換する。図4の可変長符号化装置に入力されるデータ(被符号化データ)は、一組のRRRR/SSSS及び付加ビットである。ここでは、この一組のRRRR/SSSSのデータをシンボル・データと呼ぶ事とする。
【0015】
可変長符号化テーブル401からは、シンボル・データであるRRRR/SSSSをインデックスとして可変長符号語、及び対応する可変長符号語のビット長が出力される。シンボル・データと可変長符号語との対応表は一般にハフマン・テーブルが使用される。このハフマン・テーブルはシンボル・データの発生頻度を考慮した統計データから、発生頻度が高いシンボル・データには短い符号語長の可変長符号語を割り当てて、発生頻度が低いシンボル・データには相対的に長い符号語長の可変長符号語を割り当てる様にハフマン・ツリーを構成する事によって得られるものである。
【0016】
ハフマン・テーブルの一例としては、ISO/IEC 10918−1,CCIT Rec. T.81のAnnex KのTable K.3,K4,K5,K6などが挙げられる。ここで、従来技術を使用した可変長符号化装置の動作を説明するためのクロック周期毎の動作を図6に示す。なお可変長符号化テーブル401は、ISO/IEC 10918−1,CCIT Rec. T.81のAnnex KのTable K5がROMメモリとして構成されているものとする。また、Table K5の一部を図7に示す。つまり、図7に示したテーブルを参照することで、シンボル・データ(RRRR/SSSS)に対応する可変長符号語を得ることができる。
【0017】
図6のクロック周期1において、シンボル・データ0/2及び付加データ”01”が図4に示す可変長符号化装置に同時に入力される。図4に示すとおり、シンボル・データ(RRRR/SSSS)は可変長符号化テーブル401に入力され、付加データはシフト連結器402に入力される。可変長符号化テーブル401は図7に示したテーブルを参照して、シンボル・データ0/2に対応する可変長符号語”01”を出力すると共に、この可変長符号語のビット長”2”を出力する。
【0018】
可変長符号化テーブル401は可変長符号語長及び付加データ長を合わせた可変長符号化データ長を出力するが、言うまでもなく可変長符号化テーブル401から出力される可変長符号語長及び入力されたシンボル・データのSSSSの値を加算して求めても良い。
【0019】
シフト連結器402は、入力される付加データを可変長符号テーブル401から入力される可変長符号語長のビット数だけ右にシフトする。右シフトされた付加データは、同じく可変長符号化テーブル401から入力される可変長符号語と論理和演算され、可変長符号化データ列として出力される。クロック周期2以降についても、クロック周期1と同様の動作を繰り返す事によって一連の可変長符号化データ列を生成する。
【0020】
以下説明する本実施形態における可変長符号化装置は、JPEG符号化方式のエントロピ符号化に適応した例であって、一連の連続する2つのシンボル・データを同時に並列に入力可能とし、夫々の可変長符号化データに基づいた可変長符号化データ列を生成、出力する。以下、本実施形態における可変長符号化装置、及び可変長符号化方法について説明する。
【0021】
<可変長符号化装置の構成>
図5に本実施形態における可変長符号化装置の基本構成を示す。上述の通り、同図に示した可変長符号化装置は同時に2つのシンボル・データ(RRRR/SSSS1,RRRR/SSSS2)を並列に入力可能とする構成を備える。しかし、必ずしも常時2つのシンボル・データを同時に本可変長符号化装置に入力する必要はなく、2つのうち片方のみ入力しても良い構成となっている。これは、本可変長符号化装置の入力信号であるVALID1及びVALID2信号を、本可変長符号化装置の入力側に接続される外部回路がアザート/ネゲートする事によって実現される。本可変長符号化装置は、現在のクロック周期においてVALID1信号がアザートとされている場合には有効なシンボル・データ1が入力されていると判断する。VALID2信号についても同様である。
【0022】
また本実施形態では、可変長符号化テーブルにISO/IEC 10918−1,CCIT Rec. T.81のAnnex KのTable K.3,K4,K5,K6を用いる。K.3及びK.4テーブルはDC係数に対するハフマン・テーブルであり、本実施形態ではDC係数は必ずシンボル・データ1(RRRR/SSSS1)として入力されるものとする。またそれ以外のテーブルはAC係数に対するハフマンテーブルであり、本実施形態ではAC係数も必ずシンボル・データとして入力されるものとする。
【0023】
また、可変長符号化テーブル502及び可変長符号化テーブル504において、どのハフマン・テーブルを選択するかについては、TDTAパラメータ入力信号及びCCカウンタ515の値を元に選択する。TDTAパラメータ信号は、JPEG符号化ストーリム中のスキャン・ヘッタ内のTDj,TAjパラメータに相当するものであり、各コンポーネントに対応するハフマン・テーブルの割り当てを示すパラメータである。さらに、TDTAパラメータ入力信号は一連のJPEG符号化データに対する可変長符号化処理が完了するまでは、信号の状態を変化させる事は禁止である。CCカウンタ515は、現在のクロック周期において処理すべきコンポーネント番号を求めるための2ビットのカウンタである。DUカウンタ516においては、スキャン・カウンタ517において8×8DCT係数ブロックの最後を検知する毎にカウント・アップして、現在処理すべきコンポーネント番号を構成するデータ・ユニット数まで達した時点で、CCカウンタ515に通知する。CCカウンタ515においては、この通知を受けて処理すべきコンポーネントを切り替える。
【0024】
一方、入力される付加データ1及び付加データ2は、夫々右シフタ503及び右シフタ501に入力され、可変長符号化テーブル504及び可変長符号化テーブル501から夫々入力される可変長符号語長に対応するビット数分だけ、右にシフトされる。右にシフトされた付加データは夫々、ORゲート508,510に入力され、ORゲート508,510は可変長符号化テーブル504及び可変長符号化テーブル501から夫々入力される可変長符号語1及び可変長符号語2の論理和演算を行う。
【0025】
ORゲート510の出力は右シフタ511に入力され、更に右シフタ511には符号長計測器530により計測されたビット数(可変長符号語1の符号長+付加データ1のビット数)が入力される。そしてシフタ511は符号長計測器530により計測されたビット数分だけORゲート510の出力を右にシフトする。ORゲート512は、右シフタ511の出力、及びORゲート508の出力の論理和を演算する。これにより、ORゲート512の出力はシンボル・データ1及びシンボル・データ2に対応する可変長符号化データ列となりFIFO514に格納される。
【0026】
また本実施形態における可変長符号化装置の出力側に接続される外部回路は、FIFO514内部に有効な可変長符号化データが存在している事を示す信号であるNOT EMPTY信号を受け、これを判定する事によって、可変長符号化データ列を取り出すか否かをPOP信号によって本可変長符号化装置に指示する。
【0027】
一方、動作制御回路518においては、FIFO514がFULL状態であるか否かを示すNOT FULL信号を判定して、もしNOT FULL信号がネゲートされている場合には、本可変長符号化装置の入力側に接続される外部回路に対して、現在のクロック周期においてはシンボル・データを受け取る事が出来ない事を示すPENDING信号をアザートする。
【0028】
<可変長符号化装置の動作(可変長符号化方法)>
以下では、本実施形態における上記構成を備える可変長符号化装置の動作について説明する。以下の説明では、現在、本可変長符号化装置においてTDTA信号及びCCカウンタ515の値から、可変長符号化テーブル504及び可変長符号化テーブル502においてK.5テーブル(AC係数に対するハフマンテーブル)が選択されているものとする。つまり、図7に示したテーブルを参照することで、シンボル・データ(RRRR/SSSS)に対応する可変長符号語を得ることができる。
【0029】
図8は、本可変長符号化装置のクロック周期毎の動作を表した図である。まずクロック周期1において、入力側の外部回路はVALID1信号及びVALID2信号をアザートしており、二つの有効なシンボル・データRRRR/SSSS1及びRRRR/SSSS2が本可変長符号化装置に入力されている事を示している。動作制御回路518は、FIFO514のNOT FULL信号がアザートされている事からPENDING信号をネゲートする事で外部回路に対して、クロック周期1において本可変長符号化装置は2つのシンボル・データを取り込む事を通知する。更にFIFO514に対してはPUSH信号をアザートして、可変長符号化データを取り込む様に指示をする。
【0030】
クロック周期1ではシンボル・データRRRR/SSSS1として”0/2”が、シンボル・データRRRR/SSSS2として”1/9”が夫々可変長符号化テーブル504、502に入力される。夫々のテーブルからは、図7に示したテーブルに従った、入力された夫々のシンボル・データに対応する可変長符号語が出力される。図7に示したテーブルによると”0/2”に対応する可変長符号語(可変長符号語1)は”01”で、”1/9”に対応する可変長符号語(可変長符号語2)は”1111111110000111”となるので、可変長符号化テーブル504、502は夫々可変長符号語”01”、”1111111110000111”を出力する。
【0031】
また、右シフタ503及び右シフタ501は、シンボル・データ0/2,1/9に付加された夫々の付加データ”01”、”111110101”を入力し、夫々可変長符号語1のビット数(2ビット)、可変長符号語2のビット数(16ビット)だけ右にシフトする。そして夫々シフトされた可変長符号語1,2は夫々ORゲート508及ビORゲート510で連結され、夫々”0101”、”1111111110000111111110101”となる。更に、右シフタ511は、ORゲート510からの出力を、符号長計測器530で計測されたORゲート508の出力のビット数(可変長符号語1のビット数+付加データ1のビット数)、すなわち4ビット右にシフトする。
【0032】
そしてORゲート512は、右シフタ511の出力とORゲート508の出力との論理和を計算し、可変長符号化データ列”01011111111110000111111110101”を出力する。
【0033】
クロック周期2では、VALID2信号がネゲートされておりシンボル・データRRRR/SSSS2が入力されていない状態である。クロック周期2では、可変長符号化テーブル502にはシンボル・データは入力されず、可変長符号化テーブル504にシンボル・データRRRR/SSSS1”0/A”が入力される。図7に示したテーブルによると、シンボル・データRRRR/SSSS1””0/A”に対応する可変長符号語1は”1111111110000001”であるので、この可変長符号語が可変長符号化テーブル504504から出力される。また、右シフタ503は、シンボル・データ0/Aに付加された付加データ”0011100011”を入力し、可変長符号語1のビット数(16ビット)だけ右にシフトする。そしてシフトされた可変長符号語1はORゲート508で連結され、”11111111100000010011100011”となる。
【0034】
そしてORゲート512は、右シフタ511からの出力がないので、とORゲート508の出力をそのまま出力する。
【0035】
クロック周期3では、FIFO514はNOT FULL信号をネゲートしており、現在のクロック周期においては、可変長符号化データを取り込めない事を示している。この場合、動作制御回路518は入力側の外部回路に対してPENDING信号をアザートし、現在本可変長符号化装置は例えVALID1或いはVALID2信号をアザートしてもデータを取り込まない事を通知する。
【0036】
クロック周期4では、入力側の外部回路はクロック周期3において入力したシンボル・データと付加データを続けて入力する。PENDING信号がネゲートされているので、本可変長符号化装置は、クロック周期1と同様の手順で可変長符号化データ列が生成され、FIFO514に格納される。
【0037】
クロック周期5では、入力側の外部回路がVALID1及びVLAID2信号をネゲートしているので、動作制御回路518はFIFO514に対してPUSH信号をネゲートし、このクロック周期では可変長符号化データ列を取り込まない事を指示する。
【0038】
クロック周期6では、シンボル・データRRRR/SSSS1としてZRLが入力されている。ZRLは付加データを伴わないシンボル・データであるので、図7に示したテーブルを参照すると、ZRLに対応する可変長符号語は”11111111001”であるので、可変長符号化テーブル504,ORゲート508の出力は共に”11111111001”となる。そしてこれ以降はクロック周期1と同様な手順でFIFO514に出力される。
【0039】
クロック周期7では、シンボル・データRRRR/SSSS2として、DCT係数ブロックの最終データである事を示すシンボル・データであるEOBが入力されている。EOBはZRLと同様に付加データを伴わないシンボル・データであるので、図7に示したテーブルを参照すると、EOBに対応する可変長符号語は”1010”であるのでORゲート512の出力は”1010”となる。
【0040】
以上の説明により、本実施形態における可変長符号化装置、及び可変長符号化方法により、複数の被符号化データを一度に処理し、この複数の被符号化データの可変長符号化データを生成することができるので、より高速に符号化処理を行うことができる。
【0041】
[第2の実施形態]
図5に示した可変長符号化装置において、付加データ1とRRRR/SSSS1のセットを被符号化データ1、付加データ2とRRRR/SSSS2のセットを被符号化データ2と呼ぶことにすると、被符号化データ1の可変長符号データを生成する部分は右シフタ503,可変長符号化テーブル504、ORゲート508、符号長生成器507である。この4つの部分をまとめて可変長符号生成部1とする。なお可変長符号生成器1は符号長生成器507により、可変長符号語のビット長を求め、出力する。
【0042】
同様に、被符号化データ2の可変長符号データを生成する部分は右シフタ501,可変長符号化テーブル502、ORゲート510、符号長生成器507である。この4つの部分をまとめて可変長符号生成部2とする。なお可変長符号生成器2は符号長生成器509により、可変長符号語のビット長を求め、出力する。図2Aに可変長符号生成部の構成を示す。同図は、被符号化データに含まれる付加データAとシンボルデータを入力し、付加データA’(右シフタ201でシフトされた付加データ)と可変長符号語とを連結し、可変長符号データを生成すると共に、可変長符号語のビット長を求める可変長符号生成部の構成を示している。
【0043】
一方、可変長符号生成部1,2による可変長符号データ1,2を連結する部分は、右シフタ511、ORゲート512である。この2つの部分をまとめて連結部とする。図2Bに連結部の構成を示す。同図は、可変長符号化データAと可変長符号化データBとを連結し、可変長符号化データCを生成する連結部の構成を示している。
【0044】
第1の実施形態では上記可変長符号生成部と連結部とを用いて2つの被符号化データを入力し、可変長符号化データを出力していたが、本実施形態では、上記可変長符号生成部と連結部とを用いて、2つ以上の被符号化データを入力し、可変長符号化データを出力する可変長符号化装置について説明する。
【0045】
図1に本実施形態における第1の構成を有する可変長符号化装置の構成を示す。同図の可変長符号化装置は、まず可変長符号生成部1による可変長符号化データと可変長符号生成部2による可変長符号化データとを連結部1により連結する。そしてこの連結された可変長符号化データと可変長符号生成部3による可変長符号化データとを連結部2により連結する。以降、この処理を可変長符号生成部Nによる可変長符号化データを連結するまで行うことで、最終的に求めるべき可変長符号化データ列を求めることができる。また、各可変長符号生成部で求めた可変長符号語のビット長は加算器110,111、112,113により順次加算して求めることができる。
【0046】
一方、図3に本実施形態における第2の構成を有する可変長符号化装置の構成を示す。同図の可変長符号化装置は、まず可変長符号生成部1による可変長符号化データと可変長符号生成部2による可変長符号化データとを連結部1により連結する。また、可変長符号生成部3による可変長符号化データと可変長符号生成部4による可変長符号化データとを連結部5により連結する。このようにして、可変長符号生成部m(mは奇数であって、1≦m≦N−1)による可変長符号化データと可変長符号生成部(m+1)による可変長符号化データとを連結部(m+1)/2により連結する。この処理を全てのmに対して行う。
【0047】
そして次に同図の通り、隣接している連結部の出力を順次連結していき、最終的に全て連結した連結部312により、最終的に求めるべき可変長符号化データ列を求めることができる。また、各可変長符号生成部で求めた可変長符号語のビット長は加算器313,314,315,316,317により順次加算して求めることができる。
【0048】
[第3の実施形態]
第1及び第2の実施形態においては、被符号化データが付加データ及びシンボル・データRRRR/SSSSから構成される場合の例であった。この様な被符号化データとしてはJPEG符号化方式が代表的であるが、本実施形態においてはMPEG符号化方式に本発明を適用した例について説明する。
【0049】
MPEG符号化方式においては、被符号化データがDC係数である場合を除いては、付加データが存在せずにRUN/LEVELのシンボル・データのみから構成される。すなわち、第2の実施例における可変長符号生成部の構成のみが、図2Aとは異なり単に符号化テーブルを参照する処理のみで構成する事が出来る。一方、連結部の構成については、第2の実施形態と同様に図2Bと同様な構成で良い。
【0050】
更には、第2の実施形態として示した図1及び図3で示される二つの可変長符号化装置の構成及び処理手順についても同様に、本第3の実施形態について適用する事が出来る。
【0051】
[第4の実施形態]
上記実施形態では可変長符号化をハードウェアにより行っていたが、図1,2A、2B、3、5に示した各部の機能をプログラムにより表現し、このプログラムをこのコンピュータに読み込ませて実行させることで、このコンピュータは上記実施形態に係る可変長符号化装置として機能することから、このプログラムが本発明の範疇にあることは明白である。
【0052】
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0053】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0054】
また、例えばMPEG符号化方式においてヘッタ情報として動きベクトルを可変長符号化する場合にも実現される事は言うまでもない。この場合には可変長符号化テーブルに格納する可変長符号語を動きベクトルに対応するものに変更するだけで良い。
【0055】
更には、本発明は画像データに対する可変長符号化装置に限定されるものではなく、オーディオ符号化であるMPEG−1LayerIIIなどで採用されているエントロピ符号化技術における可変長符号化処理についても適用出来る事は言うまでもない。
【0056】
【発明の効果】
以上の説明により、本発明によって、より高速に可変長符号化を行うことができる。
【図面の簡単な説明】
【図1】本発明の第2の実施形態における第1の構成を有する可変長符号化装置の構成を示すブロック図である。
【図2A】可変長符号生成部の構成を示す図である。
【図2B】連結部の構成を示す図である。
【図3】本発明の第2の実施形態における第2の構成を有する可変長符号化装置の構成を示すブロック図である。
【図4】従来の可変長符号化装置の構成例を示すブロック図である。
【図5】本発明の第1の実施形態における可変長符号化装置の基本構成を示す図である。
【図6】従来技術を使用した可変長符号化装置の動作を説明するためのクロック周期毎の動作を示す図である。
【図7】Table K5の一部を示す図である。
【図8】図7に示す可変長符号化装置のクロック毎の動作を示す図である。
Claims (14)
- 一連の連続する被符号化データ系列に対して可変長符号化を行うと共に総符号長を生成する可変長符号化装置であって、
並列に複数入力される被符号化データの数に応じて並列に複数設けられ、入力される被符号化データに対応する可変長符号語を含む可変長符号化データ及びその符号長を、可変長符号化テーブルを参照して生成する生成手段と、
前記生成手段による夫々隣り合う1つ乃至2つ以上の可変長符号化データを順次連結し、可変長符号化データ列及び総符号長を生成する連結手段と
を備えることを特徴とする可変長符号化装置。 - 前記生成手段は更に、
被符号化データに含まれる第1のデータを、当該被符号化データに含まれる第2のデータのビット数分右にシフトする第1のシフト手段と、
前記第2のデータに対応する可変長符号語と、前記第1のシフト手段によるシフト後のデータとの論理和演算を行い、可変長符号化データを生成する第1の論理和演算手段と
を備えることを特徴とする請求項1に記載の可変長符号化装置。 - 前記可変長符号化テーブルはDC係数、もしくはAC係数のシンボル・データに対するハフマン・テーブルであることを特徴とする請求項1に記載の可変長符号化装置。
- 前記生成手段は更に、入力される被符号化データがDC係数、もしくはAC係数のいずれかであるかに依存せずに、可変長符号化データを生成する手段を備えることを特徴とする請求項1記載の可変長符号化装置。
- 前記可変長符号化テーブルは、動画像符号化時の水平及び垂直動きベクトルに対する可変長符号化テーブルであることを特徴とする、請求項1に記載の可変長符号化装置。
- 前記生成手段は更に、入力される一連の連続する被符号化データに対応する複数の可変長符号語の総符号長を求める符号長計算手段を備えることを特徴とする請求項1乃至4のいずれか1項に記載の可変長符号化装置。
- 前記連結手段は更に、
第1の可変長符号化データを第2の可変長符号化データのビット数分右にシフトする第2のシフト手段と、
前記第2の可変長符号化データと、前記第2のシフト手段によるシフト後のデータとの論理和演算を行う、第2の論理和演算手段と
を備えることを特徴とする請求項1に記載の可変長符号化装置。 - 前記連結手段は、前記生成手段による第1の可変長符号化データと第2の可変長符号化データとを連結する第1の連結部を含むことを特徴とする請求項7に記載の可変長符号化装置。
- 前記連結手段は、前記第1の連結部による連結結果と、前記生成手段による第3の可変長符号化データとを連結する第2の連結部を含むことを特徴とする請求項8に記載の可変長符号化装置。
- 前記連結手段は、前記第1の連結部による連結結果と、前記第1の連結部と同じ動作を行う連結部による連結結果とを連結する第3の連結部を含むことを特徴とする請求項8に記載の可変長符号化装置。
- 一連の連続する被符号化データ系列に対して可変長符号化を行うと共に総符号長を生成する可変長符号化方法であって、
並列に複数入力される被符号化データの数に応じて並列に複数設けられ、入力される被符号化データに対応する可変長符号語を含む可変長符号化データ及びその符号長を、可変長符号化テーブルを参照して生成する生成工程と、
前記生成工程による夫々隣り合う1つ乃至2つ以上の可変長符号化データを順次連結し、可変長符号化データ列及び総符号長を生成する連結工程と
を備えることを特徴とする可変長符号化方法。 - コンピュータを請求項1乃至10に記載の可変長符号化装置として機能させることを特徴とするプログラム。
- コンピュータに請求項11に記載の可変長符号化方法を実行させることを特徴とするプログラム。
- 請求項12または13に記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003026298A JP4181887B2 (ja) | 2002-05-29 | 2003-02-03 | 可変長符号化装置、及びその方法 |
US10/443,960 US7218677B2 (en) | 2002-05-29 | 2003-05-23 | Variable-length encoding apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002156005 | 2002-05-29 | ||
JP2003026298A JP4181887B2 (ja) | 2002-05-29 | 2003-02-03 | 可変長符号化装置、及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004056758A true JP2004056758A (ja) | 2004-02-19 |
JP4181887B2 JP4181887B2 (ja) | 2008-11-19 |
Family
ID=30772197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003026298A Expired - Fee Related JP4181887B2 (ja) | 2002-05-29 | 2003-02-03 | 可変長符号化装置、及びその方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7218677B2 (ja) |
JP (1) | JP4181887B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009188000A (ja) * | 2008-02-04 | 2009-08-20 | Nuflare Technology Inc | 描画装置及び描画データの変換方法 |
US7903741B2 (en) | 2004-11-15 | 2011-03-08 | Canon Kabushiki Kaisha | Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements |
JP2013201602A (ja) * | 2012-03-26 | 2013-10-03 | Fuji Xerox Co Ltd | 情報処理装置及び情報処理プログラム |
JP2014116835A (ja) * | 2012-12-11 | 2014-06-26 | Toshiba Corp | 復号装置、符号化装置、復号方法、及び符号化方法 |
JP2015061123A (ja) * | 2013-09-17 | 2015-03-30 | 株式会社東芝 | 符号化装置、復号化装置およびデータ処理システム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4537089B2 (ja) * | 2003-04-01 | 2010-09-01 | キヤノン株式会社 | 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 |
JP4878262B2 (ja) * | 2006-10-31 | 2012-02-15 | キヤノン株式会社 | エントロピー符号化装置 |
US8942490B2 (en) * | 2008-07-08 | 2015-01-27 | Yin-Chun Blue Lan | Method of high performance image compression |
US9058223B2 (en) * | 2011-04-22 | 2015-06-16 | Microsoft Technology Licensing Llc | Parallel entropy encoding on GPU |
CN104038234B (zh) * | 2013-03-07 | 2017-09-29 | 华为技术有限公司 | 极性码的译码方法和译码器 |
WO2015096021A1 (zh) | 2013-12-24 | 2015-07-02 | 华为技术有限公司 | 极性码的译码方法和译码装置 |
KR102433645B1 (ko) * | 2015-11-09 | 2022-08-18 | 삼성전자주식회사 | 무선 통신 시스템에서 복호화 방법 및 장치 |
US10366698B2 (en) | 2016-08-30 | 2019-07-30 | Dts, Inc. | Variable length coding of indices and bit scheduling in a pyramid vector quantizer |
JP7562451B2 (ja) * | 2021-03-11 | 2024-10-07 | キオクシア株式会社 | 圧縮装置および制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910000707B1 (ko) * | 1986-05-26 | 1991-01-31 | 미쓰비시덴기 가부시기가이샤 | 화상 부호화 전송방법 및 장치 |
US5381145A (en) * | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
KR0180164B1 (ko) * | 1995-07-27 | 1999-05-01 | 배순훈 | 가변길이 부호기 |
US6498571B2 (en) * | 1999-12-09 | 2002-12-24 | Luxxon Corporation | Multiple stream variable length encoder and decoder |
EP1217843B1 (en) | 2000-12-19 | 2012-11-28 | Canon Kabushiki Kaisha | Image processing method, apparatus, and storage medium |
US6603413B2 (en) | 2001-02-07 | 2003-08-05 | Canon Kabushiki Kaisha | Variable-length decoding apparatus and method |
JP3977087B2 (ja) | 2001-02-13 | 2007-09-19 | キヤノン株式会社 | 画像符号化装置、方法及びプログラム |
JP2002261623A (ja) | 2001-02-28 | 2002-09-13 | Canon Inc | 復号装置、復号方法、記憶媒体及びプログラムソフトウェア |
JP2003174650A (ja) | 2001-09-27 | 2003-06-20 | Canon Inc | 画像符号化装置、可変長符号化装置、制御装置およびそれらの方法 |
-
2003
- 2003-02-03 JP JP2003026298A patent/JP4181887B2/ja not_active Expired - Fee Related
- 2003-05-23 US US10/443,960 patent/US7218677B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7903741B2 (en) | 2004-11-15 | 2011-03-08 | Canon Kabushiki Kaisha | Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements |
USRE45300E1 (en) | 2004-11-15 | 2014-12-23 | Canon Kabushiki Kaisha | Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements |
JP2009188000A (ja) * | 2008-02-04 | 2009-08-20 | Nuflare Technology Inc | 描画装置及び描画データの変換方法 |
JP2013201602A (ja) * | 2012-03-26 | 2013-10-03 | Fuji Xerox Co Ltd | 情報処理装置及び情報処理プログラム |
JP2014116835A (ja) * | 2012-12-11 | 2014-06-26 | Toshiba Corp | 復号装置、符号化装置、復号方法、及び符号化方法 |
JP2015061123A (ja) * | 2013-09-17 | 2015-03-30 | 株式会社東芝 | 符号化装置、復号化装置およびデータ処理システム |
Also Published As
Publication number | Publication date |
---|---|
US7218677B2 (en) | 2007-05-15 |
US20040017855A1 (en) | 2004-01-29 |
JP4181887B2 (ja) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7898445B2 (en) | Entropy coding apparatus | |
US6993202B2 (en) | Decoding apparatus, method, and storage medium for inputting and decoding variable-length coded data | |
JP4495034B2 (ja) | 可変長符号化方式および可変長符号化装置 | |
US7242328B1 (en) | Variable length coding for sparse coefficients | |
KR0180169B1 (ko) | 가변길이 부호기 | |
JP4181887B2 (ja) | 可変長符号化装置、及びその方法 | |
EP1946246A2 (en) | Extended amplitude coding for clustered transform coefficients | |
US20080100479A1 (en) | Decoding apparatus and decoding method | |
KR20170075759A (ko) | 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치 | |
WO2009091279A1 (en) | Separate huffman coding of runlength and size data of dct coefficients | |
JP3940672B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2010178319A (ja) | 画像符号化装置及び画像符号化方法 | |
US8456334B2 (en) | Variable-length code decoding apparatus, decoding system, and variable-length code decoding method | |
JP4502384B2 (ja) | 可変長符号復号化装置及び可変長符号復号化方法 | |
KR0180164B1 (ko) | 가변길이 부호기 | |
JP2002112268A (ja) | 圧縮画像データ復号装置 | |
JP2009232454A (ja) | 高域係数用符号化ブロックパターン生成方法及び装置 | |
Lee et al. | A design of high-performance pipelined architecture for H. 264/AVC CAVLC decoder and low-power implementation | |
US7262718B2 (en) | Variable length decoder and variable length decoding method | |
JP2007074648A (ja) | Cabac復号化装置 | |
JP2007158698A (ja) | 画像復号装置及び画像復号方法 | |
Hmida et al. | A high performance architecture design of cavlc coding suitable for real-time applications | |
JP2004056417A (ja) | 復号装置および復号方法 | |
Chen et al. | Architecture and 28 nm CMOS Design of a 1886 MBin/sec Context-Adaptive Binary Arithmetic Coder (CABAC) Encoder | |
JP4447903B2 (ja) | 信号処理装置、信号処理方法、記録媒体及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080411 |
|
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: 20080818 |
|
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: 20080901 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4181887 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: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130905 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |