JP4540585B2 - 符号化装置及び復号化装置 - Google Patents

符号化装置及び復号化装置 Download PDF

Info

Publication number
JP4540585B2
JP4540585B2 JP2005305786A JP2005305786A JP4540585B2 JP 4540585 B2 JP4540585 B2 JP 4540585B2 JP 2005305786 A JP2005305786 A JP 2005305786A JP 2005305786 A JP2005305786 A JP 2005305786A JP 4540585 B2 JP4540585 B2 JP 4540585B2
Authority
JP
Japan
Prior art keywords
data
encoding
binary data
bit
binary
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
JP2005305786A
Other languages
English (en)
Other versions
JP2007116436A5 (ja
JP2007116436A (ja
Inventor
琢麻 千葉
貴司 増野
浩昭 島崎
賢治郎 津田
啓 田坂
景一 石田
賀津雄 西郷
達郎 重里
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2005305786A priority Critical patent/JP4540585B2/ja
Publication of JP2007116436A5 publication Critical patent/JP2007116436A5/ja
Publication of JP2007116436A publication Critical patent/JP2007116436A/ja
Application granted granted Critical
Publication of JP4540585B2 publication Critical patent/JP4540585B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03BASIC ELECTRONIC 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/4006Conversion to or from arithmetic 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

本発明は、動画像に関するデータを符号化する符号化装置、及び復号化する復号化装置に関し、特に、CABAC符号化装置、及びCABAC復号化装置に関する。

デジタル技術の発展と共に、映像を符号化する技術も進化・発展してきている。しかし、映像(特に動画像)は、そのデータ量が非常に大きいので、デジタル映像を符号化したものを放送やDVD等のメディアで転送する場合は、転送量が非常に大きくなってしまう。特に、最近実用化されているハイビジョン放送などでは、従来のSD(Standard Definition)映像と比べて6倍のデータ量が必要となっている。

デジタル映像技術の発展に伴い、増大するデータ量を処理するために、データを圧縮する技術がデジタル映像データに使用されて発展してきた。その発展は、映像データの特性を生かした、映像データに特化した圧縮技術となっている。コンピュータの情報処理能力の向上に伴い、圧縮技術における複雑な演算も可能となり、映像データの圧縮率は大幅に高められてきている。例えば、衛星、地上波デジタルハイビジョン放送で採用されている圧縮技術は、MPEG2と呼ばれる方式である。

MPEG2の次の映像圧縮技術として規格化されたAVC/H.264は、MPEG2の2倍前後の圧縮率を実現する規格である。AVC/H.264では、多くの圧縮化技術を実装し、それらを組み合わせることで高い圧縮率を実現している。そのため、演算量も大幅に増加している。

AVC/H.264で実装されている圧縮化技術の一つにエントロピー符号化(可変長符号化)がある。エントロピー符号化の方式として、CAVLCとCABACという2つの方式が用意されている。CAVLCは、DCT係数を符号化する際、連続する0の長さであるランとレベルとを可変長符号化テーブルを用いてスキャンの方向と反対の方向から符号化を行なう。

CABACは、Context-based Adaptive Binary Arithmatic Coding(コンテキスト適応型二値算術符号化方式)の略である。すなわち、時間とともに変化する符号化対象の出現頻度を変化させる方式で、一般に算術符号化と呼ばれる方式である(例えば、特許文献1参照)。CABACでは、通常の算術符号化のほかに、圧縮すべき符号ごとにコンテキストを付け、そのコンテキストごとに出現頻度の変更を行なっている。

CABACでの符号化は主に2つの処理に分けられる。1つ目の処理は、符号化すべき多値データを二値データに変換する二値化(binarization)と呼ばれる処理である。ここでいう「符号化すべき多値データ」とは、具体的にはマクロブロック情報・DCT係数・動きベクトルなどであり、これらは一括してシンタクスと呼ばれる。2つ目の処理は、二値化処理によって得られた二値データに対してコンテキストを算出し、算術符号化を行なう処理である。

二値化処理は、符号化の単位である16×16の画素からなるマクロブロック単位に行なわれることが一般的であり、DCT・量子化後の符号値の大きさによって二値データの量は上下する。それに対して、算術符号化処理は1ビット毎に行なわれるため、演算スピードは通常1ビット/1クロックとなる。

このため、二値データの量がマクロブロックごとに大きく異なる場合、例えば、符号化単位であるスライスの最後に二値データが集中した場合は、算術符号化処理で二値データを処理しきれなくなり、オーバーフローを起こしてしまう。そこで、二値化回路と算術符号化回路との間にbinバッファと呼ばれるバッファを設け、このbinバッファに二値データを一旦格納する。これによって、二値データの量がマクロブロックごとに大きく異なる場合でも、算術符号化処理でオーバーフローを起こす問題を避けることが可能となる。

図20は、CABACを用いた従来の符号化回路構成図である。
量子化されたDCT係数は、DCT係数二値化部2によって二値データに変換される。この二値データは、一旦binバッファ3に格納された後、算術符号化部4によって1ビットずつ符号化されて出力される。

図21は、CABACを用いた従来の復号化回路構成図である。
算術符号化されたDCT係数は、算術復号化部5によって1ビットずつ復号化されて二値データに変換される。この二値データは、一旦binバッファ3に格納された後、DCT係数変換部6によって多値化され、量子化されたDCT係数に変換される。

このような符号化・復号化処理は、DCT係数以外のシンタクス(動きベクトルやマクロブロック情報)についても同様に行なわれる。
特開2004−135251号公報

CABACでは、二値化方式としてUEGk(Concatenated unary/k-th order Exp-Golomb)符号化を用いている。UEGkは、TU(Trancated Unary)符号と、Exp-Golomb符号とを連接したものである。例えば、DCT係数coeff_abs_level_minus1(値:x)をUEGk符号化を用いて二値化する場合、xが14未満であるときは、x がTU (cMax=14)で二値化される。他方、x が14以上であるときは、x-14がexp_Golombで二値化されてビット列「11111111111111」の後ろに結合される。

二値データのビット長は、xが14のときは15ビット、xが15のときは17ビット、xが17のときは19ビットとなる。このように、xが大きくなるにつれて二値データのビット長も大きくなる。そして、xの最大値(xは17ビットのデータ)を二値化すると、その二値データのビット長は49ビットとなる。

前述したように、二値データは、一旦binバッファ3に格納されるが、大きい値のDCT係数が連続した場合は、ビット長の大きい二値データを連続してbinバッファ3に書き込まなければならない。つまり、大きい値のDCT係数が連続した場合は、binバッファ3へのデータ転送レートが高くなるので、広いバンド幅を持つbinバッファを用意する必要がある。

例えば、1フレーム1920×1088画素で構成されたハイビジョン映像を毎秒30フレームで符号化する場合、1マクロブロック(16×16画素)の符号化にかかる時間は、1÷(8160×30)≒4.08μs となる。そして、このマクロブロックで大きい値を持つDCT係数が連続し、1マクロブロックの二値データが8000ビットとなった場合、データ転送レートは1.96Gbpsとなる。

以上のように、従来の構成によると、大きい値を持つDCT係数が連続する場合、binバッファ3へのデータ転送レートが非常に高くなるという問題がある。このような問題は、符号化装置だけでなく復号化装置についても同様に生じる。

本発明は、このような問題点に鑑みてなされたものであり、最大データ転送レートを低下させた符号化装置及び復号化装置を提供することを目的とする。

前記目的を達成するために、本発明に係る符号化装置は、動画像に関するデータを符号化する符号化装置であって、量子化されたDCT係数又は動きベクトルを示す多値データをコード化する手段があり、そのコード化手段は、量子化されたDCT係数又は動きベクトルを示す多値データを二値化した二値データのビット長が、特定の長さよりも大きい場合に、二値データのビット長よりも小さくする。これによって、二値データの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。

前記符号化装置はさらに、前記コード化手段によって得られたコード化データを元の二値データに変換する変換手段を備えてもよい。これによって、コード化データを元の二値データに変換することができる。

具体的には、前記符号化装置はさらに、量子化されたDCT係数又は動きベクトルを示す多値データを二値化する二値化手段と、前記変換手段によって得られた二値データを算術符号化する算術符号化手段とを備え、前記コード化手段は、前記二値化手段によって得られた二値データのビット長が所定の長さ以下であるか否かを判定し、判定した結果を判定ビットとして値を保存しておき、前記二値データのビット長が所定の長さ以下である場合は、二値データであることを示す判定ビットを前記二値データに付加し、前記二値データのビット長が所定の長さを超える場合は、多値データであることを示す判定ビットを前記多値データに付加し、前記変換手段は、前記コード化手段によって得られたコード化データに二値データであることを示す判定ビットが付加されている場合は、その判定ビットを除いたビット列を得ることによって、前記コード化データに多値データであることを示す判定ビットが付加されている場合は、その判定ビットを除いたビット列を二値化することによって、前記コード化データを元の二値データに変換する。これによって、二値データの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。

ここで、前記所定の長さは、前記多値データのビット長であるのが好ましい。前記所定の長さを前記多値データのビット長よりも大きくした場合は、コード化データのビット長が不要に大きくなり、前記所定の長さを前記多値データのビット長よりも小さくした場合も、コード化データのビット長が不要に大きくなるからである。

あるいは、前記符号化装置はさらに、量子化されたDCT係数又は動きベクトルを示す多値データを二値化する二値化手段と、前記変換手段によって得られた二値データを算術符号化する算術符号化手段とを備え、前記コード化手段は、前記二値化手段によって得られた二値データの先頭から1が連続する個数を示す第1ビット列の後に、前記二値データにおいて最初に現れる0に後続する第2ビット列を付加することによって、前記二値データをコード化し、前記変換手段は、前記コード化手段によって得られたコード化データの前記第1ビット列が示す個数だけ1を連続させた後に、0と前記第2ビット列とを付加することによって、前記コード化データを元の二値データに変換してもよい。この構成によっても、二値データの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。

ここで、前記第1ビット列のビット長は、前記二値データの先頭から1が連続する個数の最大値を表現するために最低限必要なビット長であるのが好ましい。前記第1ビット列のビット長を前記最低限必要なビット長よりも大きくした場合は、コード化データのビット長が不要に大きくなるからである。

また、前記符号化装置はさらに、データを一時格納するバッファを前記コード化手段と前記変換手段との間に備える。これによって、算術符号化処理でオーバーフローを起こす問題を避けることが可能となる。

また、前記符号化装置はさらに、前記二値化手段によって得られた二値データと、前記コード化手段によって得られたコード化データのうちの一方を選択する第1の選択手段を前記バッファの前段に備え、前記第1の選択手段によって前記二値データが選択された場合は、前記バッファに一時格納されている二値データを選択し、前記第1の選択手段によって前記コード化データが選択された場合は、前記変換手段によって得られた二値データを選択する第2の選択手段を前記算術符号化手段の前段に備えてもよい。これによって、必要な場合のみコード化処理が行なわれるので、コード化処理の負荷を最小限に抑えることが可能となる。

また、前記二値化手段は、二値データを選択させるための選択指示ビットを前記二値データの先頭に付加し、前記コード化手段は、コード化データを選択させるための選択指示ビットを前記コード化データの先頭に付加し、前記第1の選択手段及び前記第2の選択手段は、前記第1の選択指示ビット及び前記第2の選択指示ビットを参照することによって、前記二値データと前記コード化データのうちの一方を選択してもよい。これによって、前記二値データと前記コード化データのうちの一方を簡便に選択することが可能となる。

また、前記選択指示ビットは、DCT係数ごと、動きベクトルごと、マクロブロックごと、スライスごと、又はピクチャごとに付加されてもよい。これによって、本発明の適用場面に応じた単位で選択指示ビットを付加することが可能となる。

また、前記DCT係数は、具体的には、H.264/AVCにおけるcoeff_abs_level_minus1である。また、前記二値データは、具体的には、Golomb符号化されたデータである。

なお、本発明は、このような符号化装置として実現することができるだけでなく、復号化装置としても実現することができる。また、このような符号化装置が備える特徴的な手段をステップとする符号化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。

また、構成図(図1等)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。

また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。

さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行なってもよい。バイオ技術の適応等が可能性としてありえる。

以上の説明から明らかなように、本発明に係る符号化装置によれば、二値データの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

同様に、本発明に係る復号化装置によれば、二値データの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

以下、本発明の実施の形態について図面を用いて詳細に説明する。

(実施の形態1)
図1は、実施の形態1におけるCABAC符号化装置の構成図である。このCABAC符号化装置は、動画像に関するデータを符号化する装置であって、機能的には、シンタクス二値化部1と、DCT係数二値化部11と、二値係数コード化部12と、binバッファ3と、コード化係数−二値係数変換部20と、算術符号化部4とを備えている。

シンタクス二値化部1は、入力されたシンタクスを二値化し、二値化されたシンタクスを出力する二値化回路等である。DCT係数二値化部11は、入力されたDCT係数を二値化し、二値化されたDCT係数(以下「二値係数」という)を出力する二値化回路等である。二値係数コード化部12は、入力された二値係数をコード化し、コード化された二値係数(以下「コード化係数」という)を出力するコード化回路等である。binバッファ3は、コード化係数等のデータを一時格納するRAM等である。コード化係数−二値係数変換部20は、入力されたコード化係数を元の二値係数に変換して出力する変換回路等である。算術符号化部4は、入力された二値係数を算術符号化して出力する算術符号化回路等である。

図2は、DCT係数(coeff_abs_level_minus1)についての二値化処理の説明図である。

既に説明したように、CABACでは、二値化方式としてUEGk符号化を用いている。UEGkは、TU符号とExp-Golomb符号とを連接したものであり、パラメータとしてk、signedValFlag、uCoffの3つを持つ。

前半部分(UEGk prefix)ではTU符号化を用いる。パラメータ uCoffは、このTU符号化される部分の最大値を示す。元の符号値(DCT係数の値)がuCoff未満である場合は、元の符号値だけ1を並べた後に0が付加され、元の符号値がuCoff以上である場合は、1をuCoff個並べた符号になる。

後半部分(UEG0 suffix)ではExp-Golomb符号化を用いる。ここでは、簡単のためUEGk suffixをPrefix, Separator, Suffix, Signに分けて考える。元の符号値をsynElValとすると、UEGk suffixは、図3に示すような擬似プログラムによって生成される。

DCT係数(coeff_abs_level_minus1)においては、UEG0、signedValFlag = 0、uCoff = 14が用いられる。「UEG0」は、前記したパラメータkが0であることを意味する。「signedValFlag = 0」は、最後に極性を示すビットが付加されないことを意味する。「uCoff = 14」は、TUの最大値が14であることを意味する。

従って、前半部分(UEG0 prefix)は、元の符号値が14未満である場合は、元の符号値だけ1を並べた後に0が付加され、元の符号値が14以上である場合は、1を14個並べた符号になる。また、後半部分(UEG0 suffix)は、元の符号値が14未満である場合は、UEG0 prefixのみとなりUEG0 suffixは付加されない。なお、Exp-Golomb符号については、前記擬似プログラム(図3参照)に示す通りであるため、ここでは詳しい説明を省略する。

図4は、本実施の形態1におけるコード化処理の説明図である。
既に説明したように、DCT係数(coeff_abs_level_minus1)は17ビットのデータである。従って、ここでは、二値係数のビット長が17ビット以下である場合と17ビットを超える場合とでコード化の方式を変えるようにしている。

すなわち、DCT係数の値が16以下である場合、二値係数のビット長は17ビット以下となる。この場合は、二値係数の先頭に判定ビット「0」を付加したビット列をコード化係数とする。例えば、DCT係数の値が16である場合、二値係数は「11111111111111101」であるので、この二値係数「11111111111111101」の先頭に判定ビット「0」を付加したビット列「011111111111111101」がコード化係数となる。

他方、DCT係数の値が16を超える場合、二値係数のビット長は17ビットを超える。この場合は、DCT係数の先頭に判定ビット「1」を付加したビット列をコード化係数とする。例えば、DCT係数の値が17である場合、このDCT係数は「00000000000010001」であるので、このDCT係数「00000000000010001」の先頭に判定ビット「1」を付加した「100000000000010001」がコード化係数となる。

なお、図1では、二値係数コード化部12に入力されるデータは、DCT係数二値化部11からの二値係数であるので、前記のようにDCT係数「00000000000010001」をコード化処理において利用するためには、DCT係数二値化部11からの二値係数を多値化することが必要となる。もっとも、二値化される前のDCT係数をそのままコード化する構成を採用してもよい。この構成については後述する。

図5は、本実施の形態1におけるコード化処理の効果を示す図である。ここでは、DCT係数の値が大きくなるに従って、二値係数のビット長とコード化係数のビット長とが変化する様子を示している。二値係数のビット長が変化する様子は、波形L1として実線で描いており、コード化係数のビット長が変化する様子は、波形L2として破線で描いている。

この図に示すように、DCT係数の値が16以下である場合は、コード化係数のビット長よりも二値係数のビット長の方が小さくなる。他方、DCT係数の値が16を越える場合は、二値係数のビット長よりもコード化係数のビット長の方が小さくなる。

DCT係数の最大値を二値化すると、その二値係数のビット長は49ビットにもなるが、その場合のコード化係数のビット長は18ビットで済む。すなわち、コード化係数のビット長は最大でも18ビットであるので、本実施の形態1におけるコード化処理を行なうと、binバッファ3への最大データ転送レートを低下させることができる。

このように生成されたコード化係数は、binバッファ3に一旦格納された後、コード化係数−二値係数変換部20に入力される。これによって、コード化係数−二値係数変換部20は、コード化係数の先頭に付加されている判定ビットの値に応じて以下の処理を行なう。

すなわち、判定ビットの値が「0」である場合は、その判定ビット「0」を除いたビット列を算術符号化部4に出力する。例えば、コード化係数が「011111111111111101」である場合は、その判定ビット「0」を除いたビット列「11111111111111101」を算術符号化部4に出力する。このビット列「11111111111111101」は、DCT係数の値が16である場合の二値係数に等しい。

他方、判定ビットの値が「1」である場合は、その判定ビット「1」を除いたビット列を二値化し、その二値化された係数を算術符号化部4に出力する。例えば、コード化係数が「100000000000010001」である場合は、その判定ビット「1」を除いたビット列「00000000000010001」を二値化し、その二値化された係数「1111111111111111000」を算術符号化部4に出力する。このビット列「1111111111111111000」は、DCT係数の値が17である場合の二値係数に等しい。

これによって、二値係数が算術符号化部4に入力されることになり、算術符号化部4は、入力された二値係数を1ビットずつ符号化して出力する。この算術符号化処理は従来と同様であるため、ここでは説明を省略する。

以上のように、本実施の形態1によれば、二値係数の最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

なお、ここでは、二値係数のビット長が17ビット以下である場合と17ビットを超える場合とでコード化の方式を変えることとしているが、コード化の方式を変える境界は17ビットに限定されるものではない。もっとも、DCT係数は17ビットのデータであるため、ここでは17ビットを境界とするのが好ましい。境界を17ビットよりも大きくした場合もしくは小さくした場合は、コード化係数のビット長が不要に大きくなる場合が生じるからである。

また、二値係数のビット長が17ビットを超える場合のコード化方式、すなわち、二値化前のDCT係数を結合する方式のみを採用するようにしてもかまわない。このようにすると、最大ビット長が17ビットでコード化されるので、binバッファ3への最大データ転送レートを低下させるという目的は達成することができる。

また、ここでは、DCT係数を二値化する構成部とコード化する構成部とを別個に備えた構成を例示したが、本発明はこれに限定されるものではない。すなわち、DCT係数の値から判断することによって、DCT係数から直接コード化係数を得るようにしても同様の効果を得ることができる。このように、二値化処理とコード化処理の両方を行なう構成部のことを以下「DCT係数コード化部10」と呼ぶ。このDCT係数コード化部10は、DCT係数を二値化した後のビット列の長さを出力することなく、前記したように、DCT係数から直接コード化係数を得る。

また、マクロブロック情報についての処理は本発明の主眼とするところではないので、ここでは詳しい説明を省略しているが、シンタクスに含まれる情報のうち、本発明の適用対象である情報(例えばDCT係数)と適用対象でない情報(例えばマクロブロック情報)とを区別する手法は特に限定されるものではない。例えば、図1に示すように、本発明の適用対象である情報と適用対象でない情報とによって処理系統を分けてもよいし、あるいは、単一の処理系統において選択的に本発明を適用してもよい。このように選択的に本発明を適用する場合は、本発明の適用対象である情報と適用対象でない情報とを識別するために、装置に、シンタクスを識別する手段を用意しておく。

(実施の形態2)
本実施の形態2では、実施の形態1と異なるコード化方式を採用している。すなわち、本発明に係るコード化方式は、二値データのビット長よりも小さくなるようにDCT係数又は動きベクトルをコード化する方式であればよい。以下、本実施の形態2におけるコード化方式について、実施の形態1と異なる点を中心に説明する。

図6は、本実施の形態2におけるコード化処理の説明図である。
DCT係数(coeff_abs_level_minus1)の二値データは、元の符号値xが14未満である場合は、xの値だけ1が連続した後に0が付加され、元の符号値xが14以上である場合は、14+Ceil(log2(x-13))だけ1が連続した符号になる。1は最大で30個連続する。

そこで、本実施の形態2では、このような二値データの性質を利用したコード化方式を採用している。すなわち、二値係数コード化部12は、二値係数の先頭から1が連続する個数を示す5ビットのビット列(以下「第1ビット列」という)の後に、二値係数において最初に現れる0に後続するビット列(以下「第2ビット列」という)を付加する。

例えば、DCT係数の値が14である場合、二値係数は「111111111111110」である。この二値係数「111111111111110」の先頭から1が連続する個数は14であるので、14を2進表記したビット列「01110」が前記第1ビット列となる。他方、この二値係数「111111111111110」においては、0は最後に1つ現れるだけであるので、前記第2ビット列は存在しない。従って、コード化係数としては「01110」が得られることになる。

また、DCT係数の値が15である場合、二値係数は「11111111111111100」である。この二値係数「11111111111111100」の先頭から1が連続する個数は15であるので、15を2進表記したビット列「01111」が前記第1ビット列となる。他方、この二値係数「11111111111111100」において最初に現れる0に後続するビット列は「0」であるので、この「0」が前記第2ビット列となる。従って、コード化係数としては、第1ビット列「01111」の後に第2ビット列「0」を付加した「011110」が得られることになる。

図7は、本実施の形態2におけるコード化処理の効果を示す図である。ここでも、図5と同様、二値係数のビット長が変化する様子を波形L1として実線で描いており、コード化係数のビット長が変化する様子を波形L2として破線で描いている。

この図に示すように、DCT係数の値が4未満である場合は、コード化係数のビット長よりも二値係数のビット長の方が小さくなる。他方、DCT係数の値が4を越える場合は、二値係数のビット長よりもコード化係数のビット長の方が小さくなる。なお、DCT係数の値が4である場合は、コード化係数のビット長と二値係数のビット長とは一致する。

このように生成されたコード化係数は、binバッファ3に一旦格納された後、コード化係数−二値係数変換部20に入力される。これによって、コード化係数−二値係数変換部20は、コード化係数の第1ビット列が示す個数だけ1を連続させた後に0と第2ビット列とを付加する。

例えば、コード化係数が「01110」である場合、その先頭5ビット(第1ビット列)が示す個数だけ1を連続させる。第1ビット列「01110」を10進表記すると14であるので、この場合はビット列「11111111111111」が得られる。そして、このビット列「11111111111111」の後に0と第2ビット列とを付加する。ここでは、第2ビット列(コード化係数の6ビット目以降のビット列)は存在しないので、ビット列「11111111111111」の後に「0」だけを付加したビット列「111111111111110」を算術符号化部4に出力する。このビット列「111111111111110」は、DCT係数の値が14である場合の二値係数に等しい。

また、コード化係数が「011110」である場合、その先頭5ビット(第1ビット列)が示す個数だけ1を連続させる。第1ビット列「01111」を10進表記すると15であるので、この場合はビット列「111111111111111」が得られる。そして、このビット列「111111111111111」の後に0と第2ビット列とを付加する。ここでは、第2ビット列(コード化係数の6ビット目以降のビット列)は「0」であるので、ビット列「111111111111111」の後に「00」を付加したビット列「11111111111111100」を算術符号化部4に出力する。このビット列「11111111111111100」は、DCT係数の値が15である場合の二値係数に等しい。

以上のように、本実施の形態2によっても、二値係数の最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

なお、ここでは、第1ビット列のビット長を5ビットとしているが、本発明はこれに限定されるものではない。すなわち、第1ビット列のビット長は、二値係数において1が連続する個数の最大値を表現するに必要なビット長であればよい。もっとも、コード化係数のビット長を小さくするためには、前記最大値を表現するに必要なビット長のうち、最小のビット長を採用するのが好ましい。

(実施の形態3)
実施の形態1や2では、二値化されたDCT係数をコード化する場合について説明したが、コード化する対象は、DCT係数に限定されるものではない。すなわち、動画像に関するデータである以上、本発明を適用することができる。

以下、二値化された動きベクトルをコード化する手法について、実施の形態1と異なる点を中心に説明する。なお、以下の説明では、二値化された動きベクトルを「二値ベクトル」、コード化された二値ベクトルを「コード化ベクトル」という。

図8は、実施の形態3におけるCABAC符号化装置の構成図である。このCABAC符号化装置は、シンタクス二値化部1と、動きベクトル二値化部11と、二値ベクトルコード化部12と、binバッファ3と、コード化ベクトル−二値ベクトル変換部20と、算術符号化部4とを備えている。各部の機能は、コード化する対象がDCT係数から動きベクトルに変わった点を除き、実施の形態1と同じである。

図9は、動きベクトル(mvd_l0, mvd_l1)についての二値化処理の説明図である。
動きベクトル(mvd_l0, mvd_l1)においては、UEG3、signedValFlag = 1、uCoff = 9が用いられる。「UEG3」は、前記したパラメータkが3であることを意味する。「signedValFlag = 1」は、最後に極性を示すビットが付加されることを意味する。「uCoff = 9」は、TUの最大値が9であることを意味する。

前半部分(UEG3 prefix)ではTU符号化を用いる。従って、元の符号値(動きベクトルの値)の絶対値が8以下である場合は、元の符号値だけ1を並べた後に0が付加され、元の符号値の絶対値が9以上である場合は1を9個並べた符号になる。

後半部分(UEG3 suffix)ではExp-Golomb符号化を用いる。従って、元の符号値の絶対値が8以下である場合はUEG3 prefixのみとなりUEG3 suffixは付加されない。なお、Exp-Golomb符号については、前記擬似プログラム(図3参照)に示す通りであるため、ここでは詳しい説明を省略する。

図10は、本実施の形態3におけるコード化処理の説明図である。
動きベクトル(mvd_l0, mvd_l1)は14ビットのデータである。従って、ここでは、二値ベクトルのビット長が14ビット以下である場合と14ビットを超える場合とでコード化の方式を変えるようにしている。

すなわち、動きベクトルの絶対値が16以下である場合、二値ベクトルのビット長は14ビット以下となる。この場合は、二値ベクトルの先頭に判定ビット「0」を付加したビット列をコード化ベクトルとする。例えば、動きベクトルの値が−16である場合、二値ベクトルは「11111111101111」であるので、この二値ベクトル「11111111101111」の先頭に判定ビット「0」を付加したビット列「011111111101111」がコード化ベクトルとなる。

他方、動きベクトルの絶対値が16を超える場合、二値ベクトルのビット長は14ビットを超える。この場合は、動きベクトルの先頭に判定ビット「1」を付加したビット列をコード化ベクトルとする。例えば、動きベクトルの値が17である場合、この動きベクトルは「00000000010001」であるので、この動きベクトル「00000000010001」の先頭に判定ビット「1」を付加した「100000000010001」がコード化ベクトルとなる。

図11は、本実施の形態3におけるコード化処理の効果を示す図である。ここでは、動きベクトルの絶対値が大きくなるに従って、二値ベクトルのビット長とコード化ベクトルのビット長とが変化する様子を示している。二値ベクトルのビット長が変化する様子は、波形L1として実線で描いており、コード化ベクトルのビット長が変化する様子は、波形L2として破線で描いている。

この図に示すように、動きベクトルの絶対値が16以下である場合は、コード化ベクトルのビット長よりも二値ベクトルのビット長の方が小さくなる。他方、動きベクトルの絶対値が16を越える場合は、二値ベクトルのビット長よりもコード化ベクトルのビット長の方が小さくなる。コード化ベクトルのビット長は最大でも15ビットであるので、本実施の形態3におけるコード化処理を行なうと、binバッファ3への最大データ転送レートを低下させることができる。

このように生成されたコード化ベクトルは、binバッファ3に一旦格納された後、コード化ベクトル−二値ベクトル変換部20に入力される。これによって、コード化ベクトル−二値ベクトル変換部20は、コード化ベクトルの先頭に付加されている判定ビットの値に応じて以下の処理を行なう。

すなわち、判定ビットの値が「0」である場合は、その判定ビット「0」を除いたビット列を算術符号化部4に出力する。例えば、コード化ベクトルが「011111111101111」である場合は、その判定ビット「0」を除いたビット列「11111111101111」を算術符号化部4に出力する。このビット列「11111111101111」は、動きベクトルの値が−16である場合の二値ベクトルに等しい。

他方、判定ビットの値が「1」である場合は、その判定ビット「1」を除いたビット列を二値化し、その二値化されたベクトルを算術符号化部4に出力する。例えば、コード化ベクトルが「100000000010001」である場合は、その判定ビット「1」を除いたビット列「00000000010001」を二値化し、その二値化されたベクトル「11111111101111」を算術符号化部4に出力する。このビット列「11111111101111」は、動きベクトルの値が17である場合の二値ベクトルに等しい。

以上のように、本実施の形態3によれば、二値ベクトルの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

なお、ここでは、二値ベクトルのビット長が14ビット以下である場合と14ビットを超える場合とでコード化の方式を変えることとしているが、コード化の方式を変える境界は14ビットに限定されるものではない。もっとも、動きベクトルは14ビットのデータであるため、14ビットを境界とするのが好ましい。

また、二値ベクトルのビット長が14ビットを超える場合のコード化方式、すなわち、二値化前の動きベクトルのみをbinバッファに格納するようにしてもかまわない。このようにすると、最大ビット長が14ビットまでコード化されるので、binバッファ3への最大データ転送レートを低下させるという目的は達成することができる。

(実施の形態4)
本実施の形態4では、実施の形態2におけるコード化方式を動きベクトルに適用した場合について説明する。以下、本実施の形態4を実施の形態2と異なる点を中心に説明する。

図12は、本実施の形態4におけるコード化処理の説明図である。
実施の形態2と同様、二値ベクトルコード化部12は、二値ベクトルの先頭から1が連続する個数を示す5ビットのビット列(以下「第1ビット列」という)の後に、二値ベクトルにおいて最初に現れる0に後続するビット列(以下「第2ビット列」という)を付加する。

例えば、動きベクトルの値が−16である場合、二値ベクトルは「11111111101111」である。この二値ベクトル「11111111101111」の先頭から1が連続する個数は9であるので、9を2進表記したビット列「01001」が前記第1ビット列となる。他方、この二値ベクトル「11111111101111」において最初に現れる0に後続するビット列は「1111」であるので、このビット列「1111」が前記第2ビット列となる。従って、コード化ベクトルとしては、第1ビット列「01001」の後に第2ビット列「1111」を付加した「010011111」が得られることになる。

また、動きベクトルの値が17である場合、二値ベクトルは「1111111111000000」である。この二値ベクトル「1111111111000000」の先頭から1が連続する個数は10であるので、10を2進表記したビット列「01010」が前記第1ビット列となる。他方、この二値ベクトル「1111111111000000」において最初に現れる0に後続するビット列は「00000」であるので、この「00000」が前記第2ビット列となる。従って、コード化ベクトルとしては、第1ビット列「01010」の後に第2ビット列「00000」を付加した「0101000000」が得られることになる。

図13は、本実施の形態4におけるコード化処理の効果を示す図である。ここでも、図7と同様、二値ベクトルのビット長が変化する様子を波形L1として実線で描いており、コード化ベクトルのビット長が変化する様子を波形L2として破線で描いている。

この図に示すように、動きベクトルの絶対値が4未満である場合は、コード化ベクトルのビット長よりも二値ベクトルのビット長の方が小さくなる。他方、動きベクトルの絶対値が4を越える場合は、二値ベクトルのビット長よりもコード化ベクトルのビット長の方が小さくなる。なお、動きベクトルの絶対値が4である場合は、コード化ベクトルのビット長と二値ベクトルのビット長とは一致する。

このように生成されたコード化ベクトルは、binバッファ3に一旦格納された後、コード化ベクトル−二値ベクトル変換部20に入力される。これによって、コード化ベクトル−二値ベクトル変換部20は、コード化ベクトルの第1ビット列が示す個数だけ1を連続させた後に0と第2ビット列とを付加する。

例えば、コード化ベクトルが「010011111」である場合、その先頭5ビット(第1ビット列)が示す個数だけ1を連続させる。第1ビット列「01001」を10進表記すると9であるので、この場合はビット列「111111111」が得られる。そして、このビット列「111111111」の後に0と第2ビット列とを付加する。ここでは、第2ビット列(コード化ベクトルの6ビット目以降のビット列)は「1111」であるので、ビット列「111111111」の後に「01111」を付加したビット列「11111111101111」を算術符号化部4に出力する。このビット列「11111111101111」は、動きベクトルの値が−16である場合の二値ベクトルに等しい。

また、コード化ベクトルが「0101000000」である場合、その先頭5ビット(第1ビット列)が示す個数だけ1を連続させる。第1ビット列「01010」を10進表記すると10であるので、この場合はビット列「1111111111」が得られる。そして、このビット列「1111111111」の後に0と第2ビット列とを付加する。ここでは、第2ビット列(コード化ベクトルの6ビット目以降のビット列)は「00000」であるので、ビット列「1111111111」の後に「000000」を付加したビット列「1111111111000000」を算術符号化部4に出力する。このビット列「1111111111000000」は、動きベクトルの値が17である場合の二値ベクトルに等しい。

以上のように、本実施の形態4によっても、二値ベクトルの最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

なお、ここでは、第1ビット列のビット長を5ビットとしているが、本発明はこれに限定されるものではない。すなわち、第1ビット列のビット長は、二値ベクトルにおいて1が連続する個数の最大値を表現するに必要なビット長であればよい。もっとも、コード化ベクトルのビット長を小さくするためには、前記最大値を表現するに必要なビット長のうち、最小のビット長を採用するのが好ましい。

(実施の形態5)
実施の形態1から4では、二値データをコード化することとしているが、本発明はこれに限定されるものではない。例えば、符号化すべき画像の絵柄が複雑である場合は、二値データのビット長が大きくなるので、その二値データをコード化するようにし、符号化すべき画像の絵柄が複雑でない場合は、二値データのビット長が小さくなるので、その二値データをコード化することなくbinバッファ3に格納するようにしてもよい。

図14は、実施の形態5におけるCABAC符号化装置の構成図である。このCABAC符号化装置は、シンタクス二値化部1と、DCT係数二値化部11と、二値係数コード化部12と、第1の選択部S1と、binバッファ3と、コード化係数−二値係数変換部20と、第2の選択部S2と、算術符号化部4とを備えている。

第1の選択部S1は、DCT係数二値化部11によって得られた二値データと、二値係数コード化部12によって得られたコード化データのうちの一方を選択してbinバッファ3に出力するセレクタ等である。第2の選択部S2は、第1の選択部S1によって二値データが選択された場合は、binバッファ3に一時格納されている係数データをそのまま算術符号化部4に出力し、第1の選択部S1によってコード化データが選択された場合は、コード化係数−二値係数変換部20によって得られた二値データを選択して算術符号化部4に出力するセレクタ等である。第1の選択部S1によって二値データが選択されたのかコード化データが選択されたのかを第2の選択部S2が認識する手法は特に限定されるものではないが、ここでは、以下に説明する選択指示ビットを二値データとコード化データとに付加する手法を採用している。

図15は、選択指示ビットが付加された二値係数とコード化係数とを示す図である。
DCT係数二値化部11は、二値係数の先頭に選択指示ビット「0」を付加し、二値係数コード化部12は、コード化係数の先頭に選択指示ビット「1」を付加する。これによって、第1の選択部S1は、二値係数を選択する必要がある場合は、先頭が「0」から始まるビット列を選択し、コード化係数を選択する必要がある場合は、先頭が「1」から始まるビット列を選択する。第2の選択部S2も同様、二値係数を選択する必要がある場合は、先頭が「0」から始まるビット列を選択し、コード化係数を選択する必要がある場合は、先頭が「1」から始まるビット列を選択する。

二値係数とコード化係数のいずれを選択する必要があるのかを第1の選択部S1及び第2の選択部S2が判定する手法は特に限定されるものではないが、例えば、図示しない制御部からの通知に基づいて判定することができる。例えば、符号化すべき画像の絵柄が複雑である場合はコード化係数を選択するように、符号化すべき画像の絵柄が複雑でない場合は二値係数を選択するように、制御部が第1の選択部S1及び第2の選択部S2に通知するようにすればよい。

以上のように、本実施の形態5によれば、必要な場合のみコード化処理が行なわれるので、コード化処理の負荷を最小限に抑えることが可能となるとともに、binバッファに格納するデータ量を減らすことが可能となる。

なお、ここでは、DCT係数ごとに選択指示ビットが付加される構成を例示したが、本発明はこれに限定されるものではない。すなわち、選択指示ビットは、マクロブロックごと付加されてもよいし、スライスごとに付加されてもよいし、ピクチャごとに付加されてもよい。どの単位で選択指示ビットを付加するかという点については特に限定されるものではないが、細かい単位で選択指示ビットを付加するほど、細かい選択指示が可能となる反面、全体の選択指示ビット数が多くなる。従って、選択指示ビットを付加する単位は、本発明の適用場面に応じて決定するのが好ましい。

図16は、第1の選択部S1と第2の選択部S2とを備えた別の構成図である。
第1の選択部S1は、DCT係数二値化部11によって得られた二値データと、DCT係数コード化部10によって得られたコード化データのうちの一方を選択してbinバッファ3に出力する。前記したように、DCT係数コード化部10は、DCT係数の値をみることによって、DCT係数から直接コード化係数を得る。

また、ここでは、DCT係数を符号化する場合について説明したが、動きベクトルを符号化する場合も同様であることはいうまでもない。

(実施の形態6)
実施の形態1から5では、DCT係数等を符号化する装置について説明したが、本発明は、DCT係数等を復号化する装置にも適用することができる。

図17は、実施の形態6におけるCABAC復号化装置の構成図である。このCABAC復号化装置は、動画像に関するデータを復号化する装置であって、機能的には、算術復号化部5と、二値係数コード化部30と、binバッファ3と、コード化係数二値化部42と、DCT係数変換部41と、シンタクス多値化部7とを備えている。

算術復号化部5は、算術符号化されたデータを算術復号化することによって二値係数を出力する算術復号化回路等である。二値係数コード化部30は、二値係数をコード化することによってコード化係数を出力するコード化回路等である。コード化係数二値化部42は、コード化係数を二値係数に変換して出力するコード化回路等である。DCT係数変換部41は、二値係数を多値化することによって、量子化されたDCT係数を出力する変換回路等である。シンタクス多値化部7は、二値化されたシンタクスを多値化することによって、量子化されたシンタクスを出力する多値化回路等である。

本実施の形態6においても、実施の形態1から4で説明したコード化方式を採用している。従って、本実施の形態6におけるCABAC復号化装置よれば、CABAC符号化装置の場合と同様、二値係数の最大ビット長が小さくなるので、最大データ転送レートを低下させることができる。このようにbinバッファ3への最大データ転送レートが低下すると、binバッファ3の最大バンド幅を小さくすることが可能となる。

なお、実施の形態5において説明した第1の選択部S1と第2の選択部S2とをCABAC復号化装置に備えることも可能である。図18及び図19は、第1の選択部S1と第2の選択部S2を備えたCABAC復号化装置の構成図である。図18は、図14に示すCABAC符号化装置に対応しており、図19は、図16に示すCABAC符号化装置に対応している。各構成部の機能については、既に説明したので省略する。

また、ここでは、DCT係数を復号化する場合について説明したが、動きベクトルを復号化する場合も同様であることはいうまでもない。

本発明に係る符号化装置及び復号化装置は、最大データ転送レートを低下させることが必要なCABAC符号化装置及びCABAC復号化装置等の用途に適用することができる。

実施の形態1におけるCABAC符号化装置の構成図である。 DCT係数についての二値化処理の説明図である。 UEGk suffixを生成するための擬似プログラムを示す図である。 実施の形態1におけるコード化処理の説明図である。 実施の形態1におけるコード化処理の効果を示す図である。 実施の形態2におけるコード化処理の説明図である。 実施の形態2におけるコード化処理の効果を示す図である。 実施の形態3におけるCABAC符号化装置の構成図である。 動きベクトルについての二値化処理の説明図である。 実施の形態3におけるコード化処理の説明図である。 実施の形態3におけるコード化処理の効果を示す図である。 実施の形態4におけるコード化処理の説明図である。 実施の形態4におけるコード化処理の効果を示す図である。 実施の形態5におけるCABAC符号化装置の構成図である。 選択指示ビットが付加された二値係数とコード化係数とを示す図である。 実施の形態5におけるCABAC符号化装置の構成図である。 実施の形態6におけるCABAC復号化装置の構成図である。 実施の形態6におけるCABAC復号化装置の構成図である。 実施の形態6におけるCABAC復号化装置の構成図である。 CABACを用いた従来の符号化回路構成図である。 CABACを用いた従来の復号化回路構成図である。

符号の説明

1 シンタクス二値化部
3 binバッファ
4 算術符号化部
5 算術復号化部
7 シンタクス多値化部
10 DCT係数コード化部(動きベクトルコード化部)
11 DCT係数二値化部(動きベクトル二値化部)
12 二値係数コード化部(二値ベクトルコード化部)
20 コード化係数−二値係数変換部(コード化ベクトル−二値ベクトル変換部)
30 二値係数コード化部
40 コード化係数−DCT係数変換部
41 DCT係数変換部
42 コード化係数二値化部
S1 第1の選択部
S2 第2の選択部

Claims (28)

  1. 動画像に関するデータを符号化する符号化装置であって、
    量子化されたDCT係数又は動きベクトルを示す多値データを二値化した二値データのビット長の最大値が小さくなるように前記多値データをコード化する多値データコード化手段と、
    前記多値データコード化手段によって得られたコード化データを前記二値データに変換する変換手段と
    前記変換手段によって得られた二値データを算術符号化する算術符号化手段と
    を備えることを特徴とする符号化装置。
  2. 前記多値データコード化手段は、前記多値データを二値化する二値化手段と、前記二値化手段によって得られた二値データをコード化するコード化手段とを有し、
    前記変換手段は、前記コード化手段によって得られたコード化データを前記二値データに変換する
    ことを特徴とする請求項1に記載の符号化装置。
  3. 前記コード化手段は、前記二値化手段によって得られた二値データのビット長が所定の長さ以下であるか否かを判定し、判定した結果を判定ビットとして値を保存しておき、前記二値データのビット長が所定の長さ以下である場合は、二値データであることを示す判定ビットを前記二値データに付加し、前記二値データのビット長が所定の長さを超える場合は、多値データであることを示す判定ビットを前記多値データに付加し、
    前記変換手段は、前記コード化手段によって得られたコード化データに二値データであることを示す判定ビットが付加されている場合は、その判定ビットを除いたビット列を得ることによって、前記コード化データに多値データであることを示す判定ビットが付加されている場合は、その判定ビットを除いたビット列を二値化することによって、前記コード化データを前記二値データに変換する
    ことを特徴とする請求項2に記載の符号化装置。
  4. 前記所定の長さは、前記多値データのビット長である
    ことを特徴とする請求項3に記載の符号化装置。
  5. 前記コード化手段は、前記二値化手段によって得られた二値データの先頭から1が連続する個数を示す第1ビット列の後に、前記二値データにおいて最初に現れる0に後続する第2ビット列を付加することによって、前記二値データをコード化し、
    前記変換手段は、前記コード化手段によって得られたコード化データの前記第1ビット列が示す個数だけ1を連続させた後に、0と前記第2ビット列とを付加することによって、前記コード化データを前記二値データに変換する
    ことを特徴とする請求項2に記載の符号化装置。
  6. 前記第1ビット列のビット長は、前記二値データの先頭から1が連続する個数の最大値を表現するために最低限必要なビット長である
    ことを特徴とする請求項5に記載の符号化装置。
  7. 前記符号化装置はさらに、
    データを一時格納するバッファを前記コード化手段と前記変換手段との間に備える
    ことを特徴とする請求項2に記載の符号化装置。
  8. 前記符号化装置はさらに、
    前記二値化手段によって得られた二値データと、前記コード化手段によって得られたコード化データのうちの一方を選択する第1の選択手段を前記バッファの前段に備え、
    前記第1の選択手段によって前記二値データが選択された場合は、前記バッファに一時格納されている二値データを選択し、前記第1の選択手段によって前記コード化データが選択された場合は、前記変換手段によって得られた二値データを選択する第2の選択手段を前記算術符号化手段の前段に備える
    ことを特徴とする請求項7に記載の符号化装置。
  9. 前記二値化手段は、二値データを選択させるための選択指示ビットを前記二値データの先頭に付加し、
    前記コード化手段は、コード化データを選択させるための選択指示ビットを前記コード化データの先頭に付加し、
    前記第1の選択手段及び前記第2の選択手段は、前記選択指示ビットを参照することによって、前記二値データと前記コード化データのうちの一方を選択する
    ことを特徴とする請求項8に記載の符号化装置。
  10. 前記選択指示ビットは、DCT係数ごと、動きベクトルごと、マクロブロックごと、スライスごと、又はピクチャごとに付加される
    ことを特徴とする請求項9に記載の符号化装置。
  11. 前記DCT係数は、H.264/AVCにおけるcoeff_abs_level_minus1である
    ことを特徴とする請求項1に記載の符号化装置。
  12. 前記二値データは、Golomb符号化されたデータである
    ことを特徴とする請求項1に記載の符号化装置。
  13. 動画像に関するデータを復号化する復号化装置であって、
    算術符号化されたデータを算術復号化する算術復号化手段と
    前記算術復号化手段によって得られた二値データのビット長の最大値が小さくなるように前記二値データをコード化するコード化手段と、
    前記コード化手段によって得られたコード化データを、量子化されたDCT係数又は動きベクトルに変換するコード化データ変換手段
    を備えることを特徴とする復号化装置。
  14. 前記コード化データ変換手段は、前記コード化手段によって得られたコード化データを前記二値データに変換する第1の変換手段と、前記第1の変換手段によって得られた二値データを、量子化されたDCT係数又は動きベクトルに変換する第2の変換手段とを有する
    ことを特徴とする請求項13に記載の復号化装置。
  15. 前記コード化手段は、前記算術復号化手段によって得られた二値データのビット長が所定の長さ以下であるか否かを判定し、判定した結果を判定ビットとして値を保存しておき、前記二値データのビット長が所定の長さ以下である場合は、二値データであることを示す判定ビットを前記二値データに付加し、前記二値データのビット長が所定の長さを超える場合は、算術符号化されたデータであることを示す判定ビットを前記算術符号化されたデータに付加し、
    前記第1の変換手段は、前記コード化手段によって得られたコード化データに二値データであることを示す判定ビットが付加されている場合は、その判定ビットを除いたビット列を得ることによって、前記コード化データに算術符号化されたデータであることを示す判定ビットが付加されている場合は、その判定ビットを除いたビット列を二値データに変換することによって、前記コード化データを前記二値データに変換する
    ことを特徴とする請求項14に記載の復号化装置。
  16. 前記所定の長さは、前記算術符号化されたデータのビット長である
    ことを特徴とする請求項15に記載の復号化装置。
  17. 前記コード化手段は、前記算術復号化手段によって得られた二値データの先頭から1が連続する個数を示す第1ビット列の後に、前記二値データにおいて最初に現れる0に後続する第2ビット列を付加することによって、前記二値データをコード化し、
    前記第1の変換手段は、前記コード化手段によって得られたコード化データの前記第1ビット列が示す個数だけ1を連続させた後に、0と前記第2ビット列とを付加することによって、前記コード化データを二値化する
    ことを特徴とする請求項14に記載の復号化装置。
  18. 前記第1ビット列のビット長は、前記二値データの先頭から1が連続する個数の最大値を表現するために最低限必要なビット長である
    ことを特徴とする請求項17に記載の復号化装置。
  19. 前記復号化装置はさらに、
    データを一時格納するバッファを前記コード化手段と前記第1の変換手段との間に備える
    ことを特徴とする請求項14に記載の復号化装置。
  20. 前記復号化装置はさらに、
    前記算術復号化手段によって得られた二値データと、前記コード化手段によって得られたコード化データのうちの一方を選択する第1の選択手段を前記バッファの前段に備え、
    前記第1の選択手段によって前記二値データが選択された場合は、前記バッファに一時格納されている二値データを選択し、前記第1の選択手段によって前記コード化データが選択された場合は、前記第1の変換手段によって得られた二値データを選択する第2の選択手段を前記第2の変換手段の前段に備える
    ことを特徴とする請求項19に記載の復号化装置。
  21. 前記算術復号化手段は、二値データを選択させるための選択指示ビットを前記二値データの先頭に付加し、
    前記コード化手段は、コード化データを選択させるための選択指示ビットを前記コード化データの先頭に付加し、
    前記第1の選択手段及び前記第2の選択手段は、前記第1の選択指示ビット及び前記第2の選択指示ビットを参照することによって、前記二値データと前記コード化データのうちの一方を選択する
    ことを特徴とする請求項20に記載の復号化装置。
  22. 前記選択指示ビットは、DCT係数ごと、動きベクトルごと、マクロブロックごと、スライスごと、又はピクチャごとに付加される
    ことを特徴とする請求項13に記載の復号化装置。
  23. 前記DCT係数は、H.264/AVCにおけるcoeff_abs_level_minus1である
    ことを特徴とする請求項13に記載の復号化装置。
  24. 前記二値データは、Golomb符号化されたデータである
    ことを特徴とする請求項13に記載の復号化装置。
  25. 動画像に関するデータを符号化する符号化方法であって、
    量子化されたDCT係数又は動きベクトルを示す多値データを二値化した二値データのビット長の最大値が小さくなるように前記多値データをコード化する多値データコード化ステップと、
    前記多値データコード化ステップにおいて得られたコード化データを前記二値データに変換する変換ステップと
    前記変換ステップにおいて得られた二値データを算術符号化する算術符号化ステップと
    を含むことを特徴とする符号化方法。
  26. 動画像に関するデータを復号化する復号化方法であって、
    算術符号化されたデータを算術復号化する算術復号化ステップと
    前記算術復号化ステップにおいて得られた二値データのビット長の最大値が小さくなるように前記二値データをコード化するコード化ステップと、
    前記コード化ステップにおいて得られたコード化データを、量子化されたDCT係数又は動きベクトルに変換するコード化データ変換ステップ
    を含むことを特徴とする復号化方法。
  27. 動画像に関するデータを符号化する集積回路であって、
    量子化されたDCT係数又は動きベクトルを示す多値データを二値化した二値データのビット長の最大値が小さくなるように前記多値データをコード化する多値データコード化手段と、
    前記多値データコード化手段によって得られたコード化データを前記二値データに変換する変換手段と
    前記変換手段によって得られた二値データを算術符号化する算術符号化手段と
    を備えることを特徴とする集積回路。
  28. 動画像に関するデータを復号化する集積回路であって、
    算術符号化されたデータを算術復号化する算術復号化手段と
    前記算術復号化手段によって得られた二値データのビット長の最大値が小さくなるように前記二値データをコード化するコード化手段と、
    前記コード化手段によって得られたコード化データを、量子化されたDCT係数又は動きベクトルに変換するコード化データ変換手段
    を備えることを特徴とする集積回路。
JP2005305786A 2005-10-20 2005-10-20 符号化装置及び復号化装置 Expired - Fee Related JP4540585B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005305786A JP4540585B2 (ja) 2005-10-20 2005-10-20 符号化装置及び復号化装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005305786A JP4540585B2 (ja) 2005-10-20 2005-10-20 符号化装置及び復号化装置
US11/582,440 US7817864B2 (en) 2005-10-20 2006-10-18 Coding apparatus and decoding apparatus
CNA2006101528208A CN1953552A (zh) 2005-10-20 2006-10-20 编码装置及解码装置

Publications (3)

Publication Number Publication Date
JP2007116436A5 JP2007116436A5 (ja) 2007-05-10
JP2007116436A JP2007116436A (ja) 2007-05-10
JP4540585B2 true JP4540585B2 (ja) 2010-09-08

Family

ID=37985455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005305786A Expired - Fee Related JP4540585B2 (ja) 2005-10-20 2005-10-20 符号化装置及び復号化装置

Country Status (3)

Country Link
US (1) US7817864B2 (ja)
JP (1) JP4540585B2 (ja)
CN (1) CN1953552A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4368575B2 (ja) 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
US8098735B2 (en) * 2006-12-21 2012-01-17 Lsi Corporation Efficient 8×8 CABAC residual block decode
US8259793B2 (en) * 2007-03-19 2012-09-04 Sony Corporation System and method of fast MPEG-4/AVC quantization
JPWO2008129855A1 (ja) * 2007-04-11 2010-07-22 パナソニック株式会社 画像データ復号化装置、画像データ復号化方法
KR101539240B1 (ko) 2007-06-14 2015-07-30 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
US8411745B2 (en) * 2007-07-18 2013-04-02 Humax Co., Ltd. Method and apparatus for coding and decoding using bit-precision
JP4915350B2 (ja) 2008-01-16 2012-04-11 日本電気株式会社 エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
JP5736032B2 (ja) * 2010-04-09 2015-06-17 株式会社Nttドコモ 算術符号化のための適応型2値化
JP5706771B2 (ja) * 2010-07-30 2015-04-22 キヤノン株式会社 動画像の予測符号化装置及びその制御方法、コンピュータプログラム
CN103220509B (zh) * 2012-01-21 2017-12-15 中兴通讯股份有限公司 自适应控制算术编码bin数量的方法、编码器和解码器
TWI508462B (zh) * 2012-06-11 2015-11-11 Mstar Semiconductor Inc 一元/k階指數哥倫布碼之解碼方法及解碼器
CN105940676B (zh) 2014-01-24 2019-06-21 联发科技股份有限公司 解码装置与相关的解码方法
US10750198B2 (en) 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
US10264285B2 (en) * 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
KR101573334B1 (ko) 2014-08-07 2015-12-01 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
KR101540563B1 (ko) 2014-12-01 2015-08-06 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
KR101573684B1 (ko) 2015-03-16 2015-12-11 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
CN106303519A (zh) * 2015-05-26 2017-01-04 北京君正集成电路股份有限公司 一种视频编码方法及装置
KR101573340B1 (ko) 2015-06-24 2015-12-11 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
KR101731431B1 (ko) 2015-11-25 2017-04-28 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003318740A (ja) * 2002-04-23 2003-11-07 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2004007381A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2004135251A (ja) * 2002-10-10 2004-04-30 Sony Corp 画像情報符号化方法及び画像情報復号方法
WO2005041420A1 (ja) * 2003-10-29 2005-05-06 Nec Corporation 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7286710B2 (en) * 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7660355B2 (en) * 2003-12-18 2010-02-09 Lsi Corporation Low complexity transcoding between video streams using different entropy coding
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7501964B2 (en) * 2007-04-16 2009-03-10 Texas Instruments Incorporated Entropy coding for digital codecs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007381A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2003318740A (ja) * 2002-04-23 2003-11-07 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2004135251A (ja) * 2002-10-10 2004-04-30 Sony Corp 画像情報符号化方法及び画像情報復号方法
WO2005041420A1 (ja) * 2003-10-29 2005-05-06 Nec Corporation 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置

Also Published As

Publication number Publication date
CN1953552A (zh) 2007-04-25
US7817864B2 (en) 2010-10-19
JP2007116436A (ja) 2007-05-10
US20070092150A1 (en) 2007-04-26

Similar Documents

Publication Publication Date Title
US10321131B2 (en) Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
US9338478B2 (en) Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
US10305510B2 (en) Methods and apparatus for unified significance map coding
US9491469B2 (en) Coding of last significant transform coefficient
TWI554082B (zh) 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新
US9866850B2 (en) Method of determining binary codewords for transform coefficients
US7777654B2 (en) System and method for context-based adaptive binary arithematic encoding and decoding
US9462275B2 (en) Residual quad tree (RQT) coding for video coding
ES2746961T3 (es) Procedimiento, aparato y sistema para codificar y descodificar un subconjunto de unidades de transformación de datos de vídeo codificados
KR100188427B1 (ko) 디지탈 통신시스템용 가변길이 코드워드디코더 및 그 디코딩 방법
JP4897888B2 (ja) メモリ効率の良い(memoryefficient)適応形ブロックコーディング
JP2018521555A (ja) 高度算術コーダ
JP4113114B2 (ja) Golomb−riceコーディングを使用するdct圧縮
KR100952892B1 (ko) 비디오 데이타의 인트라코딩 방법 및 장치
JP4897887B2 (ja) 可変長コードのメモリ効率の良いコーディング
JP4295356B1 (ja) 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JP4677901B2 (ja) 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置
KR100648258B1 (ko) 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더
US7085424B2 (en) Method and system for compressing motion image information
JP5069571B2 (ja) 復号処理装置
US20130114673A1 (en) Context reduction for context adaptive binary arithmetic coding
US9521433B2 (en) Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program
JP2014501084A (ja) ビデオコーディングにおける並列コンテキスト計算
US7974343B2 (en) Entropy coding method for coding video prediction residual coefficients

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100531

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees