(57)【要約】【課題】ロスレス圧縮あるいはニアロスレス圧縮に対応した、自然動画像向けの高圧縮率符号化を実現する。【解決手段】各フレームで同位置にある画素について、隣接するフレーム間での輝度レベルの差分値と閾値との比較結果に基づき、インデックス作成手段７３でインデックス１を得る。符号化手段７４では、インデックス１に基づいて、直前フレームの符号化結果を前記画素の輝度レベルとして流用するか、または新たに符号化する。さらに、インデックス１からデータ量の少ないインデックス２，３をを作成し、インデックス１の代替データにすることによって、インデックス全体のデータ量を削減する。【選択図】　　図７
2004120417.tif 000002
【特許請求の範囲】
【請求項１】
連続した複数フレームの動画像について、１フレームを複数のタイル画像に分割してタイル単位に符号化する動画像符号化方法であって、
各フレームで同位置にある画素について、隣接するフレーム間で輝度レベルの差分値を算出する差分値算出工程と、
前記差分値に基づく符号化により第１の符号化結果を得る第１の符号化工程と、
前記第１の符号化結果に基づいて、前記画素の輝度レベルについて直前フレームの符号化結果を流用するか、新たに符号化するか、のいずれかを選択的に行うことによって符号化する輝度符号化工程と、
を有することを特徴とする動画像圧縮方法。
【請求項２】
前記第１の符号化工程においては、前記差分値の絶対値と所定の閾値との比較結果を符号化することを特徴とする請求項１記載の動画像圧縮方法。
【請求項３】
さらに、
前記第１の符号化結果に基づき、タイル内の全画素についての前記差分値が閾値以下であるか否かを示す２種類の符号からなる第２の符号化結果を得る第２の符号化工程と、
全フレームにおける前記第２の符号化結果に基づいて、２種類以上の符号からなる第３の符号化結果を得る第３の符号化工程と、
前記第３の符号化結果に応じて、前記第１及び第２の符号化結果を削減する符号削減工程と、
を有することを特徴とする請求項２記載の動画像圧縮方法。
【請求項４】
前記符号削減工程においては、前記第３の符号化結果により、前記第１の符号化結果が全て同符号である旨を示す場合に、前記第１及び第２の符号化結果を破棄することを特徴とする請求項３記載の動画像圧縮方法。
【請求項５】
前記符号削減工程においては、前記第３の符号化結果により、前記第２の符号化結果がタイル内の全画素について輝度値変化がある旨を示す場合に、前記第２の符号化結果を破棄することを特徴とする請求項４記載の動画像圧縮方法。
【請求項６】
前記符号削減工程においては、前記第３の符号化結果により、前記第２の符号化結果が輝度値変化無しを示す画素について、前記第１の符号化結果を破棄することを特徴とする請求項５記載の動画像圧縮方法。
【請求項７】
さらに、前記閾値を実質的にロスレス圧縮を実現する値と、それ以外の値を選択的に設定する閾値設定工程を有することを特徴とする請求項２記載の動画像圧縮方法。
【請求項８】
前記閾値設定工程においては、前記ロスレス圧縮を実現する値を閾値とした際に得られる前記第１の符号化結果に基づき、前記閾値を設定することを特徴とする請求項７記載の動画像圧縮方法。
【請求項９】
さらに、前記第１乃至第３の符号化結果と前記輝度レベルの符号化結果に対してロスレス圧縮を施すロスレス圧縮工程を有することを特徴とする請求項３記載の動画像圧縮方法。
【請求項１０】
さらに、前記第１乃至第３の符号化結果に対してロスレス圧縮を施すロスレス圧縮工程と、
前記輝度レベルの符号化結果に対してニアロスレス圧縮を施すニアロスレス圧縮工程と、
を有することを特徴とする請求項３記載の動画像圧縮方法。
【請求項１１】
連続した複数フレームの動画像について、１フレームを複数のタイル画像に分割してタイル単位に符号化する動画像符号化装置であって、各フレームで同位置にある画素について、隣接するフレーム間で輝度レベルの差分値を算出する差分値算出手段と、
前記差分値に基づく符号化により第１の符号化結果を得る第１の符号化手段と、
前記第１の符号化結果に基づいて、前記画素の輝度レベルについて直前フレームの符号化結果を流用するか、新たに符号化するか、のいずれかを選択的に行うことによって符号化する輝度符号化手段と、
を有することを特徴とする動画像圧縮装置。
【請求項１２】
さらに、
前記第１の符号化結果に基づき、タイル内の全画素についての前記差分値が閾値以下であるか否かを示す２種類の符号からなる第２の符号化結果を得る第２の符号化手段と、
全フレームにおける前記第２の符号化結果に基づいて、２種類以上の符号からなる第３の符号化結果を得る第３の符号化手段と、
前記第３の符号化結果に応じて、前記第１及び第２の符号化結果を削減する符号削減手段と、
を有することを特徴とする請求項１１記載の動画像圧縮装置。
【請求項１３】
コンピュータ上で実行されることによって、請求項１乃至１０のいずれかに記載の動画像圧縮方法を実現することを特徴とするプログラム。
【請求項１４】
請求項１３記載のプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動画像圧縮装置及びその方法に関し、特にロスレス圧縮あるいはニアロスレス圧縮に対応した、自然動画像向けの高圧縮率での符号化を行う動画像圧縮装置及びその方法に関する。
【０００２】
【従来の技術】
回線容量がギガ（Ｇ）バイトの光ファイバーが家庭まで引かれるブロードバンド時代においても動画像圧縮方式は必要不可欠である。なぜなら、たとえ光ファイバーのデータ伝送能力がＧｂｐｓあったとしても、経済的な理由から、家庭まで引かれる光ファイバーのデータ伝送能力は１００Ｍｂｐｓくらいになるものと予想されるためである。これは、家庭まで光ファイバーを引く業者はユーザが負担できる料金を想定して回線容量を制限すると共に、データ送信方法にベストエフォート方式（回線が混んでくると混雑に応じて回線容量が減る方式）を採用することで、コストパフォーマンスを追求するからである。
【０００３】
一方、動画のデータ量は、ＮＴＳＣで７００×５２５×３０（フレーム／ｓ）×８（ビット）×３（Ｒ，Ｇ，Ｂ）＝２６４Ｍｂｐｓ、ＨＤＴＶではこの５倍の１．３Ｇｂｐｓにも及ぶ。これだけのデータ量を、上記１００Ｍｂｐｓの回線で送信するには、１／３〜１／１３程度の圧縮を行う必要がある。
【０００４】
また、ブロードバンド環境では、ユーザは料金を支払い、好きな番組を自由に選択して見るようになる。このような環境下において、選択した番組の画質が現在のＴＶ放送以下であっては、ユーザはもちろん満足しない。このような理由から、ブロードバンド時代に求められる動画像圧縮方式とは、オリジナル画像の質を維持するロスレス圧縮あるいはニアロスレス圧縮でなければならないことになる。
【０００５】
上記ロスレス圧縮あるいはニアロスレス圧縮にて動画像を効率的に圧縮する技術として、特開２００１−６１０６６に「画像符号化器および画像復号器ならびにその方法」という技術が公開されている。ここで該技術の原理を、図１を用いて簡単に説明する。図１において、１０で示す１フレーム目と１１で示す２フレームのそれぞれのタイル間における輝度の差分を求め、該差分を所定の閾値と比較した結果を示すタイル更新データを符号化する。タイル更新データの値が閾値以上を示せばタイル更新が必要と判断し、タイル内の輝度データを更新するための画像データを符号化する。一方、タイル更新データの値が閾値未満であれば前フレームデータを流用することで、データ量を削減する。この方法を用いると、輝度変化のない部分のデータについては、「前フレーム情報を流用する」という最低１ビットのフラグで輝度情報を符号化できるため、輝度変化のない部分が多く存在する動画像の圧縮率を向上させることができる。（例えば、特許文献１参照）
【特許文献１】
特開２００１−６１０６６公報（図１）
【０００６】
【発明が解決しようとしている課題】
しかしながら、上記特開２００１−６１０６６に開示された動画像の符号化方法においては、以下のような問題がある。
【０００７】
図１２に、上記特開２００１−６１０６６においてタイル更新フラグを１ビットにした場合の圧縮率を、画像サイズが６４０×４８０ドット、フレーム数１０という条件で計算した結果を示す。図１２では１タイルあたりの符号量を、スキップか符号送信かを示す１ビットで示し、符号化対象となるタイル内画素の輝度更新データのビット数を平均４．５ビットで計算した。この４．５という数字は、８ビットの輝度レベルが０〜９個ランダムに出現するという前提から求めた平均値である。また、タイル更新フラグを２ビット以上にすると、タイル更新フラグのデータ量が多くなり、圧縮率が低下するため、このような計算は行っていない。
【０００８】
上述したような計算の結果、輝度変化のないタイルの割合が多いほど高い圧縮率を示し、タイルの大きさが２×２，４×４，８×８であれば圧縮率はほとんど変わらないことが分かる。これは、タイル符号量が輝度更新データ量に比べて小さいためである。逆に、タイルの大きさが１×１の場合は、タイル符号量が輝度更新データ量に影響するほど多くなり、２×２，４×４，８×８の場合に比べて圧縮率が低くなることが分かる。また、１フレーム目から２フレーム目の画素全てが変化するような画像に対してこの符号化方法を適用した場合、タイル更新データ量が増えてしまい、結果的にデータ量が増えてしまうという不具合が発生する。
【０００９】
本発明は、特開２００１−６１０６６に開示された符号化方法における問題点を解決するためになされたものであり、圧縮率をより高めた動画像符号化方法及び動画像符号化装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するための一手法として、本発明の動画像圧縮方法においては以下の工程を備える。
【００１１】
すなわち、連続した複数フレームの動画像について、１フレームを複数のタイル画像に分割してタイル単位に符号化する動画像符号化方法であって、各フレームで同位置にある画素について、隣接するフレーム間で輝度レベルの差分値を算出する差分値算出工程と、前記差分値に基づく符号化により第１の符号化結果を得る第１の符号化工程と、前記第１の符号化結果に基づいて、前記画素の輝度レベルについて直前フレームの符号化結果を流用するか、新たに符号化するか、のいずれかを選択的に行うことによって符号化する輝度符号化工程と、を有することを特徴とする。
【００１２】
さらに、前記第１の符号化結果に基づき、タイル内の全画素についての前記差分値が閾値以下であるか否かを示す２種類の符号からなる第２の符号化結果を得る第２の符号化工程と、全フレームにおける前記第２の符号化結果に基づいて、２種類以上の符号からなる第３の符号化結果を得る第３の符号化工程と、前記第３の符号化結果に応じて、前記第１及び第２の符号化結果を削減する符号削減工程と、を有することを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１４】
＜第１実施形態＞
まず、本実施形態の原理について説明する。
【００１５】
一般に圧縮率を高めるには、１画素あたりのビット数を減らすよりも、画素の数を減らすほうが有利である。例えば、８ビットの画素が３０７２００ドット（６４０ドット×４８０ドット）並んでいる１枚の画像の情報量は８３０７２００ビットになる。この画像について、１画素あたりの輝度のビット数を半分にするとその情報量は４３０７２００ビット、同じく画素数を半分にすると８１５３６００ビットとなり、すなわち、原画像の情報量（８３０７２００ビット）を１とすると、それぞれの情報量は１／３２、１／１００となる。このように、輝度を半分にするよりも、画素数を半分にしたほうが圧縮率は高まることが分かる。上記従来例で示した特開２００１−６１０６６においても、タイル更新符号を導入することで、符号化対象となる画素数を低減し、高圧縮率を実現している。
【００１６】
ここで図２を用いて、本実施形態における動画像圧縮の原理について説明する。ここで、１番目からＮ番目までの画像フレーム（Ｎは任意の整数）がメモリに記憶されているものとし、以下、Ｎ＝１０の場合を例として本実施形態を説明する。
【００１７】
まず、タイルの大きさが１×１である場合について説明する。ここで、タイルの１フレーム目から１０フレーム目までの同じ位置にある画素の輝度レベルをそれぞれ、１（１），１（２），１（３），１（４），１（５），１（６），１（７），１（８），１（９），１（１０）とする。そして、メモリに記憶した輝度レベルから、各フレーム間における差分値の絶対値｜１（１）−１（２）｜，｜１（２）−１（３）｜，｜１（３）−１（４）｜，｜１（４）−１（５）｜，｜１（６）−１（７）｜，｜１（７）−１（８）｜，｜１（８）−１（９）｜，｜１（９）−１（１０）｜を計算し、これらの値と事前に定められた所定の閾値δ（δは任意の整数）とを比較する。その結果、｜１（ｍ）−１（ｍ＋１）｜＜δであれば“０”を、｜１（ｍ）−１（ｍ＋１）｜＞＝δであれば“１”を、インデックス１として符号化する（ｍは、何フレーム目のデータであるかを示す１〜Ｎ−１の整数）。なお本実施形態においては、特開２００１−６１０６６において説明されている「タイル更新データ」を、以下「インデックス」と表現する。
【００１８】
次に、１タイルがＵ個の画素から構成されている場合について説明する。１（１），２（１），・・・，ｕ（１）の輝度を有する画素から構成された１タイルにおいて、１フレーム目から１０フレーム目までの同じ位置にある画素の輝度レベルの差分値の絶対値を、所定の閾値δ（δは任意の整数）と比較する。その結果、｜ｕ（ｍ）−ｕ（ｍ＋１）｜＜δであれば“０”を、｜ｕ（ｍ）−ｕ（ｍ＋１）｜＞＝δであれば“１”を、インデックス１として符号化する（ｕは、１タイル内の何画素目であるかを示す１〜Ｕの整数）。
【００１９】
このようにして得られたインデックス１は、“０００００００００”あるいは“０１０１１０１１０・・・・・・”のようなデータで表される。インデックス１の各ビットにおいて、“０”は各画素間の輝度変化が閾値δ未満であり、“１”は輝度変化が閾値δ以上であることを示している。本実施形態では、インデックス１が“０”に該当する画素については、輝度レベルに変化がないと判断して前フレームの輝度データを流用することとし、画像データの符号化を行わない。一方、インデックス１が“１”に該当する画素については、該当する画素の輝度レベルを符号化する。
【００２０】
以下、本実施形態におけるインデックス１の作成手順について、図４のフローチャートを用いて詳細に説明する。
【００２１】
まずステップＳ４００において、１〜Ｎフレーム目までの１タイル画像データを読み込む。そしてステップＳ４０１，Ｓ４０２で初期化作業として、ｍ＝１（ｍは何フレーム目の画素なのかを示す数字であり、１〜Ｎ−１の整数値を取る），ｕ＝１（ｕは画素の位置を示す数字であり、１〜Ｕまでの整数値を取る）を行う。そしてステップＳ４０３で｜１（１）−１（２）｜とδの比較計算を行い、ステップＳ４０４で該比較結果の判別を行う。該比較結果がδ未満であれば、ステップＳ４０５でインデックス１として“０”が出力され、δ以上であれば、ステップＳ４０６でインデックス１として“１”が出力される。
【００２２】
ステップＳ４０５とＳ４０６から出力されたインデックス１は、ステップＳ４０７でメモリに格納された後、ステップＳ４０８でタイル内において次の画素の計算を行うために、ｕの値を１つ上げる。そしてステップＳ４０９において、１〜２フレーム間における画素の輝度変化計算を終了するか否かの判断を行う。すなわち、ｕがタイルを構成する画素数と一致した場合には輝度変化計算を終了してステップＳ４１０に飛び、ｍの値を１つ上げる。一方、計算を終了しない場合はステップＳ４０３に飛び、次の画素の計算｜２（１）−２（２）｜を行う。
【００２３】
ステップＳ４１１においては、ｍがＮ−１以下であるか否かによって、全処理を終了するか否かを判断する。すなわち、ｍがＮ−１以下である場合は未終了と判断してステップＳ４０２に飛び、｜ｕ（２）−ｕ（３）｜を計算する。上記処理を全ての画素において行い、ステップＳ４１１で判定計算の処理と判断されると全処理を終了する。
【００２４】
次に、インデックス１が“１”に該当する画素の輝度レベルを出力する処理について、図５のフローチャートを参照して説明する。
【００２５】
まずステップＳ５００でインデックス１を読み込み、ステップＳ５０１でその判定を行う。インデックス１が“０”であればステップＳ５００に戻って次のインデックス１を読み込むが、インデックス１が“１”であればステップＳ５０２に進み、該当する画素の輝度レベルを符号化した後、ステップＳ５００に戻る。
【００２６】
本実施形態においては、第１段階の符号化結果であるインデックス１に応じてタイル符号量（インデックス符号量）を減らすために、さらにインデックス２，インデックス３を用いる。
【００２７】
インデックス２は、１〜Ｎフレームの１つのタイルにおけるインデックス１が全て“０”なら“０”、否なら“１”に符号化する。インデックス３は、インデックス２が全て“０”なら“００”、全て“１”なら“０１”、それ以外なら“１０”と“１１”に符号化する。
【００２８】
ここで、インデックス２とインデックス３を用いた符号化における効果について、６４０ドット×４８０ドットの大きさで、輝度の変化がまったくなく、ナレーションだけが変化するテロップや天気予報図等の動画像を１０フレーム分、符号化する場合を例にして説明する。
【００２９】
輝度変化のない画像におけるインデックス１は“０００００００００”になり、“０”が６４０×４８０×９＝２７６４８００個出現する。このインデックス１から作られるインデックス２は、“０”が６４０ｘ４８０＝３０７２００個連続する。インデックス１が全て“０”の場合、インデックス３は“００”の２ビットで表される。以上の説明でわかるように、インデックス３が“００”の場合は、全ての画素において変化がないことを示すので、インデックス３のみを符号化し、符号化した１フレーム目の画像を１０フレーム目まで表示させ、インデックス１とインデックス２のデータを破棄することでデータ量を削減することができる。この場合、圧縮率は１／１０になる。
【００３０】
逆に、１〜Ｎフレームにおける全ての輝度レベルが全て変化するような場合には、インデックス１とインデックス２は全て“１”になる。この場合はインデックス３が“０１”になり、インデックス３と１フレーム目の画像データと輝度更新データのみを符号化し、符号化が不要なインデックス１とインデックス２のデータを破棄する。この場合、トータルのデータ量としては、本実施形態を適用しない場合に比べて、インデックス３の符号に用いた２ビットが増加するだけで済む。
【００３１】
輝度変化のある画像を符号化する場合、インデックス１は“１００１０００００”，“０１００１１１００”，“１１１１１０１１１”のような値を取り、インデックス２は“０”と“１”が混在する。この場合、インデックス２が全て“１”ならインデックス３を“１０”と符号化し、不要なインデックス２のデータを全て破棄する。また、インデックス２の値に“１”と“０”が混在している場合は、インデックス３を“１１”にする。インデックス２が“０”であれば、インデックス１が“０００００００００”であることを意味するため、インデックス２が“０”に該当するインデックス１のデータを破棄する。これにより、インデックスのデータ量、すなわちタイル符号量を削減することができる。
【００３２】
以下、インデックス２及びインデックス３を生成する手順について、図６のフローチャートを用いて説明する。
【００３３】
まずステップＳ６００で１タイル分のインデックス１を読み込み、ステップＳ６０１でインデックス１が全て“０”であるか否かを判断する。全て“０”であればステップＳ６０２でインデックス２を“０”にし、それ以外はステップＳ６０３でインデックス２を“１”とする。ステップＳ６０２及びステップＳ６０３から出力されたインデックス２は、ステップＳ６０４でメモリに格納される。なお、このメモリにはインデックス１のデータも格納されている。
【００３４】
そしてステップＳ６０５において、全ての画素についてのインデックス２の作成処理が終了したか否かを判断し、終了していない場合はステップＳ６００に戻って次のインデックス１を読み込むが、インデックス２の作成が全て終了していれば、ステップＳ６０６においてメモリに格納された全てのインデックス１を呼び出す。
【００３５】
そしてステップＳ６０７において、インデックス１が全て“０”の場合は、ステップ６０９においてインデックス３を“００”にすると共に、ステップＳ６１１でインデックス１とインデックス２のデータを破棄し、インデックス３のみを符号化する。
【００３６】
一方、ステップＳ６０７においてインデックス１が“１”を含んでいる場合には、ステップＳ６０８でインデックス１が全て“１”であるか否かを判断し、全て“１”であればステップＳ６１０でインデックス３を“０１”にすると共に、ステップＳ６１１でインデックス１とインデックス２のデータを破棄し、インデックス３のみを符号化する。
【００３７】
一方、ステップＳ６０８においてインデックス１が“０”を含んでいる場合には、ステップＳ６１２でメモリからインデックス２を呼び出し、ステップＳ６１３において、その全ての値が“１”であるか否かを確認する。インデックス２が全て“１”であれば、ステップＳ６１４でインデックス３を“１０”にすると共に、ステップＳ６１５でインデックス２のデータを破棄し、インデックス１とインデックス３を符号化する。一方、インデックス２が“０”を含んでいる場合には、ステップＳ６１６でインデックス３を“１１”とし、ステップＳ６１７でインデックス２が“０”であるものに該当するインデックス１のデータを破棄して、インデックス１，２，３を符号化する。
【００３８】
図７は、本実施形態における動画像の符号化を実現する回路構成を示すブロック図である。まず、メモリ手段７０に画像情報が取り込まれる。すると差分計算手段７１において、｜ｕ（ｍ）−ｕ（ｍ＋１）｜の差分計算が行われ、比較手段７２で該差分値と閾値δとの比較が行われる。そしてインデックス作成手段７３において、｜ｕ（ｍ）−ｕ（ｍ＋１）｜＜δであればインデックス１を“０”、そうでなければインデックス１を“１”として符号化し、符号化手段７４に送る。このとき、インデックス作成手段７３からインデックス情報がメモリコントロール手段７５に送られ、メモリコントロール手段７５は、インデックス１が“１”の場合のみ、メモリ手段７０からインデックス１に該当する画素の輝度レベルを符号化手段７４に送る。符号化手段７４は、インデックス作成手段７３から送られてきたインデックス１に基づいてインデックス２とインデックス３を作成し、メモリ手段７０から送られてきた輝度データとともに符号化し、出力する。
【００３９】
以上のようにして得られた符号化データの構成を、図３に示す。まず、３０で示される１フレーム目の輝度データが送られ、次に、３１で示されるインデックス情報が送られ、最後に３２で示される輝度更新データが送られる。なお、この順序は一例に過ぎず、データの順序を入れ替えた構成であっても構わない。
【００４０】
ここで図１３に、本実施形態と、上記従来例で示した特開２００１−６１０６６とにおける圧縮性能を、タイルの大きさを１×１とした場合で比較した結果を示す。なお、符号化条件としては、６４０画素×４８０画素、１０フレームである。図１３によれば、本実施形態の符号化によって、特開２００１−６１０６６よりも圧縮率が０％〜１１％ほど高くなることが分かる。
【００４１】
以上説明したように本実施形態によれば、特開２００１−６１０６６では採用していない未来のフレーム画像を用いて複数のインデックスを作成し、これを適応的に削減することによって、タイル符号量を最小限にして、圧縮率を向上させることができる。
【００４２】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。第２実施形態においては、上述した第１実施形態に対し、インデックスならびに輝度変更データをロスレス圧縮することを特徴とする。
【００４３】
ここで、ロスレス圧縮について簡単に説明する。ロスレス圧縮の代表的な圧縮方法として、ＰＮＧ（Ｐｏｒｔａｂｌｅ　ＮｅｔｗｏｒｋｉｎＧ）が存在する。ＰＮＧは、Ｄｅｆｒａｔｅ／Ｉｎｆｒａｔｅ圧縮を採用した圧縮方式である。Ｄｅｆｒａｔｅ／Ｉｎｆｒａｔｅ圧縮とは、イスラエルのＡ．ＬｅｍｐｅｌとＪ．Ｚｉｖが開発したＬＺ７７方式圧縮方法とハフマン符号化にて圧縮を組み合わせた方式である。
【００４４】
ＬＺ７７圧縮は、同じ文字列があった場合に、これをコピーする命令に置き換えて圧縮を行っていく方法である。たとえば、輝度データＡＢＢＡＢＢＡを圧縮する場合、ＡＢＢＡＢＢＡをＡＢＢ（３，４）と変形する。（３，４）は３文字戻って４文字コピーするという意味である。さらにこれをＡＢＢｃ４（３）と書き換える。
【００４５】
一方のハフマン符号化は、画素の発生頻度を調べて、発生頻度の高い順に短い符号を割り当てて符号量を削減する方法である。たとえば、前述のデータ列ＡＢＢ（３，４）をハフマン圧縮した場合、例えばＢ＝０，Ａ＝１０，ｃ４＝１１，（３）＝０を割り当てる。コピー文字数ｃ４の後は必ずコピー位置（３）になるので、Ｂ＝０と（３）＝０は識別可能である。この圧縮結果は“１０００１１０”となる。
【００４６】
以上の説明から分かるようにＰＮＧは、同じ輝度が連続して並ぶ、あるいは同じ輝度パターンが複数回現れる、線画やアニメーション画像に適した圧縮方法である。たとえば、線画の静止画をＰＮＧで圧縮した場合の圧縮率は１／５０〜１／７０にも及ぶ。また、ＤＣＴやウエーブレット変換のような直交変換に比べてＣＰＵパワーを必要としないので、その分大きい画面やフレームレートの高い画像を圧縮・復号できるというメリットも存在する。この圧縮方法によって、自然画像を１／２程度に圧縮することが可能である。
【００４７】
図８は、第２実施形態における符号化装置のブロック構成を示す図である。同図において、上述した第１実施形態の図７と同様の構成には同一番号を付してある。
【００４８】
まず、メモリ手段７０に画像情報が取り込まれる。すると差分計算手段７１において、｜ｕ（ｍ）−ｕ（ｍ＋１）｜の差分計算が行われ、比較手段７２で該差分値と閾値δとの比較が行われる。そしてインデックス作成手段７３において、｜ｕ（ｍ）−ｕ（ｍ＋１）｜＜δであればインデックス１を“０”、そうでなければインデックス１を“１”として符号化し、符号化手段７４に送る。このとき、インデックス作成手段７３からインデックス情報がメモリコントロール手段７５に送られ、メモリコントロール手段７５はメモリ手段７０から送られてきたインデックス１が“０”に該当する輝度レベルを符号化手段７４に送る。
【００４９】
符号化手段７４は、インデックス作成手段７３から送られてきたインデックス１に基づいてインデックス２とインデックス３を作成し、メモリ手段７０から送られてきた輝度更新データとともに、ロスレス圧縮手段８０に出力する。そしてロスレス圧縮手段８０において、上述したようなロスレス圧縮処理が行われる。
【００５０】
ここで図１４に、第２実施形態におけるロスレス圧縮（圧縮率１／２）によって得られる圧縮率の一例を示す。符号化条件としては、上述した図１３と同様の６４０画素×４８０画素、１０フレームである。図１４によれば、圧縮率は“０００００００００”の発生確率に依存するが、１／２０〜１／２の圧縮が可能であることが分かる。
【００５１】
以上説明したように第２実施形態によれば、上述した第１実施形態で示した効率的な圧縮方法に対し、更にインデックスならびに輝度変更データをロスレス圧縮することによって、さらなる高圧縮率が実現される。
【００５２】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。第３実施形態においては、上述した第１実施形態に対し、フレーム間差分値の比較対象となる閾値δを０とδ１のいずれかに切り替えることによって、ロスレス圧縮を行うか否かを選択する手段を有することで所望するデータ量に近づけるよう制御することを特徴とする。なお、閾値として２個以上の値を用意しても良い。
【００５３】
図９は、第３実施形態における符号化装置のブロック構成を示す図である。
【００５４】
まず、差分計算手段９０で１〜Ｎフレームまでの画素間の差分を計算し、比較手段９１，９２のそれぞれにおいて、該差分値を値の異なる閾値δと比較する。比較手段９１ではδ＝δ１を、比較手段９２ではδ＝０を採用した。比較手段９１のδ＝δ１において、δ１の値を大きくしていくとロスレス圧縮に近づく。比較手段９２のδ＝０ではロスレス圧縮になる。また、処理の高速化のために、第３実施形態においては比較手段９１，９２における比較を並列に行うが、もちろん他の高速化手法を用いても良く、例えば指定されたデータ量になるまで閾値δの値を変えていく方法も考えられる。
【００５５】
比較手段９１，９２における比較結果、すなわちインデックス１は、メモリ手段９３に格納される。カウンタ回路９５は、比較手段９２（閾値δ＝０）より得られたインデックス１における“１”の数をカウントし、該カウント値がデータ量設定手段９４により設定された所定のデータ量以上であれば、メモリ手段９３から、比較手段９１（閾値δ＝δ１）より出力された値をインデックス１として選択する。すなわち、フレーム間の輝度変換が大きい場合には、閾値δ＝δ１によるインデックス１を採用することでロスレス圧縮を行う。
【００５６】
一方、カウンタ回路９５によるカウント値が所定のデータ量未満であれば、比較手段９２（閾値δ＝０）より得られたインデックス１を選択する。すなわち、フレーム間の輝度変換が小さい場合には、閾値δ＝０によるインデックス１を採用することでロスレス圧縮を行う。カウンタ回路９５は、輝度変化の度合いにより閾値を選択して、所望するデータ量になるように制御する機能を実現している。これは、データ量が“１”の数に８ビットを乗算することによってほぼ計算できるためである。
【００５７】
図１０は、第３実施形態における符号化処理を示すフローチャートである。ステップＳ１０００で比較手段９２における比較結果（インデックス１）を読み込み、ステップＳ１００１で“１”の数をカウントする。そしてステップＳ１００２において、カウントした“１”の数がデータ量設定手段９４で設定された値以下であるか否かを判定し、設定値以下であればステップＳ１００３で閾値δ＝０で比較したインデックス１を符号化する。一方、カウントした“１”の数が設定値よりも多ければ、ステップＳ１００４で閾値δ＝δ１で比較したインデックス１を符号化する。
【００５８】
以上説明した様に第３実施形態によれば、フレーム間差分値の比較対象となる閾値δを０として得られるインデックス１における“１”の数が所定値以下である、すなわちフレーム間の輝度変化が小さい場合に、閾値δ＝０によるロスレス圧縮を行うように制御することができる。
【００５９】
＜第４実施形態＞
以下、本発明に係る第４実施形態について説明する。第４実施形態においては、上述した第１実施形態に対し、インデックス情報をロスレス圧縮、画像情報をニアロスレス圧縮することを特徴とする。
【００６０】
図１１は、第４実施形態における符号化装置のブロック構成を示す図である。同図において、上述した第２実施形態の図８と同様の構成には同一番号を付してある。
【００６１】
まず、メモリ手段７０に画像情報が取り込まれる。すると差分計算手段７１において、｜ｕ（ｍ）−ｕ（ｍ＋１）｜の差分計算が行われ、比較手段７２で該差分値と閾値δとの比較が行われる。そしてインデックス作成手段７３において、｜ｕ（ｍ）−ｕ（ｍ＋１）｜＜δであればインデックス１を“０”、そうでなければインデックス１を“１”として符号化し、符号化手段７４に送る。このとき、インデックス作成手段７３からインデックス情報がメモリコントロール手段７５に送られ、メモリコントロール手段７５は、インデックス１が“１”の場合のみ、メモリ手段７０からインデックス１に該当する画素の輝度レベルをニアロスレス圧縮手段１１００に送る。なお、ニアロスレス圧縮手段１１００においては、ＤＣＴあるいは離散ウエーブレット変換といった周知の圧縮技術を採用する。
【００６２】
符号化手段７４から出力されたインデックス情報はロスレス圧縮手段８０に送られ、第２実施形態と同様のロスレス圧縮処理が施される。
【００６３】
ここで図１５に、第４実施形態におけるロスレス及びニアロスレス圧縮によって得られる圧縮率の一例を示す。符号化条件としては、上述した図１３と同様の６４０画素×４８０画素、１０フレームである。図１５によれば、ニアロスレス圧縮手段１１００にて圧縮率１／５の圧縮を行い、ロスレス圧縮手段８０にてインデックス信号を１／２に圧縮した場合、１／５０〜１／５程度の圧縮率が得られる。
【００６４】
以上説明したように第４実施形態によれば、インデックス情報をロスレス圧縮、画像情報をニアロスレス圧縮することによって、さらなる圧縮率が実現される。
【００６５】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６８】
【発明の効果】
以上説明したように本発明によれば、圧縮率をより高めた動画像符号化を行うことができる。
【図面の簡単な説明】
【図１】従来例における符号化を説明するための図である。
【図２】本発明に係る一実施形態における符号化を説明するための図である。
【図３】本実施形態において得られるビットストリーム構成例を示す図である。
【図４】インデックス１の作成処理を示すフローチャートである。
【図５】インデックス１に該当する画素の輝度出力処理を示すフローチャートである。
【図６】インデックス２，３の作成処理を示すフローチャートである。
【図７】本実施形態における符号化回路の構成を示すブロック図である。
【図８】第２実施形態における符号化回路の構成を示すブロック図である。
【図９】第３実施形態における符号化回路の構成を示すブロック図である。
【図１０】第３実施形態における符号化処理を示すフローチャートである。
【図１１】第４実施形態における符号化回路の構成を示すブロック図である。
【図１２】特開２００１−６１０６６における圧縮率例を示す表である。
【図１３】特開２００１−６１０６６と本実施形態における圧縮率を示す表である。
【図１４】第２実施形態のロスレス圧縮によって得られる圧縮率例を示す表である。
【図１５】第４実施形態のロスレス及びニアロスレス圧縮によって得られる圧縮率例を示す表である。
【符号の説明】
７０　メモリ手段
７１　差分計算手段
７２　比較手段
７３　インデックス作成手段
７４　符号化手段
７５　メモリコントロール手段
８０　ロスレス圧縮手段
１１００　ニアロスレス圧縮手段
９０　差分計算手段
９１　比較手段（δ＝０）
９２　比較手段（δ＝δ１）
９３　メモリ手段
９４　データ量設定手段
９５　カウンタ手段
【図１】
2004120417.tif 000003
【図２】
2004120417.tif 000004
【図３】
2004120417.tif 000005
【図４】
2004120417.tif 000006
【図５】
2004120417.tif 000007
【図６】
2004120417.tif 000008
【図７】
2004120417.tif 000009
【図８】
2004120417.tif 000010
【図９】
2004120417.tif 000011
【図１０】
2004120417.tif 000012
【図１１】
2004120417.tif 000013
【図１２】
2004120417.tif 000014
【図１３】
2004120417.tif 000015
【図１４】
2004120417.tif 000016
【図１５】
2004120417.tif 000017