(57)【要約】【課題】Ｈ．２６４／ＡＶＣにおいてＤＣＴ係数を符号化するためのＣＡＶＬＣ符号化において、簡単かつ小規模な集積回路でありながら、なおかつ、高速にバス出力することを可能にする。【解決手段】被符号化データを順次読み出す読出部と、読み出した被符号化データからゼロでないデータを取り出しその値を記憶する非ゼロ取出部と、読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウント部と、１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算部と、１つの被符号化データの読み出しが終わった後に加算した結果を１度に出力する出力部と、を備える。【選択図】図２
2007295156.tif 000002
【特許請求の範囲】
【請求項１】
ゼロでないデータの値と前記ゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力する符号化装置であって、
被符号化データを順次読み出す読出部と、
前記読み出した被符号化データからゼロでないデータを取り出す非ゼロ取出部と、
前記読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウント部と、
前記１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算部と、
１つの被符号化データの読み出しが終わった後に前記加算した結果を１度に出力する出力部と、
を有する符号化装置。
【請求項２】
前記符号化はＣＡＶＬＣ符号化である、
請求項１に記載の符号化装置。
【請求項３】
前記被符号化データはＤＣＴ係数である、
請求項１または請求項２に記載の符号化装置。
【請求項４】
前記ＤＣＴ係数はＨ．２６４／ＡＶＣ符号化におけるＤＣＴ係数である、
請求項３に記載の符号化装置。
【請求項５】
ゼロでないデータの値と前記ゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力する符号化方法であって、
被符号化データを順次読み出す読出手順と、
前記読み出した被符号化データからゼロでないデータを取り出す非ゼロ取出手順と、
前記読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウント手順と、
前記１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算手順と、
１つの被符号化データの読み出しが終わった後に前記加算した結果を１度に出力する出力手順と、
を有する符号化方法。
【請求項６】
ゼロでないデータの値と前記ゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力するコンピュータによって実行可能な符号化プログラムであって、
被符号化データを順次読み出す読出ステップと、
前記読み出した被符号化データからゼロでないデータを取り出す非ゼロ取出ステップと、
前記読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウントステップと、
前記１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算ステップと、
１つの被符号化データの読み出しが終わった後に前記加算した結果を１度に出力する出力ステップと、
を有する符号化プログラム。
【請求項７】
コンピュータによって読み取り可能な情報の記録媒体であって、
請求項６に記載の符号化プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願に係る発明（以後、「本発明」という）は、入力されたデータを所定の方式に従って符号化し、符号化されたデータをバス等に出力する、符号化装置、符号化方法、符号化プログラム及び符号化プログラムを記録した記録媒体、に関するものである。
【背景技術】
【０００２】
新しい動画符号化方式としてＨ．２６４が提案されている。Ｈ．２６４は、ＩＴＵ−ＴのＶｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された動画圧縮ための規格で、ＩＳＯ／ＩＥＣ  ＪＴＣ  １のＭｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐが、ＭＰＥＧ−４  Ｐａｒｔ  １０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）として標準化していた規格と統合され、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣや、Ｈ．２６４／ＡＶＣと呼ばれることもある。
【０００３】
この方式では、従来の圧縮技術に加えて、サブマクロブロック分割、イントラ予測、デブロッキング・フィルタ等、新しい技術を利用することによって圧縮性能を向上させており、従来方式であるＭＰＥＧ−２等と比較して、２倍以上の圧縮効率を実現すると言われている。
【０００４】
このような高圧縮性能によって、携帯電話等の用途向け低ビットレートから、ＨＤＴＶクラスの高ビットレートに至るまで、幅広い利用が期待されている。
【０００５】
Ｈ．２６４／ＡＶＣでは、シンタックス要素、特にＤＣＴ（Ｄｅｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）係数を符号化するための符号化方式の１つとして、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）を使用することが規定されている。
【０００６】
従来の、ＣＡＶＬＣ符号化を行う符号化装置の一例である、ＣＡＶＬＣ符号化装置８００のブロック構成図を図３に示す。
【０００７】
この従来のＣＡＶＬＣ符号化装置８００は、主要な構成要素として、メモリ部８０１、読出部８０２、非ゼロ取出部８０３、ゼロカウント部８０４、出力部８０５を有している。ＣＡＶＬＣ符号化装置８００は、これら以外の構成要素も有しているが、説明を省略している。
【０００８】
メモリ部８０１には、例えば、４×４の画素に対して、いわゆるジグザグ・スキャンをしてＤＣＴ係数を取り出した値が記憶される。図３に示す例では、この４×４の画素からジグザグ・スキャンによって取り出したＤＣＴ係数は、＋２３、−４、＋１１、０、０、＋８、−３、０、０、＋１、０、−１、０、０、０、０、の１６個である。この画素構成、スキャン方法、ＤＣＴ係数、その他は、あくまでも１つの具体的な事例を挙げて説明するための例に過ぎない。
【０００９】
読出部８０２は、このメモリ部８０１からこの１６個のＤＣＴ係数を順次読み出し、読み出したＤＣＴ係数を順次、非ゼロ取出部８０３と、ゼロカウント部８０４とに送り出す。
【００１０】
非ゼロ取出部８０３は、読出部８０２がメモリ部８０１から順次読み出したＤＣＴ係数を順次受け取り、この中から値がゼロでないＤＣＴ係数を取り出す。このようにして非ゼロ取出部８０３が取り出したＤＣＴ係数を図４（ａ）に示す。また、非ゼロ取出部８０３は、この取り出した図４（ａ）に示すＤＣＴ係数を記憶保存し、タイミングを制御して出力部８０５に送り出しても構わないし、この取り出した図４（ａ）に示すＤＣＴ係数を記憶保存せずに、そのまま出力部８０５に送り出しても構わない。
【００１１】
ゼロカウント部８０４は、読出部８０２がメモリ部８０１から順次読み出したＤＣＴ係数を順次受け取り、この中から値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数をカウントし、その個数を記憶保存する。このようにしてゼロカウント部８０４がカウントした、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数を図４（ｂ）に示す。
【００１２】
先頭のＤＣＴ係数は除いて、それ以外の最初の値がゼロでないＤＣＴ係数は−４で、この前に連続して存在する値がゼロであるＤＣＴ係数の個数は０個であるから、ゼロカウント部８０４が最初にカウントする個数は０になる。
【００１３】
次に存在する値がゼロでないＤＣＴ係数は＋１１で、この前に連続して存在する値がゼロであるＤＣＴ係数の個数は０個であるから、ゼロカウント部８０４が次にカウントする個数は０になる。
【００１４】
次に存在する値がゼロでないＤＣＴ係数は＋８で、この前に連続して存在する値がゼロであるＤＣＴ係数の個数は２個であるから、ゼロカウント部８０４が次にカウントする個数は２になる。
【００１５】
次に存在する値がゼロでないＤＣＴ係数は−３で、この前に連続して存在する値がゼロであるＤＣＴ係数の個数は０個であるから、ゼロカウント部８０４が次にカウントする個数は０になる。
【００１６】
次に存在する値がゼロでないＤＣＴ係数は＋１で、この前に連続して存在する値がゼロであるＤＣＴ係数の個数は２個であるから、ゼロカウント部８０４が次にカウントする個数は２になる。
【００１７】
次に存在する値がゼロでないＤＣＴ係数は−１で、この前に連続して存在する値がゼロであるＤＣＴ係数の個数は１個であるから、ゼロカウント部８０４が次にカウントする個数は１になる。
【００１８】
このようにして、ゼロカウント部８０４がカウントした、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数は、図４（ｂ）に示すように、０、０、２、０、２、１、になる。
【００１９】
上記のとおり、ゼロカウント部８０４は、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数をカウントしてその個数を記憶保存し、タイミングを制御して出力部８０５に送り出す。
【００２０】
最初に、非ゼロ取出部８０３が、図４（ａ）に示す値がゼロでないＤＣＴ係数を全て取り出した後に、そのデータ（Ｌｅｖｅｌ）を図４（ａ）の右側に示すものから順次、出力部８０５に送り出し、出力部８０５はそのデータを受け取ってデータバス８０６に出力する。このデータ（Ｌｅｖｅｌ）がデータバス８０６に出力される時間、出力されるデータとその時のデータバスの使用量の関係を、図４（ｃ）に示す。
【００２１】
このデータの出力が全て終了すると、次に、これら以外のデータ、例えば、値がゼロであるＤＣＴ係数の個数（Ｔｏｔａｌ＿Ｚｅｒｏｓ）等が出力されるが、これについては詳細な説明を省略する。
【００２２】
そして、これらのデータの出力が全て終了すると、非ゼロ取出部８０３からゼロカウント部８０４に対してタイミングが通知され、ゼロカウント部８０４は、この通知されたタイミングに従って、図４（ｂ）に示す、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数（Ｒｕｎ＿Ｂｅｆｏｒｅ）を、図４（ｂ）の右側に示すものから順次、出力部８０５に送り出し、出力部８０５はそのデータを受け取ってデータバス８０６に出力する。このデータ（Ｒｕｎ＿Ｂｅｆｏｒｅ）がデータバス８０６に出力される時間、出力されるデータとその時のデータバスの使用量の関係もまた、図４（ｃ）に示す。
【００２３】
このようにして、例えば４×４の画素に対して、いわゆるジグザグ・スキャンをしてＤＣＴ係数を取り出した値が、ＣＡＶＬＣ符号化されてデータバス８０６に出力される。なお、ＣＡＶＬＣ符号化装置８００では、これら以外の様々な処理も実行されるが、説明を省略する。
【００２４】
このようにして、ＣＡＶＬＣ符号化を実行し、そのＣＡＶＬＣ符号化されたデータを出力する例が、下記特許文献１に記載されている。
【特許文献１】特開２００５−３４１５６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
しかしながら、上記従来のＣＡＶＬＣ符号化を行う符号化装置では、ＤＣＴ係数を読み出す回数は削減されるが、値がゼロでないＤＣＴ係数（Ｌｅｖｅｌ）を１つずつバスに出力した後に、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数（Ｒｕｎ＿Ｂｅｆｏｒｅ）を１つずつバスに出力するため、ＣＡＶＬＣ符号化されたデータをバス出力するのに長時間を必要とするという課題があった。
【課題を解決するための手段】
【００２６】
本発明は、上記のような課題を解決するために行われたもので、Ｈ．２６４／ＡＶＣにおいてＤＣＴ係数をＣＡＶＬＣ符号化して出力するためのＣＡＶＬＣ符号化装置に対して、簡単かつ小規模な集積回路でありながら、なおかつ、ＣＡＶＬＣ符号化されたデータを高速にバス出力することを可能にするものである。
【００２７】
そのために、具体的には以下のような構成を採用する。
【００２８】
請求項１に記載の符号化装置は、ゼロでないデータの値とゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力する符号化装置であって、被符号化データを順次読み出す読出部と、読み出した被符号化データからゼロでないデータを取り出す非ゼロ取出部と、読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウント部と、１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算部と、１つの被符号化データの読み出しが終わった後に加算した結果を１度に出力する出力部と、を有する。
【００２９】
このような構成によって、ゼロでないデータの値とゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力する符号化装置について、簡単かつ小規模な集積回路でありながら、なおかつ、符号化されたデータを高速にバス出力することが可能になる。
【００３０】
請求項２に記載の符号化装置では、符号化はＣＡＶＬＣ符号化である。
【００３１】
このような構成によって、上記符号化がＣＡＶＬＣ符号化である時、特に有効かつ具体的に、簡単かつ小規模な集積回路でありながら、なおかつ、ＣＡＶＬＣ符号化されたデータを高速にバス出力することが可能になる。
【００３２】
請求項３に記載の符号化装置では、被符号化データはＤＣＴ係数である。
【００３３】
このような構成によって、上記符号化がＤＣＴ係数のＣＡＶＬＣ符号化である時、特に有効かつ具体的に、簡単かつ小規模な集積回路でありながら、なおかつ、ＣＡＶＬＣ符号化されたデータを高速にバス出力することが可能になる。
【００３４】
請求項４に記載の符号化装置では、ＤＣＴ係数はＨ．２６４／ＡＶＣ符号化におけるＤＣＴ係数である。
【００３５】
このような構成によって、上記符号化がＨ．２６４／ＡＶＣ符号化におけるＤＣＴ係数のＣＡＶＬＣ符号化である時、特に有効かつ具体的に、簡単かつ小規模な集積回路でありながら、なおかつ、ＣＡＶＬＣ符号化されたデータを高速にバス出力することが可能になる。
【００３６】
請求項５に記載の符号化方法は、ゼロでないデータの値とゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力する符号化方法であって、被符号化データを順次読み出す読出手順と、読み出した被符号化データからゼロでないデータを取り出す非ゼロ取出手順と、読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウント手順と、１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算手順と、１つの被符号化データの読み出しが終わった後に加算した結果を１度に出力する出力手順と、を有する。
【００３７】
このような構成によって、ゼロでないデータの値とゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力する符号化について、簡単かつ小規模な集積回路で実行可能で、なおかつ、符号化されたデータを高速にバス出力することができる符号化方法を実現することが可能になる。
【００３８】
請求項６に記載の符号化プログラムは、ゼロでないデータの値とゼロでないデータの前に連続するゼロデータの個数とを含む符号化データを出力するコンピュータによって実行可能な符号化プログラムであって、被符号化データを順次読み出す読出ステップと、読み出した被符号化データからゼロでないデータを取り出す非ゼロ取出ステップと、読み出した被符号化データに含まれるゼロでないデータの前に連続するゼロデータの個数をカウントするゼロカウントステップと、１つのゼロでないデータの前に連続するゼロデータの個数をカウントし終わった時にその個数を先にカウントした連続するゼロデータの個数をビットシフトした結果に加算するシフト加算ステップと、１つの被符号化データの読み出しが終わった後に加算した結果を１度に出力する出力ステップと、を有する。
【００３９】
このような構成によって、上記のような符号化装置と符号化方法とを、コンピュータとそのコンピュータによって実行されるプログラムを使用して、具体的に実現することが可能になる。
【００４０】
請求項７に記載の発明は、コンピュータによって読み取り可能な情報の記録媒体であって、請求項６に記載の符号化プログラムを記録した記録媒体である。
【００４１】
このような構成によって、上記符号化プログラムをコンピュータによって読み取り可能な情報の記録媒体に記録し、保存し、使用することが可能になる。
【発明の効果】
【００４２】
本発明では、Ｈ．２６４／ＡＶＣにおいてＤＣＴ係数をＣＡＶＬＣ符号化して出力するためのＣＡＶＬＣ符号化装置に対して、簡単かつ小規模な集積回路でありながら、なおかつ、ＣＡＶＬＣ符号化されたデータを高速にバス出力することを可能にする。
【発明を実施するための最良の形態】
【００４３】
（実施の形態）
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【００４４】
図１は、本発明の実施の形態の１つである、ＣＡＶＬＣ符号化を行うＣＡＶＬＣ符号化装置１００のブロック構成図である。
【００４５】
このＣＡＶＬＣ符号化装置１００は、主要な構成要素として、メモリ部１０１、読出部１０２、非ゼロ取出部１０３、ゼロカウント部１０４、出力部１０５、シフト加算部１０７を有している。ＣＡＶＬＣ符号化装置１００は、これら以外の構成要素も有しているが、本発明の本質と直接関係しないので説明を省略している。
【００４６】
メモリ部１０１には、例えば、４×４の画素に対して、いわゆるジグザグ・スキャンをしてＤＣＴ係数を取り出した値が記憶される。図１に示す例では、この４×４の画素からジグザグ・スキャンによって取り出したＤＣＴ係数は、＋２３、−４、＋１１、０、０、＋８、−３、０、０、＋１、０、−１、０、０、０、０、の１６個である。この画素構成、スキャン方法、ＤＣＴ係数、その他は全てあくまでも本発明を１つの具体的な事例を挙げることで説明するための仮の例に過ぎず、本発明がこれらの説明の例に限定されるものではない（本明細書における全ての説明について、同様）。
【００４７】
また、このメモリ部１０１と記憶されているＤＣＴ係数は上記説明した従来のＣＡＶＬＣ符号化装置８００と同様のように記載しているが、これらについても本発明の本質とは直接関係しないので仮に同様として記載したものであり、必ずしも同様でなくても構わない。
【００４８】
読出部１０２は、このメモリ部１０１からこの１６個のＤＣＴ係数を順次読み出し、読み出したＤＣＴ係数を順次、非ゼロ取出部１０３と、ゼロカウント部１０４とに送り出す。
【００４９】
非ゼロ取出部１０３は、読出部１０２がメモリ部１０１から順次読み出したＤＣＴ係数を順次受け取り、この中から値がゼロでないＤＣＴ係数を取り出す。このようにして非ゼロ取出部１０３が取り出したＤＣＴ係数を図２（ａ）に示す。また、非ゼロ取出部１０３は、この取り出した図２（ａ）に示すＤＣＴ係数を記憶保存し、タイミングを制御して出力部１０５に送り出す。これについても、上記説明した従来のＣＡＶＬＣ符号化装置８００と同様のように記載しているが、必ずしも同様でなくても構わない。
【００５０】
ゼロカウント部１０４は、読出部１０２がメモリ部８０１から順次読み出したＤＣＴ係数を順次受け取り、この中から値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数をカウントし、その個数を記憶保存する。このようにしてゼロカウント部１０４がカウントした、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数を図２（ｂ）に示す。このようにして、ゼロカウント部１０４がカウントした、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数は、図２（ｂ）に示すように、０、０、２、０、２、１、になる。これについても、上記説明した従来のＣＡＶＬＣ符号化装置８００と同様のように記載しているが、必ずしも同様でなくても構わない。
【００５１】
そして、ゼロカウント部１０４は、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数を１つ数える毎に、その個数をシフト加算部１０７に送り出す。なお、この値がゼロであるＤＣＴ係数の個数は、２進化数値表現であっても良いし、それ以外の何らかの符号化が行われていても構わない。
【００５２】
シフト加算部１０７は、現在覚えている値がない時にはゼロカウント部１０４から送られたその値を新しく記憶し、現在覚えている値がある時には、その値を上位桁側にシフトして、その下位桁に、今回ゼロカウント部１０４から送られたその値を加算し、加算した結果を記憶する。
【００５３】
この時の、シフト加算部１０７が内部に記憶しているデータの変化を、図２（ｃ）に示す。上記のとおり、ゼロカウント部１０４がカウントした、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数は、図２（ｂ）に示すように、０、０、２、０、２、１、であるから、最初にシフト加算部１０７に送られる値は「０」である。
【００５４】
従って、シフト加算部１０７は、最初にその値を記憶する。
【００５５】
次にシフト加算部１０７に送られる値は「０」であるから、シフト加算部１０７は、現在記憶している「０」を上位桁側にシフトして、その下位桁に、今回ゼロカウント部１０４から送られた値「０」を加算し、加算した結果を記憶する。この加算した結果とは「００」である。
【００５６】
次にシフト加算部１０７に送られる値は「２」であるから、シフト加算部１０７は、現在記憶している「００」を上位桁側にシフトして、その下位桁に、今回ゼロカウント部１０４から送られた値「２」を加算し、加算した結果を記憶する。この加算した結果とは「００２」である。
【００５７】
次にシフト加算部１０７に送られる値は「０」であるから、シフト加算部１０７は、現在記憶している「００２」を上位桁側にシフトして、その下位桁に、今回ゼロカウント部１０４から送られた値「０」を加算し、加算した結果を記憶する。この加算した結果とは「００２０」である。
【００５８】
次にシフト加算部１０７に送られる値は「２」であるから、シフト加算部１０７は、現在記憶している「００２０」を上位桁側にシフトして、その下位桁に、今回ゼロカウント部１０４から送られた値「２」を加算し、加算した結果を記憶する。この加算した結果とは「００２０２」である。
【００５９】
次にシフト加算部１０７に送られる値は「１」であるから、シフト加算部１０７は、現在記憶している「００２０２」を上位桁側にシフトして、その下位桁に、今回ゼロカウント部１０４から送られた値「１」を加算し、加算した結果を記憶する。この加算した結果とは「００２０２１」である。
【００６０】
これで、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数のカウントを全て終了するので、シフト加算部１０７はその加算結果を記憶保存し、タイミングを制御して出力部１０５に送り出す。
【００６１】
最初に、非ゼロ取出部１０３が、図２（ａ）に示す値がゼロでないＤＣＴ係数を全て取り出した後に、そのデータ（Ｌｅｖｅｌ）を図２（ａ）の右側に示すものから順次、出力部１０５に送り出し、出力部１０５はそのデータを受け取ってデータバス１０６に出力する。このデータ（Ｌｅｖｅｌ）がデータバス１０６に出力される時間、出力されるデータとその時のデータバスの使用量の関係を、図２（ｄ）に示す。これについても、上記説明した従来のＣＡＶＬＣ符号化装置８００と同様のように記載しているが、必ずしも同様でなくても構わない。
【００６２】
このデータの出力が全て終了すると、次に、これら以外のデータ、例えば、値がゼロであるＤＣＴ係数の個数（Ｔｏｔａｌ＿Ｚｅｒｏｓ）等が出力されるが、これについては、本発明の本質と直接関係しないので詳細な説明は省略する。
【００６３】
そして、これらのデータの出力が全て終了すると、非ゼロ取出部１０３からゼロカウント部１０４とシフト加算部１０７に対してタイミングが通知され、シフト加算部１０７は、この通知されたタイミングに従って、図２（ｃ）に示す、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数（Ｒｕｎ＿Ｂｅｆｏｒｅ）をシフト加算した結果を、出力部１０５に送り出し、出力部１０５はそのデータを受け取ってデータバス１０６に出力する。このデータ（Ｒｕｎ＿Ｂｅｆｏｒｅ）がデータバス１０６に出力される時間、出力されるデータとその時のデータバスの使用量の関係もまた、図２（ｄ）に示す。
【００６４】
このシフト加算部１０７が、シフト加算した結果のビット長が、データバス１０６のバス幅よりも小さいか等しければ１回でデータバス１０６への出力が完了し、シフト加算した結果のビット長が、データバス１０６のバス幅よりも大きければ何回かに分割してデータバス１０６に出力しなければならない。
【００６５】
しかしながら、ＣＡＶＬＣ符号化では、シフト加算した結果のビット長は３２ビットを超えることはないので、データバス１０６のバス幅が３２ビット以上であるならば、１回で値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数（Ｒｕｎ＿Ｂｅｆｏｒｅ）の出力を完了することができる。
【００６６】
なお、ここでは説明の簡略化のため、値がゼロでないＤＣＴ係数の前に連続して存在する値がゼロであるＤＣＴ係数の個数（Ｒｕｎ＿Ｂｅｆｏｒｅ）をそのまま出力するように説明をしたが、この数は各種の符号化方法で符号化されて出力されることもあり、このような時にも本発明は同様に適用することができる。
【００６７】
このようにして、例えば４×４の画素に対して、いわゆるジグザグ・スキャンをして取り出した、ＤＣＴ係数をＣＡＶＬＣ符号化した結果を、簡単かつ小規模な集積回路でありながら、なおかつ、高速にバス出力することが可能になる。
【００６８】
なお、ＣＡＶＬＣ符号化装置１００では、これら以外の様々な処理も実行されるが、本発明の本質と直接関係しないので説明を省略する。
【００６９】
また、本実施の形態のＣＡＶＬＣ符号化装置１００が実行するのは、本発明の符号化方法の１つの実施の形態であり、このＣＡＶＬＣ符号化装置１００は、図示しないが、マイクロコンピュータを始めとするコンピュータによって実現されることがあり、このコンピュータを制御してＣＡＶＬＣ符号化を実行させるのは、本発明の符号化プログラムの１つの実施の形態である。また、この本発明の符号化プログラムの１つの実施の形態であるプログラムはコンピュータ読み取り可能な情報記録媒体に記録され、この情報記録媒体は、本発明の符号化プログラムを記録した情報記録媒体の１つの実施の形態である。
【産業上の利用可能性】
【００７０】
本発明では、Ｈ．２６４／ＡＶＣにおいてＤＣＴ係数を符号化するために必要となる、ＣＡＶＬＣ符号化を、簡単かつ小規模な集積回路でありながら、なおかつ、高速にバス出力することが可能になり、その産業上の利用可能性は極めて大きい。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態の１つであるＣＡＶＬＣ符号化装置のブロック構成図
【図２】本発明の非ゼロ取出部が取り出したデータとゼロカウント部がカウントしたデータとシフト加算部が加算したデータとこれらをデータバスに出力した状態を示す図
【図３】従来のＣＡＶＬＣ符号化装置の一例のブロック構成図
【図４】従来の非ゼロ取出部が取り出したデータとゼロカウント部がカウントしたデータとこれらをデータバスに出力した状態を示す図
【符号の説明】
【００７２】
１００，８００    ＣＡＶＬＣ符号化装置
１０１，８０１    メモリ部
１０２，８０２    読出部
１０３，８０３    非ゼロ取出部
１０４，８０４    ゼロカウント部
１０５，８０５    出力部
１０６，８０６    データバス
１０７    シフト加算部
【図１】
2007295156.tif 000003
【図２】
2007295156.tif 000004
【図３】
2007295156.tif 000005
【図４】
2007295156.tif 000006