(57)【特許請求の範囲】
【請求項１】
複数のブロックの画素データを変換係数に符号化する変換器と、
前記複数のブロックそれぞれにおける、予め選択された数の低周波の変換係数を含む第１サブブロックを符号化する第１可変長符号化器と、
前記複数のブロックそれぞれにおける、前記低周波の変換係数を除いた残りの変換係数を含む第２サブブロックを符号化する第２可変長符号化器と、
を備え、
前記第１サブブロックを符号化する第１ランレングス符号化器と、
前記第２サブブロックを符号化する第２ランレングス符号化器と、
をさらに備え、
前記第１ランレングス符号化器は所定のスキャンパターンに従って前記第１サブブロックのペアを一緒に符号化し、
前記所定のスキャンパターンは、
サブブロックの前記ペアの１番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブブロックの前記ペアの２番目における最も高周波の係数へ移動し、
サブブロックの前記ペアの前記２番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ符号化システム。
【請求項２】
前記第１および第２可変長符号化器のうちの少なくとも一方が、符号化器と選択可能な可変長符号割当表とを含むことを特徴とする請求項１に記載のビデオ符号化システム。
【請求項３】
前記第１および第２可変長符号化器が前記第１および第２サブブロックをそれぞれ直接符号化することを特徴とする請求項１に記載のビデオ符号化システム。
【請求項４】
入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
所定の量子化パラメータに従って前記ブロックの係数を量子化し、
前記ブロックから係数のサブセットを取り出し、
前記取り出された係数を可変長符号化し、該符号化の結果を第１記憶領域に保存し、
前記取り出された係数を除いた残りの係数を可変長符号化し、該符号化の結果を第２記憶領域に保存する
ことを特徴とするビデオ符号化方法であって、
さらに、
可変長符号化の前に前記取り出された係数をランレングス符号化し、
可変長符号化の前に前記取り出された係数を除いた残りの係数をランレングス符号化する
ことを特徴とし、
前記取り出された係数のランレングス符号化は、所定のスキャンパターンに従って前記取り出された係数のサブセットのペアを一緒に符号化することを含み、
前記所定のスキャンパターンは、
サブセットの前記ペアの１番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブセットの前記ペアの２番目における最も高周波の係数へ移動し、
サブセットの前記ペアの前記２番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ符号化方法。
【請求項５】
前記可変長符号化は、前記取り出された係数、および前記取り出された係数を除いた残りの係数を直接符号化することを含むことを特徴とする請求項４に記載のビデオ符号化方法。
【請求項６】
前記変換方式は離散コサイン変換であることを特徴とする請求項４に記載のビデオ符号化方法。
【請求項７】
前記変換方式はウェーブレット分解であることを特徴とする請求項４に記載のビデオ符号化方法。
【請求項８】
さらに、少なくとも１つのブロックについて、前記ブロックの画像データを隣接するブロックから予測することを特徴とする請求項４に記載のビデオ符号化方法。
【請求項９】
ビデオシーケンスの各フレームはイントラ符号化フレームとして符号化されることを特徴とする請求項４に記載のビデオ符号化方法。
【請求項１０】
所定の処理によって生成された符号化ビデオデータを保存しているコンピュータ読み取り可能な記憶媒体であって、前記所定の処理は、
入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
所定の量子化パラメータに従って前記ブロックの係数を量子化し、
前記ブロックから係数のサブセットを取り出し、
前記取り出された係数を可変長符号化し、該符号化の結果を第１記憶領域に保存し、
前記取り出された係数を除いた残りの係数を可変長符号化し、該符号化の結果を第２記憶領域に保存する処理であり、
前記取り出された係数を示す符号化データは、前記取り出された係数を除いた残りの係数を示す符号化データから独立してアクセスされる、前記コンピュータ読み取り可能な記憶媒体における別の領域に保存される
ことを特徴とするコンピュータ読み取り可能な記憶媒体であって、
前記所定の処理はさらに、
可変長符号化の前に前記取り出された係数をランレングス符号化し、
可変長符号化の前に前記取り出された係数を除いた残りの係数をランレングス符号化する
ことを特徴とし、
前記取り出された係数のランレングス符号化は、所定のスキャンパターンに従って前記取り出された係数のサブセットのペアを一緒に符号化することを含み、
前記所定のスキャンパターンは、
サブセットの前記ペアの１番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブセットの前記ペアの２番目における最も高周波の係数へ移動し、
サブセットの前記ペアの前記２番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項１１】
第１符号化ビデオデータを入力とする第１ランレングス復号器と、
前記第１ランレングス復号器の出力に接続されて該出力を入力とするマルチプレクサと、
前記マルチプレクサの出力に接続される逆変換器と、
を備え、
前記第１ランレングス復号器は、縮小サイズのソースビデオシーケンスを示す前記第１符号化ビデオデータを復号するためのものであり、
前記第１符号化ビデオデータは、低周波のサブブロックのペアを単位として所定のスキャンパターンに従ってランレングス符号化されており、
前記所定のスキャンパターンは、
サブブロックの前記ペアの１番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブブロックの前記ペアの２番目における最も高周波の係数へ移動し、
サブブロックの前記ペアの前記２番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ復号器。
【請求項１２】
第２符号化ビデオデータを入力とする第２ランレングス復号器をさらに備え、
前記第２ランレングス復号器は、フルサイズのソースビデオシーケンスを示す前記第２符号化ビデオデータを復号するためのものである
ことを特徴とする請求項１１に記載のビデオ復号器。
【請求項１３】
前記第１符号化ビデオデータを入力とし、前記第１ランレングス復号器の前記入力に接続されて当該入力を出力とする第１可変長復号器と、
前記第２符号化ビデオデータを入力とし、前記第２ランレングス復号器の前記入力に接続されて当該入力を出力とする第２可変長復号器と、
をさらに備えることを特徴とする請求項１２に記載のビデオ復号器。
【請求項１４】
前記第２ランレングス復号器を無効にするか否かを指示する制御入力をさらに含むことを特徴とする請求項１２に記載のビデオ復号器。
【請求項１５】
前記逆変換器は逆離散コサイン変換器であることを特徴とする請求項１１に記載のビデオ復号器。
【請求項１６】
前記逆変換器は逆ウェーブレット変換器であることを特徴とする請求項１１に記載のビデオ復号器。
【請求項１７】
縮小サイズの画像を示す第１符号化ビデオデータを取り出し、
係数のブロックを取得するために前記第１符号化ビデオデータを復号し、
制御信号がフルサイズでの復号を実行することを指示している場合には、
第２符号化ビデオデータを取り出し、
前記係数を補う残りの係数のブロックを取得するために前記第２符号化ビデオデータを復号し、
前記係数と前記残りの係数とをブロックごとに結合し、
逆変換により、前記結合された係数のブロックから画素データを生成する
ことを特徴とするビデオ復号方法であって、
前記第１符号化ビデオデータは、低周波のサブブロックのペアを単位として所定のスキャンパターンに従ってランレングス符号化されており、
前記所定のスキャンパターンは、
サブブロックの前記ペアの１番目において最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
サブブロックの前記ペアの２番目における最も高周波の係数へ移動し、
サブブロックの前記ペアの前記２番目において前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とするビデオ復号方法。
【請求項１８】
前記制御信号がフルサイズでの復号を実行しないことを指示している場合には、前記第１符号化ビデオデータを復号することにより取得される前記係数のブロックから画素データを生成することをさらに含むことを特徴とする請求項１７に記載のビデオ復号方法。
【請求項１９】
前記逆変換は逆離散コサイン変換であることを特徴とする請求項１７に記載のビデオ復号方法。
【請求項２０】
前記逆変換は逆ウェーブレット変換であることを特徴とする請求項１７に記載のビデオ復号方法。
【請求項２１】
前記第１符号化ビデオデータの復号は、直接計算により可変長符号化データを復号することを含むことを特徴とする請求項１７に記載のビデオ復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、可変的に選択されたサイズでのビデオ再生をサポートするビデオ符号化システムに関する。本発明の実施形態は、特に、ビデオ編集アプリケーションに見られるような、イントラフレーム（フレーム内）符号化方式をサポートするビデオ符号化システムに関する。
【背景技術】
【０００２】
現代のビデオ編集アプリケーションはソフトウェアベースのツールであり、オペレータ（編集者）が、複数の入力ビデオシーケンスの候補から出力ビデオシーケンスを生成することを可能にする。ビデオ編集アプリケーションを用いることで、多様な画像ソースから映画やテレビ番組を作成することが可能になる。例えば、２人の人物の間で交わされる会話を興味深く見せるために、編集者は２以上の異なるカメラアングルを行き来する出力シーケンスを生成することができる。編集者は、ある区間には第１のビデオシーケンスを選択し、別の区間には第２のビデオシーケンスをクロスフェードさせることもできる。このような編集機能をサポートするために、ビデオエディタは、種々の入力シーケンスの候補を共通の時間軸に沿って表示するグラフィカルユーザインタフェースを備える。また、編集者は、出力ストリームにおいて生じる入力ストリーム間のカットを指定することもできるし、入力ストリーム間で生じるあらゆる映像効果（例えば、クロスフェードなど）を指定することもできる。このようなドラフト段階の編集セッティングは、最終的なセッティングが得られるまで自在に修正することができる。
【０００３】
ビデオ編集アプリケーションでは、編集セッティングをいつでもテストできる。アプリケーションは、一般的に、入力ストリームの候補を示す符号化ビデオデータにアクセスする。アプリケーションのグラフィカルユーザインタフェースはまた、ディスプレイの一部に編集セッティングの再生を行うウィンドウを備える。再生を行うにあたっては、アプリケーションは複数の保存されたビデオデータシーケンスを復号するとともに映像効果を適用して、ビデオシーケンスを表示する。表示可能なビデオシーケンスをリアルタイムで描画するためには、復号処理と映像効果処理とを１フレームの時間内（通常は、１秒の３０分の１）に行わなければならない。復号処理をできるだけ高速に行うために、従来のビデオ編集アプリケーションはイントラ予測（フレーム内予測）のみがなされた符号化ビデオデータを用いていた。すなわち、各フレームは時間予測（時間軸方向の予測）を行うことなく復号される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ビデオ編集アプリケーションの設計者は、時間予測により符号化されたデータを含む、より広範な種類の符号化ビデオデータを扱うことが求められる場合がある。
【課題を解決するための手段】
【０００５】
発明者らは、復号処理をできるだけ高速に行うためには、入力ビデオデータを元の符号化フォーマットから復号し、イントラ予測技術に基づいてデータを再符号化することが有効であると判断した。また、復号化と再符号化により、入力データに比べ圧縮率は低くなりファイルサイズは大きくなるが、テスト動作の際により高速な復号が可能となる。
【０００６】
また、発明者らは、入力データの復号化と再符号化により、ビデオセッティングのテストモードにおいて実行される復号処理に対してさらなる最適化を施すことができるものと認識している。
【発明を実施するための最良の形態】
【０００７】
本発明の実施形態は、一対の符号化チェーンに基づいてデータを符号化する符号化システムを提供する。第１符号化チェーンは、ビデオ編集アプリケーションにおいて実時間再生や表示の機能をサポートするのに十分なサイズであるような、縮小サイズのソースビデオシーケンスを示す、それ自身で復号可能な符号化ビデオデータを生成する。第２符号化チェーンは、補足（残りの）データを示す符号化ビデオデータを生成する。補足データは、第１符号化チェーンの符号化ビデオデータとともに復号することで、フルサイズ表示のソースビデオシーケンスを得るためのものである。第１符号化チェーンの出力はファイル構造のメモリに保存され、第２チェーン出力とは独立にアクセス可能であり、そのため、実時間での復号と再生を可能にする。
【０００８】
図１は、本発明の実施形態におけるビデオ符号化システム１００のブロック図である。ビデオ符号化システム１００は、ビデオキャプチャデバイスや記憶装置などの何らかのソースからビデオシーケンスデータを受け入れる。一般に、ビデオシーケンスの画像データは複数のフレームから構成され、各々のフレームは画素配列を含む。画素データは、輝度信号と一対の色信号（Ｙ，Ｃｒ，Ｃｂ）に分けることができ、それぞれはシステム１００において独立に処理可能である。
【０００９】
ビデオ符号化システム１００は、変換器１１０、量子化器１２０、スプリッタ１３０、および一対の処理チェーン１４０、１５０を備える。処理チェーンは、それぞれランレングス符号化器１４２、１５２と可変長符号化器１４４、１５６とを備える。
【００１０】
変換回路１１０は、ソースフレームからの画素データブロックを、所定の変換方式にしたがって係数データブロックに変換する。例えば、変換器１１０は、離散コサイン変換（ＤＣＴ：  ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ）にしたがって動作する。通常、ＤＣＴ係数は係数の二次元配列として記される。最も一般的な構成は、ソースデータの８画素×８画素のブロックを、図２（ａ）に示した配列のように、ＤＣＴ係数の８×８の配列に変換するものである。ここで、配列の原点（位置（０，０））の係数はブロックの直流（ＤＣ）成分を表し、他の係数はブロックに含まれる種々の周波数成分を表している。また、ブロックの主軸に沿った係数はそれぞれ、単一方向の周波数が徐々に高くなる画像要素を示している。ブロックの主対角線に沿った係数は、複数方向の周波数が徐々に高くなる画像要素を示している。
【００１１】
量子化器１２０は、量子化パラメータ（ｑｐ）で除算することで係数を切り捨てる。これにより、後続の符号化処理で用いられる係数の大きさが小さくなる。量子化により、いくつかの低いレベルの係数は切り捨てられて０になる。量子化パラメータは、フレーム中のブロックごとに、あるいはフレームごとに変更しても良い。この場合には、量子化パラメータに関する情報自体をビデオ符号化システム１００から出力される符号化データに含め、復号時に量子化パラメータを再構成して逆量子化処理が行われる。
【００１２】
スプリッタ１３０は、ビデオ符号化システム１００で行われるデマルチプレクス処理を示し、各ブロックの係数を一対の符号化チェーン１４０、１５０の一方に分配する。本実施形態では、スプリッタ１３０は、スプリッタ１３０に入力される係数データのブロックごとに、低周波の係数セットを第１符号化チェーン１４０に、残りの係数を第２符号化チェーン１５０に転送する。例えば、ソース画像の４分の１サイズで表示可能なビデオ信号を復元するためには、第１符号化チェーンにおいて４分の１の低周波の係数を符号化し（８×８のブロックに対して生成された、６４個の係数のうちの１６個を符号化し）、残りの係数を第２符号化チェーンにおいて符号化すれば十分である。なお、同様に他の表示サイズにも対応することができる。
【００１３】
符号化チェーン１４０および１５０はそれぞれ、ランレングス符号化器１４２、１５２と可変長符号化器１４４、１５４とを備える。一実施形態において、ランレングス符号化器１４２、１５２それぞれは、従来のジグザグスキャンの方向に従ってランレングス符号化を行う。ランレングス符号化器は、原点から開始して様々な係数の位置を横断してスキャンし、ゼロでない係数に達するまでに横断された位置の数をカウントする。横断された位置の数をランレングスとして出力し、ゼロでない係数をレベルとして出力する。ブロック全体を横断してスキャンするまで、符号化器はブロック内の横断（スキャン）を続け、ランとレベルとを連続して出力する。
【００１４】
もちろん、第１チェーン１４０では、ランレングス符号化器１４２は入力された係数のみを横断（スキャン）すればよい。上述の例では、図２（ｂ）に示す配列ように、複数の４×４のブロックでもって４分の１サイズの表示がなされる。このようなブロックに対しては従来のジグザグスキャンが適切である。
【００１５】
第２チェーン１５０では、ランレングス符号化器１５２がブロック中の残りの係数をスキャンするが、第１チェーン１４０へ渡された係数を除いた部分を対象とするため（第１チェーン１４０へ渡された係数部分が存在しないため）、一般的にブロックは係数値の不規則な配列となる（図２（ｃ））。一実施形態では、本来ならスモール（小）ブロック内の係数によって占められる位置にダミーの０値を挿入してから、残りの係数を通常の配列として扱うことが特に効果的である。すなわち、ランレングス符号化器１５２は従来のジグザグスキャンをブロック（全体）にわたって行うことができる。比較的滑らかな（テクスチャが滑らかな）画像コンテンツに対しては、原点から遠く離れた主対角線上の係数は０値となることが多いため、ランレングス符号化を特に効率的に行うことができる。
【００１６】
あるいは、ランレングス符号化器１５２は、第１チェーン１４０へ渡された係数の位置をスキップする（飛ばす）方法で、従来のジグザグスキャンに従って、残りのブロックをスキャンすることができる。例えば、再び図２（ｃ）を参照すると、ランレングス符号化器１５２は、位置（０，０）から開始するのではなく、位置（４，０）からスキャンを開始することができる。係数の位置（３，１）、（２，２）、（１，３）が残りのブロックには存在しないため、ジグザグスキャン方向における次の「隣の」位置は（０，４）となる。位置（０，５）から（５，０）への次のジグザグスキャンは、係数の位置（３，２）および（２，３）は小ブロックのメンバーである（小ブロックに存在する）ため、同様にこれらをスキップする。
【００１７】
さらなる実施形態では、ジグザグスキャン方向に従って独立してランレングス符号化を行うために、残りのブロックをサブブロックに分割(parse)してもよい。例えば図２（ｃ）の実施形態においては、残りのブロックを３つの係数データの４×４配列に分割し、それぞれに対して独立してランレングス符号化を行うことができる。
【００１８】
本発明の他の実施形態では、可変長符号化器が、複数の可逆符号化アルゴリズムの１つに従って符号化を行ってもよい。可逆符号化アルゴリズムでは、何らかのルックアップテーブルを参照することなく直接計算することにより、ＶＬＣデータをランレングスデータに直接に復号することが可能である。特に、復号器をソフトウェアで実装する場合には、ソースデータに対して直接計算することで、ルックアップテーブルを用いるよりも高速な実時間復号が可能となる。例として、可変長符号化器は、ゴロムライス（Ｇｏｌｏｍｂ−Ｒｉｃｅ）符号や指数ゴロム（ｅｘｐ−Ｇｏｌｏｍｂ）符号などといった符号化アルゴリズムに従って動作することができる。
【００１９】
２つのチェーン１４０、１５０の可変長符号化器１４４、１５４は、ランレングス符号化器１４２、１５２から出力されるランとレベルのペアのデータを符号化する。他の実施形態においては、処理チェーン１４０、１５０のランレングス符号化器１４２、１５２を省くことができる。この実施形態では、可変長符号化器１４４、１５４は、スプリッタ１３０から出力される係数データを直接に符号化する。このため、図１中のランレングス符号化器１４２、１５２を点線で示している。
【００２０】
各フレームの符号化ビデオデータは、記憶装置中のファイル１６０に保存される。本実施形態では、アクセスを容易にするために、第１処理チェーン１４０から出力される符号化ビデオデータをファイルの連続する領域に保存する（グループ１  １６２として示す）。第２処理チェーン１５０から出力される符号化ビデオデータは、ファイル１６０の別の領域１６４に保存される。再生時に、縮小サイズのビデオシーケンスのみを再生したい場合には、グループ１  １６２の符号化ビデオデータのみを取り出して復号すればよい。これに対して、フルサイズのビデオシーケンスを復号したい場合には、グループ１６２、１６４の両方を取り出して復号すればよい。すなわち、本発明によれば、画像の実時間再生を種々のサイズで行うことができる。
【００２１】
一実施形態では、すべてのフレームをイントラ（フレーム内）符号化フレーム（「Ｉフレーム」）として符号化することができる。イントラ符号化では、フレーム中の１ブロックのビデオデータは、そのフレーム中の他のブロックのビデオデータから符号化される。すなわち、所定のブロックＸのビデオコンテンツは、ブロックＸに水平あるいは垂直方向に隣接するブロックのデータに基づいて符号化される。例えば、ＭＰＥＧ−４標準の７．４．３章に記されている技術を、本符号化器１００に適用することができる。Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −−  Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  −−  Ｐａｒｔ２：  Ｖｉｓｕａｌ  Ａｍｅｎｄｍｅｎｔ  １：  Ｖｉｓｕａｌ  ｅｘｔｅｎｓｉｏｎｓ，  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１  Ｎ  ３０５６  （２０００）を参照されたい。説明を簡単にするために、このような処理は変換ブロック１１０に包含されているものとする。
【００２２】
一実施形態では、ランレングス符号化器１４２は、小ブロックのペアに対して、修正されたジグザグスキャンを行う。図３は、係数データにおける４×４ブロックの典型的なペアに対するジグザグスキャンの様子を示したものである。一実施形態では、第１ブロックの原点からスキャンを開始し、従来のジグザグスキャン方向に従って第１ブロック中の係数の位置を進む。ブロック中のスキャンは、最後の係数に達するまで、ブロックの主対角線に対して直角方向に行われる（図２（ａ）と比較されたい）。最後の係数の位置は、一般に原点から可能な限り最も離れたサブブロックの主対角線上に位置する。スキャンの方向は、第１ブロックのこの最終位置から、図３において「初期位置」と記した第２ブロックの対応する位置にジャンプする。第２ブロックにおける係数位置のスキャン方向は、逆の方向である。第２ブロックの初期位置から原点に達するまで、ブロックの主対角線に直角の方向にスキャンが行われる。すなわち、本実施形態のスキャンは、繰り返される１回のスキャンごとに２つの小ブロックを処理する。
【００２３】
図３に示した実施形態は、小ブロックの係数の符号化において特に効率的である。フルサイズブロックと比較して、小ブロックは一般的に少ない数の係数しか含まないため（例えば、６４個の係数に対して１６個の係数）、単一のブロックのみをスキャンする従来のジグザグスキャンでは、ゼロランが比較的小さくなる傾向にあり、非効率になってしまう。これに対して、第１ブロックの従来のジグザグスキャンと第２ブロックの逆方向のジグザグスキャンとを結合することで、より長いゼロランが発生しやすくなる。滑らかな画像データにおいては、第１ブロックの最終位置付近や第２ブロックの初期位置付近の係数はゼロになることが多い。第１ブロックから第２ブロックに「ジャンプ」するラン（スキャン）により、これらの複数のゼロが捕捉されるようになる。
【００２４】
図４は、本発明の他の実施形態における符号化チェーン４００のブロック図である。符号化チェーン４００は、図１に示した第１あるいは第２符号化チェーンとして用いることができる。図４は、マルチモードのランレングス符号化システム４１０を示したものであり、ランレングス符号化器４２０とセレクタ４３０とを備える。セレクタ４３０は一対の入力を有する。第１入力は符号化チェーンへの入力に接続されており、第２入力はランレングス符号化システム４１０の出力に接続されている。ランレングス符号化器４２０の入力も、ランレングス符号化システム４１０の入力に接続されている。（図４において「ＲＬＥ選択」と記されている）選択信号に基づいて、セレクタ４３０は２つの入力から選択した１つの入力からのデータを、可変長符号化器でさらに処理するために渡す（転送する）。
【００２５】
他の実施形態においては、データに適用する符号化アルゴリズムを、可変長符号化器４４０に入力される種々のデータパターンに基づいて動的に変更してもよい。可変長符号化器４４０は、符号化部４５０と複数の符号割当表４６０とを有するものとして示される。入力された選択信号に基づいて、ＶＬＣセレクタ４７０は割当表の１つを符号化部４５０に結びつける。ここで、入力選択信号は、例えばブロックごと、タイルごと、フレームごとなどで動的に変更することができる。また、ＶＬＣ選択信号は、（例えば、保持する輝度データや色データなどの）ブロック種別、可変長符号化器が属する符号化チェーン（チェーン１４０または１５０）、あるいはブロックが属するタイルに基づいて決定可能である。さらに、いくつかのＶＬＣ割当表でブロックを符号化すれば、圧縮効率の比較をＶＬＣ割当表間で行うこともできる。最も圧縮効率の高い符号化結果を用いて、記憶装置に保存することができる。
【００２６】
符号化の際に、可逆符号化アルゴリズムを用いたとしても、可変長符号化器５００は入力データを直接計算で符号化してもよいし、ルックアップテーブルを用いて符号化しても良い。
【００２７】
他の実施形態では、変換器１１０はウェーブレット変換を用いてもよい。多解像度ウェーブレット分解は、画像情報の符号化に最も効率的な手法の一つである。符号化される画像情報は、局所的にサポートされるウェーブレットの線形結合として表現される。ウェーブレットサポートの例を図５に示す。ウェーブレット分解により、ＤＣ係数（「ＤＣ」と記載）と、所定ブロックの水平方向、垂直方向、対角線方向のウェーブレットに対応するいくつかの係数バンドとが得られる。図５では、４つの係数バンド（バンド１〜４）が示されている。第１バンドは、極めて低周波のウェーブレットの係数を含む。バンド２の各ウェーブレットは、ブロック領域を４分の１に分割する。そのため、４つの水平ウェーブレット係数、４つの垂直ウェーブレット係数、および４つの対角線ウェーブレット係数が存在する。ウェーブレット係数さらなるバンドそれぞれにおいて、係数は、前の係数バンドにおける対応ウェーブレット領域の４分の１を有するウェーブレットを示す。図５には、ウェーブレットサポートが、ブロック中の５つの異なる粒度（バンド０〜４、ここでバンド０はＤＣ係数である）における画像情報として示されている。
【００２８】
本発明の原理は、ウェーブレットベースの符号化器に適用することが可能である。このような実施形態では、変換器１１０はウェーブレット係数を生成し、生成されたウェーブレット係数は量子化器１２０で切り捨て処理がなされればよい。スプリッタ１３０は、第１の一連のバンドのウェーブレット係数を第１符号化チェーン１４０に、残りのバンドのウェーブレット係数を第２符号化チェーン１５０に転送する。システムがフルサイズ画像の２５％の縮小サイズ表示を生成する場合には、スプリッタはバンド０〜３の係数を第１符号化チェーンに転送する。
【００２９】
図６は、本発明の実施形態に基づくビデオ復号器６００のブロック図である。復号器６００は、図１の符号化器１００でなされた符号化処理の逆を行うことができる。したがって、復号器は、逆変換器６１０、逆量子化器６２０、マルチプレクサ６３０、それぞれがランレングス復号器６４２、６５２と可変長復号器６４４、６５４とを有する一対の処理チェーン６４０、６５０、および記憶装置６６０を備えることになる。上述のように、符号化ビデオデータは記憶装置中のファイルに２つの別個のグループで存在し得る。第１グループは小ブロックの符号化データを含み、ソースビデオ画像の縮小サイズの複製を得たいときにはこのデータのみを復号すればよい。第２グループは残りのブロックの符号化データを含み、小ブロックの符号化データとともに復号することで、フルサイズの画像が生成される。
【００３０】
動作時は、処理チェーン６４０、６５０の一方あるいは両方がアクティブとなる。第１処理チェーン６４０のみがアクティブであるときには、小ブロックの符号化ビデオデータが記憶装置から取り出され、可変長復号６４４され、ランレングス復号６４２される。第２処理チェーン６５０がアクティブであるときには、残りのブロックの符号化ビデオデータも記憶装置から取り出され、可変長復号６５４され、ランレングス復号６５２される。マルチプレクサ６３０は、処理チェーン６４０、６５０両方からデータを受信すると、逆量子化器６２０と逆変換器６１０でのさらなる処理のためのフォーマットになるように、受信したデータを統合する。
【００３１】
逆量子化器６２０は、図１の量子化器１２０において適用した量子化パラメータ（ｑｐ）を入力係数値に乗じることで、変換値を得る。逆変換器６１０は、図１の変換器１１０で適用された（例えば、離散コサイン変換符号化やウェーブレット変換符号化などの）変換の逆処理を行い、画素値を復元する。したがって、変換器は画素データのブロックを出力し、出力されたブロックは他のブロックとともに再構成され表示され得る。ここで、復元される画像データは、縮小サイズブロックのみが復号されるときには縮小サイズ画像となり、フレームのすべての符号化ビデオデータが復号されるときにはフルサイズ画像となる。
【００３２】
一実施形態においては、逆変換器６１０が動作すると利用する復号モードの識別子を受信する。フルサイズの復号がなされるときには、逆変換器６１０は通常の動作をする。しかしながら、縮小サイズの復号がなされるときには、残りのブロックにおける係数、すなわち本来であれば第２処理チェーン６５０から出力される係数のみに対する逆変換計算を逆変換器６１０は省略する。チェーン６５０は選択信号によって非アクティブとなるため、逆変換計算を行う意味がないためである。このように計算を省略することで、逆変換器６１０のスループットを最適化することができる。
【００３３】
逆変換器６１０は、ウェーブレット係数から画素データを生成するウェーブレット変換器であっても良い。このような実施形態において、逆変換器が小ブロックのみに対して動作すると、従来のウェーブレット復号では、高周波係数が存在しないために低解像度のフルサイズビデオが生成されることになる。そのため、一実施形態では、（例えば元の２５％のサイズに落とすなどして、）フルサイズビデオを対応する縮小サイズにサイズ変更する。
【００３４】
以下の表１に示すように、ランレングス符号化データはランとレベルのペアのシリーズ（連続したもの）として表される。ラン値は、ゼロ値である係数が検出された連続する係数スキャン位置の数である。ラン値は、ゼロとデータユニット中の係数位置の最大数（８×８ブロックでは６４、４×４ブロックの符号化ペアでは１６）との間の任意の値となり得る。レベル値は、スキャン方向で検出された次の非ゼロ係数の値である。それゆえ、単一ブロックあるいはブロックペアの係数を符号化するために、ランレングス符号化器は少なくとも１つのランを生成し、一般にはブロックの情報コンテンツに応じて定まるランとレベルの数列を生成する。ブロックの符号化は、ラン値またはレベル値のどちらで終了してもよい。
【００３５】
通常、ランレングス符号化器は、いくつかのランレングスペアを生成する。
【００３６】
【表１】
0004575344.tif 000002
【００３７】
一般的に、最後のペアのラン値で所定のブロックの残り部分を表すことができれば、表１に示すようにレベルが続くのではなく、ブロック終了（エンド・オブ・ブロック）シンボルが続く。
【００３８】
本発明の実施形態によれば、表２に示すパターンのようなランレングス符号化データの代替「パターン」を用いることで、表１のデータを効率的に復号することができる。
【００３９】
【表２】
0004575344.tif 000003
【００４０】
上述と同様、ｎ番目のレベルシンボルは必ずしも存在するとは限らない。
【００４１】
図７は、本発明の実施形態における読込方法７００を示す。本実施形態によれば、本方法は、ランレングスペアの入力パターンに存在する第１のラン値を読み、読み込む（ボックス７１０）。次いで、本方法は、今まで読み込んだラン値とレベル値数との和から特定される現在の係数位置が、最終位置あるいは最終位置の１つ前の位置にあるかを判断する（ボックス７２０）。最終位置あるいは最終位置の１つ前の位置でなければ、レベル値とラン値の２つを読み込み（ボックス７３０）、次の繰り返しのためにボックス７２０に戻る。現在の係数位置が最終位置である場合には、方法７００は単に処理を終えればよい。また、現在の係数位置が最終位置の１つ前の位置である場合には、本方法は、最後のレベル値を読み込み（ボックス７４０）、終了する。
【００４２】
図７で示した読込処理は、表２のパターンにしたがってランとレベルのペアを読み込むものである。この読込パターンは、繰り返しごとのテストが一つ少なくて済むため、表１のパターンに基づいた読込方法よりも高速である。通常、ランレングス復号はラン値とレベル値とを別々のシンボルとして処理するため、各シンボルを読み込むごとに最終位置に到達したか否かを判断するテストをしなければならない。これに対して、表２で示したようにシンボルペアを読み込むことで、図７の方法は、半分の回数のテストを実行すればよく、より高速な処理が可能となる。
【００４３】
上述の通り、本実施形態の符号化手法は、縮小サイズ画像を極めて高速に復号できるプロトコルに従って符号化ビデオデータを構成するものであり、特にビデオ編集アプリケーションに適している。以上の説明では、復号されたときに４分の１のサイズで表示される４×４のブロックの例を示した。もちろん、本発明の原理はこれに限定されるものではない。復号システムの動作は、縮小表示とフルサイズ表示との望まれる比率で自在に提供するように構成されても良い。表３に示したサイズ比率においては、スプリッタ１３０は、８×８のソースブロックから表に示した次元を有するサブブロックを直接に構成することが可能である。
【００４４】
【表３】
0004575344.tif 000004
【００４５】
例えば５０％などといった他のサイズ比率としたい場合には、一度復号器（図６）から出力された復号ビデオデータに対して、さらなる空間サイズ変更技術を使用すればよい。
【００４６】
また、さらなる柔軟性を提供するためには、ビデオ符号化器や復号器は、それぞれが所定のフレームサイズに対応するビデオデータを処理するようになされた３つ以上の符号化／復号チェーンを備えればよい。一例としてビデオ符号化器を使用すると、第１符号化チェーンは得られたＤＣＴ係数の３×３配列を処理し、第２符号化チェーンは残りの係数を５×５係数配列まで処理し（３×３配列の係数を除いた５×５配列まで処理し）、第３符号化チェーンは最初の２つの符号化チェーンで処理されない残りの係数を処理すればよい。同様に、ビデオ復号器も同様の方法で複数の符号化チェーンを備えることができる。
【００４７】
上述の実施形態で示したシステムと技術は、フル符号化サービスを提供するより大きなビデオ符号化システムにおいても用いることができる。このようなシステムの１つでは、ビデオフレームを複数の「タイル」として符号化する。フレームの空間領域をタイルと呼ばれる別々の部位に分け、タイル内のブロックに用いる所定の符号化方法を、ブロックごとではなくタイルごとに適用することができる。例えば、ＶＬＣ表の選択（図４）は、著低のタイル中のすべてのブロックに対して共通に行われる。また、量子化パラメータの選択などといった符号化パラメータも、タイル中のすべてのブロックに対して共通に行われる。符号化方法（符号化パラメータ）をタイルごとに適用することで、タイルのビデオデータを、同一フレーム内の別のタイルに属するビデオデータとは独立に符号化／復号することが可能となる。これにより、（１）タイルに対して個別のプロセッサを割り当て、並列に符号化／復号することが可能となる、（２）フレームのビデオデータを小さなタイルに分割することでメモリ管理やキャッシュ管理が容易になる、（３）タイルごとに符号化パラメータを独立に選択することができ（そして最適化を図ることができ）るため、より高い圧縮効率を得られる、（４）ビデオシーケンス中の興味あるタイルを、当該タイルが属するフレーム全体を復号することなく復号することができる、といったことを含む、いくつかの利点が得られる。それゆえ、図１のビデオ符号化器と図６のビデオ復号器を複数用意し、タイルを独立に復号することができる並列処理システムを構成することができる。
【００４８】
本発明の種々の実施形態を、ここでは具体的に描写し、説明した。しかしながら、本発明の修正や改良は、本発明の基本的考えや意図された範囲から逸れることなく、上述の技術によってカバーされ、添付の請求項に含まれるということを理解すべきである。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態に基づくビデオ符号化システムのブロック図である。
【図２】本発明の実施形態に基づくブロック種別を示す図である。
【図３】本発明の実施形態に基づくランレングス符号化器のスキャン方向を示す図である。
【図４】ウェーブレット係数での符号化を行う本発明の実施形態に基づくブロック種別を示す図である。
【図５】本発明の実施形態に基づく可変長符号化器を示す図である。
【図６】本発明の実施形態に基づくビデオ復号システムのブロック図である。
【図７】本発明の実施形態に基づくランレングス読込方法を示すフローチャートである。
【図８】コンピュータの構成例を示す図である。
【図１】
0004575344.tif 000005
【図２】
0004575344.tif 000006
【図３】
0004575344.tif 000007
【図４】
0004575344.tif 000008
【図５】
0004575344.tif 000009
【図６】
0004575344.tif 000010
【図７】
0004575344.tif 000011
【図８】
0004575344.tif 000012