(57)【要約】【課題】算術符号化処理が中断される確率を低減した算術符号化装置を提供する。【解決手段】算術符号化装置１００は、２値算術符号化部１の算術符号化の結果の未確定ビットを保持する未確定ビットカウンタ４、少出力符号生成部１１と符号ストリームバッファ１２とを備える少未確定ビット出力部１０、未確定ビットコピーカウンタ２１と多出力符号生成部２２とを備える多未確定ビット出力部２０、未確定ビットカウンタ４の値の大小により出力系統を選択する出力系統選択部５、及び多未確定ビット出力部２０から符号出力されている場合には符号を出力し、多未確定ビット出力部２０から符号出力されておらず、かつ少未確定ビット出力部１０からは符号出力されている場合には少未確定ビット出力部１０から符号を出力する出力選択部６等を備える。【選択図】図１
2008219648.tif 000002
【特許請求の範囲】
【請求項１】
確率情報を用いて算術符号化を行う算術符号化手段と、
前記算術符号化手段による算術符号化の結果、未確定ビットとなっているビット数を保持する未確定ビット数蓄積手段と、
前記未確定ビット数蓄積手段に蓄積されている値が所定の閾値より小さい場合は符号出力処理を行う少未確定ビット出力手段と、
前記未確定ビット数蓄積手段に蓄積されている値が前記閾値以上の場合は符号出力処理を行う多未確定ビット出力手段と、
前記未確定ビット数蓄積手段に蓄積されている値と前記閾値の比較を行い、前記少未確定ビット出力手段または前記多未確定ビット出力手段に前記算術符号化手段より出力される符号出力処理を指示する出力系統選択手段と、
前記多未確定ビット出力手段から符号出力されている場合には前記多未確定ビット出力手段からの出力符号を選択し、前記多未確定ビット出力手段からは符号出力されておらず、かつ前記少未確定ビット出力手段からは符号出力される場合には前記少未確定ビット出力手段からの出力符号を選択する出力選択手段とを備える
ことを特徴とする算術符号化装置。
【請求項２】
前記少未確定ビット出力手段は、
前記未確定ビット数蓄積手段に蓄積された値を用いて符号語を生成する少出力符号生成部と、
前記少出力符号生成部で生成した符号語を蓄積する符号語蓄積部とを備える
ことを特徴とする請求項１記載の算術符号化装置。
【請求項３】
前記多未確定ビット出力手段から符号出力されている場合には、前記少出力符号生成部において生成した符号語を前記符号語蓄積部に蓄積し、
前記出力選択手段は、前記多未確定ビット出力手段から符号出力が終了した後に、前記少未確定ビット出力手段の前記符号語蓄積部からの符号出力を選択する
ことを特徴とする請求項２記載の算術符号化装置。
【請求項４】
前記算術符号化装置は、さらに、
前記少未確定ビット出力手段の前記符号語蓄積部の蓄積能力を超える符号出力がある場合に、前記算術符号化手段に算術符号化停止を指示する算術符号化停止判定手段を備える
ことを特徴とする請求項１記載の算術符号化装置。
【請求項５】
前記多未確定ビット出力手段は、
前記未確定ビット数をコピーして保持する未確定ビット数コピー蓄積部と、
前記未確定ビット数コピー蓄積手段に保持された値を用いて符号語を生成する多出力符号生成部とを備える
ことを特徴とする請求項１または２記載の算術符号化装置。
【請求項６】
前記出力系統選択手段は、前記未確定ビット数蓄積手段に蓄積されている値が前記閾値以上の場合であって、かつ前記未確定ビット数コピー蓄積部の値が０、かつ前記符号語蓄積部が空の場合には、前記未確定ビット数蓄積手段に蓄積されている値を前記未確定ビット数コピー蓄積部にコピーすると共に、前記未確定ビット数蓄積手段に蓄積されている値を０に戻し、前記多未確定ビット出力手段からの符号出力処理を選択する
ことを特徴とする請求項５記載の算術符号化装置。
【請求項７】
前記出力系統選択手段は、前記未確定ビット数蓄積手段に蓄積されている値が前記閾値以上の場合であって、かつ前記未確定ビット数コピー蓄積部の値が０、かつ前記符号語蓄積部が空でない場合には、前記少未確定ビット出力手段の符号出力処理を選択し、
前記少未確定ビット出力手段の前記少出力符号生成部は、生成した符号語を前記符号語蓄積部に蓄積し、
前記出力選択手段は、前記多未確定ビット出力手段からの符号出力が終了した後に、前記符号語蓄積部に蓄積された符号出力処理を行うために前記少未確定ビット出力手段からの符号出力を選択する
ことを特徴とする請求項５または６記載の算術符号化装置。
【請求項８】
前記算術符号化装置は、さらに、
前記少未確定ビット出力手段へ処理能力を超えるビット出力処理指示がある場合に、算術符号化対象信号の前記算術符号化手段への入力停止を指示する信号入力停止判定手段を備える
ことを特徴とする請求項１記載の算術符号化装置。
【請求項９】
前記算術符号化装置は、さらに、
前記少未確定ビット出力手段と前記多未確定ビット出力手段の出力符号に、符号出力順序を表す符号カウント値を付与すると共に、任意の順序で出力する出力選択手段を備える
ことを特徴とする請求項１記載の算術符号化装置。
【請求項１０】
前記出力選択手段は、前記符号語蓄積部の蓄積処理量があふれる場合に、符号出力順序を示す前記符号カウント値を前記出力符号に付与し、前記多未確定ビット出力手段からの出力よりも前記少未確定ビット出力手段の前記符号語蓄積部からの符号出力を優先して行う
ことを特徴とする請求項９記載の算術符号化装置。
【請求項１１】
前記閾値は、前記符号語蓄積部のビット幅で保持できる値以下である
ことを特徴とする請求項１から１０の何れかに記載の算術符号化装置。
【請求項１２】
確率情報を用いて算術符号化を行う算術符号化手段と、
前記算術符号化手段による算術符号化の結果、未確定ビットとなっているビット数を保持する少未確定ビット数蓄積手段と、
前記少未確定ビット数蓄積手段に蓄積された値を用いて符号語を生成する少出力符号生成部と前記生成した符号語を蓄積する符号語蓄積部とを有する少未確定ビット出力手段と、
前記未確定ビット数を保持する多未確定ビット蓄積部と前記多未確定ビット数蓄積手段に保持された値を用いて符号語を生成する多出力符号生成部とを有する多未確定ビット出力手段と、
前記多未確定ビット蓄積部が０で、かつ符号語蓄積部が空でない場合は前記多未確定ビット出力手段に、前記多未確定ビット蓄積部が０で、かつ符号語蓄積部が空である場合は前記少未確定ビット出力手段に、前記算術符号化手段より出力される符号出力処理および未確定ビット数の加算と符号出力処理を指示する出力系統選択手段と、
前記多未確定ビット出力手段から符号出力されている場合には前記多未確定ビット出力手段からの出力符号を、前記多未確定ビット出力手段からは符号出力されておらず、かつ前記少未確定ビット出力手段からは符号出力されている場合には前記少未確定ビット出力手段からの出力符号を出力する出力選択手段とを備える
ことを特徴とする算術符号化装置。
【請求項１３】
確率情報を用いて算術符号化を行う算術符号化ステップと、
前記算術符号化ステップにおける算術符号化の結果、未確定ビットとなっているビット数を保持する未確定ビット数蓄積ステップと、
前記未確定ビット数蓄積ステップにおいて蓄積されている値が所定の閾値より小さい場合は符号出力処理を行う少未確定ビット出力ステップと、
前記未確定ビット数蓄積ステップにおいて蓄積されている値が前記閾値以上の場合は符号出力処理を行う多未確定ビット出力ステップと、
前記未確定ビット数蓄積ステップにおいて蓄積されている値と前記閾値の比較を行い、前記少未確定ビット出力ステップまたは前記多未確定ビット出力ステップにおいて前記算術符号化ステップより出力される符号出力処理を指示する出力系統選択ステップと、
前記多未確定ビット出力ステップにおいて符号出力されている場合には前記多未確定ビット出力ステップからの出力符号を選択し、前記多未確定ビット出力ステップにおいて符号出力されておらず、かつ前記少未確定ビット出力ステップにおいて符号出力される場合には前記少未確定ビット出力ステップからの出力符号を選択する出力選択ステップとを含む
ことを特徴とする算術符号化方法。
【請求項１４】
確率情報を用いて算術符号化を行う算術符号化ステップと、
前記算術符号化ステップにおける算術符号化の結果、未確定ビットとなっているビット数を保持する未確定ビット数蓄積ステップと、
前記未確定ビット数蓄積ステップにおいて蓄積されている値が所定の閾値より小さい場合は符号出力処理を行う少未確定ビット出力ステップと、
前記未確定ビット数蓄積ステップにおいて蓄積されている値が前記閾値以上の場合は符号出力処理を行う多未確定ビット出力ステップと、
前記未確定ビット数蓄積ステップにおいて蓄積されている値と前記閾値の比較を行い、前記少未確定ビット出力ステップまたは前記多未確定ビット出力ステップにおいて前記算術符号化ステップより出力される符号出力処理を指示する出力系統選択ステップと、
前記多未確定ビット出力ステップにおいて符号出力されている場合には前記多未確定ビット出力ステップからの出力符号を選択し、前記多未確定ビット出力ステップにおいて符号出力されておらず、かつ前記少未確定ビット出力ステップにおいて符号出力される場合には前記少未確定ビット出力ステップからの出力符号を選択する出力選択ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項１５】
確率情報を用いて算術符号化を行う算術符号化回路と、
前記算術符号化回路による算術符号化の結果、未確定ビットとなっているビット数を保持する未確定ビット数蓄積回路と、
前記未確定ビット数蓄積回路に蓄積されている値が所定の閾値より小さい場合は符号出力処理を行う少未確定ビット出力回路と、
前記未確定ビット数蓄積回路に蓄積されている値が前記閾値以上の場合は符号出力処理を行う多未確定ビット出力回路と、
前記未確定ビット数蓄積回路に蓄積されている値と前記閾値の比較を行い、前記少未確定ビット出力回路または前記多未確定ビット出力回路に前記算術符号化回路より出力される符号出力処理を指示する出力系統選択回路と、
前記多未確定ビット出力回路から符号出力されている場合には前記多未確定ビット出力回路からの出力符号を選択し、前記多未確定ビット出力回路からは符号出力されておらず、かつ前記少未確定ビット出力回路からは符号出力される場合には前記少未確定ビット出力回路からの出力符号を選択する出力選択回路とを備える
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像や音声などのデータを算術符号化する算術符号化装置に関し、特に、Ｈ．２６４／ＡＶＣ規格に対応した算術符号化装置に関する。
【背景技術】
【０００２】
近年、デジタル映像技術の発展とともに、扱われる映像データ、特に動画像のデータ量は増加の一途を辿っている。例えば、最近実用化されているＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像では、従来のＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）映像と比べて、約６倍のデータ量となっている。
【０００３】
一方、コンピュータやその他機器の情報処理能力の向上に伴い、複雑な演算を用いた動画圧縮が可能となっており、映像データの圧縮率は大幅に高められてきている。近年規格化されたＨ．２６４／ＡＶＣは、ＭＰＥＧ‐２の２倍前後の圧縮率を実現する規格である。Ｈ．２６４／ＡＶＣでは、多くの圧縮化技術を組み合わせることで高い圧縮率を実現している。このため、従来の圧縮方式に比べ演算量も大幅に増加している。
【０００４】
Ｈ．２６４／ＡＶＣで採用されている圧縮化技術の一つにエントロピー符号化（可変長符号化）がある。Ｈ．２６４／ＡＶＣではエントロピー符号化の方式として、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）とＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）という２つの方式が用意されている。ＣＡＢＡＣはＣＡＶＬＣに比べ、一般的により複雑な演算を要するものの高い符号圧縮率を実現する。
【０００５】
ＣＡＢＡＣでの符号化は主に２つの処理に分けられる。１つ目は符号化すべき多値データを２値データに変換する２値化と呼ばれる処理である。２つ目は２値化によって得られた２値データの発生確率を計算および更新し、算術符号化を行う処理である。
【０００６】
図１７に示す画像符号化装置１７００は、入力された画像データを符号化し、符号ストリームとして出力するＣＡＢＡＣを用いた画像符号化装置の一例である。画像符号化装置１７００の動作の概要を以下に説明する。
【０００７】
符号化対象の画像データは、まず画面間予測部５０１と画面内予測部５０２に入力される。画面間予測部５０１は、符号化対象のブロックを含むピクチャとは異なるピクチャから、その符号化対象ブロックと相関の高いブロックを検出する。さらに、符号化対象ブロックと検出されたブロックとの差分画像を求め、その差分画像と動きベクトルを出力する。
【０００８】
画面内予測部５０２は、画面内の符号化対象ブロックの画像を、隣接するブロックの画像を用いて予測する。さらに、符号化対象ブロックの画像と予測された画像の差分画像を求め、その差分画像と予測の方式を表すデータを出力する。
【０００９】
入力選択部５０３は、画面間予測部５０１と画面内予測部５０２から出力されたデータのいずれかを、それぞれのデータ量等に基づいて選択し、直交変換部５０４に入力する。
【００１０】
直交変換部５０４が行う直交変換により得られる直交変換係数は量子化部５０５に入力され、量子化部５０５により量子化される。
【００１１】
量子化された直交変換係数である量子化後係数は、２値化部５０６により２値データに変換され算術符号化部５０７に入力される。算術符号化部５０７で符号化された結果は、符号ストリームとして画像符号化装置１７００より出力される。
【００１２】
そして、算術符号化処理を行う算術符号化装置の技術が開示されている（例えば、特許文献１参照）。図１８の算術符号化装置１０００は、算術符号化の処理を実現する算術符号化装置の一例である。算術符号化装置１０００の動作について以下に説明する。
【００１３】
まず、２値算術符号化部１００１は、入力される２値データについて、確率情報保持部１００２に保持された確率情報を元に符号化の処理を行う。次に、２値算術符号化部１００１は再正規化の処理を行い、再正規化処理の結果に応じて未確定ビットカウンタ１００４の値のインクリメント、あるいは出力符号処理部１００３へのビット出力処理の指示を行う。また確率情報保持部１００２に保持された確率情報を更新する。出力符号処理部１００３は、２値算術符号化部１００１からビット出力の指示が来た場合、指示されたビットを出力する。その後、未確定ビットカウンタ１００４を参照し、未確定ビット数が０より多ければ、未確定カウンタ１００４の値を減少させながら符号ストリームを出力する。
【００１４】
具体的には、Ｈ．２６４の算術符号化処理においては、値の０／１が未決定のまま２値算術符号化部１００１から出力されるビット数は一時的に未確定ビットカウンタ１００４に保持され、未確定ビットの０／１が確定した後に、未確定ビットカウンタ１００４に保持されている符号語が出力符号生成部１００３から出力される。
【００１５】
次に、２値算術符号化部での処理の詳細について、以下に説明する。
Ｈ．２６４の算術符号化は、図１２に示す確率幅ｃｏｄＩＲａｎｇｅと確率下限値ｃｏｄＩＬｏｗを符号化対象シンボルの発生確率に基づいて更新していく符号化（ＥｎｃｏｄｅＤｅｃｉｓｉｏｎ）、図１３に示すｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗの値の正規化する再正規化（ＲｅｎｏｒｍＥ）、図１４に示す確定した符号ビットを出力するビット出力（ＰｕｔＢｉｔ）という３つの処理によって実行する。なお、ｃｏｄＩＲａｎｇｅは９ビット、ｃｏｄＩＬｏｗは１０ビットのデータ領域を持つ。
【００１６】
まず、図１２のフローチャートに示す符号化の処理について説明する。
符号化に用いる情報は、符号化対象シンボルｂｉｎＶａｌ、符号化中のコンテキストにおける優勢シンボルと遷移状態番号をそれぞれ表すｖａｌＭＰＳ、ｐＳｔａｔｅＩｄｘである。なお算術符号化の開始時に、ｃｏｄＩＲａｎｇｅ＝０ｘ０１ＦＥ、ｃｏｄＩＬｏｗ＝０に初期化される。またｖａｌＭＰＳとｐＳｔａｔｅＩｄｘも、量子化パラメータに応じて規格に規定されたとおり初期化される。符号化の処理では、ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗを入力シンボルｂｉｎＶａｌに応じて図１５に示すように優勢シンボルまたは劣勢シンボルの確率に更新する。
【００１７】
以降、図１２のフローチャートについて説明する。
はじめに、ステップＳ１０１でｃｏｄＩＲａｎｇｅの上位桁とｐＳｔａｔｅＩｄｘの値より、規格で規定されたテーブルｒａｎｇｅＴａｂＬＰＳに基づいて劣勢シンボルの確率幅ｃｏｄＩＲａｎｇｅＬＰＳを求める。また、ｃｏｄＩＲａｎｇｅを優勢シンボルの確率幅（ｃｏｄＩＲａｎｇｅ−ｃｏｄＩＲａｎｇｅＬＰＳ）に更新する。
【００１８】
ステップＳ１０２でｂｉｎＶａｌが優勢シンボルであるか、劣勢シンボルであるかを判定する。ｂｉｎＶａｌが優勢シンボルである場合、ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗについては既に優勢シンボルの値に更新されているため、さらに値を更新する必要はない。ステップＳ１２１で規格に規定されたテーブルｔｒａｎｓＩｄｘＭＰＳに基づいて、ｐＳｔａｔｅＩｄｘのみを更新する。
【００１９】
ｂｉｎＶａｌが劣勢シンボルである場合は、ステップＳ１１１でｃｏｄＩＬｏｗを劣勢シンボルの確率下限値（ｃｏｄＩＬｏｗ＋ｃｏｄＩＲａｎｇｅ）に、ｃｏｄＩＲａｎｇｅを劣勢シンボルの確率幅ｃｏｄＩＲａｎｇｅＬＰＳに更新する。さらにステップＳ１１２でｐＳｔａｔｅＩｄｘが０か否かの判定を行い、ｐＳｔａｔｅＩｄｘ＝０の場合はステップＳ１１３でｖａｌＭＰＳの０と１を入れかれる。また、ステップＳ１１４で規格に規定されたテーブルｔｒａｎｓＩｄｘＬＰＳに基づいて、ｐＳｔａｔｅＩｄｘを更新する。以上の処理を実行した後、再正規化の処理を行う。
【００２０】
次に図１３のフローチャートに示す再正規化の処理について説明する。
再正規化に用いる情報は、ｃｏｄＩＲａｎｇｅ、ｃｏｄＩＬｏｗ、値が未確定の出力ビット数を格納する変数ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇである。なお算術符号化の開始時に、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇは０に初期化される。
【００２１】
まず、変数ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇについて説明する。再正規化処理ではｃｏｄＩＲａｎｇｅが０ｘ１００以上となるまで、ｃｏｄＩＲａｎｇｅ、ｃｏｄＩＬｏｗの値を２倍することを繰り返す。このときｃｏｄＩＬｏｗのデータ領域から桁あふれする最上位の確定ビットを符号として出力する。しかしｃｏｄＩＬｏｗ≧０ｘ１００かつｃｏｄＩＬｏｗ＜０ｘ２００の場合、図１６に示すようにｃｏｄＩＬｏｗの最上位桁の値は再正規化を実行する時点では０か１か確定していない可能性がある。そのような未確定のビットの数を変数ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇに一時的に保持する。
【００２２】
以降、図１３のフローチャートについて説明する。
ステップＳ１３０１でｃｏｄＩＲａｎｇｅが０ｘ１００より小さいか否かを判定し、ｃｏｄＩＲａｎｇｅが０ｘ１００以上の場合は再正規化の処理を終了する。ｃｏｄＩＲａｎｇｅが０ｘ１００より小さい場合は、ステップＳ１３０２とステップＳ１３０３でｃｏｄＩＬｏｗの大きさを判定し、その大きさに応じた処理を行う。
【００２３】
（１）ｃｏｄＩＬｏｗ＜０ｘ１００の場合、ｃｏｄＩＬｏｗの最上位ビットは０と確定し      ている。よって、ステップＳ１３１１で後述するＰｕｔＢｉｔ（０）の処理を実行      する。
（２）ｃｏｄＩＬｏｗ≧０ｘ１００かつｃｏｄＩＬｏｗ＜０ｘ２００の場合、ｃｏｄＩＬ      ｏｗの最上位ビットは０か１か確定していない。よって、ステップＳ１３１２でｃ      ｏｄＩＬｏｗから０ｘ１００を減算し、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇを１イン      クリメントする。
（３）ｃｏｄＩＬｏｗ≧０ｘ２００の場合、ｃｏｄＩＬｏｗの最上位ビットは１と確定し      ている。よって、ステップＳ１３１３でｃｏｄＩＬｏｗから０ｘ２００を減算し、      後述するＰｕｔＢｉｔ（１）の処理を実行する。
【００２４】
この後、ステップＳ１３０２でｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗの値をともに１ビット左シフト（２倍）し、ステップＳ１３０１に戻る。
【００２５】
最後に、図１４のフローチャートに示すビット出力の処理について説明する。
ビット出力の処理に用いる情報は、出力シンボルＢ、ｂｉｔｓＯｕｔｓｔａｎｄｉｎｇ、スライスの先頭ビットのフラグであるｆｉｒｓｔＢｉｔＦｌａｇがある。なお算術符号化の開始時に、ｆｉｒｓｔＢｉｔＦｌａｇは１に初期化される。
【００２６】
以降、図１４のフローチャートについて説明する。
はじめに、ステップＳ１４０１でｆｉｒｓｔＢｉｔＦｌａｇによって符号化結果出力の要否を判定する。ｆｉｒｓｔＢｉｔＦｌａｇが１であり最初のビット出力処理である場合は、ステップＳ１４０２でｆｉｒｓｔＢｉｔＦｌａｇ＝０とし、符号ビットは出力しない。一方、ｆｉｒｓｔＢｉｔＦｌａｇ＝０の場合は、ステップＳ１４０３でビットＢを出力する。図１４において、ＷｒｉｔｅＢｉｔ（Ｂ）は、ビットＢを出力することを意味する。
【００２７】
そして、これに続いてステップＳ１４０４、ステップＳ１４０５のループ処理でｂｉｔｓＯｕｔｓｔａｎｄｉｎｇ個の（１−Ｂ）の値が連続するビット列を出力する。また、出力したビット列の数だけｂｉｔｓＯｕｔｓｔａｎｄｉｎｇを減算する。
【特許文献１】特公平７−１２３２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかしながら、上記図１８に示すような従来の算術符号化装置では以下のような問題がある。
【００２９】
未確定ビットカウンタ１００４でカウントされる未確定ビットはビット出力処理が行われるまで増加し続けるため、非常に大きな値となる可能性がある。しかし、一般に算術符号化装置からの符号ストリーム出力のバス幅には制限がある。このため、出力符号処理部１００３は一度のビット出力の指示に対して、符号出力を完了するまでに複数サイクルを要する可能性がある。具体的には、符号ストリームの出力バス幅をＷとすると、出力符号処理部１００３はｆｉｒｓｔＢｉｔＦｌａｇ＝０かつｂｉｔｓＯｕｔｓｔａｎｄｉｎｇ＝Ｎでビット出力を指示された場合、Ｎ＋１／Ｗ（小数点以下を切り上げ）サイクルだけ処理時間を要する。
【００３０】
ここで、出力符号生成部１００３が処理中の間は、算術符号化停止判定部１０３０から２値算術符号化部１００１へ算術符号化停止が指示され、未確定ビットカウンタ１００４のインクリメントと出力符号処理部１００３へのビット出力処理の指示は行えない。このため未確定ビットカウンタ１００４に大きな値が繰り返し蓄積される場合には、２値算術符号化部１００１での算術符号化が度々中断され、算術符号化処理に要する時間が増大する。
【００３１】
つまり、Ｈ．２６４の算術符号化処理においては、大きなｂｉｔｓＯｕｔｓｔａｎｄｉｎｇ値が未確定ビットカウンタ１００４に蓄積された後、符号語が確定しそれを出力符号生成部１００３から出力する場合に、２値算術符号化部１００１での算術符号化処理が中断されるという問題がある。
【００３２】
そこで本発明は、以上の課題に鑑みてなされたものであり、未確定ビットカウンタに大きな値が蓄積された場合でも、算術符号化処理が停止する確率を低減できる算術符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００３３】
上記従来の課題を解決するため、本発明の算術符号化装置は、確率情報を用いて算術符号化を行う算術符号化手段と、前記算術符号化手段による算術符号化の結果、未確定ビットとなっているビット数を保持する未確定ビット数蓄積手段と、前記未確定ビット数蓄積手段に蓄積されている値が所定の閾値より小さい場合は符号出力処理を行う少未確定ビット出力手段と、前記未確定ビット数蓄積手段に蓄積されている値が前記閾値以上の場合は符号出力処理を行う多未確定ビット出力手段と、前記未確定ビット数蓄積手段に蓄積されている値と前記閾値の比較を行い、前記少未確定ビット出力手段または前記多未確定ビット出力手段に前記算術符号化手段より出力される符号出力処理を指示する出力系統選択手段と、前記多未確定ビット出力手段から符号出力されている場合には前記多未確定ビット出力手段からの出力符号を選択し、前記多未確定ビット出力手段からは符号出力されておらず、かつ前記少未確定ビット出力手段からは符号出力される場合には前記少未確定ビット出力手段からの出力符号を選択する出力選択手段とを備えることを特徴とする。
【００３４】
この構成により、未確定ビット蓄積手段に蓄積されているカウンタ値と閾値とを比較して、出力選択手段は、カウンタ値が閾値以上の場合には、多未確定ビット出力手段からの符号出力処理を行い、カウンタ値が閾値未満の場合には、少未確定ビット出力手段からの符号出力を選択できるために、未確定ビット蓄積手段に蓄積されている値に応じて符号出力系統を変更して、算術符号化手段の算術符号化処理が停止する可能性を確実に低減できる。
【００３５】
また、本発明に係る算術符号化装置の前記少未確定ビット出力手段は、前記未確定ビット数蓄積手段に蓄積された値を用いて符号語を生成する少出力符号生成部と、前記少出力符号生成部で生成した符号語を蓄積する符号語蓄積部とを備えることを特徴とする。また、本発明に係る算術符号化装置において、前記多未確定ビット出力手段から符号出力されている場合には、前記少出力符号生成部において生成した符号語を前記符号語蓄積部に蓄積し、前記出力選択手段は、前記多未確定ビット出力手段から符号出力が終了した後に、前記少未確定ビット出力手段の符号語蓄積部からの符号出力を選択することを特徴とする。
【００３６】
これらの構成により、多未確定ビット出力手段からの符号出力処理が選択されている場合でも、少未確定ビット出力手段の少出力符号生成部で符号生成処理を行って、その結果を符号語蓄積部に一時的に蓄積して、多未確定ビット出力手段における符号出力が終了した後に蓄積された符号語を少未確定ビット出力部から出力できる。すなわち、少未確定ビット出力手段は、符号語蓄積部を備えることにより、多未確定ビット出力手段が符号出力を完了するまでは符号出力を行わず、多未確定ビット出力手段の符号出力完了後に符号語蓄積部からの符号出力を行うことができため、算術符号化手段の算術符号化処理が停止する可能性を確実に低減できる。
【００３７】
また、本発明に係る算術符号化装置の前記多未確定ビット出力手段は、前記未確定ビット数をコピーして保持する未確定ビット数コピー蓄積部と、前記未確定ビット数コピー蓄積手段に保持された値を用いて符号語を生成する多出力符号生成部とを備えることを特徴とする。また、本発明に係る算術符号化装置の前記出力系統選択手段は、前記未確定ビット数蓄積手段に蓄積されている値が前記閾値以上の場合であって、かつ前記未確定ビット数コピー蓄積部の値が０、かつ前記符号語蓄積部が空の場合には、前記未確定ビット数蓄積手段に蓄積されている値を前記未確定ビット数コピー蓄積部にコピーすると共に、前記未確定ビット数蓄積手段に蓄積されている値を０に戻し、前記多未確定ビット出力手段からの符号出力処理を選択することを特徴とする。
【００３８】
これらの構成により、未確定ビット数蓄積手段に大きな値が蓄積された状態で算術符号化手段より符号出力処理が指示される場合、すなわち、前記未確定ビット蓄積手段のカウンタ数が閾値以上の場合であって、かつ未確定ビット数コピー蓄積部の値が０の場合には、未確定ビット数コピー蓄積部にカウント値をコピーし、多未確定ビット出力手段に符号出力処理を実行させる。その後、多未確定ビット出力手段が符号出力を完了するまでに符号出力処理が指示される場合は、未確定ビット数コピー蓄積部にカウント値をコピーして未確定ビット数蓄積手段の値は０に戻っていること利用し、少未確定ビット出力手段の符号語蓄積部に空きがある限りは符号化処理を続けることが可能であり、算術符号化手段の算術符号化処理が停止する可能性を確実に低減できる。
【００３９】
なお、本発明は、このような算術符号化装置として実現することができるだけでなく、このような算術符号化装置が備える特徴的な手段をステップとする算術符号化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したり、集積回路として実現することができる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００４０】
本発明の算術符号化装置によれば、未確定ビットカウンタに大きな値が蓄積された場合でも、従来の算術符号化装置に比べ算術符号化処理が停止する確率を確実に低減できるという作用効果を奏する。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００４２】
（実施の形態１）
図１は、本発明の実施の形態１の算術符号化装置の機能的な構成を示す機能ブロック図である。
【００４３】
本実施の形態の算術符号化装置１００は、２値算術符号化部１と、確率情報保持部２と、未確定ビットカウンタ４と、出力系統選択部５と、少未確定ビット出力部１０と、多未確定ビット出力部２０と、算術符号化停止判定部４１と、出力選択部６を備える。少未確定ビット出力部１０は、少出力符号生成部１１と、符号ストリームバッファ１２を備える。一方、多未確定ビット出力部２０は、未確定ビットコピーカウンタ２１と多出力符号生成部２２を備える。
【００４４】
次に、本実施の形態１に係る算術符号化装置１００の動作手順について、図２に示すフローチャートと共に説明を行う。
【００４５】
まず、２値算術符号化部１は、入力される２値データについて、確率情報保持部２に保持された確率情報を元に符号化の処理を行う（ステップＳ２０１）。
【００４６】
次に、２値算術符号化部１は再正規化の処理を行いｃｏｄＩＲａｎｇｅが０ｘ１００より小さいか否かを判定し（ステップＳ２０２）、ｃｏｄＩＲａｎｇｅが０ｘ１００以上の場合には（ステップＳ２０２でＮｏ）、再正規化の処理を終了する。
【００４７】
一方、ｃｏｄＩＲａｎｇｅが０ｘ１００より小さい場合には（ステップＳ２０２でＹｅｓ）、２値算術符号化部１は、未確定ビットが発生しているか否かを判定し（ステップＳ２０３）、再正規化処理の結果に応じて未確定ビットが発生している場合には（ステップＳ２０３でＹｅｓ）、未確定ビットカウンタ４の値のインクリメント（ステップＳ２０４）を行い、未確定ビットが発生していない場合には（ステップＳ２０３でＮｏ）、出力系統選択部５へのビット出力処理の指示（ステップＳ２０５以下の処理）を行う。また確率情報保持部２に保持された確率情報を更新する。このステップＳ２０４の後には、ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗの値をともに１ビット左シフト（２倍）し（ステップＳ２１０）、ステップＳ２０２に戻る。
【００４８】
そして、未確定ビットが発生していない場合には（ステップＳ２０３でＮｏ）、出力系統選択部５は、ビット出力処理の指示を受け（ステップＳ２０５）、未確定ビットカウンタ４と未確定ビットコピーカウンタ２１の値を元に、少未確定ビット出力部１０と多未確定ビット出力部２０のいずれから符号を出力するか決定する。具体的には、未確定ビットカウンタ４の値がある所定の閾値以上であり（ステップＳ２０６でＹｅｓ）、かつ未確定ビットコピーカウンタ２１の値が０であり、かつ符号ストリームバッファ１２が空の場合は（ステップＳ２０７でＹｅｓ）、多未確定ビット出力部２０が選択される（ステップＳ２０８以下の処理）。
【００４９】
また、未確定ビットカウンタ４の値がある所定の閾値よりも小さい場合（ステップＳ２０６でＮｏ）、または未確定ビットコピーカウンタ２１の値が０で、かつ符号ストリームバッファ１２が空でない場合は（ステップＳ２０７でＮｏ）、少未確定ビット出力部１０が選択される（ステップＳ２１１以下の処理）。出力系統選択部５は、選択した出力系統に対して、ビット出力処理の指示を行う。
【００５０】
次に、２つの出力系統の動作について、（１）少未確定ビット出力部１０のみ動作している場合、（２）多未確定ビット出力部２０のみ動作している場合、（３）少未確定ビット出力部１０と多未確定ビット出力部２０がともに動作している場合の３通りに分けて説明する。
【００５１】
まず（１）少未確定ビット出力部１０のみ動作している場合について説明する。
算術符号化開始後、未確定ビットカウンタ４の値がある所定の閾値よりも小さい場合（ステップＳ２０６でＮｏ）、出力系統選択部５は、少未確定ビット出力部１０へビット出力を指示する。少未確定ビット出力部１０は、出力系統選択部５からビット出力の指示を受けると、未確定ビットカウンタ４の値をもとに少出力符号生成部１１でビット出力処理を実行して符号ストリームを生成し、符号ストリームバッファ１２へ入力する（ステップＳ２０９）。そして、未確定ビットカウンタ４の値は０にする。だだし、前記閾値は、符号ストリームバッファ１２のビット幅で保持できる値以下であればよい。符号ストリームバッファ１２は出力選択部６に符号を出力する。
【００５２】
ここで、未確定ビットカウンタ４の値がある所定の閾値以上とならずとも、少未確定ビット出力部１０へビット出力指示が連続した場合に、符号ストリームバッファ１２があふれることが考えられる。
【００５３】
しかし、1サイクルあたり１回の再正規化処理が完了するとしても、その間にｃｏｄＩＬｏｗのデータ領域から桁あふれするビット数は、数ビット程度である。このビット数よりも少未確定ビット出力部１０の出力バス幅が大きければ、未確定ビットカウンタ４に閾値以上の値が蓄積され少未確定ビット出力部１０へ入力されない限り、符号ストリームバッファ１２はあふれない。つまり、少未確定ビット出力部１０の出力バス幅は数ビット以上あれば、符号ストリームバッファ１２はあふれることはない。以降の説明では、少未確定ビット出力部１０の出力バス幅は、1サイクルあたりの再正規化処理でｃｏｄＩＬｏｗのデータ領域から桁あふれするビット数よりも大きいことを前提とする。
【００５４】
次に（２）多未確定ビット出力部２０のみ動作している場合について説明する。
未確定ビットカウンタ４の値がある所定の閾値以上の場合で（ステップＳ２０６でＹｅｓ）、かつ未確定ビットコピーカウンタ２１の値が０であり、かつ符号ストリームバッファ１２が空の場合（ステップＳ２０７でＹｅｓ）、出力系統選択部５は、多未確定ビット出力部２０へビット出力を指示する（ステップＳ２０８の処理）。具体的には、多未確定ビット出力部２０は、出力系統選択部５からビット出力の指示を受けると、まず未確定ビットカウンタ４の値を未確定ビットコピーカウンタ２１にコピーし、未確定ビットカウンタ４の値を０とする。そして、多出力符号生成部２２でビット出力処理を行い、１サイクルごとに出力したビット数だけ未確定ビットコピーカウンタ２１の値を減算しながら、出力選択部６に符号を出力する（ステップＳ２０８）。
【００５５】
多未確定ビット出力部２０は未確定ビットカウンタ４の値を未確定ビットコピーカウンタ２１にコピーするため、ビット出力の処理に未確定ビットカウンタ４を用いない。よって、大きな値が未確定ビットカウンタ４に蓄積されたとしても、以降の算術符号化処理で２値算術符号化部１は未確定ビットカウンタ４を使用できる。
【００５６】
また少未確定ビット出力部１０の出力バス幅は、1サイクルあたりの再正規化処理でｃｏｄＩＬｏｗのデータ領域から桁あふれするビット数よりも大きいため、未確定ビットカウンタ４の値が閾値を超える際には符号ストリームバッファ１２は空となっている。
【００５７】
最後に（３）少未確定ビット出力部１０と多未確定ビット出力部２０がともに動作している場合について説明する。なお、（３）は、未確定ビットカウンタ４の値が閾値以上で（ステップＳ２０６でＹｅｓ）、未確定ビットコピーカウンタ２１の値が０であり、かつ符号ストリームバッファ１２が空でない場合（ステップＳ２０７でＮｏ）である。
【００５８】
多未確定ビット出力部２０からの出力処理が完了する前に、出力系統選択部５へのビット出力処理の指示がでると、出力系統選択部５は少未確定ビット出力部１０へビット出力処理の指示を与える。少未確定ビット出力部１０内の少出力符号生成部１１は、符号ストリームバッファ１２の容量がオーバしているか否かを確認し（ステップＳ２１１）、符号ストリームバッファ１２に空きがあれば（ステップＳ２１１でＮｏ）、そこへビット出力処理結果を格納する（ステップＳ２０９）。この場合、少未確定ビット出力部１０と多未確定ビット出力部２０はともに出力すべき符号を内部に持つが、出力選択部６は常に多未確定ビット出力部２０からの出力を優先する。これは、多未確定ビット出力部２０にビット出力処理の指示が出る際には符号ストリームバッファ１２は空となっているため、符号ストリームバッファ１２に保持されている符号データは必ず多未確定ビット出力部２０へのビット出力指示の後に入力された符号データとなることによる。そして、多未確定ビット出力部２０からの符号出力が終了すると、符号ストリームバッファ１２から出力選択部６に符号を出力する処理を行う。
【００５９】
ここで、少未確定ビット出力部１０へビット出力処理の指示が与えられた際に符号ストリームバッファ１２に空きがなければ（ステップＳ２１１でＹｅｓ）、算術符号化停止判定部４１は２値算術符号化部１へ符号化停止指示を与える（ステップＳ２１２）。このとき、未確定ビットカウンタ４の値は保持し、処理再開時に用いる。多未確定ビット出力部２０と少未確定ビット出力部１０からの符号出力が共に完了した後、算術符号化停止判定部４１は２値算術符号化部１への符号化停止指示を解除する。なお、ステップＳ２１２の処理の後は、ステップＳ２０５以下の処理に戻る。
【００６０】
そして、ステップＳ２０４、ステップＳ２０８及びステップＳ２０９の後には、ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗの値をともに１ビット左シフト（２倍）し（ステップＳ２１０）、ステップＳ２０２以下の処理に戻る。
【００６１】
なお、図３は、本実施の形態１に係る算術符号化装置１００の出力選択部６の動作手順を示すフローチャートである。
【００６２】
最初に、出力選択部６は未確定ビットコピーカウンタ２１の値が０であるか否かの判定を行う（ステップＳ３０１）。次に、未確定ビットコピーカウンタ２１の値が０でない場合には（ステップＳ３０１でＹｅｓ）、出力選択部６は多未確定ビット出力部２０より符号を出力する（ステップＳ３０２）。
【００６３】
また、出力選択部６は未確定ビットコピーカウンタ２１の値が０である場合には（ステップＳ３０１でＮｏ）、符号ストリームバッファ１２内に符号が蓄積されているか否かの判定を行い（ステップＳ３０３）、符号が蓄積されている場合には（ステップＳ３０３でＹｅｓ）、少未確定ビット出力部１０より符号を出力する（ステップＳ３０４）。一方、符号ストリームバッファ１２内に符号が蓄積されていない場合には（ステップ３０３でＮｏ）、符号出力処理を行わない。
【００６４】
以上のような本実施の形態１に係る算術符号化装置１００の出力系統の構成とすることで、大きな未確定ビットが未確定ビットカウンタ４に蓄積された後、符号語が確定してビット出力処理を行った後でも、符号ストリームバッファ１２に空きがある限りは算術符号化処理を継続できるため、算術符号化処理を中断する確率を低減した算術符号化出力回路を実現できる。
【００６５】
すなわち、本実施の形態１に係る算術符号化装置１００においては、少未確定ビット出力部１０の符号ストリームバッファ１２に、多未確定ビット出力部２０からのデータ出力の間に２値算術符号化部１から出力されるデータを蓄積できる。
【００６６】
また、未確定ビットカウンタ４のカウント値が閾値以上となればカウント値を多未確定ビット出力部２０の未確定ビットコピーカウンタ２１にコピーすることができる。このため、未確定ビットカウンタ４のカウンタ値と閾値を用いることで、出力系統選択部５は少未確定ビット出力部１０又は多未確定ビット出力部２０の符号の出力系統を変更して、多未確定ビット出力部２０からの符号出力中に算術符号化処理を停止する可能性を確実に低減できる。
【００６７】
（実施の形態２）
本発明の実施の形態２として、出力バッファがあふれる可能性がある場合に算術符号化部への２値データ入力停止を指示する形態の算術符号化装置について説明する。
【００６８】
図４は、本発明の実施の形態２の算術符号化装置４００の機能的な構成を示す機能ブロック図である。また、図５は、本実施の形態２に係る算術符号化装置４００の動作手順を示すフローチャートである。なお、図４において、図１に示す算術符号化装置１００が備える各構成要素と同じ構成要素については同じ符号を用い、それらの説明を省略する。
【００６９】
本実施の形態２の算術符号化装置４００は、図４に示すように、図１に示す算術符号化装置１００の各構成要素の内、算術符号化停止判定部４１が２値データ入力停止判定部４２に置き換わったものである。
【００７０】
上記のように構成された算術符号化装置４００の動作について、実施の形態１の算術符号化装置１００とは異なる動作を中心に図４及び図５を参照しながら説明する。
【００７１】
本実施の形態２に係る算術符号化装置４００は、上記実施の形態１の算術符号化装置１００の図２に示すのと同様の符号化処理を行うが、符号ストリームバッファ１２があふれる可能性がある場合に（ステップＳ２１１でＮｏ）、２値データ入力停止判定部４２が２値データ入力停止を２値化部などの算術符号化部の外部の構成要素に指示する（ステップＳ５０１）。２値算術符号化部１は２値データ入力停止判定部４２が２値データ入力停止指示を出力した後も、２値データ入力されている間は符号化を実行し、その間出力系統選択部５は少未確定ビット出力部１０にビット出力処理を指示する。なお、ステップＳ５０１の処理の後は、ステップＳ２０５以下の処理に戻る。
【００７２】
このような構成では、２値データ入力停止指示を出力した後も数サイクル符号化が実行される可能性がある。よって、２値データ入力停止判定部４２は２値データ入力停止指示出力後に符号ストリームバッファ１２に蓄積される可能性のある最大符号量分だけ余裕をもって、２値データ入力停止指示を出力しなければならない。
【００７３】
また、２値データ入力停止指示の解除は符号ストリームバッファ１２からの出力が完了する前に、２値データ入力停止指示解除後に２値データ入力が再開し出力系統選択部がビット出力を指示するまでのサイクル数だけ早く行える。このようにすれば、再び出力系統選択部５が出力系統を選択する時点での少未確定ビット出力部１０と多未確定ビット出力部２０の処理の完了を保証できる。
【００７４】
以上のように本実施の形態２に係る算術符号化装置４００においては、算術符号化を制御したとしても、実施の形態１の算術符号化装置と同様に大きな未確定ビットが蓄積された状態でビット出力処理を行った後でも、符号ストリームバッファ１２に空きがある限りは、２値データ入力停止判定部４２における２値データの入力停止の処理がなされないために、算術符号化処理を継続できる。
【００７５】
なおここでは、２値データ入力の停止を指示したが、量子化結果や直交変換結果などその他算術符号化処理以前の処理部の出力を停止してもよい。
【００７６】
（実施の形態３）
本発明の実施の形態３として、少未確定ビット出力部と多未確定ビット出力部の出力部からの符号ストリームを、任意の順序で符号ストリーム順序を表す符号カウント値と共に出力する算術符号化装置について説明する。
【００７７】
図６は、本発明の実施の形態３の算術符号化装置６００の機能的な構成を示す機能ブロック図である。また、図７は、本実施の形態３に係る算術符号化装置６００の出力選択部７の動作手順を示すフローチャートである。なお、図６において、図１に示す算術符号化装置１００が備える各構成要素と同じ構成要素については同じ符号を用い、それらの説明を省略し、図７においても上述した実施の形態１に係る算術符号化装置１００と同様の処理には同一の符号を付し、その詳細な説明を省略する。
【００７８】
本実施の形態３の算術符号化装置６００は、図６に示すように、図１に示す算術符号化装置１００の各構成要素の内、出力選択部６が少未確定ビット出力部と多未確定ビット出力部の出力部からの符号ストリームを、任意の順序で符号ストリーム順序を表す符号カウント値と共に出力する出力選択部７に置き換わったものである。
【００７９】
出力選択部７は、未確定ビットコピーカウンタ値より次の少未確定ビット出力部からの符号ストリームの先頭が何ビット先に出力されるか算出可能である。よって、出力ストリームの順序を再構成できるように、図７のステップＳ７０１及びステップＳ７０２に示すように、出力選択部７より出力中の符号ストリームが何ビット目であるかを表す符号カウンタ値を出力符号とともに出力すれば、多未確定ビット出力部２０からのビット出力が完了するまでに少未確定ビット出力部１０からのストリームを出力できる。
【００８０】
図８は、本実施の形態３に係る算術符号化装置６００の出力選択部７から出力される符号ストリームの具体例を示す参考図である。図８（ａ）に示すように符号ストリームの処理データが「０１１１１」「１１１１１」「０１０１」の順番であり、例えば符号ストリームバッファ１２があふれそうな場合に、図８（ｂ）に示すように出力データに出力選択部７において符号カウンタ値（本図においては１〜３）を付与して、符号ストリームバッファ１２からの符号出力を先に行って「０１１１１」「０１０１」「１１１１１」の順番で出力する。そして、出力側の装置で符号カウンタ値を用いることで処理データを正確な順番に並べ直すことができる。
【００８１】
以上のような構成とすれば、例えば符号ストリームバッファ１２があふれそうな場合に、出力選択部７から少未確定ビット出力部の符号ストリームを先に出力し、符号ストリームバッファ１２の空き容量を増大することができる。その結果、２値算術符号化部１の処理を停止する可能性をより低減できる。
【００８２】
（実施の形態４）
本発明の実施の形態４として、少未確定ビット出力部と多未確定ビット出力部がそれぞれ未確定ビットカウンタを有する算術符号化装置について説明する。
【００８３】
図９は、本発明の実施の形態４の算術符号化装置９００の機能的な構成を示す機能ブロック図である。また、図１０は、本実施の形態４に係る算術符号化装置９００の動作手順を示すフローチャートである。なお、図９において、図１に示す算術符号化装置１００が備える各構成要素と同じ構成要素については同じ符号を用い、それらの説明を省略し、図１０においても上述した実施の形態１に係る算術符号化装置１００と同様の処理には同一の符号を付し、その詳細な説明を省略する。
【００８４】
実施の形態４の算術符号化装置９００は、図９に示すように、図１に示す算術符号化装置１００の構成要素である少未確定ビット出力部と多未確定ビット出力部がそれぞれ別途未確定ビットカウンタを有する。
【００８５】
上記のように構成された算術符号化装置９００の動作について、実施の形態１の算術符号化装置１００とは異なる動作を中心に図９及び図１０を参照しながら説明する。実施の形態４の算術符号化装置９００は、図９に示すように、図１に示す算術符号化装置１００の各構成要素の内、未確定ビットカウンタ４と未確定ビットコピーカウンタ２１がなく、少未確定ビット出力部１５が少未確定ビットカウンタ１３を、多未確定ビット出力部２５が多未確定ビットカウンタ２３を有する。
【００８６】
最初に、２値算術符号化部１は、入力される２値データについて、確率情報保持部２に保持された確率情報を元に符号化の処理を行う（ステップＳ１００１）。
【００８７】
次に、２値算術符号化部１は再正規化の処理を行いｃｏｄＩＲａｎｇｅが０ｘ１００より小さいか否かを判定し（ステップＳ１００２）、ｃｏｄＩＲａｎｇｅが０ｘ１００以上の場合には（ステップＳ１００２でＮｏ）、再正規化の処理を終了する。
【００８８】
一方、ｃｏｄＩＲａｎｇｅが０ｘ１００より小さい場合には（ステップＳ１００２でＹｅｓ）、出力系統選択部５は２値算術符号化部１よりビット出力処理または未確定ビット数インクリメントの指示を受けると、多未確定ビットカウンタ２３の値＝０かつ符号ストリームバッファ１２は空か否かの判定を行う（ステップＳ１００３）。
【００８９】
そして、多未確定ビットカウンタ２３の値＝０かつ符号ストリームバッファ１２が空の場合には（ステップＳ１００３でＹｅｓ）、出力系統選択部５は多未確定ビット出力部２５への符号出力を選択し、未確定ビットが発生しているか否かの判定を行い（ステップＳ１００７）、未確定ビットが発生している場合には（ステップＳ１００７でＹｅｓ）、多未確定ビット出力部２５に未確定ビット数のインクリメントを指示し（ステップＳ１００８）、未確定ビットが発生していない場合には（ステップＳ１００７でＮｏ）、多未確定ビット出力部２５から符号出力処理を行う（ステップＳ１００９）。
【００９０】
一方、多未確定ビットカウンタ２３の値＝０かつ符号ストリームバッファ１２が空でない場合には（ステップＳ１００３でＮｏ）、出力系統選択部５は少未確定ビット出力部１５への符号出力を選択し、未確定ビットが発生しているか否かの判定を行い（ステップＳ１００４）、未確定ビットが発生している場合には（ステップＳ１００４でＹｅｓ）、少未確定ビット出力部１５に未確定ビット数のインクリメントを指示する（ステップＳ１００５）。
【００９１】
一方、未確定ビットが発生していない場合には（ステップＳ１００４でＮｏ）、符号ストリームバッファ１２の容量がオーバしているか否かの判定を行う（ステップＳ１０１１）。そして、符号ストリームバッファ１２の容量がオーバしていない場合には（ステップＳ１０１１でＮｏ）、少出力符号生成部１１で符号ストリームを生成し、符号ストリームバッファ１２に入力する処理を行う（ステップＳ１００６）。一方、符号ストリームバッファ１２の容量がオーバしていれば（ステップＳ１０１１でＹｅｓ）、算術符号化停止判定部４１は２値算術符号化部１へ符号化停止指示を与える（ステップＳ１０１２）。なお、ステップＳ１０１２の処理の後は、ステップＳ１００３以下の処理に戻る。
【００９２】
そして、ステップＳ１００５、ステップＳ１００６、ステップＳ１００８及びステップＳ１００９の後には、ｃｏｄＩＲａｎｇｅとｃｏｄＩＬｏｗの値をともに１ビット左シフト（２倍）し（ステップＳ１０１０）、ステップＳ１００２以下の処理に戻る。
【００９３】
なお、図１１は、本実施の形態４に係る算術符号化装置９００の出力選択部６の動作手順を示すフローチャートである。
【００９４】
最初に、出力選択部６は多未確定ビットカウンタ２３の値が０であるか否かの判定を行う（ステップＳ１１０１）。次に、出力選択部６は多未確定ビットカウンタ２３の値が０でない場合には（ステップＳ１１０１でＹｅｓ）、多未確定ビット出力部２５より符号を出力する（ステップＳ１１０２）。
【００９５】
また、出力選択部６は多未確定ビットカウンタ２３の値が０の場合には（ステップＳ１１０１でＮｏ）、符号ストリームバッファ１２内に符号が蓄積されているか否かの判定を行い（ステップＳ１１０３）、符号が蓄積されている場合には（ステップＳ１１０３でＹｅｓ）、少未確定ビット出力部１５より符号を出力する（ステップＳ１１０４）。一方、符号ストリームバッファ１２内に符号が蓄積されていない場合には（ステップＳ１１０３でＮｏ）、符号出力処理を行わない。
【００９６】
この図１１に示すように、符号ストリームバッファ１２に保持されている符号データは必ず多未確定ビット出力部２５へのビット出力指示の後に入力された符号データとなるため、出力選択部６は常に多未確定ビット出力部２５の出力を優先する処理を行う。なお、多未確定ビット出力部２５と少未確定ビット出力部１５からの符号出力が共に完了した後、算術符号化停止判定部４１は２値算術符号化部１への符号化停止指示を解除する。
【００９７】
以上のような本実施の形態４に係る算術符号化装置９００の出力系統の構成であっても、実施の形態１の算術符号化装置と同様に大きな未確定ビットが蓄積された状態でビット出力処理を行った後でも、符号ストリームバッファ１２に空きがある限りは算術符号化処理を継続できる。
【産業上の利用可能性】
【００９８】
本発明は、算術符号化装置に利用することができる。具体的には、Ｈ．２６４／ＡＶＣに規定されたデータ圧縮技術により符号化する、ハイビジョン映像などを出力する画像符号化装置において有用である。
【図面の簡単な説明】
【００９９】
【図１】実施の形態１における算術符号化装置の機能的な構成を示す機能ブロック図
【図２】実施の形態１に係る算術符号化装置の動作手順を示すフローチャート
【図３】実施の形態１に係る算術符号化装置の出力選択部の動作手順を示すフローチャート
【図４】実施の形態２における算術符号化装置の機能的な構成を示す機能ブロック図
【図５】実施の形態２に係る算術符号化装置の動作手順を示すフローチャート
【図６】実施の形態３における算術符号化装置の機能的な構成を示す機能ブロック図
【図７】実施の形態３に係る算術符号化装置の動作手順を示すフローチャート
【図８】実施の形態３に係る算術符号化装置の出力選択部から出力される符号ストリームの具体例を示す参考図
【図９】実施の形態４における算術符号化装置の機能的な構成を示す機能ブロック図
【図１０】実施の形態４に係る算術符号化装置の動作手順を示すフローチャート
【図１１】実施の形態４に係る算術符号化装置の出力選択部の動作手順を示すフローチャート
【図１２】算術符号化装置における符号化手順を示すフローチャート
【図１３】算術符号化装置における再正規化手順を示すフローチャート
【図１４】算術符号化装置におけるビット出力手順を示すフローチャート
【図１５】算術符号化装置における符号化処理の説明図
【図１６】算術符号化装置における再正規化処理の説明図
【図１７】従来の画像符号化装置の機能的な構成を示す機能ブロック図
【図１８】従来の算術符号化装置の機能的な構成を示す機能ブロック図
【符号の説明】
【０１００】
１  ２値算術符号化部
２  確率情報保持部
４  未確定ビットカウンタ
５  出力系統選択部
６，７  出力選択部
１０，１５  少未確定ビット出力部
１１  少出力符号生成部
１２  符号ストリームバッファ
１３  少未確定ビットカウンタ
２０，２５  多未確定ビット出力部
２１  未確定ビットコピーカウンタ
２２  多出力符号生成部
２３  多未確定ビットカウンタ
４１  算術符号化停止判定部
４２  ２値データ入力停止判定部
１００，４００，６００，９００  算術符号化装置
【図１】
2008219648.tif 000003
【図２】
2008219648.tif 000004
【図３】
2008219648.tif 000005
【図４】
2008219648.tif 000006
【図５】
2008219648.tif 000007
【図６】
2008219648.tif 000008
【図７】
2008219648.tif 000009
【図８】
2008219648.tif 000010
【図９】
2008219648.tif 000011
【図１０】
2008219648.tif 000012
【図１１】
2008219648.tif 000013
【図１２】
2008219648.tif 000014
【図１３】
2008219648.tif 000015
【図１４】
2008219648.tif 000016
【図１５】
2008219648.tif 000017
【図１６】
2008219648.tif 000018
【図１７】
2008219648.tif 000019
【図１８】
2008219648.tif 000020