(57)【要約】可変数のビットを、入力ビットストリームから出力ビットストリームにパッキングする方法は、クロックサイクル内で前記出力ビットストリームにパッキングされるべきビットの最大数ｎを規定するステップ、前記入力ビットストリームにおけるパッキングするために選択されるべきビットの位置を、出力ビットとして規定する有効ビットストリームを設けるステップ、及び前記出力ビットのみを前記出力ビットストリームに付加するステップを有する。
2005527146.tif 000002
【特許請求の範囲】
【請求項１】
可変数のビットを、入力ビットストリームから出力ビットストリームにパッキングする方法であって、
‐  クロックサイクル内で前記出力ビットストリームにパッキングされるべきビットの最大数ｎを規定するステップ、
‐  前記入力ビットストリームにおけるパッキングするために選択されるべきビットの位置を、出力ビットとして規定する有効ビットストリームを設けるステップ、
‐  前記出力ビットを選択するステップ、及び
‐  前記出力ビットのみを前記出力ビットストリームに付加するステップ、
を有する方法。
【請求項２】
ビットストリームから可変数のビットをアンパッキングする方法であって、
‐  クロックサイクル内で前記ビットストリームからアンパッキングされるべきビットの最大数ｎを規定するステップ、
‐  前記ビットストリームにおけるアンパッキングするために選択されるべきビットの位置を、移動ビットとして規定する有効ビットストリームを設けるステップ、
‐  前記移動ビットを選択するステップ、及び
‐  前記移動ビットのみを前記ビットストリームから移動するステップ、
を有する方法。
【請求項３】
前記有効ビットストリームが、ｎビット単位で構成される、請求項１又は２の方法。
【請求項４】
可変数のビットを、入力ビットストリームから出力ビットストリームにパッキングするパッカであって、
‐  クロックサイクル内で前記出力ビットストリームにパッキングされるべきビットの最大数ｎを規定する制御手段、
‐  前記入力ビットストリームにおけるパッキングするために選択されるべきビットの位置を、出力ビットとして規定する有効ビットストリームを設ける手段、
‐  前記出力ビットを選択するセレクタ、及び
‐  前記出力ビットのみを前記出力ビットストリームに付加する加算器、
を有するパッカ。
【請求項５】
ビットストリームから可変数のビットをアンパッキングするアンパッカであって、
‐  クロックサイクル内で前記ビットストリームからアンパッキングされるべきビットの最大数ｎを規定する制御手段、
‐  前記ビットストリームにおけるアンパッキングされるように選択されるべきビットの位置を、移動ビットとして規定する有効ビットストリームを設ける手段、
‐  前記移動ビットを選択するセレクタ、及び
‐  前記移動ビットのみを前記ビットストリームから移動する手段、
を有するアンパッカ。
【請求項６】
前記有効ビットストリームが、ｎビット単位によって構成される、請求項４に記載のパッカ、又は請求項５に記載のアンパッカ。
【請求項７】
コンピュータプログラムコード手段を有するコンピュータプログラムであって、該コンピュータプログラムコード手段は、前記プログラムがロードされた場合に、クロックサイクル内で出力ビットストリームにパッキングされるべきビットの最大数ｎを規定し、入力ビットストリームにおけるパッキングされるように選択されるべきビットの位置を、出力ビットとして規定する有効ビットストリームを設け、前記出力ビットを選択し、及び前記出力ビットのみを前記出力ビットストリームに付加することによって、可変数のビットを前記入力ビットストリームから前記出力ビットストリームにパッキングするプロシージャをコンピュータに実行させる、コンピュータプログラム
【請求項８】
コンピュータプログラムコード手段を有するコンピュータプログラムであって、該コンピュータプログラムコード手段は、前記プログラムがロードされた場合に、クロックサイクル内でビットストリームからアンパッキングされるべきビットの最大数ｎを規定し、前記ビットストリームにおけるアンパッキングされるように選択されるべきビットの位置を、移動ビットとして規定する有効ビットストリームを設け、前記移動ビットを選択し、前記移動ビットのみを前記ビットストリームから移動することによって、可変数のビットを前記ビットストリームからアンパッキングするプロシージャをコンピュータに実行させる、コンピュータプログラム。
【請求項９】
ビデオ信号を得る入力ユニット、
前記ビデオ信号を圧縮するコード化ユニットであって、前記ビデオ信号から出力ビットストリームへと可変数のビットをパッキングする請求項４に記載のパッカを有するコード化ユニット、及び
前記出力ビットストリームを出力する出力ユニット、
を有するカメラシステムのような、送信機。
【請求項１０】
コード化されたビデオ信号を受け取る入力ユニット、
前記コード化されたビデオ信号をデコードするデコードユニットであって、前記コード化されたビデオ信号から、可変数のビットをアンパッキングして、デコードされたビデオ信号を得るアンパッカを有するデコードユニット、及び
前記デコード化されたビデオ信号を出力する出力ユニット、
を有する受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変数のビットを、入力ビットストリームから出力ビットストリームにパッキングすることに関する。本発明は、更に、可変数のビットを、ビットストリームからアンパッキングすることに関する。
【背景技術】
【０００２】
パッカのタスクは、可変数のビットをビットストリームにパッキングすることである。欧州特許第ＥＰ０３９０３１０Ａ２号明細書は、ｎビット幅の並列データワードを受け取り、ｍビット幅の並列データワードを出力するデータパッカを記載しており、ここで、ｎは変数であって、処理中に変化することができ、ｍは、固定された整数である。
【０００３】
米国特許第５０７９５４８号明細書は、ギャップを有さない可変長を有するコードを、所定の長さを有するビットの連続単位に連続的にパッキングするデータパッカを記載している。
【０００４】
米国特許第４６６７３０５号明細書は、データ処理システムであって、該データ処理システム内のユニット間の可変幅フィールド又はブロック内のデータの並列伝送のための可変幅データバスを含むデータ処理システムを記載しており、ここで、該データは、開始位置及び長さによって記述され、前記データフィールドが、前記データバス上で利用可能であるビット位置の数よりも大きい場合に、整列が実行される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ビットストリームへの又はビットストリームからの、可変数のビットの有利なパッキング法又はアンパッキング法を提供することにある。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明は、添付された独立請求項によって規定されるパッキングする方法、アンパッキングする方法、パッカ、アンパッカ、コンピュータプログラム、送信機及び受信機を提供する。有利な実施例は、従属請求項によって規定されている。
【０００７】
本発明の第１の見地によれば、入力ストリームから出力ストリームへと、可変数のビットをパッキングする方法は、クロックサイクル内で出力ビットストリームへとパッキングされるべきビットの最大数ｎを規定することによって開始し、更に、前記入力ビットストリームにおけるパッキングするために選択されるべきビットの位置を、出力ビットとして規定する有効ビットストリーム（validation bit stream）を提供するステップと、前記出力ビットを選択するステップと、該出力ビットのみを前記出力ビットストリームに付加するステップとを有する。選択されていないビットは、関連する情報を含んでいないので、前記出力ビットストリームにパッキングされない。
【０００８】
アンパッキングする方法は、パッキングする方法に対応しており、ビットストリングから複数のビットを移動（remove）する。ここでも、有効ビットストリームが使用され、これは、前記ビットストリームにおけるアンパッキングするように選択されたビットの位置を、移動（removal）ビットとして規定する。次いで、前記選択された移動ビットのみが、前記ビットストリームから移動される。
【０００９】
好適実施例においては、パッキング及びアンパッキングする方法は、モジュール方式で実施されることができる。例えば、ｎビットのパッカの場合、これは、単一のビット位置だけずらされることができるｎ行のシフトユニットから成る。
【００１０】
パッカ／アンパッカは、クロックサイクル内でパッキング／アンパッキングされるべきビットの最大数ｎを規定する制御手段と、上述した特徴を有する有効ビットストリームを設ける手段とを有する。セレクタは、所望のビットを選択し、パッキングする場合には、これらを現行の出力ビットストリームに付加し、又はアンパッキングする場合には、これらをビットストリームから移動する。
【００１１】
ビットの可変数をパッキング又はアンパッキングする方法は、コンピュータプログラムによって実施されることができる。
【００１２】
新しいモバイルマルチメディアアプリケーションが、登場している。これらの中には、ビデオ機能を備える移動電話、ビデオカメラ、及び情報技術端末を備えるパーソナルコンピュータがある。これらの種類のアプリケーションは、自身の電力消費が小さく、且つ、コストが低い場合にのみ、うまく対処されることができる。コンポーネントの数を、絶対的な最小値まで減少することにより、両方が得られる。しかしながら、これは、圧縮コアと、圧縮用に参照イメージを記憶するのに使用されるメモリとの両方が、同一の集積回路上にあるべきであることを必要とする。本発明の実施例によるパッキング及びアンパッキングすることは、このようなアプリケーションにおいて、有利に応用される。
【００１３】
本発明は、埋め込まれた圧縮の状況において、特に、国際特許出願公報第ＷＯ０１／１７２６８-Ａ１号に記載されているような、ループメモリの前のスケーラブルな圧縮において、有利である。
【発明を実施するための最良の形態】
【００１４】
本発明は、以下で、添付図面を参照して更に説明される。
【００１５】
図１は、例えば、８×８ピクセルのような、ストリング状に変換される合計ブロックを使用している。有効ビット（validation bit）又は有効ビット（valid bit）を伝える第２ストリングが設けられており、１という値は、出力ビットストリームへとパッキングされるべき入力ビットストリーム内の位置を示している。例えば、ピクセル番号０、５及び６４は、各有効ビットによって選択される。これによって、パッキング挙動は、規則化され、データ依存性が低減される。本実施例は、ブロックのストリング状への変換を用いて記載されているが、この変換は、要件ではない。それどころか、前記ブロック構造は、有効ストリング内にｎビット単位を有するパッカを使用して、直接的に処理されることができる。
【００１６】
図２は、出力ビットの選択を、例を用いて示している。入力ビットストリームは、既に、ストリング「ａｂｃｄｅｆｇｈ」から成る。最大４ビットが、ブロックサイクルごとにパッキングされることができると仮定する。どのビットがパッキングされるべきなのかは、有効ビットｗｘｙｚによって示されている。この場合、前記有効ビットと新しいビットとの間に一致がないので、前記出力ビットストリームは、「ＡＢＣＤＥＦＧＨ」から成る。新しいビットが到着するたびに、前記入力ストリーム内に存在する前記入力は、該新しいビット用の所要スペースを作成するために、左側にシフトされる。
【００１７】
第１の特定の例において、新しいビットは、１＊０＊であって、有効ビットは１０１０である。従って、前記新しいビットからの第１及び第３ビットのみが選択され、前記入力ストリームの末尾における１０として前記入力ストリームに付加される。第２の特定の例において、前記有効シーケンスによれば、前記新しいビットの３番目のみが選択されるので、１が、この先行入力ビットストリームに付加され、末尾３ビットの１０１となる。同様に、第３の特定の例において、最初の３つの新しいビットが、この先行入力データストリームに付加される。
【００１８】
図３は、例を用いて、アンパッキング処理を説明している。有効ストリングｗｘｙｚと、処理されるべきビットストリングとに一致がある場合は、ｉｊｋｌは、該ビットストリームから移動される。第１の特定の例においては、この有効ストリームによれば、最後の３ビットが前記ストリングから移動され、第２例においては、末尾のビットが移動され、第３特定例においては、このビットストリングの末尾における第１及び第３位置におけるこれらの桁が移動される。
【００１９】
図４は、本発明の応用を説明するブロック図である。パーソナルコンピュータ用のビデオカメラ（ＰＣカメラ）１は、ビデオ信号Ｉｖｉｄｅｏを、本発明のパッカ２に入力し、ここで、このデータは圧縮される。圧縮されたデータストリームＯｐａｃｋｅｄは、次いで、パーソナルコンピュータ３に送信され、アンパッカ４において復元される。最終的に、アンパッキングされたデータストリームＯｕｎｐａｃｋｅｄが使用され、ディスプレイ５上にビデオシーケンスを表示する。図４において、従来技術における既知のビデオカメラ又はパーソナルコンピュータの全ての他のコンポーネントは、示されていない。
【００２０】
現在のＰＣカメラは、せいぜい、限定されたビデオ圧縮機能性を含むのみである。これは、前記ビデオシーケンスを送信するために、前記カメラと前記ＰＣとの間の直接接続を必要とする。しかしながら、この接続の利用可能な帯域幅は、高いフレームレートで大きい画像サイズを取り扱うのに十分な広さではなく、例えば、４：２：０フォーマットの毎秒３０フレームの非圧縮ＶＧＡの場合、毎秒１０５メガビットの帯域幅を要する。従って、高い圧縮率が必須である。前記パーソナルコンピュータとのワイヤレス接続を有するＰＣカメラは、この接続のより制限される帯域幅のために、強制的な高い圧縮率を必要とする。着脱可能ＰＣカメラは、前記パーソナルコンピュータから取り外された場合、ビデオシーケンスをキャプチャすることができる。前記ビデオシーケンスは、記憶媒体、例えば、ハードディスク又は固体状態メモリ上に記憶される。この内部の記憶媒体上により長いシーケンスを記憶することができるようにする、又は、該記憶媒体の容量を減少することができるようにするためには、高い圧縮率が必須である。本発明の実施例は、可変長のコード化におけるビットを（アン）パッキングする高速で小さい解決策を提供し、該解決策は、特に、この種の応用において有利である。
【００２１】
更なる応用は、ビデオ電話機能性、又は現行の狭帯域幅ネットワークに接続されている複数の着脱可能カメラに基づく監視カメラを内蔵するハンドヘルド型マルチメディア端末において見られることができる。各カメラは、自身のローカル記憶媒体上に、本発明の方法を使用してビデオシーケンスを記録する。セキュリティオペレータは、次いで、所要のカメラに接続し、記録されたビデオシーケンスをダウンロードする。本発明は、例えば、オブジェクト認識、オブジェクト追跡、及び文字認識の分野における、より高度な機能性を備えるスマートカメラに適用されることもできる。
【００２２】
以下に、パッキング及びアンパッキング処理を規定するためのコンピュータプログラムを与える。
【００２３】
パッカ
2005527146.tif 000003
【００２４】
アンパッカ
2005527146.tif 000004
【００２５】
上述の実施例は、本発明を限定するよりは解説するものであること、及び当業者であれば添付請求項の範囲から逸脱することなしに、代替的な実施例を設計できることに留意されたい。前記請求項において、括弧内に置かれた如何なる符号も、請求項を限定するようにみなしてはならない。「有する」という語は、請求項に記載されていない構成要素又はステップの存在を排除するものではない。本発明は、幾つか別個の構成要素を有するハードウェアによって、及び適当にプログラムされたコンピュータによって実施化することができる。いくつかの手段を列挙している装置請求項において、これらの手段のいくつかは１つの同じハードウェアの項目によって、実施化することができる。特定の手段が、相互に異なる従属請求項において引用されているという単なる事実は、これらの手段の組み合わせが有利になるように使用されることができないと示すものではない。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の実施例によるパッキング処理を示している概略図である。
【図２】図２は、例を用いて、図１の処理を更に説明している図である。
【図３】図３は、本発明の実施例によるアンパッキング処理の図である。
【図４】図４は、本発明の応用のブロック概略図である。
【図１】
2005527146.tif 000005
【図２】
2005527146.tif 000006
【図３】
2005527146.tif 000007
【図４】
2005527146.tif 000008
【国際調査報告】
2005527146.tif 000009
2005527146.tif 000010
2005527146.tif 000011