(57)【特許請求の範囲】
【請求項１】
デジタル画像の色をＲＧＢ色空間からＹＣｒＣｂ色空間へとオン・ザ・フライにて変換する色変換回路であって、
前記デジタル画像の最小単位はピクセルであり、
前記デジタル画像は、複数のピクセルのラインを有する正方形ブロックに分割され、
前記ＲＧＢ色空間において、１つのピクセルの色は、ＲＧＢワードに含まれる赤の割合と、緑の割合と、青の割合とに基づいて定められ、
前記ＹＣｒＣｂ色空間において、１つのピクセルの色は、分離されたＹＣｒＣｂワードのセット内に各々含まれるＹの割合と、Ｃｒの割合と、Ｃｂの割合とに基づいて定められ、
前記回路は、
少なくとも１つの方形ブロックの１つのピクセルのラインを定める前記ＲＧＢワードを受け取りバッファする、少なくとも１つのラインバッファ（１０８）と、
前記少なくとも１つのラインバッファ（１０８）に接続され、前記ラインバッファ（１０８）にバッファされる各ＲＧＢワードに対応する前記ＹＣｒＣｂワードのセットを決定し、前記Ｃｒの割合および前記Ｃｂの割合のダウンサンプリングを、水平方向における各全数ダウンサンプリングファクタによって行うようにして成る色空間変換ユニット（１１０）と、
８つのバッファ（１１２ａ−１１２ｈ）を含み、それぞれピンポン動作で操作され、一方の側で前記色空間変換ユニット（１１０）にそれぞれ接続され、他方の側で前記ＤＣＴ圧縮ユニット（１１４）に接続されたＹＣｒＣｂ中間バッファ（１１２）とを備え、
前記色空間変換ユニット（１１０）から受け取ったＹＣｒＣｂワードの変換されたセットが非同期で前記ＹＣｒＣｂ中間バッファ（１１２）に書き込まれ、これにより、ＤＣＴ圧縮に適するようにサブサンプリングを通して前記ＹＣｒＣｂ中間バッファ（１１２）の一つが満たされ、この間、他の前記ＹＣｒＣｂ中間バッファ（１１２）は依然として満たされており、
前記ＤＣＴ圧縮ユニット（１１４）は、満たされている前記ＹＣｒＣｂ中間バッファ（１１２）をアクセスするようにしてなり、この間、他の前記ＹＣｒＣｂ中間バッファ（１１２）は、次のＤＣＴ演算のために、ＲＧＢ色空間メモリから変換された値を収集することを継続し、
第１の４つの前記バッファ（１１２ａ−１１２ｄ）は、前記ＹＣｒＣｂワードのセットからＹの割合を含むワードを受け取って出力するようにしてなり、他の４つの前記バッファ（１１２ｅ−１１２ｈ）は、前記ＹＣｒＣｂワードのセットからＣｒの割合を含むワード及びＣｂの割合を含むワードを受け取って出力するようにしてなることを特徴とする、色変換回路。
【請求項２】
前記Ｃｒの割合と、前記Ｃｂの割合とは、同じ水平方向のダウンサンプリングファクタによってダウンサンプリングされ、１つの方形ブロックの前記ピクセルのラインは連続して読み出されて、前記少なくとも１つのラインバッファ（１０８）にバッファされ、
前記他の４つのバッファ（１１２ｅ−１１２ｈ）は、前記Ｃｒの割合を含む前記ワードと、前記Ｃｂの割合を含む前記ワードとを共に受け取り提供する、
ことを特徴とする、請求項２に記載の回路。
【請求項３】
前記水平方向のダウンサンプリングファクタは２であることを特徴とする、請求項３に記載の回路。
【請求項４】
前記空間変換ユニット（１１０）は、前記Ｃｒの割合と前記Ｃｂの割合とを垂直方向の各全数ダウンサンプリングファクタによってダウンサンプリングすることを特徴とする、請求項１乃至３のいずれか一に記載の回路。
【請求項５】
前記Ｃｒの割合と前記Ｃｂの割合とは、同じ垂直方向のダウンサンプリングファクタによってダウンサンプリングされることを特徴とする、請求項４に記載の回路。
【請求項６】
前記垂直方向のダウンサンプリングファクタは２であることを特徴とする、請求項５に記載の回路。
【請求項７】
各方形ブロックは、水平方向の８ピクセルと、垂直方向の８ピクセルとを含むことを特徴とする、請求項３または６に記載の回路。
【請求項８】
各々の前記バッファのサイズは７６８バイトであり、前記バッファの１バイトはＹの割合を１，Ｃｒの割合を１，またはＣｂの割合を１格納可能であることを特徴とする、請求項７に記載の回路。
【請求項９】
前記赤の割合と、前記緑の割合と、前記青の割合とは、８ビット値で表され、前記ＲＧＢワードのサイズは３２ビットであることを特徴とする、請求項１乃至８のいずれか一に記載の回路。
【請求項１０】
デジタル画像の色をＹＣｒＣｂ色空間からＲＧＢ色空間へとオン・ザ・フライにて変換する色変換回路であって、
前記デジタル画像の最小単位はピクセルであり、
前記デジタル画像は、複数のピクセルのラインを有する正方形ブロックに分割され、
前記ＹＣｒＣｂ色空間において、１つのピクセルの色は、分離されたＹＣｒＣｂワードのセット内に各々含まれるＹの割合と、Ｃｒの割合と、Ｃｂの割合とに基づいて定められ、
前記ＲＧＢ色空間において、１つのピクセルの色は、ＲＧＢワードに含まれる赤の割合と、緑の割合と、青の割合とに基づいて定められ、
前記回路は、
８つのバッファ（１１２ａ−１１２ｈ）を含み、それぞれピンポン動作で操作され、一方の側で前記色空間変換ユニット（１１０）にそれぞれ接続され、他方の側で前記ＤＣＴ圧縮ユニット（１１４）に接続されたＹＣｒＣｂ中間バッファ（１１２）と、
ＹＣｒＣｂ色空間メモリをアクセスし、ＤＣＴ圧縮ユニット（１１４’）から受け取ったＹＣｒＣｂワードを前記ＹＣｒＣｂ中間バッファ（１１２）の少なくとも２つに非同期の応答で書き込み、これにより、前記ＹＣｒＣｂ中間バッファ（１１２）の一つが他の前記ＹＣｒＣｂ中間バッファ（１１２）より前にＲＧＢ色空間メモリに対して準備される、手段とを備え、
前記色空間変換ユニット（１１０）は、満たされている前記ＹＣｒＣｂ中間バッファ（１１２）をアクセスするようにしてなり、この間、他の前記ＹＣｒＣｂ中間バッファ（１１２）は、次のＤＣＴ演算のために、ＹＣｒＣｂ値を収集することを継続し、
第１の４つの前記バッファ（１１２ａ−１１２ｄ）は、前記ＹＣｒＣｂワードのセットからＹの割合を含むワードを受け取って出力するようにしてなり、他の４つの前記バッファ（１１２ｅ−１１２ｈ）は、前記ＹＣｒＣｂワードのセットからＣｒの割合を含むワード及びＣｂの割合を含むワードを受け取って出力するようにしてなり、
少なくとも一つの前記ＹＣｒＣｂ中間バッファ（１１２’）に接続され、少なくとも一つの前記ＹＣｒＣｂ中間バッファ（１１２’）から受け取った各ＹＣｒＣｂワードのセットに対して１つのＲＧＢワードを決定し、前記Ｃｒの割合と前記Ｃｂの割合とのアップサンプリングを水平方向における各全数アップサンプリングファクタによって行うようにして成る、色空間変換ユニット（１１０’）と、
前記色空間変換ユニット（１１０’）に接続され、少なくとも１つの方形ブロックにおける１つのピクセルのラインを定める前記ＲＧＢワードを受け取り、バッファし、出力する、少なくとも１つのラインバッファ（１０８’）と、
を備えることを特徴とする、色変換回路。
【請求項１１】
前記Ｃｒの割合と、前記Ｃｂの割合とは、同じ水平方向のアップサンプリングファクタによってアップサンプリングされ、
１つの方形ブロックの前記ピクセルのラインは連続して読み出されて、前記少なくとも１つのラインバッファ（１０８’）にバッファされ、
前記他の４つのバッファは、前記Ｃｒの割合を含む前記ワードと、前記Ｃｂの割合を含む前記ワードとを共に受け取り提供する、
ことを特徴とする、請求項１０に記載の回路。
【請求項１２】
前記水平方向のアップサンプリングファクタは２であることを特徴とする、請求項１１に記載の回路。
【請求項１３】
前記空間変換ユニット（１１０’）は、前記Ｃｒの割合と前記Ｃｂの割合とを垂直方向の各全数アップサンプリングファクタによってアップサンプリングすることを特徴とする、請求項１０乃至１２のいずれか一に記載の回路。
【請求項１４】
前記Ｃｒの割合と前記Ｃｂの割合とは、前記垂直方向のアップサンプリングファクタと同じ物によってアップサンプリングされることを特徴とする、請求項１３に記載の回路。
【請求項１５】
前記垂直方向のアップサンプリングファクタは２であることを特徴とする、請求項１４に記載の回路。
【請求項１６】
各方形ブロックは、水平方向の８ピクセルと、垂直方向の８ピクセルとを含むことを特徴とする、請求項１２または１５に記載の回路。
【請求項１７】
各々の前記バッファのサイズは７６８バイトであり、前記バッファの１バイトはＹの割合を含む１つのＹＣｒＣｂワード、Ｃｒの割合を含む１つのＹＣｒＣｂワード、またはＣｂの割合を含む１つのＹＣｒＣｂワードを格納可能であることを特徴とする、請求項１６に記載の回路。
【請求項１８】
前記赤の割合と、前記緑の割合と、前記青の割合とは、８ビット値で表され、前記ＲＧＢワードのサイズは３２ビットであることを特徴とする、請求項１０乃至１７のいずれか一に記載の回路。
【請求項１９】
デジタル画像の色をＲＧＢ色空間からＹＣｒＣｂ色空間へとオン・ザ・フライにて変換する色変換方法であって、
前記デジタル画像の最小単位はピクセルであり、
前記デジタル画像は、複数のピクセルのラインを有する正方形ブロックに分割され、
前記ＲＧＢ色空間において、１つのピクセルの色は、ＲＧＢワードに含まれる赤の割合と、緑の割合と、青の割合とに基づいて定められ、
前記ＹＣｒＣｂ色空間において、１つのピクセルの色は、分離されたＹＣｒＣｂワードのセット内に各々含まれるＹの割合と、Ｃｒの割合と、Ｃｂの割合とに基づいて定められ、
前記方法は、
少なくとも１つの方形ブロックの１つのピクセルのラインを定める前記ＲＧＢワードをバッファする過程と、
前記ＹＣｒＣｂワードのセットを決定する際に、前記Ｃｒの割合および前記Ｃｂの割合のダウンサンプリングを、水平方向における各全数ダウンサンプリングファクタによって行う過程と、
バッファされた各ＲＧＢワードに対応する前記ＹＣｒＣｂワードのセットを決定する過程と、
少なくとも８つのＹＣｒＣｂ中間バッファ（１１２）に前記ＹＣｒＣｂワードのセットを提供する過程であって、前記ＹＣｒＣｂ中間バッファ（１１２）はそれぞれピンポン動作で操作され、一方の側で前記色空間変換ユニット（１１０）にそれぞれ接続され、他方の側で前記ＤＣＴ圧縮ユニット（１１４）に接続された、この過程とを含み、
前記色空間変換ユニット（１１０）から受け取ったＹＣｒＣｂワードの変換されたセットが非同期で前記ＹＣｒＣｂ中間バッファ（１１２）に書き込まれ、これにより、ＤＣＴ圧縮に適するようにサブサンプリングを通して前記ＹＣｒＣｂ中間バッファ（１１２）の一つが満たされ、この間、他の前記ＹＣｒＣｂ中間バッファ（１１２）は依然として満たされており、
前記ＤＣＴ圧縮ユニット（１１４）は、満たされている前記ＹＣｒＣｂ中間バッファ（１１２）をアクセスし、この間、他の前記ＹＣｒＣｂ中間バッファ（１１２）は、次のＤＣＴ演算のために、ＲＧＢ色空間メモリから変換された値を収集することを継続し、
第１の４つの前記バッファ（１１２ａ−１１２ｄ）は、前記ＹＣｒＣｂワードのセットからＹの割合を含むワードを受け取って出力するようにしてなり、他の４つの前記バッファ（１１２ｅ−１１２ｈ）は、前記ＹＣｒＣｂワードのセットからＣｒの割合を含むワード及びＣｂの割合を含むワードを受け取って出力するようにしてなることを特徴とする、色変換方法。
【請求項２０】
前記Ｃｒの割合と、前記Ｃｂの割合とは、同じ水平方向のダウンサンプリングファクタによってダウンサンプリングされ、前記１つの方形ブロックのピクセルのラインは連続してバッファされ、
前記他の４つのバッファ（１１２ｅ−１１２ｈ）は、前記Ｃｒの割合を含む前記ワードと、前記Ｃｂの割合を含む前記ワードとを共に受け取り提供する、
ことを特徴とする、請求項１９に記載の方法。
【請求項２１】
前記水平方向のダウンサンプリングファクタは２であることを特徴とする、請求項２０に記載の回路。
【請求項２２】
前記ＹＣｒＣｂワードのセットを決定する際には、前記Ｃｒの割合と前記Ｃｂの割合とを垂直方向の各全数ダウンサンプリングファクタによってダウンサンプリングすることを特徴とする、請求項１９乃至２０のいずれか一に記載の方法。
【請求項２３】
前記Ｃｒの割合と前記Ｃｂの割合とは、同じ垂直方向のダウンサンプリングファクタによってダウンサンプリングされることを特徴とする、請求項２２に記載の方法。
【請求項２４】
前記垂直方向のダウンサンプリングファクタは２であることを特徴とする、請求項２３に記載の方法。
【請求項２５】
各方形ブロックは、水平方向の８ピクセルと、垂直方向の８ピクセルとを含むことを特徴とする、請求項２１または２４に記載の方法。
【請求項２６】
各々の前記バッファのサイズは７６８バイトであり、前記バッファの１バイトはＹの割合を１つ，Ｃｒの割合を１つ，またはＣｂの割合を１つ格納可能であることを特徴とする、請求項２５に記載の方法。
【請求項２７】
前記赤の割合と、前記緑の割合と、前記青の割合とは、８ビット値で表され、前記ＲＧＢワードのサイズは３２ビットであることを特徴とする、請求項１９乃至２５のいずれか一に記載の方法。
【請求項２８】
デジタル画像の色をＹＣｒＣｂ色空間からＲＧＢ色空間へとオン・ザ・フライにて変換する色変換方法であって、
前記デジタル画像の最小単位はピクセルであり、
前記デジタル画像は、複数のピクセルのラインを有する正方形ブロックに分割され、
前記ＹＣｒＣｂ色空間において、１つのピクセルの色は、分離されたＹＣｒＣｂワードのセット内に各々含まれるＹの割合と、Ｃｒの割合と、Ｃｂの割合とに基づいて定められ、
前記ＲＧＢ色空間において、１つのピクセルの色は、ＲＧＢワードに含まれる赤の割合と、緑の割合と、青の割合とに基づいて定められ、
前記方法は、
８つのバッファ（１１２ａ−１１２ｈ）を含むＹＣｒＣｂ中間バッファ（１１２）をそれぞれピンポン動作で操作する過程であって、前記ＹＣｒＣｂ中間バッファ（１１２ａ−１１２ｈ）は、一方の側で色空間変換ユニット（１１０）にそれぞれ接続され、他方の側でＤＣＴ圧縮ユニット（１１４）に接続された、前記過程と、
ＹＣｒＣｂ色空間メモリをアクセスし、ＤＣＴ圧縮ユニット（１１４’）から受け取ったＹＣｒＣｂワードを前記ＹＣｒＣｂ中間バッファ（１１２）の少なくとも２つに非同期の応答で書き込み、これにより、前記ＹＣｒＣｂ中間バッファ（１１２）の一つが他の前記ＹＣｒＣｂ中間バッファ（１１２）より前にＲＧＢ色空間メモリに対して準備される、前記過程とを備え、
前記色空間変換ユニット（１１０’）は、満たされている前記ＹＣｒＣｂ中間バッファ（１１２）をアクセスし、この間、他の前記ＹＣｒＣｂ中間バッファ（１１２）は、次のＤＣＴ演算のために、ＹＣｒＣｂ値を収集することを継続し、
第１の４つの前記バッファ（１１２ａ−１１２ｄ）は、前記ＹＣｒＣｂワードのセットからＹの割合を含むワードを受け取って出力するようにしてなり、他の４つの前記バッファ（１１２ｅ−１１２ｈ）は、前記ＹＣｒＣｂワードのセットからＣｒの割合を含むワード及びＣｂの割合を含むワードを受け取って出力するようにしてなり、
前記ＹＣｒＣｂ中間バッファ（１１２）の少なくとも一つに接続された前記色空間変換ユニット（１１０’）は、前記ＹＣｒＣｂ中間バッファ（１１２）の少なくとも一つから受け取ったＹＣｒＣｂワードの各セットのために一つのＲＧＢワードを決定し、また前記Ｃｒの割合と前記Ｃｂの割合とを水平方向の各全数アップサンプリングファクタによってアップサンプリングし、
前記色空間変換ユニット（１１０’）に接続された少なくとも一つのラインバッファバッファ（１０８’）が、少なくとも１つの方形ブロックにおけるピクセルの１ラインを定める前記ＲＧＢワードをバッファし出力することを特徴とする、色変換方法。
【請求項２９】
前記Ｃｒの割合と、前記Ｃｂの割合とは、同じ水平方向のアップサンプリングファクタによってアップサンプリングされ、
前記１つの方形ブロックのピクセルのラインは連続してバッファされ、
前記他の４つのバッファは、前記Ｃｒの割合を含む前記ワードと、前記Ｃｂの割合を含む前記ワードとを共に受け取り提供する、
ことを特徴とする、請求項２８に記載の方法。
【請求項３０】
前記水平方向のアップサンプリングファクタは２であることを特徴とする、請求項２９に記載の方法。
【請求項３１】
前記ＲＧＢワードを決定する際には、前記Ｃｒの割合と前記Ｃｂの割合とを垂直方向の各全数アップサンプリングファクタによってアップサンプリングすることを特徴とする、請求項２９乃至３０のいずれか一に記載の方法。
【請求項３２】
前記Ｃｒの割合と前記Ｃｂの割合とは、同じ垂直方向のアップサンプリングファクタによってアップサンプリングされることを特徴とする、請求項３１に記載の方法。
【請求項３３】
前記垂直方向のアップサンプリングファクタは２であることを特徴とする、請求項３２に記載の方法。
【請求項３４】
各方形ブロックは、水平方向の８ピクセルと、垂直方向の８ピクセルとを含むことを特徴とする、請求項３０または３３に記載の方法。
【請求項３５】
各々の前記バッファのサイズは７６８バイトであり、前記バッファの１バイトはＹの割合を含む１つのＹＣｒＣｂワード、Ｃｒの割合を含む１つのＹＣｒＣｂワード、またはＣｂの割合を含む１つのＹＣｒＣｂワードを格納可能であることを特徴とする、請求項３４に記載の方法。
【請求項３６】
前記赤の割合と、前記緑の割合と、前記青の割合とは、８ビット値で表され、前記ＲＧＢワードのサイズは３２ビットであることを特徴とする、請求項２８乃至３５のいずれか一に記載の方法。
【発明の詳細な説明】
【０００１】
発明の分野
本発明はビデオデータの処理、より詳細には、異なるフォーマット間のビデオデータの変換に関する。
【０００２】
発明の背景
エレクトロニクス産業は、ますます高度な機能を有し、ますます高速にて動作可能なデバイスを実現するのに引き続き半導体技術の進歩に依存する。多くのビデオアプリケーションにおいて、より高度な機能を有するデバイスを実現するためには、データを異なる物理メモリ空間及び異なる色表現フォーマットの少なくとも一方の間で高速に移動することが要求される。デバイスの有用性及び全体としての動作性はこれらデータを移動するために用いられる過程によって著しく向上されたり、致命的に阻害されたりする。
【０００３】
ビデオ通信は、その効率格付け（ｅｆｆｉｃｉｅｎｃｙ  ｒａｔｉｎｇ）が、遠隔地に位置する端末間でビデオデータがどのように移動されるかに大きく依存するビデオデータ処理を伴うアプリケーションの一例である。典型的な一例としてのアプリケーションにおいては、遠く離れて位置する第一と第二の端末は、比較的狭い帯域幅を有するチャネル、例えば、電話回線を通じてビデオデータを通信することを試みる。第一の端末の所では、ビデオデータがソースから、データを第一の端末に表示するのに適する形式にて集められる。こうして集められたデータは、次に、新たなフォーマットに圧縮され、次に圧縮された形式にて第二の端末に送信される。ビデオデータを圧縮する前に、これは圧縮により適するフォーマットに変換される。次に、第二の端末は、このデータを自身の指定された用途に適するもう一つのフォーマットに変換する。このタイプのビデオデータ処理に対する効率格付けは、従って、ビデオデータがフォーマット間で変換される際と、遠隔地に位置する端末間で移動される際にどのように処理されるかに大きく依存する。
【０００４】
ビデオデータ処理アプリケーションは、様々なアプローチを用いてその効率格付けを向上させてきた。幾つかは、特に、ビデオデータの圧縮フォーマットに重点を置く。ビデオアプリケーションに対する共通の圧縮フォーマットはＪＰＥＧであるが、これは、通常、色空間としてＹＣｒＣｂ（（ルーマ（ｌｕｍａ）、クロマレッド（ｃｈｒｏｍａ ｒｅｄ）、クロマブルー（ｃｈｒｏｍａ ｂｌｕｅ））表現を使用する。しかしながら、コンピュータは、典型的には、データを、ＲＧＢ「赤（Ｒｅｄ）、緑（Ｒｒｅｅｎ）、青（Ｂｌｕｅ）」なる色空間を用いて表示する。ＲＧＢ色空間は、商品化されているディスプレイ、例えば、ＬＣＤやＣＲＴなどはＲＧＢ入力を介して制御されるために、表示のために便利な色空間である。ＪＰＥＧは８×８ブロックを使用して色を圧縮する。ＪＰＥＧ圧縮においては、しばしば、圧縮の前にＲＧＢにて表現されるフラットフレームバッファ（からのデータ）がＹＣｒＣｂに変換される。ＪＰＥＧ伸張においては、通常、ＪＰＥＧ圧縮データからＹＣｒＣｂ出力が得られ、これが表示の目的でＲＧＢ色空間に変換される。
【０００５】
ＪＰＥＧアプリケーションにおける効率格付けを向上させるための以前の試みでは、最近のシステムによって要求される幾つかの高速アプリケーションには十分に対応できなくなっている。例えば、これら試みは、プロセッサとメモリユニットを相互接続するバスの効果的な使用と管理とか、プロセッサがフラットフレームバッファ内の３つのＲＧＢ成分をこれらの各々を３つのＹＣｒＣｂ成分に変換するためにどのように取り出したら良いかそのやり方などに焦点を置いている。データをＲＧＧ形式のメモリディスプレイバッファからＪＰＥＧ圧縮エンジンのＤＣＴ圧縮ステージに効率的に移動することを目指す他の幾つかのアプローチにおいては、フルラインバッファを備えるＤＭＡを用いて、ＲＧＢ成分がＹＣｒＣｂ３つの各成分に変換するために直接にパイピングされる。けれども、これらのアプローチは、費用（ＤＭＡを用いてのフルラインバッファリングの場合）、消費電力、及び／或いはプロセッサとメモリの帯域幅要件の観点からは比較的不利である。
【０００６】
従って、データをＲＧＢ形式のメモリディスプレイバッファからＪＰＥＧ圧縮エンジンのＤＣＴ圧縮ステージに効率的に移動する必要性が存在する。
【０００７】
発明の概要
本発明の様々な態様において、本発明は、データをＲＧＢ色空間とＹＣｒＣｂ色空間メモリの間で、一方向若しくは両方向に、オン・ザ・フライにて転送若しくは変換するための方法及び装置の形態として具現される。
【０００８】
本発明の一態様は、過剰な内部メモリ要件なしに外部メモリトラフィックを最小にし、これによってコストを削減すると共に、性能を改善することに向けられる。データのＲＧＢ色空間とＤＣＴ圧縮のためのＹＣｒＣｂ色空間メモリとの間のオン・ザ・フライ変換は、必要とされる複数の過程を、内部バッファリング要件を実質的に増加させることなく外部メモリトラフィックが大幅に低減されるように、インラインにて遂行することで達成される。メモリ内にＹ、Ｃｒ、Ｃｂバッファを形成することでＲＧＢからＹＣｒＣｂへの（変換）プロセスを作成し、ＤＣＴ圧縮ステージを開始する前に、このプロセスをランしてＹＣｒＣｂメモリセットを完結する代りに、色空間変換はオン・ザ・フライにて遂行される。つまり、データの変換は、圧縮プロセスの最中に行われ、これによって追加のメモリ空間が確保され、さもなければＹＣｒＣｂデータを定義するために要求されるメモリ帯域幅が解放される。
【０００９】
本発明のもう一つの態様は、ＹＣｒＣｂ色空間メモリがＤＣＴブロック計算エンジンとの通信のために用いられる特定のアプリケーションに向けられる。この実施例及びアプリケーションとの関連では、本発明の幾つかの態様は、データをＲＧＢ色空間メモリとＤＣＴブロック計算エンジンの間で、スループットが著しく増加し、プロセッサオーバヘッドが低減するようなやり方にて転送するための方法及び装置に向けられる。
【００１０】
幾つかのより特定な実施例においては、データはＲＧＢ色空間メモリからＤＣＴブロック計算エンジンに供給するのに適する形式のＹＣｒＣｂ色空間メモリに転送される。ＲＧＢ色空間メモリへのアクセスに応答して、これらＲＧＢ値は、非同期的にＹＣｒＣｂ中間バッファ内に、これらＹＣｒＣｂ中間バッファの１つはサブサンプリングを通じてＤＣＴブロック計算エンジンに供給するのに適するやり方にて先に満たされ、これらＹＣｒＣｂ中間バッファの他のバッファはまだ満たされている途中となるようなやり方にて書込まれる。次に、ＤＣＴブロック計算エンジンがこうして先に満たされたＹＣｒＣｂ中間バッファにアクセスし、これらＹＣｒＣｂ中間バッファの他のバッファはこの間も次のＤＣＴ計算のためにＲＧＢ色空間メモリからのＲＧＢ値の収集を続ける。
【００１１】
もう一つのイン・ライン変換は、ＲＧＢ色空間からＹＣｒＣｂ色空間へのブロック単位での変換に向けられる。この変換過程のためには、変換の前に、８×８Ｃｒと８×８Ｃｂブロックに対して、メモリからの４つの８×８ブロックを用いてＲＧＢデータがＹＣｒＣｂ色空間にマッピングされる。色空間（の変換）とＤＣＴ圧縮を開始するためには、データのブロックが４つのＹブロックと、１つのＣｒブロックと、１つのＣｂブロックに変換される。ＪＰＥＧ圧縮の前に、データを取り出し、色空間の変換を行うために、２つのピンポン・プレフェッチバッファが用られる。これらピンポンバッファを異なるフォーマットに対して用いるためのオプションとして、最小限の演算要素にて十分なデータアクセスが得られるように複数のホスト側ＲＧＢバッファと複数のターゲットＹＣｒＣｂバッファを設けることもできる。
【００１２】
他のイン・ライン変換アプローチは、ＲＧＢ色空間からＹＣｒＣｂ色空間への特定のライン単位での変換と、特定のワード単位での変換に向けられる。これらアプローチでは、両方とも、実際のバッファ空間要件が大幅に低減されるが、ワード単位の変換では、ラインバッファに対する必要性を排除することで総バッファ空間要件がさらに低減される。
【００１３】
本発明のその他の特定の態様は、上述のタスクを実行するための論理回路及びプログラムされたプロセッサ装置に向けられ、更に別の実施例は、実質的に上述のそれとは逆の動作を用いて、データをＤＣＴ計算エンジンからＲＧＢ色空間メモリに転送することに向けられる。
【００１４】
上の概要は本発明の全ての態様を展望することを意図するものではなく、以下では、本発明の他の態様も図面との関連で詳細に説明される。
【００１５】
本発明の様々な特徴と利益が以下の様々な実施例の詳細な説明を図面と合わせて読むことで明白となろう。
【００１６】
本発明は様々な修正及び代替の形式が可能であるが、図面にはこれらの内の特定なものが一例として示されており、以下ではこれらについて詳細に説明される。ただし、これらは本発明を説明の特定の実施例に制限することを意図するものではなく、全ての修正、同等物、及び代替が付属のクレームに定義される本発明の精神及び範囲内に入るものである。
【００１７】
実施形態
本発明はビデオデータ処理に対する様々なアプリケーションを有し、とりわけ、データをＲＧＢ色空間とＹＣｒＣｂ色空間メモリの間で、例えば、ＹＣｒＣｂ色空間メモリ形式にてデータを処理するのにより適するように適合化された計算エンジンに供給するために効率的に移動することとの関連で用いるのに有効である。本発明は必ずしもこのようなアプリケーションに制約されるものではないが、本発明の様々な態様がこの文脈で実現された幾つかの実施例の説明から理解できよう。
【００１８】
本発明の一つの実施例によると、本発明はデータがＲＧＢ色空間とＪＰＥＧ  ＤＣＴ圧縮に接続されたＹＣｒＣｂ色空間メモリとの間で移動されるデータ処理構成に向けられる。この実施例は多くの異なるアプリケーションを有する。例えば、１つのケースにおいては、このデータ処理構成はデータをＲＧＢ色空間からＪＰＥＧ  ＤＣＴ圧縮に接続するためのＹＣｒＣｂ色空間メモリに移動するように適合化され、もう一つのケースにおいては、このデータ処理構成はデータをＪＰＥＧ  ＤＣＴ圧縮に適するＹＣｒＣｂ色空間メモリ形式から表示に適するＲＧＢ色空間に移動するように適合化される。これら色空間メモリの間のデータの転送は、データをこれら色空間メモリの一つから取り出し、取り出されたデータをこれら色空間メモリの他のメモリ空間に格納することで行われる。一つの特定なアプリケーションは、ＤＭＡ機能を最適化することに向けられるが、このＤＭＡ機能は、ＲＧＢ色空間を表す外部メモリからデータを取り出し、ＹＣｒＣｂ色空間変換をオン・ザ・フライ（ｏｎ  ｔｈｅ  ｆｌｙ）にて遂行しながら、このデータをＪＰＥＧ変換のために供給するように適合化される。内部バッファリングを最小化するために、ＲＧＢからＹＣｒＣｂ色空間への変換がオン・ザ・フライにて遂行できるような処理手順が用いられる。これを達成するために、１つの実施例においては、データは単純な１０２４-バイトのラインバッファを用いてライン単位にてアクセスされる。もう１つの実施例においては、データは従来のＦＩＦＯ構成を用いてワード単位にてアクセスされ、ラインバッファは省略される。
【００１９】
図面の説明に移る。図１は、本発明による、ＡＲＭベースのデータ処理構成１０と、ＤＴＣ計算プロセッサ装置１２との間の高速データ転送を伴う一つの特定の実施例のブロック図を示す。ＤＴＣ計算プロセッサ装置１２は、例えば、ＤＣＴブロック１２ａと、量子化器ブロック１２ｂと、ハフマン（Ｈｕｆｆｍａｎ）コーディング（「符号化及び／或いは復号化」）ブロック１２ｃを含む。ＡＲＭベースのデータ処理装置１０は、ＡＲＭ  ＣＰＵ２０と、システム要素との間の通信のためのＡＨＢ（Ａｄｖａｎｃｅｄ  Ｈｉｇｈ-ｐｅｒｆｏｒｍａｎｃｅ  Ｂｕｓ）１６を含む。システム要素には、システムメモリ（例えばＳＤＲＡＭ）２２や、ＲＧＢメモリ２４や、ＤＭＡコントローラ（ＤＭＡＣ）２６が含まれる。バス１６には、ＡＭＢＡ-ＡＰＢ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ-Ａｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒａｌ  Ｂｕｓ）３０を介して様々な周辺機器と通信できるようにブリッジインタフェース２８も接続される。ここで考慮される全ての実施例及びアプリケーションには必ずしも必要ではないが、ＡＨＢ１６のような高速バスの使用は、本発明の色変換によって達成される高いスループットにマッチングするために特に有効である。本発明を用いることで利益を得られるであろうと他のデータ用高性能バシングＣＰＵ構成には、これに制限されるものではないが、ＩＢＭのＣｏｒｅＣｏｎｎｅｃｔ  ｏｎ-ｃｈｉｐバスや、ＭｏｔｏｒｏｌａのＩＰ-バスが含まれる。
【００２０】
ＲＧＢメモリ２４からＡＨＢ１６とＤＭＡＣ２６に延びる破線は、ＲＧＢメモリ２４への２つの可能なデータアクセス（読出し及び／或いは書込み）経路を示す。つまり、ＤＭＡＣ２６からＡＨＢ１６を通じてアクセスする経路と、ＤＭＡＣ２６から直接にアクセスする経路を示す。
【００２１】
前に説明の実施例との関連で言及したように、本発明の実現はＲＧＢとＹＣｒＣｂ色空間の変換に制限されるものではない。例えば、双方向の矢印とハフマン符号化／復号ブロックによって示されるように、図１は、ＲＧＢ色空間からＹＣｒＣｂ色空間への変換、ＹＣｒＣｂ色空間からＲＧＢ色空間への変換、或いは両方向への変換を考慮する。これら変換は、大雑把に、ワードラインバッファ３４と、色空間変換計算ブロック３６と、ＹＣｒＣｂ色空間３８の三つの機能ブロックを用いて示される。これら機能ブロック（並びに図１に示される他のブロック）は、完全に及び／或いは部分的にプログラム可能な様々なタイプのプロセッサのどれを用いて実現することもできるが、ただし、多くの実現では、従来のＡＬＵ-タイプ（加算器とシフタと乗算器から成る）の論理を様々なバッファと組み合わせて用いるのが最も効果的である。
【００２２】
上に説明のようなデータ処理装置は、色空間としてＹＣｒＣｂ表現を用いるビデオ圧縮形式、例えば、ＪＰＥＧ（動画ＪＰＥＧを含む。ＭＰＥＧはこのサブセットである）に対して特に有効である。ＪＰＥＧは、ＤＣＴ圧縮段階による処理のために、色の８×８ブロックをＹＣｒＣｂ色空間の形式にて用いるが、ＡＲＭ  ＣＰＵ（図１の２０）などのコンピュータは、典型的には、ディスプレイデータをＲＧＢ色空間の形式を用いて格納する（例えば、図１のメモリ２４）。ＪＰＥＧ圧縮の際は、通常、色空間の形式が、圧縮の前に、ＲＧＢからＹＣｒＣｂに変換され、ＪＰＥＧ伸張の際は、ＹＣｒＣｂ出力が、格納及びその後の表示の目的で、ＪＰＥＧからＲＧＢ色空間に変換される。
【００２３】
ディスプレイスクリーン上のデータは、列と行に編成される。説明の目的に対しては、ディスプレイスクリーンは、一例として、４８０×２４０のディスプレイに対して、４８０列と２４０行を使用するものと想定される。ディスプレイのリフレッシュの際には、典型的には、データがディスプレイドライバに供給するためにメモリから絶えず取り出され、コンピュータスクリーン上に表示される。このメモリを効率良く動作できるように編成するために、メモリ内のデータは、リフレッシュされるべきスクリーン上の最初から画素から開始してスクリーン上の最後の画素へと配列される。ディスプレイのリフレッシュは、行０、列０、ディスプレイバッファアドレス０から開始される。次に、列番号が、行０、列４７９に達するまで増分される。次に、ディスプレイのリフレッシュは、行１、列０から列４７９へと続けられる。この過程がディスプレイの端に達するまで継続され、この過程が反復される。良く見かけられる代替のアプローチにおいては、ディスプレイの上側の半分と下側の半分が同時にリフレッシュされるが、だだし、いずれの場合も、ディスプレイデータはメモリ内に直線的に配列される。
【００２４】
データをメモリ内に同一の順番で配列することで、データをそれが格納されているＤＲＡＭデバイスから効率的に取り出すことが可能となる。これは、ＤＲＡＭデバイスのデータ検索の効率は、最後にアクセスされたデータと同一のページ内に位置するデータを取り出すとき最も良くなるためである。今日普及している殆どのＤＲＡＭは順番にも非常にうるさく、データがＤＲＡＭからバースト的に取り出されたときデータの供給の効率は最も良くなる。ディスプレイデータとＤＲＡＭメモリの技術が一体となってはじめて、ＤＲＡＭデータへの効率的なアクセスが達成される。
【００２５】
ＪＰＥＧはＹＣｒＣｂ色空間の形式で表現される色を圧縮するために８画素×８画素ブロックを使用するが、このデータを、データをＲＧＢ色空間の形式にて供給するＤＲＡＭから効率的に取り出すことは困難である。これは、ＣｒとＣｂデータは、ＲＧＢデータとは、サブサンプリングされる関係にあるためである。ＤＣＴブロックに供給されるべきデータのＲＧＢ色空間のＹ成分については、８×８画像ブロックからのＲ、Ｇ、Ｂデータの全てを用い、ＤＣＴブロックに供給されるべきデータのＲＧＢ色空間のＣｒとＣｂ成分については、１６×１６画像ブロックからのＲ、Ｇ、Ｂデータの全てを用いる。冗長アクセスを最小限に押さえるためには、ＲＧＢ色空間メモリからデータが何度も取り出されることなく、ハードウェア回路の処理の効率が上るようにある与えられたＤＣＴに対してデータがたった一度のみ取り出されようにすることが必要とされる。
【００２６】
図２ａと図２ｂの各々のダイアグラムに示されるように、図２ａのＲＧＢ色空間フォーマットは色をＲＧＢ形式にて表示するスクリーン上に８個の位置を示す。スクリーン上の各位置に対して、赤と、緑と、青の値が存在する。図２ｂのＹＣｒＣｂ色空間フォーマットはＹＣｒＣｂ色空間を示し、これは、典型的には、ＪＰＥＧ色画像メモリとの関連で用いられる。左のＹデータは、０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂから成る輝度（ｌｕｍｉｎａｎｃｅ）を表し、これは人の目の明るさ（ｂｒｉｇｈｔｎｅｓｓ）に対する応答に比例するように意図される。図２ａのダイアグラムは合計２４個の値を有するのに対して、図２ｂのダイアグラムは１２個の値を有する。この差は、ＣｒとＣｂデータがサブサンプリングされるためである。つまり、ＲＧＢ内の各セットの値に対して、Ｙ値は１個が存在するが、ＣｒとＣｂについては、ＲＧＢ内の４個のセットのデータに対してそれぞれ１個のみ存在する。ＪＰＥＧはＹ、Ｃｒ、Ｃｂデータの８×８のアレイを圧縮するが、このために、Ｙデータに対しては、メモリからの８×８ブロックを用い、ＣｒとＣｂの各データに対しては、１６×１６ブロックを、８×８ブロックに圧縮して使用する。このようにデータのタイプによってデータサイズの要件が異なるために、データをメモリから取り出す際の要件が複雑になる。更に、Ｙデータは、Ｙ値を作るためにＲ、Ｇ、Ｂ値の３つの全てのを必要とし、ＣｒとＣｂデータも、各々、単一のＣｒ或いはＣｂ値を作るために、４つの位置からの３つのＲ、Ｇ、Ｂ値（１２個の値）全てを必要とすることに注意する。電力及び性能上の理由から、これらデータをＳＤＲＡＭから複数回取り出さなくても済むようにすることが望まれる。
【００２７】
図３と図４は、それぞれ、本発明の一つの実施例による「タイル（ｔｉｌｅ）」変換のダイアグラムである。図３はＲＧＢ色空間における４つの８×８アレイを示し、図４は、一群の４つの８×８のＹアレイと、一つの８×８のＣｒアレイと、一つの８×８のＣｂアレイを示す。図４のこの一群の６個の８×８のアレイは、ＤＣＴ計算エンジンによって、例えば、データの圧縮のために容易に処理することができる。このケースにおいては、「タイル」なる用語は、図３に示されるようなディスプレイメモリ内のＲＧＢ値の１６×１６セクションを指す。こうして、ディスプレイメモリ（この例においてタイルと呼ばれる）内のＲＧＢ値の１６×１６セクションを用いて、ＤＣＴ圧縮のための４つの８×８Ｙアレイと、一つの８×８Ｃｒアレイと、一つの８×８Ｃｂアレイが形成される。
【００２８】
図５、６、７は、それぞれ、例えば、図３と４との関連で説明されたようなタイル変換の際に走査されるデータを段階的に詳細に示す図である。各タイルと、タイルの全アレイは、左から右へ、上から下へと走査され、個々のタイルが完全に走査された後に、次のタイルに移る。図５は、ディスプレイスクリーンを示し、本発明の一つの実施例による２０個のタイル（５列×４行のタイル）のアレイを走査する際の全体としての流れの様子が示される。図６は、図５内のタイルの二つを示し、あるタイルを画素の１６×１６セクションを横断して走査する様子が示される。図７は上に示すタイルの一つ内の１６画素の２行に対する走査経路を示し、各画素は赤と、緑と、青の値に対するデータを含む。各走査ラインは、１つのラインに配列する１６個の画素を含み、これに続いて、同一のタイル内に次の１６個のワードが走査される。
【００２９】
こうして、走査経路が、１）メモリからのデータの取り出しがたった一回で済み、２）バッファ要件を最小にすることで、完全な行バッファは不要とすることができ、３）メモリからデータの取り出しがＳＤＲＡＭに優しいやり方ででき、４）ＲＧＢからＹＣｒＣｂへの計算が最小の緩衝にて完結でき、しかもオン・ザ・フライにて遂行でき、これによってバッファ要件がさらに最小化されるように、最適化される。
【００３０】
本発明のもう一つ態様によると、ＤＭＡアドレスが、上述の関係の関数として生成される。単に解説の目的で、一つの実現例においは、ＲＧＢ色空間メモリ内のデータは、３２ビット境界に編成され、各色は、例えば、Ｒｅｄ，［２３；１６］，  Ｇｒｅｅｎ，［１５；８］，  Ｂｌｕｅ，［７；０］のように８ビットを含む。さらに、この実現例においは、圧縮は、ＹＣｒＣｂ色空間内の対応するデータを用いて遂行され、このＹＣｒＣｂ色空間においては、各Ｙ値は一つのＲＧＢ値に対応し、各Ｃｒ値は４つのＲＧＢ値に対応し、各Ｃｂ値は４つのＲＧＢ値に対応する。
【００３１】
計算はＤＭＡＣコントローラ（例えば、図１の２６）を用いてＲＧＢ色空間メモリ（例えば、２４）にアドレス指定し、適当なＲＧＢデータを取り出すことで遂行される。この実現においては、タイルは、スクリーン上の単一のＤＣＴ用のデータとして、ＣｒとＣｂデータに対して用いられるエリアに対応するメモリ内のデータから成る。ＣｒとＣｂデータはサブサンプリングされるため、これと同一のエリアが、Ｙデータに対する４つの８×８ＤＣＴを生成するためにも用いられ、こうして、単一のタイルが、６個のＤＣＴに対するデータを生成するために用いられる。ＲＧＢメモリからデータを取り出すためのアドレスをどのように計算するかを決定するための一つの方法が２０００年９月６日で出願された上述の特許書類において開示されている。
【００３２】
データ変換過程を向上させるため、及びこの過程を実現するために要求されるメモリの量を低減するために、本発明によると、イン・ライン或いはオン・ザ・フライ色空間変換が、ブロック単位の転送を用いて、ライン単位のアプローチ或いはワード単位のアプローチを介して実現される。
【００３３】
この変換過程は、変換に先だって、ＹＣｒＣｂ色空間へのマッピングのためのＲＧＢ２４ビットデータを得ることから開始される。ＣｒとＣｂに対する８×８ブロックには、メモリからの４つの８×８ブロックが使用される。色空間（の変換）とＪＰＥＧ圧縮を開始するためには、１６個の３２ビットワード×１６ビットワードから成るブロックが用いられる。このデータが、次に４個のＹブロックと、１個のＣｒブロックと、１個のＣｂブロックに変換される。次に、２つのピンポン・プレフェッチバッファを用いて、（例えば、ＪＰＥＧＢに供給するために）ＤＣＴ圧縮する前に、データがプレフェッチされ、色空間が変換される。各ピンポン・バッファは、最小で７６８バイトから成る。このバッファを、２４ビットアンパックドＲＧＢ（ｕｎｐａｃｋｅｄ  ＲＧＢ）以外のフォーマットにも利用できるようにするために、３２ビットメモリを１２０４バイトのバッファと共に用いることもできる。このアプローチは、最小の演算素子にてリアルピンポン動作が実現できるように、４つのバッファと、２つの「ホスト側」ＲＧＢバッファと、２つの「ターゲット」ＹＣｒＣｂバッファを用いる。
【００３４】
実際のバッファ空間を実質的に低減するために、以下の実現例は、１６バイトのバーストに対して最適化されたＳＤＲＡＭと、ＪＰＥＧＢ圧縮動作と、３２ビット境界内に配列された２４ビットＲＧＢと、ＤＣＴの遂行には８×８ブロックを用いることを想定する。この実現例はさらにＲＧＢデータがメモリ内で離れていないことを想定し、バス／ＳＤＲＡＭトラフィックの最小化を目標とする。この文脈においては上述の１０２４バッファの一つを満たすことが必要となることもある。
【００３５】
各行はＳＤＲＡＭからの４つの１６バイトアクセス（例えば、２つの３２-バイバースト或いは単一の６４-バイトバースト）として取り出される。最初に、新たな圧縮「ブロック」の開始、つまり、８×８ブロックの行０が取り出される。このアクセスでは、２つのＳＤＲＡＭバーストが採用され、結果として、３つのブロックの１つの行、つまり、Ｒ、Ｇ、Ｂに対する行０が取り出される。次に、第二のブロックの最初の行が、その後のＹＣｒＣｂ色空間の計算のために取り出され、ＣｒとＣｂアレイに対するデータがサブサンプリングされる。ＳＤＲＡＭからの次の２つの読出し動作は行１から行われるが、これはＤＲＡＭ空間内の前のアクセスにシーケンス的には従わない。つまり、行１からの読出し動作は、メモリ内の行０からの読出しとは隣接せず、この読出し動作は、第一のブロックの行１からの読出しと、これに続く第二のブロックの行１からの読出しから成る。
【００３６】
本発明のもう一つの重要な態様は、この時点で、このデータの処理を継続するか、或いは直ちにデータのこのサブセットに関して色空間の変換を遂行するを選択できる所にある。バッファサイズ要件を低減するためには、色空間の変換が２ブロックの２行が得られた時点で直ちに遂行され、このために（２行×８に、画素当たり４バイトを掛け、これに２行を掛けた値に相当する）１２８バイトを有するフロントエンドが用いられる。色空間の変換にはかなりの数の乗算、加算、及び他の変換が必要とされることに注意する。各１２８「バイト」バッファは、ハードウェアにて、４つの部分ブロック、説明のケースにおいては、Ｙ値の最初の２ブロックの行０と行１、及び単一のＣｒブロックと単一のＣｂブロックの行０のみのに変換される。これは、Ｙアレイに対する４バイト×８と、Ｃｒアレイに対する８バイトと、Ｃｂアレイに対する８バイトを加えたものに対応し、全部で４８バイトとなる。こうして、このデータを部分的に集めるやり方では、圧縮は既に開始され、大幅な電力の節約も実現される。この過程が８個の経路に対して継続される。この過程が半分進行した段階で、２つバッファが解放され、圧縮のために利用可能となる（最初の２つのＹブロックは８行が処理された段階で利用可能となる）。これを完結するために、全部で６個のバッファがランされた場合、そのメモリ要件は３８４バイトとなるが、これは圧縮を開始する前にＲＧＢデータの緩衝する従来のアプローチと比較してバッファ要件の大幅な削減となる。従って、この変換アプローチによると、外部メモリへの転送を大幅に低減でき、しかも、内部バッファを最小にできる。
【００３７】
図８は上述のライン単位のアプローチを用いてＲＧＢ色空間とＹＣｒＣｂ色空間メモリの間でデータを効率的に移動させるための一例としての回路１００を示す。図８の上側部分は、データを、典型的には、遠隔端末に通信できるように接続された高速ドライバ（図示せず）に供給するように適合化されたチャネル１０２を用いて、上述のように、ＲＧＢ空間から、変換された形式にて、ＤＣＴ計算エンジンに供給する際のデータの流れを示す。図８の下側部分は、逆方向のデータの流れ、つまり、データが圧縮された形式にてチャネル１０２を通じて逆ＤＣＴ（「ＩＤＣＴ」）計算エンジンに送られ、ＤＣＴブロック（ＹＣｒＣｂ色空間）に伸張され、その後、ＲＧＢ空間に変換される様子を示す。
【００３８】
より具体的には、図８の回路は、データを圧縮のためにＲＧＢ色空間メモリ（図示せず）からを取り出すため、及び伸張の後にデータをＲＧＢ色空間メモリ内に格納するように適合化されたＤＣＴ  ＳＤＲＡＭアドレス発生器１０４を含む。ブロック１０６において、取り出されたＲＧＢデータが集められ、例えば、ＤＭＡＣによって、ラインバッファ１０８ａと１０８ｂに供給される。このデータは、その後、ブロック１１０に供給され、ここで色空間変換値が計算され、これら値は４つのＹバッファ１１２ａから１１２ｄと、ペアのＣｒＡとＣｒＢバッファ１１２ｅ-１１２ｈに供給される。これらバッファ１１２ａ-１１２ｈが満たされている間に、これらはＤＣＴブロックとして、圧縮のために、ＤＣＴブロック１１４、量子化器１１６、及びハフマン符号器１１８によってアクセスされる。多くのアプリケーションにおいては、データマルチプレクサ（図示せず）がビデオデータを他の周辺ソースからのデータとともにチャネル１０２を介して伝送するために用いられる。
【００３９】
チャネル１０２からＲＧＢ色空間メモリへのデータ処理経路は上の説明の逆の方向をたどり、図８には対応するブロックが示される（例えば、ブッロク１１０はブロック１１０’と対応する）。圧縮／伸張機能が、例えば、特別な或いは専用のＤＳＰを用いてプロセッサにて実現される場合は、多くのアプリケーションはこれらハードウェア資源を共有する。図８の回路装置の動作の詳細については、上述の特許資料を参照されたい。
【００４０】
上述のライン単位のアプローチは総バッファ空間要件を大幅に削減するが、本発明のもう一面は変換をワード単位をベースにて遂行することに向けられる。このアプローチは、上述のＹアレイに対するＲＧＢデータの供給の議論からも認識できるように、上述のラインバッファを除去することでバッファ要件をさらに低減することを目指して実現される。ＣｒとＣｂデータについては、ＲＧＢ空間の２行２列にまたがる（が走査される。）。これらデータにＳＤＲＡＭとバスをバーストデバイスとして用いてアクセスする方法には、単一のＣｒとＣｂの計算のためにＲＧＢに順次的にアクセスする必要性に勝るものがあり、従って幾らかのメモリを用意するのは有効である。
【００４１】
ワード単位のアプローチのこの実現例によると、Ｙ値はオン・ザ・フライにて計算され、ペアのＲＧＢ値は以下のように偶数行（例えば、０行）に基づいて蓄積される：
ＲＧＢｓｔ（０）  ＝  ＲＧＢ（０，０）  ＋  ＲＧＢ（０，１），
ＲＧＢｓｔ（ｌ）  ＝  ＲＧＢ（０，２）  ＋  ＲＧＢ（０，３），
このシーケンスが行の終わり、つまり；
ＲＧＢｓｔ（７）  ＝  ＲＧＢ（０，１４）  ＋  ＲＧＢ（０，１５）
まで継続される。ここで
ＲＧＢ（ｒ，ｃ）はＲＧＢ  値を表し、ｒ  は行を表し、ｃ  は列を表す。
【００４２】
ＲＧＢｓｔ（ｎ）はＲＧＢ  ＦＩＦＯ内の値を表し、
ＲＧＢ（０，０）  ＋  ＲＧＢ（０，１）は［Ｒ（０，０）  ＋  Ｒ（０，ｌ），  Ｇ（０，１），  Ｂ（０，０）  ＋  Ｂ（０，ｌ）］である。
【００４３】
上のデータに対して必要とされるメモリは８ＲＧＢ値であるが、精度を維持するために９ビット数が用いられる。上に説明のデータはＤＣＴブロックに供給するためのブロックを構築するのに望ましい順番であり、メモリ要件とメモリアクセス負担を最小にするという理念に一貫するものである。
【００４４】
上の１６サイクルの際に、８個の部分的ＲＧＢ結果が計算され、これと平行して、１６個のＹ値が計算される。
【００４５】
この過程が行１と追加の１６個のＲＧＢ値に対して以下のように：
ＲＧＢｔｏｔａｌ  ＝  ［ＲＧＢ（１，０）  ＋  ＲＧＢ（１，１）  ＋  ＲＧＢｓｔ（０）］
ＲＧＢｔｏｔａｌ  ＝  ［ＲＧＢ（１，２）  ＋  ＲＯＢ（１，３）  ＋  ＲＧＢｓｔ（ｌ）］
．．．．
．．．．．と、行の終わり；
ＲＧＢｔｏｔａｌ  ＝  ［ＲＧＢ（１，１４）  ＋  ＲＧＢ（１，１５）  ＋  ＲＧＢｓｔ（７）］
まで継続される。
【００４６】
各ＲＧＢ合計は４にて割られ、２つの値、ＣｒとＣｂに変換される。
【００４７】
ＲＧＢ（１，０）とＲＧＢ（１，１）はオン・ザ・フライにて加えることができ、これには１つのＲＧＢ値に対して一つのメモリ位置のみを要求されることに注意する。ＲＧＢｓｔ（ｎ）は単に行０のパスからの小計であり、このバッファは、例えば、単純なＦＩＦＯを用いて実現することができる。
【００４８】
図９は、幅３＊９×深さ８の値のＦＩＦＯ１４０を用いるこのワード・バイ・ワード変換に対するデータの流れを示す。このＦＩＦＯ１４０の左には順次向きのＲＧＢバッファ１４２と１４４が配置され、これらは２４-ビット幅のＲＧＢバス１４６からの供給を受ける。Ｙアレイ（図９には示されない）については、ＲＧＢデータは、第一のＲＧＢバッファ１４２から直接にＲＧＢ-Ｙ変換ブロック１５０に供給される。ＣｒとＣｂアレイについては、ＲＧＢデータは最初に加算回路１５４に供給される。加算回路１５４は、上述のように計算されたデータをいったんＦＩＦＯ値として格納し、後にこれを第二の加算器回路１５６に供給する。第二の加算器回路１５６は、順次的に供給されるＦＩＦＯ値と、第一の加算器回路から供給された前のワードから計算されたデータを用いて、次の計算を遂行する。第二の加算器回路１５６は、各々の結果をＲＧＢ-Ｃｒ変換器ブロック１６０とＲＧＢ-Ｃｂ変換器ブロック１６２に供給する。この実施例においては、第一の加算器回路１５４にて処理されるＲＧＢ値の各々に対して９ビットを使用することで精度が維持される。ＦＩＦＯは９ビット幅の値を桁上げするため、第二の加算器回路１５６にて処理されるＲＧＢ値の各々には１０ビットが用いられる。
【００４９】
上述の一つ或いは複数の実施例に対するオプションとして、モノクロデータとＹＣｒＣｂデータを、上述の色変換過程を不能にすることで、ＤＣＴブロックにて直接に圧縮することもできる。
【００５０】
上に説明の様々な実施例は単に解説のためのものであり、本発明を制限することを意図するものではない。当業者においては、説明の実施例及び用途に厳密には従わない本発明に対する様々な修正及び変更を容易に認識できよう。例えば、ＪＰＥＧフォーマットやデータの圧縮／伸張の使用は必須ではなく、他のアプリケーションが本発明を用いるＲＧＢ色空間とＹＣｒＣｂ色空間との間の変換から利益を受けることも十分に考えられ、本発明の範囲はクレームによって規定されるものである。
【図面の簡単な説明】
【図１】  本発明の一つの実施例によるビデオ処理装置のブロック図である。
【図２ａ】  従来の技術において知られているＲＧＢ色空間のダイアグラムである。
【図２ｂ】  従来の技術において知られているＹＣｒＣｂ色空間のダイアグラムである。
【図３】  本発明の一つの実施例によるタイル変換のダイアグラムであり、ＲＧＢ色空間形式の４つの８×８アレイを示す。
【図４】  本発明の一つの実施例によるタイル変換のダイアグラムであり、ＲＧＢ色空間（図３）形式の４つの８×８アレイが、ＤＣＴ圧縮のための４つの８×８アレイと、１つの８×８Ｃｒアレイと、１つの８×８Ｃｂアレイ（図４）に変換される様子を示す。
【図５】  本発明の原理によるタイルの画像走査の流れをタイルアレイレベルにて示す。
【図６】  本発明の原理によるタイルの画像走査の流れをタイルレベルにて示す。
【図７】  本発明の原理によるタイルの画像走査の流れを走査ラインレベルにて示す。
【図８】  本発明による一例としての回路のダイアグラムであり、８×８ブロックを圧縮と伸張のために緩衝する過程を伴う処理経路を示す。
【図９】  本発明の一つの実施例によるＲＧＢ色空間メモリとＹＣｒＣｂ色空間を収容するＤＣＴバッファ／メモリ間でデータを移動するために用いられる回路のブロック図である。
【符号の説明】
１０  ＡＲＭベースのデータ処理装置
１２  ＤＴＣ計算プロセッサ装置
１２ａ  ＤＣＴブロック
１２ｂ  量子化器ブロック
１２ｃ  ハフマン符号化ブロック
１６  ＡＨＢ
２２  システムメモリ
２４  ＲＧＢ色空間
２６  ＤＭＡＣ
２８  ブリッジインタフェース
３０  ＡＭＢＡ-ＡＰＢ
３４  ワードラインバッファ
３６  色空間変換
３８  ＹＣｒＣｂ色空間
１０４  ＤＣＴ  ＳＤＲＡＭアドレス発生器
１０８  ラインバッファ
１１２ａ-ｄ  Ｙバッファ
１１２ｅ，ｇ  ＣｒＡバッファ
１１２ｆ，ｈ  ＣｒＢバッファ
１１４  ＤＣＴブロック
１１６  量子化器
１１８  ハフマン符号器
１４０  幅３＊９×深さ８ＦＩＦＯ
１４２、１４４  順次向きのＲＧＢバッファ
１４６  ２４-ビットＲＧＢバス
１５０  ＲＧＢ-Ｙ変換
１５４  第一の加算回路
１５６  第二の加算器回路
１６０  ＲＧＢ-Ｃｒ変換器ブロック
１６２  ＲＧＢ-Ｃｂ変換器ブロック
【図１】
0004628647.tif 000002
【図２ａ】
0004628647.tif 000003
【図２ｂ】
0004628647.tif 000004
【図３】
0004628647.tif 000005
【図４】
0004628647.tif 000006
【図５】
0004628647.tif 000007
【図６】
0004628647.tif 000008
【図７】
0004628647.tif 000009
【図８】
0004628647.tif 000010
0004628647.tif 000011
0004628647.tif 000012
【図９】
0004628647.tif 000013