説明

縮小サイズまたはフルサイズでの再生を動的に選択的に行うための複数の独立した符号化チェーンを備えるビデオ符号化システム

本発明の実施形態は、2つの符号化チェーンに基づいてデータを符号化する符号化システムを提供する。第1符号化チェーンは、それ自身で復号可能な符号化ビデオデータを生成し、ビデオ編集アプリケーションにおいて実時間での再生や表示の機能をサポートするのに十分なサイズである縮小サイズのソースビデオシーケンスを得る。第2符号化チェーンは、残りのデータの符号化データを生成し、第1符号化チェーンの符号化ビデオデータとともに復号することでフルサイズ表示のソースビデオシーケンスを得る。第1符号化チェーンの出力はファイル構造のメモリに保存され、第2チェーンの出力とは独立にアクセス可能であるので、実時間での復号と再生が可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、可変的に選択されたサイズでのビデオ再生をサポートするビデオ符号化システムに関する。本発明の実施形態は、特に、ビデオ編集アプリケーションに見られるような、イントラフレーム(フレーム内)符号化方式をサポートするビデオ符号化システムに関する。
【背景技術】
【0002】
現代のビデオ編集アプリケーションはソフトウェアベースのツールであり、オペレータ(編集者)が、複数の入力ビデオシーケンスの候補から出力ビデオシーケンスを生成することを可能にする。ビデオ編集アプリケーションを用いることで、多様な画像ソースから映画やテレビ番組を作成することが可能になる。例えば、2人の人物の間で交わされる会話を興味深く見せるために、編集者は2以上の異なるカメラアングルを行き来する出力シーケンスを生成することができる。編集者は、ある区間には第1のビデオシーケンスを選択し、別の区間には第2のビデオシーケンスをクロスフェードさせることもできる。このような編集機能をサポートするために、ビデオエディタは、種々の入力シーケンスの候補を共通の時間軸に沿って表示するグラフィカルユーザインタフェースを備える。また、編集者は、出力ストリームにおいて生じる入力ストリーム間のカットを指定することもできるし、入力ストリーム間で生じるあらゆる映像効果(例えば、クロスフェードなど)を指定することもできる。このようなドラフト段階の編集セッティングは、最終的なセッティングが得られるまで自在に修正することができる。
【0003】
ビデオ編集アプリケーションでは、編集セッティングをいつでもテストできる。アプリケーションは、一般的に、入力ストリームの候補を示す符号化ビデオデータにアクセスする。アプリケーションのグラフィカルユーザインタフェースはまた、ディスプレイの一部に編集セッティングの再生を行うウィンドウを備える。再生を行うにあたっては、アプリケーションは複数の保存されたビデオデータシーケンスを復号するとともに映像効果を適用して、ビデオシーケンスを表示する。表示可能なビデオシーケンスをリアルタイムで描画するためには、復号処理と映像効果処理とを1フレームの時間内(通常は、1秒の30分の1)に行わなければならない。復号処理をできるだけ高速に行うために、従来のビデオ編集アプリケーションはイントラ予測(フレーム内予測)のみがなされた符号化ビデオデータを用いていた。すなわち、各フレームは時間予測(時間軸方向の予測)を行うことなく復号される。
【発明の開示】
【発明が解決しようとする課題】
【0004】
ビデオ編集アプリケーションの設計者は、時間予測により符号化されたデータを含む、より広範な種類の符号化ビデオデータを扱うことが求められる場合がある。
【課題を解決するための手段】
【0005】
発明者らは、復号処理をできるだけ高速に行うためには、入力ビデオデータを元の符号化フォーマットから復号し、イントラ予測技術に基づいてデータを再符号化することが有効であると判断した。また、復号化と再符号化により、入力データに比べ圧縮率は低くなりファイルサイズは大きくなるが、テスト動作の際により高速な復号が可能となる。
【0006】
また、発明者らは、入力データの復号化と再符号化により、ビデオセッティングのテストモードにおいて実行される復号処理に対してさらなる最適化を施すことができるものと認識している。
【発明を実施するための最良の形態】
【0007】
本発明の実施形態は、一対の符号化チェーンに基づいてデータを符号化する符号化システムを提供する。第1符号化チェーンは、ビデオ編集アプリケーションにおいて実時間再生や表示の機能をサポートするのに十分なサイズであるような、縮小サイズのソースビデオシーケンスを示す、それ自身で復号可能な符号化ビデオデータを生成する。第2符号化チェーンは、補足(残りの)データを示す符号化ビデオデータを生成する。補足データは、第1符号化チェーンの符号化ビデオデータとともに復号することで、フルサイズ表示のソースビデオシーケンスを得るためのものである。第1符号化チェーンの出力はファイル構造のメモリに保存され、第2チェーン出力とは独立にアクセス可能であり、そのため、実時間での復号と再生を可能にする。
【0008】
図1は、本発明の実施形態におけるビデオ符号化システム100のブロック図である。ビデオ符号化システム100は、ビデオキャプチャデバイスや記憶装置などの何らかのソースからビデオシーケンスデータを受け入れる。一般に、ビデオシーケンスの画像データは複数のフレームから構成され、各々のフレームは画素配列を含む。画素データは、輝度信号と一対の色信号(Y,C,C)に分けることができ、それぞれはシステム100において独立に処理可能である。
【0009】
ビデオ符号化システム100は、変換器110、量子化器120、スプリッタ130、および一対の処理チェーン140、150を備える。処理チェーンは、それぞれランレングス符号化器142、152と可変長符号化器144、156とを備える。
【0010】
変換回路110は、ソースフレームからの画素データブロックを、所定の変換方式にしたがって係数データブロックに変換する。例えば、変換器110は、離散コサイン変換(DCT: discrete cosine transform)にしたがって動作する。通常、DCT係数は係数の二次元配列として記される。最も一般的な構成は、ソースデータの8画素×8画素のブロックを、図2(a)に示した配列のように、DCT係数の8×8の配列に変換するものである。ここで、配列の原点(位置(0,0))の係数はブロックの直流(DC)成分を表し、他の係数はブロックに含まれる種々の周波数成分を表している。また、ブロックの主軸に沿った係数はそれぞれ、単一方向の周波数が徐々に高くなる画像要素を示している。ブロックの主対角線に沿った係数は、複数方向の周波数が徐々に高くなる画像要素を示している。
【0011】
量子化器120は、量子化パラメータ(q)で除算することで係数を切り捨てる。これにより、後続の符号化処理で用いられる係数の大きさが小さくなる。量子化により、いくつかの低いレベルの係数は切り捨てられて0になる。量子化パラメータは、フレーム中のブロックごとに、あるいはフレームごとに変更しても良い。この場合には、量子化パラメータに関する情報自体をビデオ符号化システム100から出力される符号化データに含め、復号時に量子化パラメータを再構成して逆量子化処理が行われる。
【0012】
スプリッタ130は、ビデオ符号化システム100で行われるデマルチプレクス処理を示し、各ブロックの係数を一対の符号化チェーン140、150の一方に分配する。本実施形態では、スプリッタ130は、スプリッタ130に入力される係数データのブロックごとに、低周波の係数セットを第1符号化チェーン140に、残りの係数を第2符号化チェーン150に転送する。例えば、ソース画像の4分の1サイズで表示可能なビデオ信号を復元するためには、第1符号化チェーンにおいて4分の1の低周波の係数を符号化し(8×8のブロックに対して生成された、64個の係数のうちの16個を符号化し)、残りの係数を第2符号化チェーンにおいて符号化すれば十分である。なお、同様に他の表示サイズにも対応することができる。
【0013】
符号化チェーン140および150はそれぞれ、ランレングス符号化器142、152と可変長符号化器144、154とを備える。一実施形態において、ランレングス符号化器142、152それぞれは、従来のジグザグスキャンの方向に従ってランレングス符号化を行う。ランレングス符号化器は、原点から開始して様々な係数の位置を横断してスキャンし、ゼロでない係数に達するまでに横断された位置の数をカウントする。横断された位置の数をランレングスとして出力し、ゼロでない係数をレベルとして出力する。ブロック全体を横断してスキャンするまで、符号化器はブロック内の横断(スキャン)を続け、ランとレベルとを連続して出力する。
【0014】
もちろん、第1チェーン140では、ランレングス符号化器142は入力された係数のみを横断(スキャン)すればよい。上述の例では、図2(b)に示す配列ように、複数の4×4のブロックでもって4分の1サイズの表示がなされる。このようなブロックに対しては従来のジグザグスキャンが適切である。
【0015】
第2チェーン150では、ランレングス符号化器152がブロック中の残りの係数をスキャンするが、第1チェーン140へ渡された係数を除いた部分を対象とするため(第1チェーン140へ渡された係数部分が存在しないため)、一般的にブロックは係数値の不規則な配列となる(図2(c))。一実施形態では、本来ならスモール(小)ブロック内の係数によって占められる位置にダミーの0値を挿入してから、残りの係数を通常の配列として扱うことが特に効果的である。すなわち、ランレングス符号化器152は従来のジグザグスキャンをブロック(全体)にわたって行うことができる。比較的滑らかな(テクスチャが滑らかな)画像コンテンツに対しては、原点から遠く離れた主対角線上の係数は0値となることが多いため、ランレングス符号化を特に効率的に行うことができる。
【0016】
あるいは、ランレングス符号化器152は、第1チェーン140へ渡された係数の位置をスキップする(飛ばす)方法で、従来のジグザグスキャンに従って、残りのブロックをスキャンすることができる。例えば、再び図2(c)を参照すると、ランレングス符号化器152は、位置(0,0)から開始するのではなく、位置(4,0)からスキャンを開始することができる。係数の位置(3,1)、(2,2)、(1,3)が残りのブロックには存在しないため、ジグザグスキャン方向における次の「隣の」位置は(0,4)となる。位置(0,5)から(5,0)への次のジグザグスキャンは、係数の位置(3,2)および(2,3)は小ブロックのメンバーである(小ブロックに存在する)ため、同様にこれらをスキップする。
【0017】
さらなる実施形態では、ジグザグスキャン方向に従って独立してランレングス符号化を行うために、残りのブロックをサブブロックに分割(parse)してもよい。例えば図2(c)の実施形態においては、残りのブロックを3つの係数データの4×4配列に分割し、それぞれに対して独立してランレングス符号化を行うことができる。
【0018】
本発明の他の実施形態では、可変長符号化器が、複数の可逆符号化アルゴリズムの1つに従って符号化を行ってもよい。可逆符号化アルゴリズムでは、何らかのルックアップテーブルを参照することなく直接計算することにより、VLCデータをランレングスデータに直接に復号することが可能である。特に、復号器をソフトウェアで実装する場合には、ソースデータに対して直接計算することで、ルックアップテーブルを用いるよりも高速な実時間復号が可能となる。例として、可変長符号化器は、ゴロムライス(Golomb−Rice)符号や指数ゴロム(exp−Golomb)符号などといった符号化アルゴリズムに従って動作することができる。
【0019】
2つのチェーン140、150の可変長符号化器144、154は、ランレングス符号化器142、152から出力されるランとレベルのペアのデータを符号化する。他の実施形態においては、処理チェーン140、150のランレングス符号化器142、152を省くことができる。この実施形態では、可変長符号化器144、154は、スプリッタ130から出力される係数データを直接に符号化する。このため、図1中のランレングス符号化器142、152を点線で示している。
【0020】
各フレームの符号化ビデオデータは、記憶装置中のファイル160に保存される。本実施形態では、アクセスを容易にするために、第1処理チェーン140から出力される符号化ビデオデータをファイルの連続する領域に保存する(グループ1 162として示す)。第2処理チェーン150から出力される符号化ビデオデータは、ファイル160の別の領域164に保存される。再生時に、縮小サイズのビデオシーケンスのみを再生したい場合には、グループ1 162の符号化ビデオデータのみを取り出して復号すればよい。これに対して、フルサイズのビデオシーケンスを復号したい場合には、グループ162、164の両方を取り出して復号すればよい。すなわち、本発明によれば、画像の実時間再生を種々のサイズで行うことができる。
【0021】
一実施形態では、すべてのフレームをイントラ(フレーム内)符号化フレーム(「Iフレーム」)として符号化することができる。イントラ符号化では、フレーム中の1ブロックのビデオデータは、そのフレーム中の他のブロックのビデオデータから符号化される。すなわち、所定のブロックXのビデオコンテンツは、ブロックXに水平あるいは垂直方向に隣接するブロックのデータに基づいて符号化される。例えば、MPEG−4標準の7.4.3章に記されている技術を、本符号化器100に適用することができる。Information technology −− Coding of audio−visual objects −− Part2: Visual Amendment 1: Visual extensions, ISO/IEC JTC 1/SC 29/WG 11 N 3056 (2000)を参照されたい。説明を簡単にするために、このような処理は変換ブロック110に包含されているものとする。
【0022】
一実施形態では、ランレングス符号化器142は、小ブロックのペアに対して、修正されたジグザグスキャンを行う。図3は、係数データにおける4×4ブロックの典型的なペアに対するジグザグスキャンの様子を示したものである。一実施形態では、第1ブロックの原点からスキャンを開始し、従来のジグザグスキャン方向に従って第1ブロック中の係数の位置を進む。ブロック中のスキャンは、最後の係数に達するまで、ブロックの主対角線に対して直角方向に行われる(図2(a)と比較されたい)。最後の係数の位置は、一般に原点から可能な限り最も離れたサブブロックの主対角線上に位置する。スキャンの方向は、第1ブロックのこの最終位置から、図3において「初期位置」と記した第2ブロックの対応する位置にジャンプする。第2ブロックにおける係数位置のスキャン方向は、逆の方向である。第2ブロックの初期位置から原点に達するまで、ブロックの主対角線に直角の方向にスキャンが行われる。すなわち、本実施形態のスキャンは、繰り返される1回のスキャンごとに2つの小ブロックを処理する。
【0023】
図3に示した実施形態は、小ブロックの係数の符号化において特に効率的である。フルサイズブロックと比較して、小ブロックは一般的に少ない数の係数しか含まないため(例えば、64個の係数に対して16個の係数)、単一のブロックのみをスキャンする従来のジグザグスキャンでは、ゼロランが比較的小さくなる傾向にあり、非効率になってしまう。これに対して、第1ブロックの従来のジグザグスキャンと第2ブロックの逆方向のジグザグスキャンとを結合することで、より長いゼロランが発生しやすくなる。滑らかな画像データにおいては、第1ブロックの最終位置付近や第2ブロックの初期位置付近の係数はゼロになることが多い。第1ブロックから第2ブロックに「ジャンプ」するラン(スキャン)により、これらの複数のゼロが捕捉されるようになる。
【0024】
図4は、本発明の他の実施形態における符号化チェーン400のブロック図である。符号化チェーン400は、図1に示した第1あるいは第2符号化チェーンとして用いることができる。図4は、マルチモードのランレングス符号化システム410を示したものであり、ランレングス符号化器420とセレクタ430とを備える。セレクタ430は一対の入力を有する。第1入力は符号化チェーンへの入力に接続されており、第2入力はランレングス符号化システム410の出力に接続されている。ランレングス符号化器420の入力も、ランレングス符号化システム410の入力に接続されている。(図4において「RLE選択」と記されている)選択信号に基づいて、セレクタ430は2つの入力から選択した1つの入力からのデータを、可変長符号化器でさらに処理するために渡す(転送する)。
【0025】
他の実施形態においては、データに適用する符号化アルゴリズムを、可変長符号化器440に入力される種々のデータパターンに基づいて動的に変更してもよい。可変長符号化器440は、符号化部450と複数の符号割当表460とを有するものとして示される。入力された選択信号に基づいて、VLCセレクタ470は割当表の1つを符号化部450に結びつける。ここで、入力選択信号は、例えばブロックごと、タイルごと、フレームごとなどで動的に変更することができる。また、VLC選択信号は、(例えば、保持する輝度データや色データなどの)ブロック種別、可変長符号化器が属する符号化チェーン(チェーン140または150)、あるいはブロックが属するタイルに基づいて決定可能である。さらに、いくつかのVLC割当表でブロックを符号化すれば、圧縮効率の比較をVLC割当表間で行うこともできる。最も圧縮効率の高い符号化結果を用いて、記憶装置に保存することができる。
【0026】
符号化の際に、可逆符号化アルゴリズムを用いたとしても、可変長符号化器500は入力データを直接計算で符号化してもよいし、ルックアップテーブルを用いて符号化しても良い。
【0027】
他の実施形態では、変換器110はウェーブレット変換を用いてもよい。多解像度ウェーブレット分解は、画像情報の符号化に最も効率的な手法の一つである。符号化される画像情報は、局所的にサポートされるウェーブレットの線形結合として表現される。ウェーブレットサポートの例を図5に示す。ウェーブレット分解により、DC係数(「DC」と記載)と、所定ブロックの水平方向、垂直方向、対角線方向のウェーブレットに対応するいくつかの係数バンドとが得られる。図5では、4つの係数バンド(バンド1〜4)が示されている。第1バンドは、極めて低周波のウェーブレットの係数を含む。バンド2の各ウェーブレットは、ブロック領域を4分の1に分割する。そのため、4つの水平ウェーブレット係数、4つの垂直ウェーブレット係数、および4つの対角線ウェーブレット係数が存在する。ウェーブレット係数さらなるバンドそれぞれにおいて、係数は、前の係数バンドにおける対応ウェーブレット領域の4分の1を有するウェーブレットを示す。図5には、ウェーブレットサポートが、ブロック中の5つの異なる粒度(バンド0〜4、ここでバンド0はDC係数である)における画像情報として示されている。
【0028】
本発明の原理は、ウェーブレットベースの符号化器に適用することが可能である。このような実施形態では、変換器110はウェーブレット係数を生成し、生成されたウェーブレット係数は量子化器120で切り捨て処理がなされればよい。スプリッタ130は、第1の一連のバンドのウェーブレット係数を第1符号化チェーン140に、残りのバンドのウェーブレット係数を第2符号化チェーン150に転送する。システムがフルサイズ画像の25%の縮小サイズ表示を生成する場合には、スプリッタはバンド0〜3の係数を第1符号化チェーンに転送する。
【0029】
図6は、本発明の実施形態に基づくビデオ復号器600のブロック図である。復号器600は、図1の符号化器100でなされた符号化処理の逆を行うことができる。したがって、復号器は、逆変換器610、逆量子化器620、マルチプレクサ630、それぞれがランレングス復号器642、652と可変長復号器644、654とを有する一対の処理チェーン640、650、および記憶装置660を備えることになる。上述のように、符号化ビデオデータは記憶装置中のファイルに2つの別個のグループで存在し得る。第1グループは小ブロックの符号化データを含み、ソースビデオ画像の縮小サイズの複製を得たいときにはこのデータのみを復号すればよい。第2グループは残りのブロックの符号化データを含み、小ブロックの符号化データとともに復号することで、フルサイズの画像が生成される。
【0030】
動作時は、処理チェーン640、650の一方あるいは両方がアクティブとなる。第1処理チェーン640のみがアクティブであるときには、小ブロックの符号化ビデオデータが記憶装置から取り出され、可変長復号644され、ランレングス復号642される。第2処理チェーン650がアクティブであるときには、残りのブロックの符号化ビデオデータも記憶装置から取り出され、可変長復号654され、ランレングス復号652される。マルチプレクサ630は、処理チェーン640、650両方からデータを受信すると、逆量子化器620と逆変換器610でのさらなる処理のためのフォーマットになるように、受信したデータを統合する。
【0031】
逆量子化器620は、図1の量子化器120において適用した量子化パラメータ(q)を入力係数値に乗じることで、変換値を得る。逆変換器610は、図1の変換器110で適用された(例えば、離散コサイン変換符号化やウェーブレット変換符号化などの)変換の逆処理を行い、画素値を復元する。したがって、変換器は画素データのブロックを出力し、出力されたブロックは他のブロックとともに再構成され表示され得る。ここで、復元される画像データは、縮小サイズブロックのみが復号されるときには縮小サイズ画像となり、フレームのすべての符号化ビデオデータが復号されるときにはフルサイズ画像となる。
【0032】
一実施形態においては、逆変換器610が動作すると利用する復号モードの識別子を受信する。フルサイズの復号がなされるときには、逆変換器610は通常の動作をする。しかしながら、縮小サイズの復号がなされるときには、残りのブロックにおける係数、すなわち本来であれば第2処理チェーン650から出力される係数のみに対する逆変換計算を逆変換器610は省略する。チェーン650は選択信号によって非アクティブとなるため、逆変換計算を行う意味がないためである。このように計算を省略することで、逆変換器610のスループットを最適化することができる。
【0033】
逆変換器610は、ウェーブレット係数から画素データを生成するウェーブレット変換器であっても良い。このような実施形態において、逆変換器が小ブロックのみに対して動作すると、従来のウェーブレット復号では、高周波係数が存在しないために低解像度のフルサイズビデオが生成されることになる。そのため、一実施形態では、(例えば元の25%のサイズに落とすなどして、)フルサイズビデオを対応する縮小サイズにサイズ変更する。
【0034】
以下の表1に示すように、ランレングス符号化データはランとレベルのペアのシリーズ(連続したもの)として表される。ラン値は、ゼロ値である係数が検出された連続する係数スキャン位置の数である。ラン値は、ゼロとデータユニット中の係数位置の最大数(8×8ブロックでは64、4×4ブロックの符号化ペアでは16)との間の任意の値となり得る。レベル値は、スキャン方向で検出された次の非ゼロ係数の値である。それゆえ、単一ブロックあるいはブロックペアの係数を符号化するために、ランレングス符号化器は少なくとも1つのランを生成し、一般にはブロックの情報コンテンツに応じて定まるランとレベルの数列を生成する。ブロックの符号化は、ラン値またはレベル値のどちらで終了してもよい。
【0035】
通常、ランレングス符号化器は、いくつかのランレングスペアを生成する。
【0036】
【表1】

【0037】
一般的に、最後のペアのラン値で所定のブロックの残り部分を表すことができれば、表1に示すようにレベルが続くのではなく、ブロック終了(エンド・オブ・ブロック)シンボルが続く。
【0038】
本発明の実施形態によれば、表2に示すパターンのようなランレングス符号化データの代替「パターン」を用いることで、表1のデータを効率的に復号することができる。
【0039】
【表2】

【0040】
上述と同様、n番目のレベルシンボルは必ずしも存在するとは限らない。
【0041】
図7は、本発明の実施形態における読込方法700を示す。本実施形態によれば、本方法は、ランレングスペアの入力パターンに存在する第1のラン値を読み、読み込む(ボックス710)。次いで、本方法は、今まで読み込んだラン値とレベル値数との和から特定される現在の係数位置が、最終位置あるいは最終位置の1つ前の位置にあるかを判断する(ボックス720)。最終位置あるいは最終位置の1つ前の位置でなければ、レベル値とラン値の2つを読み込み(ボックス730)、次の繰り返しのためにボックス720に戻る。現在の係数位置が最終位置である場合には、方法700は単に処理を終えればよい。また、現在の係数位置が最終位置の1つ前の位置である場合には、本方法は、最後のレベル値を読み込み(ボックス740)、終了する。
【0042】
図7で示した読込処理は、表2のパターンにしたがってランとレベルのペアを読み込むものである。この読込パターンは、繰り返しごとのテストが一つ少なくて済むため、表1のパターンに基づいた読込方法よりも高速である。通常、ランレングス復号はラン値とレベル値とを別々のシンボルとして処理するため、各シンボルを読み込むごとに最終位置に到達したか否かを判断するテストをしなければならない。これに対して、表2で示したようにシンボルペアを読み込むことで、図7の方法は、半分の回数のテストを実行すればよく、より高速な処理が可能となる。
【0043】
上述の通り、本実施形態の符号化手法は、縮小サイズ画像を極めて高速に復号できるプロトコルに従って符号化ビデオデータを構成するものであり、特にビデオ編集アプリケーションに適している。以上の説明では、復号されたときに4分の1のサイズで表示される4×4のブロックの例を示した。もちろん、本発明の原理はこれに限定されるものではない。復号システムの動作は、縮小表示とフルサイズ表示との望まれる比率で自在に提供するように構成されても良い。表3に示したサイズ比率においては、スプリッタ130は、8×8のソースブロックから表に示した次元を有するサブブロックを直接に構成することが可能である。
【0044】
【表3】

【0045】
例えば50%などといった他のサイズ比率としたい場合には、一度復号器(図6)から出力された復号ビデオデータに対して、さらなる空間サイズ変更技術を使用すればよい。
【0046】
また、さらなる柔軟性を提供するためには、ビデオ符号化器や復号器は、それぞれが所定のフレームサイズに対応するビデオデータを処理するようになされた3つ以上の符号化/復号チェーンを備えればよい。一例としてビデオ符号化器を使用すると、第1符号化チェーンは得られたDCT係数の3×3配列を処理し、第2符号化チェーンは残りの係数を5×5係数配列まで処理し(3×3配列の係数を除いた5×5配列まで処理し)、第3符号化チェーンは最初の2つの符号化チェーンで処理されない残りの係数を処理すればよい。同様に、ビデオ復号器も同様の方法で複数の符号化チェーンを備えることができる。
【0047】
上述の実施形態で示したシステムと技術は、フル符号化サービスを提供するより大きなビデオ符号化システムにおいても用いることができる。このようなシステムの1つでは、ビデオフレームを複数の「タイル」として符号化する。フレームの空間領域をタイルと呼ばれる別々の部位に分け、タイル内のブロックに用いる所定の符号化方法を、ブロックごとではなくタイルごとに適用することができる。例えば、VLC表の選択(図4)は、著低のタイル中のすべてのブロックに対して共通に行われる。また、量子化パラメータの選択などといった符号化パラメータも、タイル中のすべてのブロックに対して共通に行われる。符号化方法(符号化パラメータ)をタイルごとに適用することで、タイルのビデオデータを、同一フレーム内の別のタイルに属するビデオデータとは独立に符号化/復号することが可能となる。これにより、(1)タイルに対して個別のプロセッサを割り当て、並列に符号化/復号することが可能となる、(2)フレームのビデオデータを小さなタイルに分割することでメモリ管理やキャッシュ管理が容易になる、(3)タイルごとに符号化パラメータを独立に選択することができ(そして最適化を図ることができ)るため、より高い圧縮効率を得られる、(4)ビデオシーケンス中の興味あるタイルを、当該タイルが属するフレーム全体を復号することなく復号することができる、といったことを含む、いくつかの利点が得られる。それゆえ、図1のビデオ符号化器と図6のビデオ復号器を複数用意し、タイルを独立に復号することができる並列処理システムを構成することができる。
【0048】
本発明の種々の実施形態を、ここでは具体的に描写し、説明した。しかしながら、本発明の修正や改良は、本発明の基本的考えや意図された範囲から逸れることなく、上述の技術によってカバーされ、添付の請求項に含まれるということを理解すべきである。
【図面の簡単な説明】
【0049】
【図1】本発明の実施形態に基づくビデオ符号化システムのブロック図である。
【図2】本発明の実施形態に基づくブロック種別を示す図である。
【図3】本発明の実施形態に基づくランレングス符号化器のスキャン方向を示す図である。
【図4】ウェーブレット係数での符号化を行う本発明の実施形態に基づくブロック種別を示す図である。
【図5】本発明の実施形態に基づく可変長符号化器を示す図である。
【図6】本発明の実施形態に基づくビデオ復号システムのブロック図である。
【図7】本発明の実施形態に基づくランレングス読込方法を示すフローチャートである。
【図8】

【特許請求の範囲】
【請求項1】
複数のブロックの画素データを変換係数に符号化する変換器と、
各ブロックから、予め選択された数の低周波の変換係数を含む第1サブブロックと、残りの変換係数を含む第2サブブロックとを生成するスプリッタと、
第1および第2サブブロックそれぞれのためのランレングス符号化器と、
第1および第2サブブロックそれぞれのための可変長符号化器と、
を備えることを特徴とするビデオ符号化システム。
【請求項2】
フレームにおいて符号化された複数の第1サブブロックがファイルの第1部分に保存され、前記フレームにおいて符号化された複数の第2サブブロックが前記ファイルの第2部分に保存される記憶装置をさらに備えることを特徴とする請求項1に記載のビデオ符号化システム。
【請求項3】
ビデオシーケンスからの複数のフレームにおける符号化された第1サブブロックがファイルの第1部分に保存され、前記ビデオシーケンスからの複数のフレームにおける符号化された第2サブブロックが前記ファイルの第2部分に保存される記憶装置をさらに備えることを特徴とする請求項1に記載のビデオ符号化システム。
【請求項4】
低周波のサブブロックについて、前記ランレングス符号化器が所定のスキャンパターンに従って前記低周波のサブブロックのペアを一緒に符号化し、
前記所定のスキャンパターンは、
第1の低周波のサブブロックにおいて最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
第2の低周波のサブブロックにおける最も高周波の係数へ移動し、
前記第2の低周波のサブブロックにおいて前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とする請求項1に記載のビデオ符号化システム。
【請求項5】
複数のブロックの画素データを変換係数に符号化する変換器と、
各ブロックから、予め選択された数の低周波の変換係数を含む第1サブブロックと、残りの変換係数を含む第2サブブロックとを生成するスプリッタと、
前記第1および第2サブブロックそれぞれ一方のための可変長符号化器のペアと、
を備えることを特徴とするビデオ符号化システム。
【請求項6】
前記第1および第2可変長符号化器のうちの少なくとも一方が、符号化器と選択可能な可変長符号割当表とを含むことを特徴とする請求項5に記載のビデオ符号化システム。
【請求項7】
フレームにおいて符号化された複数の第1サブブロックが第1ファイルに保存され、前記フレームにおいて符号化された複数の第2サブブロックが第2ファイルに保存される記憶装置をさらに備えることを特徴とする請求項5に記載のビデオ符号化システム。
【請求項8】
ビデオシーケンスからの複数のフレームにおける符号化された第1サブブロックが第1ファイルに保存され、前記ビデオシーケンスからの複数のフレームにおける符号化された第2サブブロックが第2ファイルに保存される記憶装置をさらに備えることを特徴とする請求項5に記載のビデオ符号化システム。
【請求項9】
入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
量子化パラメータに従って前記ブロックの係数を量子化し、
各ブロックから係数のサブセットを取り出し、
前記取り出された係数をランレングス符号化および可変長符号化に従って符号化し、該符号化の結果を第1ファイルに保存し、
前記取り出された係数を除いた残りの係数をランレングス符号化および可変長符号化に従って符号化し、該符号化の結果を前記第1ファイルとは別の第2ファイルに保存する
を備えることを特徴とするビデオ符号化方法。
【請求項10】
前記変換方式は離散コサイン変換であることを特徴とする請求項9に記載のビデオ符号化方法。
【請求項11】
前記変換方式はウェーブレット分解であることを特徴とする請求項9に記載のビデオ符号化方法。
【請求項12】
さらに、少なくとも1つのブロックについて、前記ブロックの画像データを隣接するブロックから予測することを特徴とする請求項9に記載のビデオ符号化方法。
【請求項13】
ビデオシーケンスの各フレームはイントラ符号化フレームとして符号化されることを特徴とする請求項9に記載のビデオ符号化方法。
【請求項14】
前記入力されたビデオのデータはビデオキャプチャ装置から得られることを特徴とする請求項9に記載のビデオ符号化方法。
【請求項15】
前記入力されたビデオのデータは予測符号化データから復号されて得られることを特徴とする請求項9に記載のビデオ符号化方法。
【請求項16】
前記取り出された係数のランレングス符号化は、所定のスキャン方向に従って、ブロックのペアに関して前記取り出された係数をランレングス符号化することを含み、
前記所定のスキャン方向は、
第1の低周波のサブブロックにおいて最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
第2の低周波のサブブロックにおける最も高周波の係数へ移動し、
前記第2の低周波のサブブロックにおいて前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャン方向である
ことを特徴とする請求項9に記載のビデオ符号化方法。
【請求項17】
所定の処理によって生成された符号化ビデオデータを保存しているコンピュータ読み取り可能な記憶媒体であって、前記所定の処理は、
入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
量子化パラメータに従って前記ブロックの係数を量子化し、
各ブロックから係数のサブセットを取り出し、
前記取り出された係数をランレングス符号化および可変長符号化に従って符号化し、該符号化の結果を第1ファイルに保存し、
前記取り出された係数を除いた残りの係数をランレングス符号化および可変長符号化に従って符号化し、該符号化の結果を前記第1ファイルとは別の第2ファイルに保存する処理であり、
前記取り出された係数を示す符号化データは、前記取り出された係数を除いた残りの係数を示す符号化データから独立してアクセスされる、前記コンピュータ読み取り可能な記憶媒体における別の領域に保存される
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項18】
前記取り出された係数のブロックに対する前記ランレングス符号化は、所定のスキャンパターンに従って前記ブロックのペアを一緒に符号化し、
前記所定のスキャンパターンは、
第1ブロックにおいて最も低周波の係数から最も高周波の係数へ向かってジグザグに進み、
第2ブロックにおける最も高周波の係数へ移動し、
前記第2ブロックにおいて前記最も高周波の係数から最も低周波の係数へ向かってジグザグに進むスキャンパターンである
ことを特徴とする請求項17に記載のコンピュータ読み取り可能な記憶媒体。
【請求項19】
ビデオシーケンスからの複数のフレームにおける前記取り出された係数を示す符号化データは前記コンピュータ読み取り可能な記憶媒体の第1部分にまとめて保存され、前記取り出された係数を除いた残りの係数を示す符号化データは前記コンピュータ読み取り可能な記憶媒体の第2部分に保存されることを特徴とする請求項17に記載のコンピュータ読み取り可能な記憶媒体。
【請求項20】
プログラム命令を保存するコンピュータ読み取り可能な記憶媒体であって、当該プログラム命令が実行されると、当該プログラム命令を実行するデバイスは、
入力されたビデオの各フレームを複数の画素ブロックに分割し、
ブロックごとに、
所定の変換方式に従って前記ブロックを複数の係数に符号化し、
量子化パラメータに従って前記ブロックの係数を量子化し、
各ブロックから係数のサブセットを取り出し、
前記取り出された係数を可変長符号化し、該符号化の結果を記憶装置の第1部分に保存し、
前記取り出された係数を除いた残りの係数を可変長符号化し、該符号化の結果を前記第1部分とは別の、前記記憶装置の第2部分に保存する
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項21】
ビデオシーケンスからの複数のフレームにおける前記取り出された係数を示す符号化データは前記記憶装置の第1部分にまとめて保存され、前記取り出された係数を除いた残りの係数を示す符号化データは前記記憶装置の第2部分に保存されることを特徴とする請求項20に記載のコンピュータ読み取り可能な記憶媒体。
【請求項22】
符号化ビデオデータを入力する可変長復号器と、前記可変長復号器の出力を入力とするランレングス復号器とを備える独立した複数の符号化チェーンと、
前記複数の符号化チェーンの出力を入力とするマルチプレクサと、
前記マルチプレクサの入力に接続される逆変換器と、
を備え、
前記複数の符号化チェーンにおける第1符号化チェーンは、縮小サイズのソースビデオシーケンスを示す第1符号化ビデオデータを復号し、
前記複数の符号化チェーンにおける第2符号化チェーンは、前記第1符号化ビデオデータの復号と併せることにより、フルサイズの前記ソースビデオシーケンスを示す第2符号化ビデオデータを復号する
ことを特徴とするビデオ復号器。
【請求項23】
前記第2符号化チェーンを無効にするか否かを指示する、前記複数の符号化チェーンへの制御入力をさらに備えることを特徴とする請求項22に記載のビデオ復号器。
【請求項24】
前記逆変換器は逆離散コサイン変換器であることを特徴とする請求項22に記載のビデオ復号器。
【請求項25】
前記逆変換器は逆ウェーブレット変換器であることを特徴とする請求項22に記載のビデオ復号器。
【請求項26】
縮小サイズの画像を示す符号化ビデオデータを保存する第1データファイルを記憶装置から取り出し、
前記第1データファイルから係数のブロックを取得するために、前記第1データファイルからの前記符号化ビデオデータを復号し、
制御信号がフルサイズでの復号を実行することを指示している場合には、
前記画像の残りの符号化ビデオデータを保存する第2データファイルを記憶装置から取り出し、
前記第2データファイルから残りの係数のブロックを取得するために、前記第2データファイルからの前記符号化ビデオデータを復号し、
前記係数と前記残りの係数とをブロックごとに統合し、
逆変換により、前記統合された係数のブロックから画素データを生成する
ことを特徴とするビデオ復号方法。
【請求項27】
前記制御信号がフルサイズでの復号を実行しないことを指示している場合には、前記係数のブロックから画素データを生成することをさらに含むことを特徴とする請求項26に記載のビデオ復号方法。
【請求項28】
前記逆変換は逆離散コサイン変換であることを特徴とする請求項26に記載のビデオ復号方法。
【請求項29】
前記逆変換は逆ウェーブレット変換であることを特徴とする請求項26に記載のビデオ復号方法。
【請求項30】
前記第1データファイル中の符号化ビデオデータの復号は、直接計算により可変長符号化データを復号することを含むことを特徴とする請求項26に記載のビデオ復号方法。
【請求項31】
第1ラン値を読み込み、
繰り返し、
現在のラン位置を判断し、
前記現在のラン位置が最後のラン位置あるいは最終ラン位置の1つ前でない場合には、レベル値と次のラン値とを読み込んで前記判断から始まる次の繰り返しを実行し、
前記現在のラン位置が最後のラン位置でない場合には、最後のレベル値を読み込む
ことを実行することを特徴とするランレングス符号化読込方法。
【請求項32】
前記ランレングスの読込は、ジグザグスキャン方向に従って単一のデータブロックを横断して進行することを特徴とする請求項31に記載の方法。
【請求項33】
前記ランレングスの読込は、所定のスキャン方向に従ってデータブロックのペアを横断して進行し、
前記所定のスキャン方向は、
第1ブロックの原点からジグザグスキャン方向に前記第1ブロックを横断して進み、前記第1ブロックの最後の係数位置に到達し、
前記第2ブロックにおいて前記第1ブロックの前記最後の係数位置に対応する初期係数位置に移動し、
前記第2ブロックの前記初期係数位置から前記第2ブロックの原点へ向かってジグザグスキャン方向に進むスキャン方向である
ことを特徴とする請求項31に記載の方法。
【請求項34】
前記ランレングス符号化読込方法が、係数の不規則な配列上で実行される場合には、
前記係数の不規則な配列に合うようなサイズの規則的な配列を用意し、
前記不規則な配列からの係数値で埋められていない前記規則的な配列のあらゆる位置に対してダミーのゼロ値を挿入する
ことをさらに含むことを特徴とする請求項31に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2007−531460(P2007−531460A)
【公表日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願番号】特願2007−506178(P2007−506178)
【出願日】平成17年2月28日(2005.2.28)
【国際出願番号】PCT/US2005/006166
【国際公開番号】WO2005/104562
【国際公開日】平成17年11月3日(2005.11.3)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】