(57)【要約】fine  granular  scalabilityで符号化されたビデオデータのフレームの上位レイヤを表すビットプレーン指向離散コサイン変換の変換データの逆変換の方法であり：ビットプレーンセットの何らかのビットプレーン内のビットプレーンセルの位置に基づく数値寄与の行列を有する参照テーブルを提供し、その数値寄与はビットプレーン順と無関係であり；各ビットプレーンに1の離散コサイン変換係数を有するビットプレーンセル毎に参照テーブルから数値寄与を選択し；特定のビットプレーンセルがメンバであるビットプレーンのビットプレーン数に等しいビット位置の数だけ、各選択された数値寄与のバイナリ表示をシフトすることを有する。
2006510302.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータのフレームを表すビットプレーン指向離散コサイン変換の変換データの逆変換の方法であって、
ビットプレーンセットの何らかのビットプレーン内のビットプレーンセルの位置に基づく数値寄与の行列を有する参照テーブルを提供し、前記数値寄与はビットプレーン順と無関係であり、
各ビットプレーンに1の離散コサイン変換係数を有するビットプレーンセル毎に前記参照テーブルから前記数値寄与を選択し、
特定のビットプレーンセルがメンバであるビットプレーンのビットプレーン数に等しいビット位置の数だけ、各選択された数値寄与のバイナリ表示をシフトすることを有する方法。
【請求項２】
請求項１に記載の方法であって、
前記参照テーブルは事前に計算されている方法。
【請求項３】
請求項１に記載の方法であって、
前記ビットプレーン数は、最上位ビットプレーンから最下位ビットプレーンに減少する方法。
【請求項４】
請求項１に記載の方法であって、
前記バイナリ表示を前記シフトすることは、下位ビット位置から上位ビット位置にシフトする方法。
【請求項５】
請求項１に記載の方法であって、
前記係数毎に各ビットプレーンの対応する各ビットプレーンセルの前記実際の寄与を全ビットプレーンで加え、ピクセル値の前記行列を計算することを更に有する方法。
【請求項６】
請求項５に記載の方法であって、
前記寄与に演算の正又は演算の負を割り当てることを更に有する方法。
【請求項７】
請求項１に記載の方法であって、
上位ビデオデータの前記フレームは、MPEG-4  FGS上位データストリームからデコードされる方法。
【請求項８】
ビットプレーンセットの何らかのビットプレーン内のビットプレーンセルの位置に基づく数値寄与の行列を有し、前記数値寄与はビットプレーン順と無関係である参照テーブルと、
各ビットプレーンに1の離散コサイン変換係数を有するビットプレーンセル毎に前記参照テーブルから前記数値寄与を選択する手段と、
特定のビットプレーンセルがメンバであるビットプレーンのビットプレーン数に等しいビット位置の数だけ、各選択された数値寄与のバイナリ表示をシフトする手段と
を有するビットプレーン逆離散コサイン変換プロセッサ。
【請求項９】
請求項８に記載のプロセッサであって、
前記参照テーブルは事前に計算されているプロセッサ。
【請求項１０】
請求項８に記載のプロセッサであって、
前記ビットプレーン数は、最上位ビットプレーンから最下位ビットプレーンに減少するプロセッサ。
【請求項１１】
請求項８に記載のプロセッサであって、
前記バイナリ表示を前記シフトする手段は、下位ビット位置から上位ビット位置にシフトするプロセッサ。
【請求項１２】
請求項８に記載のプロセッサであって、
各ビットプレーンの対応する各ビットプレーンセルの前記実際の寄与を全ビットプレーンで加え、ピクセル値の行列を得る手段を更に有するプロセッサ。
【請求項１３】
請求項１１に記載のプロセッサであって、
前記加える手段は、前記寄与に演算の正又は演算の負を割り当てる手段を更に有するプロセッサ。
【請求項１４】
fine  granular  scalability上位ストリームを受信及びデコードするように適合されたfine  granular  scalabilityビットプレーン可変長デコーダと、
前記fine  granular  scalabilityビットプレーン可変長デコーダの出力に結合され、上位フレームデータを作るように適合されたビットプレーン逆離散コサイン変換プロセッサと、
フレームバッファに結合され、下位ビデオ信号と前記上位フレームデータとを結合して上位ビデオ信号を作るように適合された上位ビデオ再構成器と
を有する上位レイヤデコーダと、
下位レイヤストリームを前記下位ビデオ信号にデコードするように適合された下位レイヤデコーダと
を有するfine  granular  scalabilityデコーダ。
【請求項１５】
請求項１４に記載のデコーダであって、
前記ビットプレーン逆離散コサイン変換プロセッサは、
ビットプレーンセットの何らかのビットプレーン内のビットプレーンセルの位置に基づく数値寄与の行列を有し、前記数値寄与はビットプレーン順と無関係である参照テーブルと、
各ビットプレーンに1の離散コサイン変換係数を有するビットプレーンセル毎に前記参照テーブルから数値寄与を選択する手段と、
特定のビットプレーンセルがメンバであるビットプレーンのビットプレーン数に等しいビット位置の数だけ、各選択された数値寄与のバイナリ表示をシフトする手段と
を有するデコーダ。
【請求項１６】
請求項１５に記載のデコーダであって、
前記参照テーブルは事前に計算されているデコーダ。
【請求項１７】
請求項１５に記載のデコーダであって、
前記ビットプレーン数は、最上位ビットプレーンから最下位ビットプレーンに減少するデコーダ。
【請求項１８】
請求項１５に記載のデコーダであって、
前記バイナリ表示を前記シフトする手段は、下位ビット位置から上位ビット位置にシフトするデコーダ。
【請求項１９】
請求項１５に記載のデコーダであって、
各ビットプレーンの対応する各ビットプレーンセルの前記実際の寄与を全ビットプレーンで加え、ピクセル値の行列を得る手段を更に有するデコーダ。
【請求項２０】
請求項１９に記載のデコーダであって、
前記加える手段は、前記寄与に演算の正又は演算の負を割り当てる手段を更に有するデコーダ。
【請求項２１】
請求項１５に記載のデコーダであって、
前記fine  granular  scalabilityビットプレーン可変長デコーダは、特定のビットプレーン内で前記ビットプレーンセルの前記位置を生成するデコーダ。
【請求項２２】
請求項１５に記載のデコーダであって、
前記fine  granular  scalabilityビットプレーン可変長デコーダは、特定のビットプレーンの前記ビットプレーン数を生成するデコーダ。
【請求項２３】
請求項１５に記載のデコーダであって、
前記fine  granular  scalabilityビットプレーン可変長デコーダは、前記演算の正又は前記演算の負を生成するデコーダ。
【請求項２４】
請求項１４に記載のデコーダであって、
前記下位レイヤデコーダは、逆離散変換プロセッサを有するデコーダ。
【請求項２５】
請求項１４に記載のデコーダであって、
前記上位レイヤデコーダは、前記fine  granular  scalability上位ストリームにおける前記ビットプレーンセットの欠落したビットプレーンのビットプレーンセル毎に0の値を生成するデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換符号化データを処理する分野に関するものであり、特に、ビットプレーン指向データの逆離散コサイン変換(IDCT:inverse  discrete  cosine  transform)の装置及び方法に関するものである。
【背景技術】
【０００２】
Fine  Granular  Scalability(FGS)は、異種のネットワークでのビデオの配信用のMPEG(Motion  Pictures  Expert  Group)4符号化標準に採用されている。しかし、２層構造のFGSは、MPEG-4  FGSデータを運ぶデータストリームの多大且つ複雑なデータ処理を必要とする。
【０００３】
この更なる複雑な処理は、従来型のデータ処理アルゴリズム及び方法論が適用された場合には、更なる量のマイクロプロセッサ処理時間と、更なるメモリと、更なるハードウェアの複雑性とを必要とする。この要件はコストを増加させ、ある小型装置アプリケーションでは高額になる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って、MPEG-4  FGSデータストリームを処理するために必要なマイクロプロセッサ時間とメモリサイズとハードウェアの複雑性とのうち１つ以上を減少させる処理アルゴリズム及び方法論に対する必要性が業界内に存在する。
【課題を解決するための手段】
【０００５】
本発明の第１の態様は、ビデオデータのフレームを表すビットプレーン指向離散コサイン変換の変換データの逆変換の方法であり：ビットプレーンセットの何らかのビットプレーン内のビットプレーンセルの位置に基づく数値寄与の行列を有する参照テーブルを提供し、その数値寄与はビットプレーン順と無関係であり；各ビットプレーンに1の離散コサイン変換係数を有するビットプレーンセル毎に参照テーブルから数値寄与を選択し；特定のビットプレーンセルがメンバであるビットプレーンのビットプレーン数に等しいビット位置の数だけ、各選択された数値寄与のバイナリ表示をシフトすることを有する。
【０００６】
本発明の第２の態様は、fine  granular  scalabilityデコーダであり：fine  granular  scalability上位ストリームを受信及びデコードするように適合されたfine  granular  scalabilityビットプレーン可変長デコーダと；fine  granular  scalabilityビットプレーン可変長デコーダの出力に結合され、上位フレームデータを作るように適合されたビットプレーン逆離散コサイン変換プロセッサと；フレームバッファに結合され、フレームデータと上位フレームデータとを結合して上位ビデオ信号を作るように適合された上位ビデオ再構成器とを有する上位レイヤデコーダと；下位レイヤストリームを下位ビデオ信号にデコードするように適合された下位レイヤデコーダとを有する。
【０００７】
本発明の第３の態様は、fine  granular  scalabilityデコーダであり：fine  granular  scalability上位ストリームを受信及びデコードするように適合されたfine  granular  scalabilityビットプレーン可変長デコーダと；fine  granular  scalabilityビットプレーン可変長デコーダの出力に結合され、上位フレームデータを作るように適合されたビットプレーン逆離散コサイン変換プロセッサと；フレームバッファに結合され、下位ビデオ信号と上位フレームデータとを結合して上位ビデオ信号を作るように適合された上位ビデオ再構成器とを有する上位レイヤデコーダと；下位レイヤストリームを下位ビデオ信号にデコードするように適合された下位レイヤデコーダとを有する。
【発明を実施するための最良の形態】
【０００８】
本発明の特徴は、特許請求の範囲に示されている。しかし、本発明自体は、添付図面と共に読まれる例示的な実施例の以下の詳細な説明を参照して、良く理解される。
【０００９】
本発明において、２層FGS構造は、離散コサイン変換(DCT:discrete  cosine  transform)圧縮を使用して比較的低いデータレートRbでエンコードされた動き補償ベースの下位レイヤストリームと、比較的高い最大ビットレートRmax-Rbにエンコードされ、ビットプレーンベースのDCTで圧縮された上位レイヤストリームとを有する。一例では、Rb=100キロビット/秒(kbps)、Rmax=1000kbpsであり、スケーラブルレベルは100-kbps間隔(すなわち100,200,400,300,400...1000)である。
【００１０】
MPEG-4  FGS実装は、元のピクチャと再構成された下位レイヤとの間のピクセル差(残差)のDCT変換として上位レイヤをエンコードする。更に、上位レイヤは、埋め込みDCT符号化機構を使用して進行的に(ビットプレーン毎に)符号化される。進行的コーダでは、重要でないビットプレーンの前に重要なビットプレーンが送信される。最上位ビットプレーン(MSB:most  significant  bit-plane)が最初に符号化され、それに続いて下位ビットプレーン(LSB:less  significant  bit-plane)が符号化される。各DCTビットプレーンはDCTビットプレーンセルに分割される。各ビットプレーンセルのそれぞれの1の前の0のランレングスは、可変長コード(VLC:variable  length  code)の0と1にエントロピー符号化され、各VLCは上位フレームの特定のビットプレーンのDCTビットプレーンセル内で1を表す。全ての符号化ビットプレーンの全てのDCTビットプレーンセルからの全てのVLCが、圧縮上位ストリームを構成する。
【００１１】
FGS機構では、RbとRmaxとの間の帯域の範囲を使用してデータをエンコードするが、最大ビットレートまでの複数の離散スケールレベルのうち１つでデータストリームをデコードすることにより、スケーラビリティが実現される。
【００１２】
一般的に、DCTは、ピクセルドメイン(２次元行列)で変換されるピクセルの特性の大きさの数(例えば輝度)として表されたN1×N2のビデオピクセルデータのブロックを要し(一般的にビデオフレームは複数のN1×N2ブロックで構成される)、N1×N2のブロックのビデオピクセルを、周波数ドメインのDCT係数を有するkのN1×N2のDCTブロックのセット(３次元行列)に変換する。各DCTブロックは、0又は1のみを有する。各DCT係数のバイナリ表示はkビットの0及び1を有する。kビットはDCTブロックを通じて分散され、周波数ドメインで全体フレームを構成する全てのN1×N2ブロックの全ての係数の第rビットは、第rビットプレーンを形成する。
【００１３】
図１は、本発明によるビットプレーンのセットの概略図である。図１において、DCTブロック(DCT変換からの周波数係数のセット)はビットプレーンセット90により表され、そのビットプレーンセット90は、多数のビットプレーン95A、95B、95C〜95Xを有する。このように、各DCTブロックは、最上位ビットプレーン(k=BP-1)から始まり最下位ビットプレーン(k=0)で終了するジグザグ型98に各ビットプレーンが走査される複数BPのビットプレーンを有する。BPのビットプレーンが存在し、ビットプレーン95Aはビットプレーンk=BP-1(最上位ビットプレーン)に対応し、ビットプレーン95Bはk=BP-2に対応し、ビットプレーン95Cはk=BP-3に対応し、ビットプレーン95Xはk=0に対応する。この例ではBP=12であるため、12のビットプレーン95A、95B、95C〜95Xが存在する。ビットプレーンの数(k)は、変換係数が有することができる最大値により決定される。周波数ドメインのビデオフレームを構成する多数のDCTブロックのうち１つの唯一のビットプレーンセットが図示されている。各ビットプレーンは0及び1のみを有する。
【００１４】
各ビットプレーン95A、95B、95C〜95Xは、インデックス(i,j)を有するビットプレーンセル100〜163の8×8正方行列である(この例ではN1=N2=N=8である)。ビットプレーンセル100のインデックスは(0,0)であり、ビットプレーンセル128のインデックスは(7,0)であり、ビットプレーンセル135のインデックスは(0,7)であり、ビットプレーンセル163のインデックスは(7,7)である。各ビットプレーンセル100〜163は0又は1を有する。
【００１５】
以下の説明は、演算を示すためにビデオフレームの１ブロックに集中するが、IDCT変換は、全体ビデオフレームを横断してブロック毎に繰り返し適用される。
【００１６】
ビットプレーン分解の式は以下により得られる。
【００１７】
【数１】
2006510302.tif 000003
ここで、Cx(i,j)は周波数ドメインでのセル(i,j)のDCT係数であり、
BP=ビットプレーンの数(この例では12)であり、
c(i,j)kは関連の演算符号でのビットプレーン(k)のビットプレーンセル(i,j)のDCTビット値(0又は1)である。
【００１８】
N×Nブロックの逆DCT(IDCT)変換は以下により得られる。
【００１９】
【数２】
2006510302.tif 000004
ここで、X(m,n)はピクセルドメインでのN×N行列の位置(m,n)のピクセル値であり、
Nは各ビットプレーンのブロックの大きさであり(この例では8)、
i=0の場合u(i)=0.5でありiγ0の場合1であり、
j=0の場合u(j)=0.5でありjγ0の場合1である。
【００２０】
式(1)を式(3)に置換する。
【００２１】
【数３】
2006510302.tif 000005
c(i,j)kは２つの値0又は1のみを有することができる。c(i,j)k=0であるため、ビットプレーン(k)のビットプレーンセル(i,j)の0のX(m,n)に対する寄与は0である。(m,n)の組み合わせ毎のビットプレーン(k)のビットプレーンセル(i,j)における1のX(m,n)に対する寄与は、以下の通りである。
【００２２】
【数４】
2006510302.tif 000006
【００２３】
【数５】
2006510302.tif 000007
K(i,j,m,n)は、(k)に無関係な値と(m,n)毎の大きさN×Nとの行列である。従って、K(i,j,m,n)は全てのビットプレーン(k)について同じである。N=8の場合、K(i,j,m,n)の64の個々の値が存在する。式(5)の右辺の全ての値がわかるため、K(i,j,m,n)は組み合わせ(i,j,m,n)毎に計算できる。式(5)を式(4)に置換する。
【００２４】
【数６】
2006510302.tif 000008
所定のピクセルX(m,n)の値は、各ビットプレーンの対応する12のビットプレーンセル(i,j)kにおける1の寄与の合計である。式(5)を式(3)に置換することにより、X(m,n)は以下のように表すことができる。
【００２５】
【数７】
2006510302.tif 000009
K(i,j,m,n)の個々の(i,j)の値は事前に計算され、行列又は参照テーブルに格納されてもよい。一般的にコサイン関数は浮動小数点数を生じるため、K(i,j,m,n)行列は定数の因数Pで乗算され、その後の演算が整数のみを扱えるように切り捨てられる。従って、格納されるものは、K’(i,j,m,n)=P*K(i,j,m,n)である。一例では、P=1024であり、各数の仮数部分がドロップされる。この例では、K’(i,j,m,n)は8×8の参照テーブルに格納される。所定のX(m,n)の値を決定するために、ビットプレーン(k)毎の対応する(i,j)のDCT係数の値が決められる。0のDCT係数がX(m,n)に何も寄与しないことと、K(i,j,m,n)が1のDCT係数について寄与値を有することとを考えると、参照テーブルからの対応するK’(i,j,m,n)の値は、例えば64(8×8=64)のワードレジスタ(word  register)の複数ビットワード(bit  word)として定められて表される。ワードは、ビットプレーンの(k)の値に対応するビット数だけ左にシフトされる(最も左の位置は最上位ビット位置である)。シフトは図２Ａ及び２Ｂに示されており、以下に説明する。各位置(i,j)はそれに関する演算の正符号又は負符号を有する。符号の値は位置(i,j)の最上位の1がデコードされた直後にデコードされる。符号が負である場合、64ワードの累算器／バッファに合計される前に、全64ワードに対して2の補数(complement)が実行される。この例では
【００２６】
【数８】
2006510302.tif 000010
(式7参照)を使用して、これが全てのビットプレーンについて繰り返され、X’(m,n)を作る。最後に結果のX’(m,n)がPで除算され、X(m,n)を得る。前記の例では、2p(ただしp=10)であり、P=1024である。X’(m,n)は正の整数であるため、X’(m,n)の簡単なシフト(バイナリで表現すると10ビットの位置を右にシフトすること)が、X(m,n)を作るために必要な全てである。リアルタイムの乗算は必要なく、より高速なシフト演算のみでよい。一例では、シフト演算は2の中央処理ユニット(CPU)サイクルを必要とするが、乗算は17のCPUサイクルを必要とする。計算を実行するために必要な複雑性及び時間の量は上位レイヤストリームのビットレートに比例するため、本発明のアルゴリズムは理想的にFGSに適する。
【００２７】
図２Ａは、本発明による図１に示すk=2ビットプレーンから周波数データの単一ブロックを逆変換することから得られた値の例示的な行列の概略図である。図２Ａにおいて、レジスタ175Aは、図示のように64-rビットワードに構成されている。この例では各ビットプレーンに8×8=64セルが存在するため、64ワードが存在する。ビット数rは、X(m,n)での最大数と、kの値と、Pの値との大きさの関数である。レジスタは、レジスタの左側からビットがドロップされることなく、pの位置だけシフトして(Pで乗算する)k=BP-1の位置だけ更にシフトした後に、K’(i,j,m,n)について可能な最大バイナリ値を受け入れるのに十分に大きくなければならない(すなわちrの値)。レジスタ175Aは、k=2ビットプレーンの全ての64セル(i,j)について前述のような参照演算により得られたK’(i,j,m,n)行列を含んで図示されている。ワード0は第3ビット位置及び第6ビット位置に1を有し、36の値を表す。ワード1は第4ビット位置及び第5ビット位置に1を有し、24の値を表す。ワード2は第2ビット位置及び第4ビット位置に1を有し、10の値を表す。ワード62は第2ビット位置及び第5ビット位置に1を有し、18の値を表す。ワード63は、第2ビット位置及び第3ビット位置に1を有し、3の値を表す。
【００２８】
図２Ｂは、本発明による例示的なシフト演算の後の図２Ａの例示的な行列の概略図である。図２Ｂにおいて、レジスタ175Bの全てのビットは、2ビット位置だけ左にシフトされており、2k(ただしk=2)だけ乗算することと等しい。ワード0は第5ビット位置及び第8ビット位置に1を有し、144の値を表す。ワード1は第6ビット位置及び第7ビット位置に1を有し、96の値を表す。ワード2は第4ビット位置及び第6ビット位置に1を有し、40の値を表す。ワード62は第4ビット位置及び第7ビット位置に1を有し、72の値を表す。ワード5は第3ビット位置及び第4ビット位置に1を有し、12の値を表す。ビットプレーンがk=3である場合、各ワードの各ビットは3ビット位置だけ左にシフトされ、実際には23すなわち8を乗算する。
【００２９】
12ビットプレーンのこの例では、12サイクル実行され、各サイクルの結果は累算器／バッファで累積される。各サイクルは、参照テーブルからK’(i,j,m,n)行列を取得し、前述のように行列をシフトし、適切な符号を追加し(図５に示し、以下に説明する)、ローカルバッファ／累算器に累積され、全てのビットプレーンで累積されたその結果をビデオバッファに伝送し、p位置だけ右にシフトされることを有する。各X(i,j,m,n)は関連の演算符号(正又は負)を有することがわかる。これらの符号は、３つの合計が実行される前に追加されなければならない。12サイクルを累積することは、３つの合計
【００３０】
【数９】
2006510302.tif 000011
(式7参照)を実行する。p位置だけ右にシフトすることは、Pで割ることと等しい。本発明のこの特定の態様について、図３、４及び５に関して以下に説明する。
【００３１】
図３は、本発明によるデコーダの概略ブロック図である。図３において、FGSデコーダ200は、下位レイヤストリーム210を受信して下位ビデオ信号215を出力する下位レイヤデコーダ205と、FGS上位ストリーム225を受信して上位ビデオ信号230を出力する上位レイヤデコーダ220とを有する。下位レイヤデコーダ205は、デマルチプレクサ235と、下位レイヤ可変長デコーダ(VLD:variable  length  decoder)240と、逆量子化器245と、IDCTプロセッサ250と、動き補償器255と、下位レイヤフレームメモリ260と、下位ビデオ再構成器265とを有する。上位レイヤデコーダ220は、FGSビットプレーンVLD270と、ビットプレーンIDCTプロセッサ275と、上位ビデオ再構成器280と、累算器282と、フレームバッファ285とを有する。
【００３２】
下位レイヤデコーダ205は以下のように動作する。デマルチプレクサ235は、下位レイヤストリーム210を受信し、動きベクトル(MV:motion  vector)データ290を動き補償器255に出力し、圧縮下位レイヤDCTデータ295を下位レイヤVLD240に出力する。下位レイヤVLDは下位レイヤDCT残差を再生成し、その下位レイヤDCT残差は逆量子化器245により処理され、IDCTプロセッサ250に渡される。逆量子化器245はエンコーダで実行される量子化を元に戻す。IDCTプロセッサ250はIDCTを実行し、残差フレームデータ300を生成する。下位レイヤVLD240と逆量子化器245とIDCTプロセッサ250とが下位レイヤDCTデータ295を処理している間に、動き補償器255は補償されたフレームデータ305を計算するためにMVデータ290に含まれる情報を使用する。残差フレームデータ300及び下位レイヤフレームデータ305は、下位ビデオ再構成器265で一緒に加えられ、下位レイヤフレームメモリ260に中間結果を格納し、下位ビデオ信号215を生成する。下位ビデオ信号215は上位ビデオ再構成器280に送信される。下位ビデオ信号215は表示可能な信号である。すなわち、それはビデオ画像を視聴者に表示するために表示装置により直接使用されてもよい。
【００３３】
上位レイヤデコーダは以下のように動作する。FGSビットプレーンVLD270は、FGS上位ストリーム225を受信し、個々のランレングスコード(RLC:run-length  code)をデコードする。特定の位置の特定のビットプレーンで1のDCT係数を生じる各RLCは、(i,j)ビットプレーンセル位置を含む位置信号310と、ビットプレーンセルが属する(k)ビットプレーンを含むビットプレーン信号315と、寄与が加算されたか減算されたかを示す符号信号320とを生成し、ビットプレーンIDCTプロセッサ275に渡される。IDCTプロセッサ275は図４に示されており、以下に説明する。ビットプレーンIDCTプロセッサ275は、符号及び
【００３４】
【数１０】
2006510302.tif 000012
の合計を実行し、それが信号328として累算器282に渡される。累算器282は
【００３５】
【数１１】
2006510302.tif 000013
の合計を実行し、上位フレームデータ325を生成する。上位フレームデータ325と下位フレームデータ215は、上位ビデオ再構成器280により一緒に加えられ、上位ビデオ信号230を生成する。上位ビデオ信号230は表示可能な信号である。
【００３６】
図４は、図３のビットプレーンIDCTプロセッサ275の概略ブロック図である。図４において、ビットプレーンIDCTプロセッサ275は、参照テーブル330と、シフトレジスタ335(又は類似の装置)と、バッファ340と、累算器342とを有する。参照テーブル330は、K(i,j,m,n)の値の行列を有する(前記の式4及び5を参照)。参照テーブル330は、位置信号310を受信し、参照テーブルの対応する(i,j)の位置でK’(i,j,m,n)の値を調べる。この値はシフトレジスタ335に渡され、バイナリ数字として表され、図２Ａ及び２Ｂに示して前述したように、ビットプレーン信号315に応じてシフトされる。このことは演算K’(i,j,m,n)*2kを実行することと等しい。対応する符号(+又は-)がバッファ340で各K’(i,j,m,n)に割り当てられた後に、累算器／バッファ342は、２つの合計
【００３７】
【数１２】
2006510302.tif 000014
を実行してシフトされたK(i,j)SHIFTED値を累積し、1ビットプレーンの寄与をフレームバッファに伝え、ビットプレーンの寄与が累積される。
【００３８】
図５は、本発明によるビットプレーン指向DCTデータストリームの逆変換の方法のフローチャートである。ステップ350において、如何なるビットプレーンのビットプレーンセルの各(i,j)の位置での1のDCT係数について、K’(i,j,m,n)の参照テーブルが作られる。K’(i,j,m,n)の参照テーブルはビットプレーン(k)に無関係である。ステップ355において、１つのRLCでVLDが実行され、(i,j)の位置と、ビットプレーン(k)と、係数の最上位ビットである場合には符号が決定される。ステップ360において、参照が実行され、１つの行列K’(i,j,m,n)の値を決定する。ステップ365において、バイナリで表されたそれぞれ決定された行列K’(i,j,m,n)の値の各ビットは、kビット位置だけ上位ビット位置にビットシフトされる。ステップ370において、各K’(i,j,m,n)SHIFTEDに適切な符号が加えられ、K’’(i,j,m,n)SHIFTEDを作る。結果のK’’(i,j,m,n)SHIFTED値はビットプレーン位置(i,j)のX(i,j)の実際の寄与を計算するために使用される。ステップ375において、K’’(i,j,m,n)SHIFTED値が累積される。K’’(i,j,m,n)SHIFTED値が累積されるときに
【００３９】
【数１３】
2006510302.tif 000015
の合計が実行される。ビットプレーンセットが完了していない場合、方法はステップ355からステップ382をループする。更なるVLCがデコードされるときに、
【００４０】
【数１４】
2006510302.tif 000016
の合計を実行するステップ380と355との間のループが行われる。ビットプレーンセットが完了した場合、ステップ385において(バイナリでの)X’(m,n)がp位置だけ右にシフトされ、ステップ390でX(m,n)を作り、X(m,n)の再構成が完了すると、ブロックが渡される。
【００４１】
その方法は、フレームのビットプレーンの各セットについて繰り返される。例えば、元のフレームが320×240ピクセルである場合、そのフレームについて40×30×1.5=1800の8×8ブロック(×1.5は色度ブロックを含める)が存在する。全てのブロック及び全てのフレームについて同じ参照テーブルが使用される。
【００４２】
本発明の理解のため、本発明の実施例の説明について前述した。本発明はここに記載されている特定の実施例に限定されず、本発明の範囲を逸脱することなく、当業者に明らかになるように多様な変更、再構成及び置換が可能であることがわかる。従って、特許請求の範囲は、本発明の真の要旨及び範囲にある全てのこのような変更及び変形をカバーすることを意図する。
【図面の簡単な説明】
【００４３】
【図１】本発明によるビットプレーンのセットの概略図である。
【図２Ａ】本発明による図１に示すk=2ビットプレーンから周波数データの単一ブロックを逆変換することから得られた値の例示的な行列の概略図である。
【図２Ｂ】本発明による例示的なシフト演算の後の図２Ａの例示的な行列の概略図
【図３】本発明によるデコーダの概略ブロック図である。
【図４】本発明によるビットプレーンIDCTプロセッサの概略ブロック図である。
【図５】本発明によるFGS上位ストリームをデコードするビットプレーン指向DCTデータの逆変換用のビットプレーンIDCTの方法のフローチャートである。
【図１】
2006510302.tif 000017
2006510302.tif 000018
【図３】
2006510302.tif 000019
【図４】
2006510302.tif 000020
【図５】
2006510302.tif 000021
【国際調査報告】
2006510302.tif 000022
2006510302.tif 000023
2006510302.tif 000024