(57)【要約】方法および装置は、符号器／復号器回路（１２）とシグナルプロセッサ（１４）との間でデジタルデータを転送する。デジタルデータの転送は、（ａ）符号器／復号器回路およびシグナルプロセッサのうちの一方である第１回路で、特定の統計的特性を有するデータ値のブロックを取得すること、（ｂ）第１回路で、データ値のブロックの統計的特性に基づいてデータ値のブロックを符号化することによりデータストリームを生成すること、（ｃ）第１回路と第２回路を接続するデータバスを介して、符号器／復号器回路およびシグナルプロセッサのうちの他方である第２回路にデータストリームを転送すること、および（ｄ）第２回路で、第１回路から受け取ったデータストリームを復号化することによりデータ値のブロックを再構成すること、を含む。
2010502099.tif 000002
【特許請求の範囲】
【請求項１】
符号器／復号器回路とシグナルプロセッサとの間でデジタルデータを転送する方法であって、
符号器／復号器回路およびシグナルプロセッサのうちの一方である第１回路で、特定の統計的特性を有するデータ値のブロックを取得すること、
第１回路で、データ値のブロックの統計的特性に基づいてデータ値のブロックを符号化することによりデータストリームを生成すること、
第１回路と第２回路の接続するデータバスを介して、符号器／復号器回路およびシグナルプロセッサのうちの他方である第２回路にデータストリームを転送すること、および
第２回路で、第１回路から受け取ったデータストリームを復号化することによりデータ値のブロックを再構成すること、
を含む方法。
【請求項２】
前記取得することは、
第１回路で、圧縮されたデータストリームを受け取ること、および
データ値のブロックを再構成するために圧縮されたデータストリームを部分的に解凍すること、
を含む請求項１に記載の方法。
【請求項３】
前記データ値のブロックはビデオデータの量子化された係数値である請求項１に記載の方法。
【請求項４】
前記符号器／復号器回路はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であり、前記シグナルプロセッサはデジタルシグナルプロセッサ（ＤＳＰ）である請求項１に記載の方法。
【請求項５】
前記生成することは、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンすること、
第１のデータシリーズ中の有意値の位置を示す有意性マップを作成すること、
第１のデータシリーズ中の各有意値を表すビット数を決定し、そのビット数を示すコード名を生成すること、および
有意性マップ、コード名、および有意値を含む、転送されるデータストリームである第２のデータシリーズを生成すること、
を含む請求項１に記載の方法。
【請求項６】
前記再構成することは、有意性マップ、コード名および有意値に基づいて第１のデータシリーズを再構成することを含む請求項５に記載の方法。
【請求項７】
データ値はビデオデータの量子化された係数値であり、有意値は０でない係数値であり、非有意値は０に等しい請求項５に記載の方法。
【請求項８】
前記生成することは、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンすること、
第１のデータシリーズ中の有意値の位置を示す有意性マップを作成すること、
第１のデータシリーズ中の各有意値を表すビット数を決定すること、
特定の有意値に対して決定されたビット数が所定数を超えている場合に、その特定の有意値を表すビット数を示す回避コード名を生成すること、および
有意性マップ、有意値、および存在する場合には第２のデータシリーズ中の特定の有意値の前に挿入される回避コード名を含む、転送されるデータストリームである第２のデータシリーズを生成すること、
を含む請求項１に記載の方法。
【請求項９】
前記再構成することは、有意性マップ、存在する場合には回避コード名、および有意値に基づいて第１のデータシリーズを再構成することを含む請求項８に記載の方法。
【請求項１０】
データ値はビデオデータの量子化された係数値であり、有意値は０でない係数値であり、非有意値は０に等しい請求項８に記載の方法。
【請求項１１】
前記生成することは、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値および非有意値を含むデータ値のブロックを特定の順序でスキャンすること、
各有意値に対して、第１のデータシリーズ中の有意値の前にある非有意値の数を示すランレングス値を決定すること、
データ対を生成するために、ランレングス値を対応する有意値に関連付けること、および
第１のデータシリーズ中の有意値の順に並んだデータ対とデータ終了（ＥＯＤ）コード名とを含む、転送されるデータストリームである第２のデータシリーズを生成すること、
を含む請求項１に記載の方法。
【請求項１２】
前記再構成することは、データ対およびＥＯＤコード名に基づいて第１のデータシリーズを再構成することを含む請求項１１に記載の方法。
【請求項１３】
データ値はビデオデータの量子化された係数値であり、有意値は０でない係数値であり、非有意値は０に等しい請求項１１に記載の方法。
【請求項１４】
符号器／復号器回路とシグナルプロセッサとの間でデジタルデータを転送するためのインターフェース回路であって、
符号器／復号器回路のうちの一方である第１回路で特定の統計的特性を有するデータ値のブロックを受け取るように適合された入力バッファ、
データ値のブロックの統計的特性に基づいてデータ値のブロックを符号化することによりデータストリームを生成するように適合された、前記入力バッファに結合された送信符号器、
第１回路と第２回路を接続するデータバスを介して、符号器／復号器回路およびシグナルプロセッサの他方である第２回路にデータストリームを転送するように適合された、前記送信符号器に結合された出力ポート／バッファ、
【請求項１５】
前記データ値のブロックは、第１回路で受け取られた圧縮されたデータストリームを少なくとも部分的に解凍することにより取得される請求項１４に記載のインターフェース回路。
【請求項１６】
前記データ値のブロックはビデオデータの量子化された係数値である請求項１４に記載のインターフェース回路。
【請求項１７】
前記送信符号器は、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンするように適合されたデータスキャナ、
第１のデータシリーズ中の有意値の位置を示す有意性マップを作成するように適合されたマップ作成器、
第１のデータシリーズ中の各有意値を表わすビット数を決定し、そのビットの数を示すコード名を生成するように適合されたコード名生成器、および
有意性マップ、コード名、および有意値を含む、転送されるデータストリームである第２のデータシリーズを生成するように適合されたデータアセンブラ、
を備える請求項１４に記載のインターフェース回路。
【請求項１８】
データ値はビデオデータの量子化された係数値であり、有意値は０でない係数値であり、非有意値は０に等しい請求項１７に記載のインターフェース回路。
【請求項１９】
前記送信符号器は、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンするように適合されたデータスキャナ、
第１のデータシリーズ中の有意値の位置を示す有意性マップを作成するように適合されたマップ作成器、
第１のデータシリーズ中の各有意値を表わすビット数を決定し、特定の有意値に対して決定されたビット数が所定数を超えている場合に、その特定の有意値を表すビット数を示す回避コード名を生成するように適合されたコード名生成器、および
有意性マップ、有意値、および存在する場合には第２のデータシリーズ中の特定の有意値の前に挿入される回避コード名を含む、転送されるデータストリームである第２のデータシリーズを生成するように適合されたデータアセンブラ、
を備える請求項１４に記載のインターフェース回路。
【請求項２０】
データ値はビデオデータの量子化された係数値であり、有意値は０でない係数値であり、非有意値は０に等しい請求項１９に記載のインターフェース回路。
【請求項２１】
前記送信符号器は、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンするように適合されたデータスキャナ、
各有意値に対して、第１のデータシリーズ中の有意値の前にある非有意値の数を示すランレングス値を決定するように適合されたランレングス決定器、
データ対を生成するために、ランレングス値を対応する有意値に関連付けるよう適合されたデータ対生成器、
第１のデータシリーズ中の有意値の順に並んだデータ対とデータ終了（ＥＯＤ）コード名とを含む、転送されるデータストリームである第２のデータシリーズを生成するように適合されたデータアセンブラ、
を備える請求項１４に記載のインターフェース回路。
【請求項２２】
データ値はビデオデータの量子化された係数値であり、有意値は０でない係数値であり、非有意値は０に等しい請求項２１に記載のインターフェース回路。
【請求項２３】
符号器／復号器回路とシグナルプロセッサとの間でデジタルデータを転送する装置であって、
符号器／復号器回路およびシグナルプロセッサのうちの一方である第１回路で得られた、特定の統計的特性を有するデータ値のブロックを受け取る手段、
第１回路で、データ値のブロックの統計的特性に基づいてデータ値のブロックを符号化することによりデータストリームを生成する手段、
第１回路と第２回路を接続するデータバスを介して、符号器／復号器回路およびシグナルプロセッサの他方である第２回路にデータストリームを転送する手段、および
第２回路で、第１回路から受け取ったデータストリームを復号化することによりデータ値のブロックを再構成する手段、
を備えた装置。
【請求項２４】
前記生成手段が、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンする手段、
第１のデータシリーズ中の有意値の位置を示す有意性マップを作成する手段、
第１のデータシリーズ中の各有意値を表すビット数を決定し、そのビット数を示すコード名を生成する手段、および
有意性マップ、コード名、および有意値を含む、転送されるデータストリームである第２のデータシリーズを生成する手段、
を含む請求項２３に記載の装置。
【請求項２５】
前記生成手段が、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値と非有意値とを含むデータ値のブロックを特定の順序でスキャンすること、
第１のデータシリーズ中の有意値の位置を示す有意性マップを作成すること、
第１のデータシリーズ中の各有意値を表すビット数を決定すること、
特定の有意値に対して決定されたビット数が所定数を超えている場合に、その特定の有意値を表すビット数を示す回避コード名を生成する手段、および
有意性マップ、有意値、および存在する場合には第２のデータシリーズ中の特定の有意値の前に挿入される回避コード名を含む、転送されるデータストリームである第２のデータシリーズを生成する手段、
を備える請求項２３に記載の装置。
【請求項２６】
前記生成手段が、
第１のデータシリーズを生成するために、有意値の数が非有意値の数よりも統計的に小さい有意値および非有意値を含むデータ値のブロックを特定の順序でスキャンする手段、
各有意値に対して、第１のデータシリーズ中の有意値の前にある非有意値の数を示すランレングス値を決定する手段、
データ対を生成するために、ランレングス値を対応する有意値に関連付ける手段、および
第１のデータシリーズ中の有意値の順に並んだデータ対とデータ終了（ＥＯＤ）コード名とを含む、転送されるデータストリームである第２のデータシリーズを生成する手段、
を備える請求項２３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路間でデジタルデータを転送する方法および装置に関する。より詳細には、本発明は、転送されているデータの特定の統計的特性すなわちパターンを利用してデータストリームのビット伝送速度を低下させる方法および装置に関する。
【背景技術】
【０００２】
放送信号用の動画（および関連する音声）は、通常、標準化された符号スキームに従って符号化および圧縮されている。例えば、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４およびその同等物がそのような符号化／圧縮に使用されている。これらの符号化形式は、商用映画をＤＶＤに記録するために、また、遠隔学習、インターネットＴＶ放送、ビデオ・オン・デマンドシステムおよびその同等物のようなインターネットの用途にも使用されている。
【０００３】
ＭＰＥＧで符号化されたビデオビットストリームは、フレーム内符号化フレーム（Ｉピクチャ）、前方向予測フレーム（Ｐピクチャ）および双方向予測フレーム（Ｂピクチャ）を含む画像を符号化する一連のデータフレームを含んでいる。このようなフレームは、ＧＯＰ（Group of Picture）構造と呼ばれる特定の順序で一般に配列される。
【０００４】
ビデオ画像は、１つの輝度（Ｙ）チャネルと２つの色差（ＣｂおよびＣｒ）チャネルとに分離される。輝度と色差アレイのブロックは画像内符号化の基本単位である「マクロブロック」に編成される。各マクロブロックは一般に１つの１６×１６輝度ブロック（４つの８×８ブロック）と、２つの８×８色差ブロックとに分割される。図１はそのような１６×１６輝度（Ｌｕｍａ）ブロックと８×８色差（Ｃｈｒｏｍａ：ＣｒおよびＣｂ）ブロックとを略図で示している。
【０００５】
各サンプルブロックは離散コサイン変換（ＤＣＴ）を用いて符号化される。ＭＰＥＧ−２は通常８×８変換ブロックを使用する。ＭＰＥＧ−４は通常４×４変換ブロックを使用するか、４×４変換ブロックと８×８変換ブロックの間のサイズで適宜選択し得る。ＤＣＴに基づく符号器は、本質的に画像サンプルの８×８（または４×４）サンプルブロックのストリームの圧縮と考えられる。
【０００６】
例えば、ＭＰＥＧ−２符号化の場合、各８×８ブロックは各処理ステップを受け、６４ＤＣＴ係数を生じさせる。通常のソース画像から得られる通常の８×８サンプルブロックの場合、ほとんどの空間周波数が０または０に近い振幅を有し、符号化する必要がない。したがって、原則として、ＤＣＴはソース画像サンプルに損失を加えず、画像サンプルを単により効率的に符号化される特定の周波数ドメインへ変換するだけである。得られたＤＣＴ係数の各々は６４要素量子化表または量子化行列を使用して量子化される。図２Ａ−２Ｃは、ＤＣＴ係数行列、一般的な量子化行列、および８×８ブロックサイズに対して得られる量子化係数行列の例をそれぞれ示している。
【０００７】
量子化後に、量子化された値にはエントロピー符号化が通常適用される。例えば、量子化されたＤＣＴ係数は、高周波数の係数の前に低周波数の０でない係数を配置し、かつゼロのロングランと後続の係数値の低い振幅の可能性を最大限にするために、ジグザグの走査順序を使用してスキャンされる。次に、順序付けられた量子化係数は、可変長（すなわちランレングス）符号化される。ＤＣ係数は、画像エネルギーの合計の有意な部分を含むが、差分符号化されてもよい。
【０００８】
ＭＰＥＧ−４では、例えば、量子化係数を圧縮するために文脈適応２進演算符号化（ＣＡＢＡＣ）が使用され得る。ＣＡＢＡＣは所与の文脈中の構文要素の可能性を知りながらビデオストリーム中の係数（構文要素）を損失なく圧縮する。文脈適応可変長符号化（ＣＡＶＬＣ）も、ＣＡＢＡＣの複雑さの低い代替手段であるが、量子化変換係数値を符号化／圧縮するのに使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
符号化または圧縮されたビデオデータは、通常さらに処理され、従来のアンテナ（ＲＦ）または通信網（ケーブル、光ファイバ、衛星、インターネットおよびその同等物）によって送信される。受け取られたビデオデータは対応する復号器（例えばＣＡＢＡＣまたはＣＡＶＬＣデコーダ）によって復号化／解凍される。受信ビデオデータが表示または格納される前に処理される場合、解凍されたデータは、中心処理装置（ＣＰＵ）またはデジタルシグナルプロセッサ（ＤＳＰ）に送信される。ビデオデータが既に解凍されているか、または少なくとも部分的に復号化されているため、復号器とＤＳＰ（２つのプロセッサまたは演算処理装置）の間の通信のデータ速度は非常に高い。したがって、解凍データのそのような通信にはかなり大きな帯域幅が必要となり、かかる処理の障害になりがちである。
【課題を解決するための手段】
【００１０】
方法および装置は、符号器／復号器回路とシグナルプロセッサとの間でデジタルデータを転送する。デジタルデータの転送は、（ａ）符号器／復号器回路およびシグナルプロセッサのうちの一方である第１回路で、統計的特性を有するデータ値のブロックを取得すること、（ｂ）第１回路で、データ値のブロックの統計的特性に基づいてデータ値のブロックを符号化することによりデータストリームを生成すること、（ｃ）第１回路と第２回路を接続するデータバスを介して、第１回路および第２の符号器／復号器回路およびシグナルプロセッサの他方である第２回路へデータストリームを転送すること、および（ｄ）第２回路で、第１回路から受け取ったデータストリームを復号化することによりデータ値のブロックを再構成すること、を含む。
【００１１】
本明細書に組み込まれ本明細書の一部を構成する添付図面は、本発明の１または複数の実施形態を示すと共に、以下の発明の実施の形態と共に発明の原理および実施について説明する役割を果たす。
【図面の簡単な説明】
【００１２】
【図１】マクロブロックデータの例を示す略図。
【図２Ａ】８×８ブロックに対するＤＣＴ係数行列の例を示す略図。
【図２Ｂ】８×８ブロックに対する一般的な量子化行列を示す略図。
【図２Ｃ】８×８ブロックに対する得られた量子化係数行列を示す略図。
【図３】本発明の１実施形態によるインターフェース回路を実装するシステムを概略的に示すブロック図。
【図４】本発明の１実施形態による符号器／復号器回路とシグナルプロセッサ（ＤＳＰ）との間でデジタルデータを転送するためのインターフェース回路を概略的に示す略図。
【図５Ａ】４×４ブロックにおけるデータ値（係数）のブロックの例を示す略図。
【図５Ｂ】本発明の１実施形態による圧縮されるデータシリーズの例を示す略図。
【図５Ｃ】本発明の１実施形態による有意性マップの例を示す略図。
【図５Ｄ】本発明の１実施形態による出力データシリーズの例を示す略図。
【図６Ａ】４×４ブロックにおけるデータ値（係数）のブロックの別の例を示す略図。
【図６Ｂ】本発明の１実施形態による圧縮されるデータシリーズの別の例を示す略図。
【図６Ｃ】本発明の１実施形態による有意性マップの別の例を示す略図。
【図６Ｄ】本発明の１実施形態による出力データシリーズの別の例を示す略図。
【図７】本発明の１実施形態によるインターフェース回路の送信符号器の例を概略的に示す略図。
【図８Ａ】４×４ブロックにおけるデータ値（係数）のブロックの例を示す略図。
【図８Ｂ】本発明の別の実施形態による圧縮されるデータシリーズの例を示す略図。
【図８Ｃ】本発明の別の実施形態による出力データシリーズの例を示す略図。
【図９】図８Ａ−８Ｃに相当する本発明の１実施形態によるインターフェース回路中の送信符号器の例を概略的に示す略図。
【発明を実施するための形態】
【００１３】
本発明の実施形態を、回路間でのデジタルデータの転送のための方法および装置の文脈で説明する。当業者には、本発明の以下の詳細な説明が例示にすぎず、いかようにも限定を意図しないことが理解されるだろう。本開示の利益を有するそのような当業者には、本発明の他の実施形態が容易に思い浮かぶだろう。添付図面中で例証されるように、本発明の実施形態についてここで説明する。同一または同様な部分を指すために、図面および以下の詳細な説明全体にわたって、同じ参照符号を使用する。
【００１４】
明瞭さのために、ここで説明する実施形態のすべての通常の特徴について図示し、記述するとは限らない。任意のそのような実際の実施の開発の際には、用途および商取引に関連する制約等の開発者の特定の目標を達成するために多くのその実施に特有の決定がなされなければならないこと、そのような特定の目標は実施によって、また開発者によって変化することは勿論である。さらに、そのような開発の努力は複雑で時間を消費するものであり得るが、本開示の利益を有する当業者にとっては通常行われる工学技術の仕事である。
【００１５】
本発明の１実施形態によれば、様々な種類のオペレーティングシステム（ＯＳ）、計算プラットフォーム、ファームウェア、計算機プログラム、計算機言語および／または汎用工作機械を使用して、コンポーネント、処理ステップおよび／またはデータ構造が実装され得る。方法は、処理回路上で動作するプログラムされたプロセスとして実装することができる。処理回路は、複数のプロセッサ複数のオペレーティングシステムの多数の組み合わせの形式であってもよいし、スタンドアロン型の装置であってもよい。プロセスは、そのようなソフトウェア、ハードウェアのみ、またはそれらの任意の組み合わせによって実行される命令として実行することができる。ソフトウェアは、マシンによって可読なプログラム記憶装置に格納されてもよい。
【００１６】
さらに、当業者には、汎用の中心処理装置（ＣＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、配線接続された（hardwired）装置等の汎用性がより少ない装置、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）およびコンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）を含むフィールドプログラマブルロジックデバイス（ＦＰＬＤ）、特定用途向けＩＣ（ＡＳＩＣ）、またはその同等物も、本明細書に開示する発明概念の範囲および種子から逸脱せずに使用であることが理解されよう。
【００１７】
図３は、本発明の１実施形態によるインターフェース回路２０を実装するシステム１０を概略的に示す。システム１０は符号器／復号器回路１２とデジタルシグナルプロセッサ（ＤＳＰ）１４を備えている。符号器／復号器回路１２はＣＡＢＡＣ、ＣＡＶＬＣあるいはその同等物のような符号器／デコーダ（ＣＯＤＥＣ）１６を備えたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を使用して実装され得る。ＤＳＰ１４の代わりに汎用中央処理装置（プロセッサ）ユニット（ＣＰＵ）が使用されてもよい。この例では、符号器／復号器回路１２は、例えばＭＰＥＧ符号化ビデオデータストリーム等の符号化されたデータストリーム１３を受け取り、完全にまたは部分的に符号化データストリームを復号化する複合器すなわちデコーダである。復号化されたデータは、復号化データの処理のために、データバス１８を介してＤＳＰ１４に送信される。符号器／復号器回路１２およびＤＳＰ１４は回路基板上の個別のＩＣチップであってもよいし、システムオンアチップのような一つのチップに組み込まれた２つの別の回路コアであってもよい。本発明は一般に、システム上の２つのプロセッサ間でのデータ転送に適用可能であり、ＩＣチップがマルチプル演算処理装置を有する場合、かかる演算処理装置間のチップ内バスを介したデータ伝送に適用可能である。
【００１８】
ＤＳＰ１４は、例えば、表示形式（サイズ、解像度および／またはアスペクト比）を変更したり、元のビデオデータに追加のビデオデータを挿入または結合させたり、その同等なことを行うために、復号化データを処理する。したがって、ＣＯＤＥＣ  １６は、特定の信号処理を行なうためにＤＳＰ１４に必要なレベルに、受信した符号化データストリーム１３を復号化する。データが少なくとも部分的に復号化（つまり解凍）されるため、符号器／復号器回路１２とＤＳＰ１４の間のデータ伝送速度は非常に高く、したがってバス１８を介したそのようなデータ伝送は、特にリアルタイムのデータ処理を要求するビデオデータディスプレイでは、プロセスの障害となり得る。例えば、１９２０×１０８０ピクセルを備えた高解像度（ＨＤ）サイズフレームが、１秒間に３０フレームの割合で送信される場合、各ピクセルは対応する１６ビットのＤＣＴ係数を有し、そのような係数に対するデータ伝送速度は単に１９２０×１０８０×１６×３０×１．５≒１．５Ｇｂｉｔ／秒（因数１．５はＣｈｒｏｍａ係数の数の数がＬｕｍａ係数の半分であるという事実に基づく）。
【００１９】
従って、本発明の１実施形態によれば、バス１８を介した効率的なデータ伝送のために、インターフェース回路２０および２２は、符号器／復号器回路１２とＤＳＰ１４にそれぞれ提供される。図３に示されるように、インターフェース回路２０は符号器／復号器回路１２（ＦＰＧＡを使用して）一部として実装されてもよいし、インターフェース回路２２がＤＳＰ１４の一部として実装されてもよい。バス１８を介したデータ伝送のために、インターフェース回路２０はＣＯＤＥＣ  １６の出力を符号化／圧縮し、インターフェース回路２２はそのように符号化／圧縮されたデータを受け取り、信号処理用にＣＯＤＥＣ  １６からの元の出力を回復するために復号化／解凍する。
【００２０】
図４は、本発明の１実施形態による、符号器／復号器回路１２とシグナルプロセッサ（ＤＳＰ）１４との間でデジタルデータを転送するためのインターフェース回路２０および２２を概略的に示す。インターフェース回路２０は、ＣＯＤＥＣ  １６から出力データを受け取る入力バッファ３０と、入力バッファ３０に結合された送信符号器３２と、送信符号器３２に結合された出力バッファ／ポート３４とを備えている。ＣＯＤＥＣ  １６からの出力データは、特定の統計的特性を有するデータ値のブロックである。送信符号器３２は、かかる統計的特性に基づいてデータ値のブロックを符号化することにより、データストリームを生成し、データストリームは、出力バッファ／ポート３４およびデータバス１８によりＤＳＰ  １４に転送される。
【００２１】
図４に示されるように、インターフェース回路２２はデータバス１８から符号化データストリームを受け取るように適合された入力ポート／バッファ３６、入力ポート／バッファ３６に結合された送信デコーダ３８、および送信デコーダ３８に結合された出力バッファ４０を備えている。送信デコーダ３８は、符号化データストリームを復号化することにより元の復号化データストリーム（つまりＣＯＤＥＣ  １６からの出力）を再構成し、出力バッファ４０へ出力する。バッファされたデータは、例えばＤＳＰ  １４のプロセシングモジュール４２により処理される。
【００２２】
ＣＯＤＥＣ  １６が符号化データストリーム１３を少なくとも部分的に復号化する場合、復号化されたデータは特定の統計的特性を有するデータ値のブロックを含んでいる。例えば、ＭＰＥＧ符号化ビデオデータストリームが復号化される場合、図１に示されるように、得られるデータ（つまりインターフェース回路２０への入力）は、一連のマクロブロックデータである。フレームに基づくビデオ圧縮標準規格を使用して元のビデオデータが符号化／圧縮されているので、上述したように、マクロブロックデータはデータ圧縮スキームに使用される特定の統計的特性を有する。マクロブロックは、より小さなブロック、例えば図１に示される４×４ブロックまたは８×８ブロックの集合体であり、マクロブロックの形式およびブロックのサイズはビデオ圧縮標準規格によって決まる。図１に示された例では、マクロブロックは１６個の４×４  Ｌｕｍａブロックと、４個の４×４  Ｃｒブロックと、４個の４×４  Ｃｂブロックとから成る。８×８ブロックサイズの標準規格では、マクロブロックは、４個の８×８  Ｌｕｍａブロックと、１個の８×８  Ｃｒブロックと、１個の８×８  Ｃｂブロックとから成るだろう。
【００２３】
そのような４×４ブロック、８×８ブロックまたは圧縮標準規格でユニットブロックとして使用されるブロックの他のサイズは、本明細書では「ブロック」と称される。圧縮データ（ビットストリーム）がＣＯＤＥＣ  １６によって復号化／解凍される場合、データは「データ値のブロック」へと再構成される。そのようなデータ値のブロックは、使用されるビデオデータ圧縮スキームに対応する一定の公知の統計的特性を有する。本明細書では４×４ブロックサイズを説明のために使用するが、４×４または８×８ブロックサイズがデータ圧縮では一般に使用されるというものの、本発明は任意のブロックサイズに適用可能であることに留意する。さらに、図１に示された例は４：２：０のマクロブロックの形式に基づいているが、当業者にはよく理解されるように、本発明は４：２：２および４：４：４のような他のマクロブロックに適用可能である。さらに、説明のためにＭＰＥＧ圧縮を使用しているが、本発明がＪＰＥＧ等の他の圧縮スキームに適用可能であり、あるいは、（別のプロセッサに）転送される解凍データストリームの統計的特性が既知である限り他の方法にも適用可能である。
【００２４】
本発明の１実施形態によれば、ＭＰＥＧ符号化ビデオデータがＣＯＤＥＣ  １６により復号化／解凍された場合、データ値のブロックはビデオデータの量子化されたＤＣＴ係数値である。ＭＰＥＧ圧縮／符号化プロセスで既に量子化されているため、統計的に大半の係数値は０である。図５Ａは、４×４ブロックにおけるデータ値（係数）のそのようなブロック５０の例を略図で示す。量子化された係数値の特定の統計的特性を利用して、「有意」値を有する位置を示す有意性マップがデータ値の各ブロックのために作成される。この例では、有意値は０でない係数であり、「非有意」値は０の係数である。
【００２５】
より詳細には、係数データ値のブロックがＤＳＰ  １４に送信されることになっている場合、各ブロックは一連のデータ（第１のデータシリーズ５２）を生成するように特定の順序でスキャンされる。例えば、各ブロックは左から右へ、上から下へ、一行ごとにスキャンされる。生じるデータシリーズ５２は図５Ｂに示され、図５Ｃに示されるように、有意性マップ５４はブロックの中に１６ビット（つまり係数値の数）を有し、ビット値「１」によりデータシリーズ５２中に０でない値の位置およびビット値「０」により０の値の位置を示す。有意性マップ５４（１６ビットの値）のこの特定の例は、１６進法でｅ８００として表現される。
【００２６】
その後、データシリーズ中の各有意値（つまりゼロでない係数）を表わすビットの数が決定され、かかるデータシリーズに対して（ブロックに対応する）コード名５６が生成される。例えば、ほとんどすべての係数は非常に小さいので、ほとんどのブロックは８ビットで十分であり、１６ビットはごく稀に必要となるだろう。シリーズ中の実際の０でない係数値５８がコード名の後に続く。従って、図５Ｄに示されるように、出力データシリーズ（第２のデータシリーズ６０）は、有意性マップ５４、コード名５６および有意値（０でない係数）５８を含む。その後、第２のデータシリーズ６０は他の情報（マクロブロック情報等）と結合され、必要ならばデータバス１８を介してＤＳＰ  １４に送信される。ＤＳＰ  １４では、インターフェース回路２２が第２のデータシリーズ６０を受け取り、有意性マップ５４、コード名５６および有意値５８に基づいて第１のデータシリーズ５２を再構成する。
【００２７】
代わりに、コード名５６を使用する代わりに、すべてのブロックに対して８ビットですべての係数値を表わすことができ、１６ビット表示を必要とする特定の係数値の前には特定の「回避コード名」が挿入され得ることが想定される。図６Ａは、大きな係数値を有するそのような４×４ブロック６２を示す。図６Ｂから６Ｄは、対応する第１のデータシリーズ６３、有意性マップ６４、および有意性マップ６４、有意（０でない係数）値６６ならびに回避コード名６７（この例では１６進法で「８０」）を含む出力データシリーズ（第２のデータシリーズ６５）をそれぞれ示す。その後、第２のデータシリーズ６５は他の情報と結合され、必要ならばデータバス１８を介してＤＳＰ  １４に送信される。ＤＳＰ  １４では、インターフェース回路２２が第２のデータシリーズ６５を受け取り、有意性マップ６４、回避コード名６７および有意値６６に基づいて第１のデータシリーズ６３を再構成する。
【００２８】
図７は、本発明の１実施形態によるインターフェース回路２０の送信符号器３２の例を略図で示す。図７に示されるように、送信符号器３２はデータスキャナ７０、マップ作成器７２、コード名生成器７４およびデータアセンブラ７６を備えている。データスキャナ７０は、特定の順序で、入力バッファ３０（図４）中に存在するデータ値のブロック（例：符号５０）をスキャンし、第１のデータシリーズ（例：符号５２）を生成する。上述したように、データ値は、有意値の数が非有意値の数よりも統計的に小さい（例えば、ほとんどの係数値はゼロである）有意値（０でない係数値）および非有意値（０の係数値）を含む。マップ作成器７２は、第１のデータシリーズ中の有意値の位置を示す有意性マップ（例：符号５４）を生成する。例えば有意性マップは同じ数のビットを有し、各ビットがブロック中のデータ値の一つに対応する。コード名生成器７４は、第１のデータシリーズ中の各有意値を表すビット数を決定し、そのビットの数を示すコード名（例：符号５６）を生成する。すなわちコード名は各ブロックに対して生成される。データアセンブラ７６は、有意性マップ、コード名および有意値を含む第２のデータシリーズ（例：符号６０）を生成する。第２のデータシリーズは、出力バッファ／ポート３４（図４）に送られる。
【００２９】
図６Ａから６Ｄに対応する実施形態では、コード名生成器７４およびデータアセンブラ７６が以下に示すようにわずかに異なる方法で作動してもよい。この実施形態では、すべてのブロックのすべての有意値が特定の所定ビット数（例えば８ビット）で表わされると想定され、特定のデータ値が所定数より大きなビットを必要とする場合に限り、ちょうどその特定の有意値の前に回避コード名が挿入される。
【００３０】
データ値のブロックがスキャンされ、有意性マップが生成された後、コード名生成器７４はシリーズ中の各有意値を表すビット数を決定する。そして、特定の有意値に対して決定したビット数が所定数を超えている場合に、の特定の有意値を表すビット数を示す回避コード名を生成する。その後、データアセンブラ７６は、有意性マップ、必要な場合には回避コード名、および有意値を含む第２のデータシリーズを生成する。回避コード名は、必要な場合には、所定数よりも多くのビット数を必要とする特定の有意値の前に挿入される。
【００３１】
上記の実施形態に記述されるように、復号化データの元のデータストリームの公知の統計的特性を使用して、マルチプロセッサシステム内の別のプロセッサに転送される前に元の復号化データストリームが圧縮される。本発明の１実施形態によれば、ランレングス符号化−これは元のデータストリームの既知の統計的特性を利用しているが−が、プロセッサ間のデータ転送用のそのようなデータ圧縮のために使用される。ブロック中の各値に各ビットが割り当てられるため、上記実施形態で説明した有意性マップはスキャンの特定の順序に依存しない。他方、ランレングス符号化では、データ値の統計的特性がスキャンの順序を決定する。
【００３２】
図８Ａ〜８Ｃは、本発明の１実施形態によるそのようなランレングス符号化の例を示す。図８に示されるように、データ値（係数値）５０の同じ４×４ブロックが例として使用される。先の実施形態と同様に、データ値５０のブロックは第１のデータシリーズを生成するために特定の順序でスキャンされる。しかしながら、この実施形態では、ゼロ（つまり非有意値）のランを最大にするために、係数値はジグザグの順序でスキャンされ、その結果第１のデータシリーズ８０（図８Ｂ）が得られる。ランレングス値は各有意値（つまり０でない係数値）に対して決定され、ランレングス値は第１のデータシリーズ８０内の有意値より前にあるゼロの数を示す。例えば、第１の０でない係数値「５」はそれより前にゼロを有していないので、ランレングス値は０である。これは第２の０でない係数値「３」でも同じである。第３の０でない係数値「１」はその前に０を１つ有しているため、係数値「１」のランレングス値は１である。その後、決定されたランレングス値は対応付けられる、データ対を生成するために、例えば（０，５）（０，３）（１，１）等といったようにその対応する有意値と関連付けられる。第２のデータシリーズ８２は、図８Ｃに示されるように、第１のデータシリーズ８０中の有意値の順序に並んだデータ対と、それに続く終了（ＥＯＤ）コード名とを含むように生成される。インターフェース回路２２（図３）により受け取られると、データ対およびＥＯＤコード名に基づいて第２のデータシリーズ８２から第１のデータシリーズ８０が再構成される。
【００３３】
図９は、図８Ａ−８Ｃに相当する本発明の１実施形態によるインターフェース回路２０中の送信符号器３３の例を示す。図９に示されるように、送信符号器３３は、データスキャナ９０、ランレングス決定器９２、データ対生成器９４およびデータアセンブラ９６を備えている。データスキャナ９０は、データ値のブロック（例：符号５０）を特定の順序でスキャンし、第１のデータシリーズを生成する。この実施形態では、非有意値（０の係数値）に実質的に数で勝っているだけでなくデータブロック中の特定の統計的配列（位置）を有する有意値（０でない係数値）が上述したように第２の（圧縮）データシリーズを生成するために使用される。ランレングス決定器９２は、上述したように、各有意値に対するランレングス値を決定する。また、対データ生成器９４は、対データを生成するために、ランレングス値を対応する有意値と関連付ける。データアセンブラ９６は、第１のデータシリーズ中の有意値の順序の対データと、データ終了（ＥＯＤ）コード名とを含む第２のデータシリーズを生成する。第２のデータシリーズはデータバス１８を介して転送されるよう出力バッファ／ポート３４に送られる（図４参照）。
【００３４】
戻って図４を参照すると、第２のデータシリーズ（例：符号６０、６５、８２）は入力ポート／バッファ３６でインターフェース回路２２により受け取られる。送信デコーダ３８は、対応する送信符号器３２または３３で使用される圧縮方法に従って第２のデータシリーズから第１のデータシリーズを再構成する。例えば、有意性マップまたはランレングス値によって指定された位置にゼロが挿入される。
【００３５】
戻って図３を参照すると、本発明は、データバス２８を介したＤＳＰ  １４と符号器／復号器回路１５の間のデータ転送にも適用可能である。ＤＳＰ  １４は、ビデオデータを処理した後（例えば前処理）で、通常ビデオデータを再量子化し、その量子化データをＭＰＥＧ符号化／圧縮のために符号器／復号器回路１５に送信する。したがって、この実施形態では、符号器／復号器回路１５は符号器である。符号器／復号器回路１２と同様に、符号器／復号器回路１５は、ＣＡＢＡＣ、ＣＡＶＬＣまたはその同等物のようなＣＯＤＥＣ  １７を含むフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を使用して実装され得る。符号器／復号器１５は符号化データストリーム１９（例えばＭＰＥＧで符号化されたビデオデータストリーム）を出力する。
【００３６】
そのような予備符号化／圧縮データストリームには、非常に高いデータ転送速度が必要とされる。従って、本発明の１実施形態によれば、データバス２８を介した効率的なデータ伝送のために、ＤＳＰ  １４および符号器／復号器回路１５にインターフェース回路２４および２６がそれぞれ提供される。図３に示されるように、インターフェース回路２４がＤＳＰ  １４の一部として実装されてもよく、また、インターフェース回路２６が符号器／復号器回路１５（ＦＰＧＡを使用して）の一部として実装されてもよい。インターフェース回路２４は、使用される符号化スキームに特有の特定の統計的特性（例えば量子化されたデータ値）を有するデータストリーム符号化／圧縮する。インターフェース回路２６はそのようにして符号化／圧縮されたデータをこのように受け取り、ＣＯＤＥＣ  １７のために元のデータストリーム（例えば量子化データ値）を再構成する。
【００３７】
インターフェース回路２４および２６の構造および機能は、インターフェース回路２０および２２の構造および機能と実質的に同一であるため、さらに詳しい説明をしなくても上記説明から当業者にはよく理解されるだろう。
【００３８】
本発明の実施形態および適用例について図示および記述してきたが、本開示の利益を有する当業者には、本発明概念から逸脱せずに上述したよりさらに多くの改変が可能であることが明白であろう。したがって本発明は特許請求の範囲の趣旨を除き限定されるべきではない。
【図１】
2010502099.tif 000003
【図２Ａ】
2010502099.tif 000004
【図２Ｂ】
2010502099.tif 000005
【図２Ｃ】
2010502099.tif 000006
【図３】
2010502099.tif 000007
【図４】
2010502099.tif 000008
【図５Ａ】
2010502099.tif 000009
【図５Ｂ】
2010502099.tif 000010
【図５Ｃ】
2010502099.tif 000011
【図５Ｄ】
2010502099.tif 000012
【図６Ａ】
2010502099.tif 000013
【図６Ｂ】
2010502099.tif 000014
【図６Ｃ】
2010502099.tif 000015
【図６Ｄ】
2010502099.tif 000016
【図７】
2010502099.tif 000017
【図８Ａ】
2010502099.tif 000018
【図８Ｂ】
2010502099.tif 000019
【図８Ｃ】
2010502099.tif 000020
【図９】
2010502099.tif 000021
【国際調査報告】
2010502099.tif 000022