(57)【要約】【課題】送信元システムが複数のシンボル・セットを複数の固定幅データ・チャンクに区分化するアプローチを提供する。【解決手段】区分化中、送信元システムは、固定幅データ・チャンクの境界を基準とするシンボル・セットにおけるシンボルに対応するシンボル境界情報を作成する。次に、送信元システムは、シンボル境界情報に基づいて、固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにし、多重化されたビット・ストリームを宛先システムに供給する。【選択図】図８
2019536367.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムによって実施される方法であって、
複数のシンボル・セットのそれぞれを複数の固定幅データ・チャンクに区分化することと、
前記複数の固定幅データ・チャンクに対応する１つまたは複数の境界を基準とする前記複数のシンボル・セットに含まれる複数のシンボルのうちの１つまたは複数の位置に対応するシンボル境界情報を作成することと、
前記シンボル境界情報に基づいて、前記複数の固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにすることと、
前記多重化されたビット・ストリームを宛先システムに供給することと
を含む、方法。
【請求項２】
前記区分化の前に、シンボル・ストリームを複数のシンボル・サブストリームに分離することであって、前記区分化が、前記複数のシンボル・サブストリームのそれぞれに対して個々に実行され、前記複数のシンボルが、複数の異なるシンボル長に対応する、前記分離することと、
前記複数の異なるシンボル長のうちの最長のシンボル長に基づいて、前記固定幅データ・チャンクの固定幅サイズを判定することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記複数のシンボル・サブストリームのうちの選択されたシンボル・サブストリームに関して、
前記１つまたは複数の固定幅データ・チャンクのうちの選択された固定幅データ・チャンクに対応する前記複数のシンボルのうちの１つを選択することと、
前記選択されたシンボルが、前記選択された固定幅データ・チャンクに対応する前記１つまたは複数の境界のうちの選択された境界を越えるかどうかを判定することと、
前記選択されたシンボルが前記選択された境界を越えると判定することに応答して、前記シンボル境界情報の前記選択されたスロットに第１のインジケータを記憶することと、
前記選択されたシンボルが前記選択された境界を越えないと判定することに応答して、前記シンボル境界情報の選択されたスロットに第２のインジケータを記憶することと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記組み合わせることが、
前記複数の固定幅データ・チャンクの一部分を前記多重化されたビット・ストリームに前記複数のシンボル・サブストリームのそれぞれに基づく順序でロードする初期ロードを実行することと、
前記初期ロードの後に、前記選択されたスロットが前記第１のインジケータを含むかどうかを判定することと、
前記選択されたスロットが前記第１のインジケータを含むと判定することに応答して、前記選択されたシンボル・サブストリームに対応する選択された固定幅データ・チャンクを前記多重化されたビット・ストリームにロードすることと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記区分化の前に、前記方法が、
圧縮されていないバイト・ストリームを前記複数のシンボルに符号化することと、
前記複数のシンボルを前記シンボル・ストリームに含めることと
をさらに含む、請求項２に記載の方法。
【請求項６】
情報処理システムであって、
１つまたは複数のプロセッサと、
前記プロセッサのうちの少なくとも１つに結合されたメモリと、
前記メモリに記憶されたコンピュータ・プログラム命令のセットであって、
複数のシンボル・セットのそれぞれを複数の固定幅データ・チャンクに区分化する動作、
前記複数の固定幅データ・チャンクに対応する１つまたは複数の境界を基準とする前記複数のシンボル・セットに含まれる複数のシンボルのうちの１つまたは複数の位置に対応するシンボル境界情報を作成する動作、
前記シンボル境界情報に基づいて、前記複数の固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにする動作、および
前記多重化されたビット・ストリームを宛先システムに供給する動作
を実行するために前記プロセッサのうちの少なくとも１つによって実行される前記コンピュータ・プログラム命令のセットと
を含む、情報処理システム。
【請求項７】
前記プロセッサが、
前記区分化の前に、シンボル・ストリームを複数のシンボル・サブストリームに分離することであって、前記区分化が、前記複数のシンボル・サブストリームのそれぞれに対して個々に実行され、前記複数のシンボルが、複数の異なるシンボル長に対応する、前記分離することと、
前記複数の異なるシンボル長のうちの最長のシンボル長に基づいて、前記固定幅データ・チャンクの固定幅サイズを判定することと
を含むさらなる動作を実行する、請求項６に記載の情報処理システム。
【請求項８】
前記複数のシンボル・サブストリームのうちの選択されたシンボル・サブストリームに関して、前記プロセッサが、
前記１つまたは複数の固定幅データ・チャンクのうちの選択された固定幅データ・チャンクに対応する前記複数のシンボルのうちの１つを選択することと、
前記選択されたシンボルが、前記選択された固定幅データ・チャンクに対応する前記１つまたは複数の境界のうちの選択された境界を越えるかどうかを判定することと、
前記選択されたシンボルが前記選択された境界を越えると判定することに応答して、前記シンボル境界情報の前記選択されたスロットに第１のインジケータを記憶することと、
前記選択されたシンボルが前記選択された境界を越えないと判定することに応答して、前記シンボル境界情報の選択されたスロットに第２のインジケータを記憶することと
を含むさらなる動作を実行する、請求項７に記載の情報処理システム。
【請求項９】
前記プロセッサが、
前記複数の固定幅データ・チャンクの一部分を前記多重化されたビット・ストリームに前記複数のシンボル・サブストリームのそれぞれに基づく順序でロードする初期ロードを実行することと、
前記初期ロードの後に、前記選択されたスロットが前記第１のインジケータを含むかどうかを判定することと、
前記選択されたスロットが前記第１のインジケータを含むと判定することに応答して、前記選択されたシンボル・サブストリームに対応する選択された固定幅データ・チャンクを前記多重化されたビット・ストリームにロードすることと
を含むさらなる動作を実行する、請求項８に記載の情報処理システム。
【請求項１０】
前記区分化の前に、前記プロセッサが、
圧縮されていないバイト・ストリームを前記複数のシンボルに符号化することと、
前記複数のシンボルを前記シンボル・ストリームに含めることと
を含むさらなる動作を実行する、請求項７に記載の情報処理システム。
【請求項１１】
コンピュータ・プログラム・コードを含む、コンピュータ可読記憶媒体に記憶されたコンピュータ・プログラム製品であって、前記コンピュータ・プログラム・コードは、情報処理システムによって実行されると、前記情報処理システムに、
複数のシンボル・セットのそれぞれを複数の固定幅データ・チャンクに区分化することと、
前記複数の固定幅データ・チャンクに対応する１つまたは複数の境界を基準とする前記複数のシンボル・セットに含まれる複数のシンボルのうちの１つまたは複数の位置に対応するシンボル境界情報を作成することと、
前記シンボル境界情報に基づいて、前記複数の固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにすることと、
前記多重化されたビット・ストリームを宛先システムに供給することと
を含む動作を実行させる、コンピュータ・プログラム製品。
【請求項１２】
前記情報処理システムが、
前記区分化の前に、シンボル・ストリームを複数のシンボル・サブストリームに分離することであって、前記区分化が、前記複数のシンボル・サブストリームのそれぞれに対して個々に実行され、前記複数のシンボルが、複数の異なるシンボル長に対応する、前記分離することと、
前記複数の異なるシンボル長のうちの最長のシンボル長に基づいて、前記固定幅データ・チャンクの固定幅サイズを判定することと
を含むさらなる動作を実行する、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１３】
前記複数のシンボル・サブストリームのうちの選択されたシンボル・サブストリームに関して、前記情報処理システムが、
前記１つまたは複数の固定幅データ・チャンクのうちの選択された固定幅データ・チャンクに対応する前記複数のシンボルのうちの１つを選択することと、
前記選択されたシンボルが、前記選択された固定幅データ・チャンクに対応する前記１つまたは複数の境界のうちの選択された境界を越えるかどうかを判定することと、
前記選択されたシンボルが前記選択された境界を越えると判定することに応答して、前記シンボル境界情報の前記選択されたスロットに第１のインジケータを記憶することと、
前記選択されたシンボルが前記選択された境界を越えないと判定することに応答して、前記シンボル境界情報の選択されたスロットに第２のインジケータを記憶することと
を含むさらなる動作を実行する、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１４】
前記情報処理システムが、
前記複数の固定幅データ・チャンクの一部分を前記多重化されたビット・ストリームに前記複数のシンボル・サブストリームのそれぞれに基づく順序でロードする初期ロードを実行することと、
前記初期ロードの後に、前記選択されたスロットが前記第１のインジケータを含むかどうかを判定することと、
前記選択されたスロットが前記第１のインジケータを含むと判定することに応答して、前記選択されたシンボル・サブストリームに対応する選択された固定幅データ・チャンクを前記多重化されたビット・ストリームにロードすることと
を含むさらなる動作を実行する、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
前記区分化の前に、前記情報処理システムが、
圧縮されていないバイト・ストリームを前記複数のシンボルに符号化することと、
前記複数のシンボルを前記シンボル・ストリームに含めることと
を含むさらなる動作を実行する、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１６】
情報処理システムによって実施される方法であって、
多重化されたビット・ストリームを複数の固定幅データ・チャンクに区分化することと、
複数の復号器を使用して前記複数の固定幅データ・チャンクに含まれる複数のシンボルを復号して、複数の復号されたシンボル・サブストリームをもたらすことと、
前記複数の復号されたシンボル・サブストリームを組み合わせて、復号されたシンボル・ストリームにすることと、
前記復号されたシンボル・ストリームを処理することと
を含む、方法。
【請求項１７】
前記複数の復号器のそれぞれが、前記複数の固定幅データ・チャンクの固定幅サイズにともに基づく第１のバッファと第２のバッファとを含み、前記複数のシンボルが、複数の異なるシンボル長に対応する、請求項１６に記載の方法。
【請求項１８】
前記複数の復号器のうちの選択された復号器を使用して、前記方法が、
前記第１のバッファ内に位置する前記複数のシンボルのうちの選択されたシンボルを復号することと、
前記選択されたシンボルが前記第２のバッファ内に達すると判定することと、
前記選択されたシンボルが前記第２のバッファ内に達すると判定することに応答して、
前記第２のバッファからの内容を前記第１のバッファに移すことと、
後続の固定幅データ・チャンクを要求することと
をさらに含む、請求項１７に記載の方法。
【請求項１９】
前記後続の固定幅データ・チャンクを受信することと、
前記後続の固定幅データ・チャンクを前記第２のバッファにロードすることと
をさらに含む、請求項１８に記載の方法。
【請求項２０】
前記処理することが、
前記復号されたシンボル・ストリームを復号して、復元されたバイト・ストリームをもたらすことをさらに含む、請求項１６に記載の方法。
【請求項２１】
情報処理システムであって、
１つまたは複数のプロセッサと、
前記プロセッサのうちの少なくとも１つに結合されたメモリと、
前記メモリに記憶されたコンピュータ・プログラム命令のセットであって、
多重化されたビット・ストリームを複数の固定幅データ・チャンクに区分化する動作、
複数の復号器を使用して前記複数の固定幅データ・チャンクに含まれる複数のシンボルを復号して、複数の復号されたシンボル・サブストリームをもたらす動作、
前記複数の復号されたシンボル・サブストリームを組み合わせて、復号されたシンボル・ストリームにする動作、および
前記復号されたシンボル・ストリームを処理する動作
を実行するために前記プロセッサのうちの少なくとも１つによって実行される前記コンピュータ・プログラム命令のセットと
を含む、情報処理システム。
【請求項２２】
前記複数の復号器のそれぞれが、前記複数の固定幅データ・チャンクの固定幅サイズにともに基づく第１のバッファと第２のバッファとを含み、前記複数のシンボルが、複数の異なるシンボル長に対応する、請求項２１に記載の情報処理システム。
【請求項２３】
前記複数の復号器のうちの選択された復号器を使用して、前記プロセッサが、
前記第１のバッファ内に位置する前記複数のシンボルのうちの選択されたシンボルを復号することと、
前記選択されたシンボルが前記第２のバッファ内に達すると判定することと、
前記選択されたシンボルが前記第２のバッファ内に達すると判定することに応答して、
前記第２のバッファからの内容を前記第１のバッファに移すことと、
後続の固定幅データ・チャンクを要求することと
を含むさらなる動作を実行する、請求項２２に記載の情報処理システム。
【請求項２４】
前記プロセッサが、
前記後続の固定幅データ・チャンクを受信することと、
前記後続の固定幅データ・チャンクを前記第２のバッファにロードすることと
を含むさらなる動作を実行する、請求項２３に記載の情報処理システム。
【請求項２５】
前記プロセッサが、前記復号されたシンボル・ストリームを復号して、復元されたバイト・ストリームをもたらすことを含むさらなる動作を実行する、請求項２１に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、宛先システムが複数の復号器を使用してシンボル・ストリームを復号することを許すべく送信元システム上で可変長シンボルを有するシンボル・ストリームを符号化することに関する。
【背景技術】
【０００２】
コンピュータ・システムは、メモリに記憶される、またはコンピュータ・ネットワークを介して他のコンピュータ・システムに送信されるビットの数を低減すべく圧縮技法を使用する。データ圧縮は、ある数のビットをより少ない数のビットに「圧縮すること」によってデータ・ファイルのサイズを低減する技法である。送信元コーディング、または送信元符号化は、データ・ストリームなどを用いて、コンピュータ・ネットワークを介して伝送されるべきビットの量を低減する圧縮技法である。
【０００３】
データ・ストリーム圧縮フォーマットは、可変長「シンボル」を使用してデータを符号化してよい。シンボル長可変性のため、宛先システムにおいてシンボルを復号するプロセスは、宛先システムが、データ・ストリームにおける次のシンボルの開始位置を特定するためにシンボルを復号することを要求されるため、本来的に順次的である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
送信元システムが複数のシンボル・セットを複数の固定幅データ・チャンクに区分化するアプローチを提供する。
【課題を解決するための手段】
【０００５】
本開示の一実施形態によれば、送信元システムが複数のシンボル・セットを複数の固定幅データ・チャンクに区分化するアプローチが提供される。区分化中、送信元システムは、固定幅データ・チャンクの境界を基準とするシンボル・セットにおけるシンボルに対応するシンボル境界情報を作成する。次に、送信元システムは、シンボル境界情報に基づいて、固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにし、多重化されたビット・ストリームを宛先システムに供給する。
【０００６】
以上は、概要であり、このため、必然的に、単純化、一般化、および詳細の省略を含み、したがって、この概要は、単に例示的であり、限定することはまったく意図していないことが、当業者には認識されよう。特許請求の範囲だけによって規定される、本開示の他の態様、発明的な特徴、および利点が、後段に提示される非限定的な詳細な説明において明白となろう。
【０００７】
本開示は、添付の図面を参照することによって、よりよく理解され、かつ本開示の多数の目的、特徴、および利点が当業者に明白になり得る。
【図面の簡単な説明】
【０００８】
【図１】本明細書において説明される方法が実装され得るデータ処理システムを示すブロック図である。
【図２】本明細書において説明される方法がネットワーク化された環境において動作する多種多様な情報処理システム上で実行され得ることを例示すべく図１に示される情報処理システム環境の拡張を示す図である。
【図３】初期のシンボル・ストリームを多重化されたビット・ストリームに変換する送信元シンボル符号器と、複数の復号器を使用して、多重化されたビット・ストリームを復号されたシンボル・ストリームに変換する宛先シンボル復号器とを示す図である。
【図４】図３に示されるシンボル符号器およびシンボル復号器を利用する圧縮器および圧縮解除器（decompressor）を示す高レベル図である。
【図５】多重化されたビット・ストリームに変換されつつある初期のシンボル・ストリームの段階を示す詳細な図である。
【図６】ビット・ストリームを固定ビット幅データ・チャンクに区分化し、かつプル・タイミングを生成するストリーム変換器を示す図である。
【図７】固定ビット幅データ・チャンクが宛先固定幅シンボル復号器によって処理される方法と整合性のある順序で複数のビット・ストリームから固定ビット幅データ・チャンクをロードする固定幅マルチプレクサによるアプローチを示す図である。
【図８】並列復号のために宛先シンボル復号器に送信される多重化されたビット・ストリームを生成する送信元符号器を示す高レベル・フローチャートである。
【図９】シンボル・サブストリームを、固定ビット幅データ・チャンクを有するビット・ストリームに変換し、かつ固定ビット幅データ・チャンクに対応するプル・タイミングを生成すべくストリーム変換器によって行われるステップを示すフローチャートである。
【図１０】プル・タイミング情報に基づいて、複数のビット・ストリームからの固定ビット幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにすべく固定幅マルチプレクサによって行われるステップを示すフローチャートである。
【図１１】着信する多重化されたビット・ストリームの並列復号を実行する宛先システムによるステップを示すフローチャートである。
【図１２】複数の固定幅復号器が、固定ビット幅データ・チャンクを要求し、かつ処理すべくビット・ストリーム・パーティショナとインターフェースをとることの例を示す図である。
【発明を実施するための形態】
【０００９】
本明細書において使用される用語は、特定の実施形態を説明することを目的とするに過ぎず、本開示を限定することは意図していない。本明細書において使用される、単数形、「１つの（ａ）」、「ある（ａｎ）」、および「その（ｔｈｅ）」は、文脈がそうでないことを明確に示すのでない限り、複数形も含むことを意図している。「含む」または「含んだ」という用語、あるいはその両方は、本明細書において使用される場合、記載される特徴、整数、ステップ、操作、要素、または構成要素、あるいはその組合せの存在を規定するが、他の１つまたは複数の特徴、整数、ステップ、操作、要素、構成要素、またはそれらのグループ、あるいはその組合せの存在も、追加も排除するものではないものとさらに理解されたい。
【００１０】
添付の特許請求の範囲におけるすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、およびその均等物は、特許請求される他の要素との組合せで機能を実行するための任意の構造、材料、または動作を、明確に特許請求される要素として含むことを意図している。本開示の説明は、例示および説明の目的で提示されてきたが、網羅的であることも、開示される形態における開示に限定されることも意図していない。本開示の範囲および思想を逸脱することなく、多くの変更および変形が当業者には明白となろう。実施形態は、本開示の原理、および実際の応用例を最もよく説明すべく、かつ当業者が、企図される特定の用途に適するよう様々な変更を伴う様々な実施形態のために本開示を理解することを可能にすべく選択され、説明されている。
【００１１】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する１つのコンピュータ可読記憶媒体（または複数のコンピュータ可読記憶媒体）を含み得る。
【００１２】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持し、かつ記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上の任意の適切な組合せであり得るが、それらには限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、以下、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読取り専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル・バーサタイル・ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード、もしくは命令が記録されている溝の中の隆起構造などの機械的に符号化されたデバイス、および以上の任意の適切な組合せを含む。本明細書において使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を伝播する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、または配線を通して伝送される電気信号などの、一時的な信号自体であると解釈されるべきではない。
【００１３】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスにダウンロードされること、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、伝送光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含み得る。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【００１４】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋、もしくは類似したものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似したプログラミング言語などの従来の手続き型プログラミング言語を含め、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で、かつ部分的に遠隔コンピュータ上で、または完全に遠隔コンピュータもしくは遠隔サーバ上で実行され得る。完全に遠隔コンピュータもしくは遠隔サーバ上で実行されるシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または接続は、外部コンピュータに対して行われてよい（例えば、インターネット・サービス・プロバイダを利用してインターネットを介して）。一部の実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、本発明の態様を実行するためにその電子回路を個人設定することが可能である。
【００１５】
本発明の態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャートまたはブロック図、あるいはその両方を参照して本明細書において説明される。フローチャートまたはブロック図、あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図、あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【００１６】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図、あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令を記憶しているコンピュータ可読記憶媒体が、フローチャートまたはブロック図、あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作の態様を実施する命令を含む製品を構成すべく、コンピュータ可読記憶媒体に記憶されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定の様態で機能するように指示することができるものであってもよい。
【００１７】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図、あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施するように、コンピュータによって実行されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００１８】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の部分を表し得る。一部の代替の実装形態において、ブロックに記載される機能は、図に記載される順序を外れて生じてよい。例えば、連続して示される２つのブロックが、実際には、実質的に同時に実行されてよく、またはそれらのブロックが、関与する機能に依存して、ときとして、逆の順序で実行されてよい。また、ブロック図またはフローチャート、あるいはその両方の各ブロック、ならびにブロック図またはフローチャート、あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。以下の詳細な説明は、必要に応じて本開示の様々な態様および実施形態の定義をさらに説明し、展開して、前段に記載される本開示の概要に概ね沿って行われる。
【００１９】
図１は、本明細書において説明されるコンピューティング動作を実行することができるコンピュータ・システムの簡略化された例である情報処理システム１００を示す。情報処理システム１００は、プロセッサ・インターフェース・バス１１２に結合された１つまたは複数のプロセッサ１１０を含む。プロセッサ・インターフェース・バス１１２は、プロセッサを、メモリ・コントローラ・ハブ（ＭＣＨ）としても知られるノースブリッジ１１５に接続する。ノースブリッジ１１５は、システム・メモリ１２０に接続され、プロセッサ１１０がシステム・メモリにアクセスする手段を提供する。また、グラフィックス・コントローラ１２５もノースブリッジ１１５に接続される。一実施形態において、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）Ｅｘｐｒｅｓｓバス１１８がノースブリッジ１１５をグラフィックス・コントローラ１２５に接続する。グラフィックス・コントローラ１２５は、コンピュータ・モニタなどのディスプレイ・デバイス１３０に接続される。
【００２０】
ノースブリッジ１１５とサウスブリッジ１３５が、バス１１９を使用して互いに接続される。一実施形態において、バスは、ノースブリッジ１１５とサウスブリッジ１３５の間の各方向でデータを高速で転送するダイレクト・メディア・インターフェース（ＤＭＩ）バスである。別の実施形態において、ＰＣＩバスが、ノースブリッジとサウスブリッジを接続する。入出力（Ｉ／Ｏ）コントローラ・ハブ（ＩＣＨ）としても知られるサウスブリッジ１３５は、ノースブリッジによって提供される能力と比べてより低速で動作する能力を一般に実装するチップである。サウスブリッジ１３５は、通常、様々な構成要素を接続するのに使用される様々なバスを提供する。これらのバスは、例えば、ＰＣＩバスおよびＰＩＣ  Ｅｘｐｒｅｓｓバス、ＩＳＡバス、システム・マネージメント・バス（ＳＭＢｕｓもしくはＳＭＢ）、またはロー・ピン・カウント（ＬＰＣ）バス、あるいはその組合せを含む。ＬＰＣバスは、しばしば、起動ＲＯＭ１９６および「レガシー」入出力デバイス（「スーパーＩ／Ｏ」チップを使用する）などの低帯域幅デバイスを接続する。「レガシー」入出力デバイス（１９８）は、例えば、シリアル・ポートおよびパラレル・ポート、キーボード、マウス、またはフロッピー・ディスク・コントローラ、あるいはその組合せを含み得る。サウスブリッジ１３５にしばしば含まれる他の構成要素は、ダイレクト・メモリ・アクセス（ＤＭＡ）コントローラ、プログラマブル割り込みコントローラ（ＰＩＣ）、ならびにバス１８４を使用して、サウスブリッジ１３５を、ハードディスク・ドライブなどの不揮発性ストレージ・デバイス１８５に接続するストレージ・デバイス・コントローラを含む。
【００２１】
ＥｘｐｒｅｓｓＣａｒｄ（Ｒ）１５５は、ホットプラグ可能デバイス（hot-pluggabledevice）を情報処理システムに接続するスロットである。ＥｘｐｒｅｓｓＣａｒｄ（Ｒ）１５５は、ＥｘｐｒｅｓｓＣａｒｄ（Ｒ）１５５がユニバーサル・シリアル・バス（ＵＳＢ）とＰＣＩ  Ｅｘｐｒｅｓｓバスの両方を使用してサウスブリッジ１３５に接続されるので、ＰＣＩ  Ｅｘｐｒｅｓｓ接続とＵＳＢ接続の両方をサポートする。サウスブリッジ１３５は、ＵＳＢに接続されるデバイスに対するＵＳＢ接続を提供するＵＳＢコントローラ１４０を含む。これらのデバイスは、Ｗｅｂカメラ（カメラ）１５０、赤外線（ＩＲ）受信機１４８、キーボードおよびトラックパッド１４４、ならびに無線パーソナル・エリア・ネットワーク（ＰＡＮ）を可能にするＢｌｕｅｔｏｏｔｈ（Ｒ）デバイス１４６を含む。また、ＵＳＢコントローラ１４０は、マウス、取外し可能な不揮発性ストレージ・デバイス１４５、モデム、ネットワーク・カード、サービス総合デジタル・ネットワーク（ＩＳＤＮ）コネクタ、ファックス、プリンタ、ＵＳＢハブなどの他の多種多様なＵＳＢ接続デバイス１４２、ならびに他の多くのタイプのＵＳＢ接続デバイスに対するＵＳＢ接続をもたらすこともする。取外し可能な不揮発性ストレージ・デバイス１４５は、ＵＳＢ接続デバイスとして示されるが、取外し可能な不揮発性ストレージ・デバイス１４５は、Ｆｉｒｅｗｉｒｅ（Ｒ）インターフェース、その他などの異なるインターフェースを使用して接続されることも可能である。
【００２２】
無線ローカル・エリア・ネットワーク（ＬＡＮ）デバイス１７５が、ＰＣＩバスまたはＰＣＩ  Ｅｘｐｒｅｓｓバス１７２を介してサウスブリッジ１３５に接続される。ＬＡＮデバイス１７５は、通常、情報処理システム１００と別のコンピュータ・システムもしくは別のコンピュータ・デバイスとの間で無線通信するのにすべて同一のプロトコルを使用する無線変調技法の米国電気電子技術者協会（ＩＥＥＥ）８０２．１１標準のうちの１つを実装する。光ストレージ・デバイス１９０が、シリアル・アナログ・テレフォン・アダプタ（ＡＴＡ）（ＳＡＴＡ）バス１８８を使用してサウスブリッジ１３５に接続される。シリアルＡＴＡアダプタおよびシリアルＡＴＡデバイスは、高速シリアル・リンクを介して通信する。また、シリアルＡＴＡバスは、サウスブリッジ１３５を、ハードディスク・ドライブなどの他の形態のストレージ・デバイスに接続することもする。サウンド・カードなどのオーディオ回路１６０が、バス１５８を介してサウスブリッジ１３５に接続される。また、オーディオ回路１６０は、オーディオ・ライン入力および光デジタル・オーディオ入力ポート１６２、光デジタル出力およびヘッドホン・ジャック１６４、内部スピーカ１６６、および内部マイクロフォン１６８などの機能を提供することもする。イーサネット（Ｒ）・コントローラ１７０が、ＰＣＩバスまたはＰＣＩ  Ｅｘｐｒｅｓｓバスなどのバスを使用してサウスブリッジ１３５に接続される。イーサネット（Ｒ）・コントローラ１７０は、情報処理システム１００を、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、ならびに他の公共コンピュータ・ネットワークおよびプライベート・コンピュータ・ネットワークなどのコンピュータ・ネットワークに接続する。
【００２３】
図１は、１つの情報処理システムを示すが、情報処理システムは、多くの形態をとり得る。例えば、情報処理システムは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、または他のフォームファクタのコンピュータ・システムまたはデータ処理システムの形態をとってよい。さらに、情報処理システムは、携帯情報端末（ＰＤＡ）、ゲーム・デバイス、現金自動預払機（ＡＴＭ）、ポータブル電話デバイス、通信デバイス、またはプロセッサと、メモリとを含む他のデバイスなどの他のフォームファクタをとってよい。
【００２４】
図２は、本明細書において説明される方法がネットワーク化された環境において動作する多種多様な情報処理システム上で実行され得ることを例示すべく図１に示される情報処理システム環境の拡張を示す。情報処理システムのタイプは、ハンドヘルド・コンピュータ／モバイル電話２１０などの小型ハンドヘルド・デバイスから、メインフレーム・コンピュータ２７０などの大型メインフレーム・システムにまで及ぶ。ハンドヘルド・コンピュータ２１０の例は、携帯情報端末（ＰＤＡ）、ならびにＭｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ｌａｙｅｒ−３  Ａｕｄｉｏ（Ｒ）（ＭＰ３）プレーヤ、ポータブル・テレビ、およびコンパクト・ディスク・プレーヤなどのパーソナル・エンターテイメント・デバイスを含む。情報処理システムの他の例は、ペン・コンピュータもしくはタブレット・コンピュータ２２０、ラップトップ・コンピュータもしくはノートブック・コンピュータ２３０、ワークステーション２４０、パーソナル・コンピュータ・システム２５０、およびサーバ２６０を含む。図２に個別に示されない他のタイプの情報処理システムが、情報処理システム２８０によって代表される。図示されるとおり、様々な情報処理システムが、コンピュータ・ネットワーク２００を使用して一緒にネットワーク化され得る。様々な情報処理システムを互いに接続するのに使用され得るコンピュータ・ネットワークのタイプは、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、インターネット、公衆交換電話網（ＰＳＴＮ）、他の無線ネットワーク、ならびに情報処理システムを互いに接続するのに使用され得る他の任意のネットワーク・トポロジを含む。情報処理システムの多くは、ハード・ドライブまたは不揮発性メモリ、あるいはその両方などの不揮発性データ・ストアを含む。図２に示される情報処理システムのうちのいくつかは、別々の不揮発性データ・ストア（サーバ２６０は、不揮発性データ・ストア２６５を利用し、メインフレーム・コンピュータ２７０は、不揮発性データ・ストア２７５を利用し、情報処理システム２８０は、不揮発性データ・ストア２８５を利用する）を示す。不揮発性データ・ストアは、様々な情報処理システムに外部の構成要素であることが可能であり、または情報処理システムの１つに内部の構成要素であることが可能である。さらに、取外し可能な不揮発性ストレージ・デバイス１４５が、取外し可能な不揮発性ストレージ・デバイス１４５を情報処理システムのＵＳＢポートまたは他のコネクタに接続することなどの、様々な技法を使用して２つ以上の情報処理システムの間で共有され得る。
【００２５】
図３から図１２は、宛先システムが多重化されたビット・ストリームの並列復号を実行するように送信元システム上で可変長シンボルを有するシンボル・ストリームを符号化する情報処理システムを示す。前述したとおり、今日の圧縮されたデータ・フォーマットは、可変長シンボルのストリームから成り、その結果、これらのシンボル・ストリームを復号するプロセスは、本来的に順次的であり、パフォーマンスを向上させるべく復号プロセスを並列化するのが困難である。
【００２６】
この困難を軽減するのに、送信元システムは、宛先システムが並列復号を実行するのを可能にすべく着信するシンボル・ストリーム上で変換ステップを実行する。初期のシンボル・ストリームが逆多重化されて、独立したｎ個（例えば、４つ）のシンボル・サブストリームにされ、次に、固定ビット幅データ・チャンクに、それらの固定ビット幅データ・チャンクの境界を基準とするシンボルの位置に対応する、対応するプル・タイミング情報を有して区分化される。固定ビット幅データ・チャンクは、次に、プル・タイミング情報に基づいて一緒に多重化され、宛先システムに送信される。
【００２７】
宛先システムは、多重化されたビット・ストリームを固定ビット幅データ・チャンクに分割するビット・ストリーム・パーティショナを使用して、復号器からの要求時に固定ビット幅データ・チャンクを複数の復号器に供給する。複数の復号器は、シンボルを並列に復号し、復号されたシンボルを結合器に供給する。結合器は、シンボルを組み合わせて、復号されたシンボル・ストリームにし、復号されたシンボル・ストリームを後処理に送る。
【００２８】
図３は、初期のシンボル・ストリームを多重化されたビット・ストリームに変換する送信元シンボル符号器と、複数の復号器を使用して、多重化されたビット・ストリームを復号されたシンボル・ストリームに変換する宛先シンボル復号器とを示す図である。
【００２９】
シンボル符号器３００が、一実施形態において、可変長を有するシンボルを含む初期のビット・ストリーム３１０（例えば、Ｈｕｆｆｍａｎ  Ｇｚｉｐ（Ｒ）ストリーム）を受信する。デマルチプレクサ３２０が、初期のシンボル・ストリーム３１０を逆多重化して、シンボル・サブストリーム３２５および３３０であるシンボル・セットにする。図３の例は、逆多重化された２つのシンボル・サブストリーム３２５および３３０を示す。この例において、デマルチプレクサ３２０は、初期のシンボル・ストリーム３１０からの第１のシンボルをシンボル・サブストリーム３２５に記憶し、初期のシンボル・ストリーム３１０からの第２のシンボルをシンボル・サブストリーム３３０に記憶し、初期のシンボル・ストリーム３１０からの第３のシンボルを再びシンボル・サブストリーム３２５に記憶する、といった具体である（さらなる詳細に関しては、図５および対応する本文を参照されたい）。
【００３０】
ストリーム変換器Ａ３３５とストリーム変換器Ｂ３４０が、それぞれに対応するシンボル・サブストリームを同時に区分化して、ビット・ストリームＡ３３７およびビット・ストリームＢ３４２に記憶される固定ビット幅データ・チャンクにする。固定ビット幅データ・チャンクのサイズは、宛先シンボル復号器３６０における固定幅復号器Ａ３７０およびＢ３７５によって利用されるバッファのサイズ（例えば、１６ビット）と合致する。また、ストリーム変換器Ａ３３５およびストリーム変換器Ｂ３４０は、固定ビット幅データ・チャンクの境界を基準とするシンボルの位置に対応するプル・タイミングＡ３３９およびプル・タイミングＢ３４４を生成することもする（処理の詳細に関しては、図６および対応する本文を参照されたい）。プル・タイミング情報は、固定幅復号器Ａ３７０およびＢ３７５が、後段で説明されるビット・ストリーム・パーティショナ３６５から固定ビット幅データ・チャンクを要求する、すなわち、「プルする」時点と合致するように、ストリーム変換器Ａ３３５およびＢ３４０からの固定ビット幅データ・チャンクを適切に編成して、多重化されたビット・ストリーム３５５にするために、固定幅マルチプレクサ３５０によって使用される。
【００３１】
シンボル復号器３６０のビット・ストリーム・パーティショナ３６５は、多重化されたビット・ストリーム３５５を固定ビット幅データ・チャンク（シンボル符号器３００によって区分化された固定ビット幅データ・チャンクと同一サイズ）に区分化にする。固定幅復号器Ａ３７０およびＢ３７５がまず、それぞれに対応するバッファ（例えば、２つのバッファ）に初期にロードすべくビット・ストリーム・パーティショナ３６５から固定ビット幅データ・チャンクを要求する。次に、固定幅復号器Ａ３７０とＢ３７５が、それぞれのロードされた固定ビット幅データ・チャンクにおけるシンボルを同時に復号することを開始する。固定幅復号器Ａ３７０またはＢ３７５が、復号されたシンボルのうちの１つが固定幅復号器Ａ３７０またはＢ３７５の第１のバッファの境界に達したときなど、さらなる固定ビット幅データ・チャンクを要求したとき、復号器は、ビット・ストリーム・パーティショナ３６５から別の固定ビット幅データ・チャンクを要求する（さらなる詳細に関しては、図１１〜図１２および対応する本文を参照されたい）。
【００３２】
固定幅復号器は、復号されたシンボル・ストリーム３８０および３８５を生成し、それらのシンボル・ストリーム３８０および３８５を、結合器３９０がラウンド・ロビン様態で組み合わせて、復号されたシンボル・ストリーム３９５にし、後処理のための準備が整う。シンボル復号器３６０が、次に、複数の固定幅復号器を使用して並列復号を実行することによって復号パフォーマンスを向上させる。
【００３３】
図４は、図３に示されるシンボル符号器およびシンボル復号器を利用する圧縮器および圧縮解除器を示す高レベル図である。圧縮器４００は、圧縮されていないバイト・ストリーム４１０を受け取り、初期のシンボル・ストリーム３１０を作成するデータ符号器４２０を含む。初期のシンボル・ストリーム３１０は、前述したとおり、多重化されたビット・ストリーム３５５を生成するシンボル符号器３００に供給される。
【００３４】
圧縮解除器４３０は、前述したとおり、復号されたシンボル・ストリーム３９５を生成するシンボル復号器３６０を含む。データ復号器４４０が、次に、復号されたシンボル・ストリーム３９５におけるシンボルを復号して、復元されたバイト・ストリーム４５０を生成する。
【００３５】
図５は、多重化されたビット・ストリームに変換されつつある初期のシンボル・ストリームの段階を示す詳細な図である。初期のシンボル・ストリーム３１０は、可変長シンボルＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ９、Ｓ１０、Ｓ１１、Ｓ１２、Ｓ１３、Ｓ１４、Ｓ１５、およびＳ１６を含む。デマルチプレクサ３２０が、シンボルを順番に分離して、シンボル・サブストリームＡ３２５とシンボル・サブストリームＢ３３０にする。見て取ることができるとおり、シンボル・サブストリームＡ３２５は、シンボルＳ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９、Ｓ１１、Ｓ１３、およびＳ１５を含み、シンボル・サブストリームＢ３３０は、シンボルＳ２、Ｓ４、Ｓ６、Ｓ８、Ｓ１０、Ｓ１２、Ｓ１４、およびＳ１６を含む。
【００３６】
ストリーム変換器Ａ３３５が、シンボル・サブストリームＡ３２５を固定ビット幅データ・チャンクＡ１、Ａ２、Ａ３、Ａ４、およびＡ５に区分化し、固定ビット幅データ・チャンクをビット・ストリームＡ３３７に記憶する。また、ストリーム変換器Ａ３３５は、シンボル・サブストリームＡ３２５からのシンボルが固定ビット幅データ・チャンクの境界を越える時点のスロットにおいて１を含むプル・タイミングＡ３３９を生成することもする（さらなる詳細に関しては、図６および対応する本文を参照されたい）。
【００３７】
同様に、ストリーム変換器Ｂ３４０が、シンボル・サブストリームＢ３３０を固定ビット幅データ・チャンクＢ１、Ｂ２、Ｂ３、Ｂ４、Ｂ５、およびＢ６に区分化し、固定ビット幅データ・チャンクをビット・ストリームＢ３４２に記憶する。また、ストリーム変換器Ｂ３４０は、シンボル・サブストリームＢ３３０からのシンボルがストリーム変換器Ｂ３４０の固定ビット幅データ・チャンクのうちの１つの境界を越える時点のスロットにおいて１を含むプル・タイミングＢ３４４を生成することもする。
【００３８】
次に、固定幅マルチプレクサ３５０が、ビット・ストリームＡ３３７およびビット・ストリームＢ３４２からの固定ビット幅データ・チャンクを組み合わせるプロセスを進める。固定幅マルチプレクサ３５０は、固定幅復号器Ａ３７０およびＢ３７５が、固定幅復号器Ａ３７０およびＢ３７５の２つのバッファの初期ロードを実行するため、固定ビット幅データ・チャンクＡ１をまずロードし、次にＢ１をロードし、次にＡ２、Ｂ２をロードする。次に、固定幅マルチプレクサ３５０は、ビット・ストリームＡ３３７またはＢ３４２から固定ビット幅データ・チャンクをいつロードすべきかを判定すべくプル・タイミングＡ３３９およびＢ３４４を解析する（さらなる詳細に関しては、図７および対応する本文を参照されたい）。次に、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５を、後に復号するためにコンピュータ・ネットワークを介してシンボル復号器３６０に送信する。一実施形態において、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５を、後に取り出すためにストレージ・エリアに記憶する。
【００３９】
図６は、ビット・ストリームを固定ビット幅データ・チャンクに区分化し、かつプル・タイミングを生成するストリーム変換器を示す図である。ストリーム変換器Ａ３３５が、ビット・ストリームＡ３３７を固定ビット幅データ・チャンクＡ１、Ａ２、Ａ３、Ａ４、およびＡ５に区分化する。固定ビット幅データ・チャンクは、固定幅復号器がビット・ストリーム・パーティショナ３６５から同一サイズのデータ・チャンクを要求することになるため（後段で説明される）、固定幅復号器によって利用されるバッファのサイズに対応する。例えば、固定幅復号器Ａ３７０のバッファ・サイズが１６ビットである場合、ストリーム変換器Ａ３３５は、１６ビットの固定ビット幅データ・チャンク・サイズを使用する。
【００４０】
ストリーム変換器Ａ３３５は、次に、固定ビット幅データ・チャンクの境界を基準としてシンボルＳ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９、Ｓ１１、Ｓ１３、およびＳ１５を解析する。シンボルのうちの１つが境界を越えるとき、シンボル復号器３６０における復号器が、その時点で別の固定ビット幅データ・チャンクを要求することになるため、ストリーム変換器Ａ３３５は、１をプル・タイミングＡ３３９にロードし、このことが理由で、固定幅マルチプレクサ３５０は、プル・タイミングに基づく順序で固定ビット幅データ・チャンクをロードする（さらなる詳細に関しては、図１２および対応する本文を参照されたい）。図６に示される例に基づいて、ストリーム変換器Ａ３３５は、シンボルを解析し、シンボルごとに以下のステップを実行する。
Ｓ１が境界を越えず、０をプル・タイミングＡ３３９にロードし、
Ｓ３が境界６１０を越え、１をプル・タイミングＡ３３９にロードし、
Ｓ５が境界を越えず、０をプル・タイミングＡ３３９にロードし、
Ｓ７が境界を越えず、０をプル・タイミングＡ３３９にロードし、
Ｓ９が境界６１５を越え、１をプル・タイミングＡ３３９にロードし、
Ｓ１１が境界６２０を越え、１をプル・タイミングＡ３３９にロードし、
Ｓ１３が境界を越えず、０をプル・タイミングＡ３３９にロードし、
Ｓ１５が境界６２５を越え、１をプル・タイミングＡ３３９にロードする。
【００４１】
同様に、ストリーム変換器Ｂ３４０が、ビット・ストリームＢ３４２を固定ビット幅データ・チャンクＢ１、Ｂ２、Ｂ３、Ｂ４、Ｂ５、およびＢ６に区分化する。ストリーム変換器Ｂ３４０は、次に、固定ビット幅データ・チャンクの境界を基準としてシンボルＳ２、Ｓ４、Ｓ６、Ｓ８、Ｓ１０、Ｓ１２、Ｓ１４、およびＳ１６を解析する。図６に示される例に基づいて、ストリーム変換器Ｂ３４０は、シンボルを解析し、シンボルごとに以下のステップを実行する。
Ｓ２が境界を越えず、０をプル・タイミングＢ３４４にロードし、
Ｓ４が境界６１０を越え、１をプル・タイミングＢ３４４にロードし、
Ｓ６が境界６１０を越え、１をプル・タイミングＢ３４４にロードし、
Ｓ８が境界６１０を越え、１をプル・タイミングＢ３４４にロードし、
Ｓ１０が境界を越えず、０をプル・タイミングＢ３４４にロードし、
Ｓ１２が境界６２０を越え、１をプル・タイミングＢ３４４にロードし、
Ｓ１４が境界６１０を越え、１をプル・タイミングＢ３４４にロードし、
Ｓ１６が境界を越えず、０をプル・タイミングＢ３４４にロードする。
【００４２】
固定幅マルチプレクサ３５０が、次に、プル・タイミングを使用して、ビット・ストリームＡ３３７およびビット・ストリームＢ３４２からの固定ビット幅データ・チャンクを特定の順序で挿入する（さらなる詳細に関しては、図７および対応する本文を参照されたい）。
【００４３】
図７は、固定ビット幅データ・チャンクがシンボル復号器３６０における固定幅復号器Ａ３７０およびＢ３７５によって処理される方法と整合性のある順序で複数のビット・ストリームから固定ビット幅データ・チャンクをロードする固定幅マルチプレクサ３５０によるアプローチを示す図である
【００４４】
固定幅復号器はまず、図１１〜図１２に示されるとおり、固定幅復号器のバッファの初期ロードを順番に実行する。このため、固定幅マルチプレクサ３５０は、チャンクＡ１をロードし、次にＢ１をロードし、次にＡ２をロードし、次にＢ２をロードすることを、多重化されたビット・ストリーム３５５のスロット１、２、３、および４に対して行う。
【００４５】
次に、固定幅マルチプレクサ３５０は、プル・タイミングＡ３３９およびＢ３４４を順番に調べて、いずれの固定ビット幅データ・チャンクを次にロードすべきかを判定する。プル・タイミングＡ３３９とプル・タイミングＢ３４４のいずれもそれらの第１のスロットに１を含まず、したがって、固定幅マルチプレクサ３５０は、何も行わない。プル・タイミングＡ３３９は、第２のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第５のスロットにチャンクＡ３をロードする。また、プル・タイミングＢ３４４も、第２のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第６のスロットにチャンクＢ３をロードする。プル・タイミングＡ３３９は、第３のスロットに０を含み、したがって、何もロードされない。プル・タイミングＢ３４４は、第３のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第７のスロットにＢ４をロードする。
【００４６】
続けると、プル・タイミングＡ３３９は、第４のスロットに０を含み、したがって、何もロードされない。プル・タイミングＢ３４４は、第４のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第８のスロットにＢ５をロードする。プル・タイミングＡ３３９は、第５のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第９のスロットにＡ４をロードする。プル・タイミングＢ３４４は、第５のスロットに０を含み、したがって、何もロードされない。プル・タイミングＡ３３９は、第６のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第１０のスロットにＡ５をロードする。また、プル・タイミングＢ３４４も、第６のスロットに１を含み、したがって、固定幅マルチプレクサ３５０は、多重化されたビット・ストリーム３５５の第１１のスロットにＢ６をロードする。図７に示されるもののような一実施形態において、前述した固定幅データ・チャンクの初期のロードのため、プル・タイミングのすべてが利用されるわけではない。
【００４７】
図８は、並列復号のために宛先シンボル復号器に送信される多重化されたビット・ストリームを生成する送信元符号器を示す高レベル・フローチャートである。処理が８００で開始し、ステップ８１０で、プロセスは、初期のビット・ストリームを逆多重化すべきシンボル・サブストリームの数（ｎ）を判定する（例えば、ｎ＝２）。ステップ８２０で、プロセスは、初期のビット・ストリーム３１０における第１のシンボルを識別し、第１のシンボルを第１のシンボル・サブストリーム（例えば、シンボル・サブストリーム３２５）にロードする。
【００４８】
プロセスは、次に、さらなるシンボルが初期のシンボル・ストリーム３１０にあるかどうかを判定する（判定８３０）。さらなるシンボルが初期のシンボル・サブストリーム３１０にある場合、判定８３０は、次のシンボルを識別し、かつ次のシンボルを次のシンボル・サブストリーム３３０にロードすべくループバックする「はい」の分岐に分岐する。このループは、初期のシンボル・ストリーム３１０にさらなるシンボルが存在しなくなるまで、初期のビット・ストリーム３１０からのシンボルを順次に適切なシンボル・サブストリーム（例えば、３２５、３３０、３２５、３３０．．．）にロードし続け、さらなるシンボルが存在しなくなった時点で、判定８３０は、ループを終了する「いいえ」の分岐に分岐する。
【００４９】
シンボル・サブストリームのそれぞれに関する事前定義されたプロセス８４０において、プロセスは、シンボル・サブストリームを固定ビット幅データ・チャンクに区分化し、固定ビット幅データ・チャンクをそれぞれに対応するビット・ストリーム３３７および３４２にロードする。また、プロセスは、固定ビット幅データ・チャンクの境界を基準とするシンボルの位置に対応する、本明細書において説明されるプル・タイミング情報を生成することもする（処理の詳細に関しては、図９および対応する本文を参照されたい）。
【００５０】
事前定義されたプロセス８５０において、プロセスは、プル・タイミング情報に基づいて複数のビット・ストリームからの固定ビット幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにする（処理の詳細に関しては、図１０および対応する本文を参照されたい）。プロセスは、次に、ステップ８６０で、多重化されたビット・ストリームをシンボル復号器３６０に送り、図８の処理は、その後、８７０で終了する。シンボル復号器３６０が、次に、多重化されたビット・ストリーム３５５の並列復号を実行する（さらなる詳細に関しては、図１１、図１２、および対応する本文を参照されたい）。
【００５１】
図９は、シンボル・サブストリームを、固定ビット幅データ・チャンクを有するビット・ストリームに変換し、かつ固定ビット幅データ・チャンクに対応するプル・タイミングを生成すべくストリーム変換プロセスによって行われるステップを示すフローチャートである。図９に示される例は、シンボル・サブストリームＡ３２５を処理するストリーム変換器Ａ３３５によって行われるステップを示す。本明細書で説明されるとおり、複数のシンボル・サブストリームを変換すべきストリーム変換器の数は、デマルチプレクサ３２０によって生成されるシンボル・サブストリームの数に基づき、ストリーム変換器のそれぞれが、図９に示されるステップを実行する。一実施形態において、シンボル符号器３００は、１つのストリーム変換器を利用して複数のシンボル・サブストリームを変換するなど、変換プロセス中にシンボル・サブストリームより少ないストリーム変換器を利用してよい。
【００５２】
処理は、９００で開始し、ステップ９１０で、プロセスが、シンボル・サブストリームＡ３２０を、１６ビットなどの固定ビット幅データ・チャンクに区分化し、固定ビット幅データ・チャンクをビット・ストリーム３３７にロードする。一実施形態において、プロセスは、固定ビット幅データ・チャンクを一時ストレージ・エリアにロードし、固定ビット幅データ・チャンクの各チャンクの境界にフラグを設定する。ステップ９１５で、プロセスは、ビット・ストリームの始めにポインタを設定し、ステップ９２０で、プロセスは、ポインタを第１のシンボルの終わりに移動させる。
【００５３】
次に、プロセスは、ポインタが、図６に示される境界６１５のような固定ビット幅境界を越えたかどうかを判定する（判定９３０）。プロセスは、宛先システムにおいて、シンボルが、固定ビット幅データ・チャンクと同一サイズであるバッファ境界を越えたとき、固定幅復号器が、ビット・ストリーム・パーティショナ３６５から別の固定ビット幅データ・チャンクを要求するため、この判定ステップを実行する。
【００５４】
ポインタが境界を越えた場合、判定９３０は、「はい」の分岐に分岐し、ステップ９５０で、プロセスは、プル・タイミングＡ３３９の第１のスロットに「１」を記憶する。他方、ポインタが固定ビット幅境界を越えていなかった場合、判定９３０は、「いいえ」の分岐に分岐し、ステップ９４０で、プロセスは、プル・タイミングＡ３３９の第１のスロットに「０」を記憶する。図６を再び参照すると、図６における例が、第１のシンボル「Ｓ１」の終わりが境界６１０を越えないことを示す。
【００５５】
プロセスは、ビット・ストリームＡ３３７に処理すべきさらなるシンボルが存在するかどうかを判定する（判定９６０）。ビット・ストリームＡ３３７に処理すべきさらなるシンボルが存在する場合、判定９６０は、次のシンボルの終わりにポインタを移動させ、かつポインタが境界を越えたかどうかを評価すべくループバックする「はい」の分岐に分岐する。図６を参照すると、プロセスは、境界６１０を越える、シンボル「Ｓ３」の終わりにポインタを移動させる。このループは、ビット・ストリームＡ３３７に処理すべきさらなるシンボルが存在しなくなるまで続き、さらなるシンボルが存在しなくなった時点で、判定９６０は、ループを終了する「いいえ」の分岐に分岐する。一実施形態において、この時点で、シンボルの終わりが、固定幅境界を越えてポインタを移動させなかったため、放出されていないシンボルが存在し得る。この実施形態において、処理は、これらのシンボルを含む別の固定幅チャンクを放出してよい。
【００５６】
ステップ９７０で、プロセスは、固定幅マルチプレクサ３５０にビット・ストリームＡ３３７（固定ビット幅データ・チャンクを含む）およびプル・タイミングＡ３３９を送る。図１０に示されるとおり、固定幅マルチプレクサは、複数のストリーム変換器からの複数のビット・ストリームを、ビット・ストリームのそれぞれのプル・タイミングに基づいて組み合わせる。図９の処理は、その後、９９５における呼出しルーチン（図８を参照されたい）に戻る。
【００５７】
図１０は、プル・タイミング情報に基づいて、複数のビット・ストリームからの固定ビット幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにすべく固定幅マルチプレクサによって行われるステップを示すフローチャートである。処理は、１０００で始まり、ステップ１０１０で、プロセスは、初期のデータ・チャンクを多重化されたビット・ストリーム３５５にビット・ストリーム３３７から始めて、次にビット・ストリーム３４２、次にビット・ストリーム３３７、次にビット・ストリーム３４２の順にロードする。処理は、宛先の固定幅復号器Ａ３７０およびＢ３７５がどのように初期のロードを実行するかをシミュレートするこの様態で初期のロードを実行する（さらなる詳細に関しては、図１２および対応する本文を参照されたい）。
【００５８】
プロセスは、プル・タイミングＡ３３９における第１のスロットが、ビット・ストリームＡ３３７のシンボルのうちの１つが境界を越えており、このため、宛先システムの固定幅復号器Ａ３７０が別の固定ビット幅データ・チャンクを要求することを示す「１」を含むかどうかを判定する（判定１０２０）。プル・タイミングＡ３３９における第１のスロットが「１」を含む場合、判定１０２０は、「はい」の分岐に分岐し、ステップ１０３０で、プロセスは、ビット・ストリームＡ３３７から次の固定ビット幅データ・チャンクをロードする。他方、プル・タイミングＡ３３９における第１のスロットは、「１」を含まず、判定１０２０は、「いいえ」の分岐に分岐する。
【００５９】
次に、プロセスは、プル・タイミングＢ３４４における第１のスロットが、ビット・ストリームＢ３４２のシンボルのうちの１つが境界を越えており、このため、宛先システムの固定幅復号器Ｂ３７５が別の固定ビット幅データ・チャンクを要求することを示す「１」を含むかどうかを判定する（判定１０４０）。プル・タイミングＢ３４４における第１のスロットが「１」を含む場合、判定１０４０は、「はい」の分岐に分岐し、ステップ１０５０で、プロセスは、ビット・ストリームＢ３４２から次の固定ビット幅データ・チャンクをロードする。他方、プル・タイミングＢ３４４における第１のスロットは、「１」を含まず、判定１０４０は、「いいえ」の分岐に分岐する。
【００６０】
次に、プロセスは、ビット・ストリームが終了したかどうかを判定する（判定１０６０）。ビット・ストリームが終了していない場合、判定１０６０は、ビット・ストリームを処理することを続けるべくループバックする「いいえ」の分岐に分岐する。このループは、ビット・ストリームが終了するまで続き、終了した時点で、判定１０６０は、ループを終了する「はい」の分岐に分岐する。一実施形態において、処理は、この時点で、１つまたは複数の「ダミー」チャンクを多重化されたビット・ストリーム３５５にロードすることもする。図１０の処理は、その後、１０９５における呼出しルーチン（図８を参照されたい）に戻る。
【００６１】
図１１は、着信する多重化されたビット・ストリームの並列復号を実行する宛先システムによるステップを示すフローチャートである。図３を参照すると、シンボル復号器３６０が、多重化されたビット・ストリーム３５５に含まれるシンボルを同時に復号する固定幅復号器Ａ３７０と、固定幅復号器Ｂ３７５とを含む。前述したとおり、ビット・ストリーム・パーティショナ３６５が、多重化されたビット・ストリーム３５５を固定ビット幅データ・チャンクに区分化し、固定幅復号器Ａ３７０および固定幅復号器Ｂ３７５によって要求されるのに応じて、固定ビット幅データ・チャンクを供給する。
【００６２】
固定幅復号器Ａ１１０処理が、１１００で開始し、ステップ１１０５で、固定幅復号器Ａ３７０が、ビット・ストリーム・パーティショナ３６５から第１の固定ビット幅データ・チャンクを要求し、第１の固定ビット幅データ・チャンクを復号器Ａ３７０の第１のバッファにロードする（さらなる詳細に関しては、図１２および対応する本文を参照されたい）。固定幅復号器Ｂ３７５処理が、１１５０で同時に開始し、ステップ１１５５で、固定幅復号器Ｂ３７５が、ビット・ストリーム・パーティショナ３６５から次の固定ビット幅データ・チャンク（第２のチャンク）を要求し、第２の固定ビット幅データ・チャンクを復号器Ｂ３７５の第１のバッファにロードする。
【００６３】
ステップ１１１０で、固定幅復号器Ａ３７０が、次の固定ビット幅データ・チャンク（第３のチャンク）を要求し、そのチャンクを復号器Ａ３７０の第２のバッファにロードする。同様に、ステップ１１６０で、固定幅復号器Ｂ３７５が、次の固定ビット幅データ・チャンク（第４のチャンク）を要求し、そのチャンクを復号器Ｂ３７５の第２のバッファにロードする。この時点で、固定幅復号器Ａ３７０のバッファと固定幅復号器Ｂ３７５のバッファの両方が一杯になっている。
【００６４】
ステップ１１１５で、固定幅復号器Ａ３７０が、復号器Ａ３７０のバッファの始めに復号器Ａ３７０のポインタを設定し、ステップ１１２０で、固定幅復号器Ａ３７０は、第１のシンボルを復号し、かつ復号されたシンボルを復号されたシンボル・ストリームＡ３８０にロードし、次のシンボルの始めにポインタを移動させる。固定幅復号器Ａ３７０は、ポインタが第１のバッファ境界を越え、第２のバッファに達して、ビット・ストリーム・パーティショナ３６５から別の固定ビット幅データ・チャンクが要求されるべきことを示すかどうかを判定する（判定１１２５）。ポインタが第１のバッファ境界を越えていない場合、判定１１２５は、次のシンボルを処理し、かつポインタを移動させるべくループバックする「いいえ」の分岐に分岐する。このループは、ポインタが第１のバッファ境界を越えるまで続き、超えた時点で、判定１１２５は、ループを終了する「はい」の分岐に分岐する。
【００６５】
固定幅復号器Ａ３７０が、ビット・ストリーム・パーティショナ３６５がさらなる固定ビット幅データ・チャンクを含むかどうかを判定する（判定１１３０）。ビット・ストリーム・パーティショナ３６５がさらなる固定ビット幅データ・チャンクを含む場合、判定１１３０は、第２のバッファの内容を第１のバッファに移し（ステップ１１３５）、かつビット・ストリーム・パーティショナ３６５から別の固定ビット幅データ・チャンクを要求して、復号器Ａ３７０の第２のバッファにロードすべく（ステップ１１４０）ループバックする「はい」の分岐に分岐する。このループは、処理すべきさらなる固定ビット幅データ・チャンクが存在しなくなるまで続き、さらなる固定ビット幅データ・チャンクが存在しなくなった時点で、判定１１３０は、ループを終了する「いいえ」の分岐に分岐し、固定幅復号器Ａ３７０処理は、その後、１１４５で終了する。
【００６６】
固定幅復号器Ａ３７０が、復号器Ａ３７０のバッファに復号すべきさらなるシンボルが残っているかどうかを判定する（判定１１４２）。復号器Ａ３７０のバッファに復号すべきさらなるシンボルが残っている場合、判定１１４２は、次のシンボルを復号すべくループバックする「はい」の分岐に分岐する。このループは、復号器Ａ３７０のバッファに復号すべきさらなるシンボルが残っていなくなるまで続き、さらなるシンボルが残っていなくなった時点で、判定１１４２は、ループを終了する「いいえ」の分岐に分岐し、固定幅復号器Ａ３７０処理は、１１４５で終了する。
【００６７】
固定幅復号器Ｂ３７５が、固定幅復号器Ａ３７０と同様のステップを同時に実行する。固定幅復号器Ｂ３７５は、ステップ１１６５で、復号器Ｂ３７５の第１のバッファの始めに復号器Ｂ３７５のポインタを設定し、ステップ１１７０で、固定幅復号器Ｂ３７５は、第１のシンボルを復号し、かつ復号されたシンボルを復号されたシンボル・ストリームＢ３８５にロードし、次のシンボルにポインタを移動させる。固定幅復号器Ｂ３７５は、ポインタが第１のバッファ境界を越え、第２のバッファに達して、ビット・ストリーム・パーティショナ３６５から別の固定ビット幅データ・チャンクが要求されるべきことを示すかどうかを判定する（判定１１７５）。ポインタが第１のバッファ境界を越えていない場合、判定１１７５は、次のシンボルを処理し、かつポインタを移動させるべくループバックする「いいえ」の分岐に分岐する。このループは、ポインタが第１のバッファ境界を越えるまで続き、超えた時点で、判定１１７５は、ループを終了する「はい」の分岐に分岐する。
【００６８】
固定幅復号器Ｂ３７５が、ビット・ストリーム・パーティショナ３６５がさらなる固定ビット幅データ・チャンクを含むかどうかを判定する（判定１１８０）。ビット・ストリーム・パーティショナ３６５がさらなる固定ビット幅データ・チャンクを含む場合、判定１１８０は、第２のバッファの内容を第１のバッファに移し（ステップ１１８５）、かつビット・ストリーム・パーティショナ３６５から別の固定ビット幅データ・チャンクを要求して、復号器Ｂ３７５の第２のバッファにロードすべく（ステップ１１９０）ループバックする「はい」の分岐に分岐する。このループは、処理すべきさらなる固定ビット幅データ・チャンクが存在しなくなるまで続き、さらなる固定ビット幅データ・チャンクが存在しなくなった時点で、判定１１８０は、ループを終了する「いいえ」の分岐に分岐する。
【００６９】
固定幅復号器Ｂ３７５が、復号器Ｂ３７５のバッファに復号すべきさらなるシンボルが残っているかどうかを判定する（判定１１９２）。復号器Ｂ３７５のバッファに復号すべきさらなるシンボルが残っている場合、判定１１９２は、次のシンボルを復号すべくループバックする「はい」の分岐に分岐する。このループは、復号器Ｂ３７５のバッファに復号すべきさらなるシンボルが残っていなくなるまで続き、さらなるシンボルが残っていなくなった時点で、判定１１９２は、ループを終了する「いいえ」の分岐に分岐し、固定幅復号器Ｂ３７５処理は、１１９５で終了する。
【００７０】
図１２は、複数の固定幅復号器が、固定ビット幅データ・チャンクを要求し、かつ処理すべくビット・ストリーム・パーティショナとインターフェースをとることの例を示す図である。
【００７１】
固定幅復号器Ａ３７０は、第１のバッファ１２００と、第２のバッファ１２１０とを含む。同様に、固定幅復号器Ｂ３７５も、第１のバッファ１２２０と、第２のバッファ１２３０とを含む。バッファのサイズは、シンボル符号器３００において区分化された固定ビット幅データ・チャンクのサイズ（例えば、各１６ビット）と合致する。ビット・ストリーム・パーティショナ３６５が、多重化されたビット・ストリーム３５５を受信し、多重化されたビット・ストリーム３５５を固定ビット幅データ・チャンクに区分化する。図５を参照すると、順に並んだ固定ビット幅データ・チャンクは、Ａ１、Ｂ１、Ａ２、Ｂ２、Ａ３、Ｂ３、Ｂ４、Ｂ５、Ａ４、Ａ５、およびＢ６である。
【００７２】
固定幅復号器Ａ３７０および固定幅復号器Ｂ３７５が、それぞれに対応するバッファに初期にロードすべくビット・ストリーム・パーティショナ３６５から固定ビット幅データ・チャンクをラウンドロビン順に要求する。このため、固定幅復号器Ａ３７０が、チャンクＡ１を受信し、チャンクＡ１を第１のバッファ１２００にロードする。次に、固定幅復号器Ｂ３７５が、チャンクＢ１を受信し、チャンクＢ１を第１のバッファ１２２０にロードする。次に、固定幅復号器Ａ３７０が、チャンクＡ２を受信し、チャンクＡ２を第２のバッファ１２１０にロードする。次に、固定幅復号器Ｂ３７５が、チャンクＢ２を受信し、チャンクＢ２を第２のバッファ１２３０にロードする。
【００７３】
この時点で、両方の復号器が、可変長シンボルを復号することを開始する準備ができている。本明細書で説明されるとおり、復号器は、復号器が、復号器の第１のバッファと復号器の第２のバッファの間の境界を越えるシンボルを復号するとき、ビット・ストリーム・パーティショナ３６５からさらなる固定ビット幅データ・チャンクを要求する。これが行われた場合、復号器は、復号器の第２のバッファから内容を復号器の第１のバッファに移し、かつ新たに受信された固定ビット幅データ・チャンクを復号器の第２のバッファにロードする。
【００７４】
図１２に示される例に関して、固定幅復号器Ａ３７０が、シンボルＳ１を復号することを、固定幅復号器Ｂ３７５がシンボルＳ２を復号するのと並列に行う。シンボルＳ１およびＳ２は第１のバッファ境界を越えていないため、いずれの復号器も、この時点で別の固定ビット幅データ・チャンクを要求することはしない。次に、固定幅復号器Ａ３７０が、シンボルＳ３を復号することを、固定幅復号器Ｂ３７５がシンボルＳ４を復号するのと並列に行う。シンボルＳ３は、第１のバッファ１２００の境界を越えているため、固定幅復号器Ａ３７０は、ビット・ストリーム・パーティショナ３６５から固定ビット幅データ・チャンクを要求し、シンボルＳ４は、第１のバッファ１２２０の境界を越えているため、固定幅復号器Ｂ３７５もまた、ビット・ストリーム・パーティショナ３６５から固定ビット幅データ・チャンクを要求する。両方の復号器の出力は、図３に示されるとおり、結合器３９０に供給され、組み合わされて、復号されたシンボル・ストリーム３９５にされる。
【００７５】
本開示の特定の実施形態が示され、説明されてきたが、本明細書における教示に基づいて、本開示、および本開示のより広い態様を逸脱することなく、変更および変形が行われてよいことが当業者には明白となろう。したがって、添付の特許請求の範囲は、本開示の真の思想および範囲に含まれるすべてのそのような変更および変形をその範囲内に包含する。さらに、本開示は、添付の特許請求の範囲によってのみ規定されることを理解されたい。導入されるクレーム要素の特定の数が意図される場合、そのような意図は、クレームに明記され、そのような記載がない場合、そのような限定は存在しないことが当業者には理解されよう。非限定的な例に関して、理解の助けとして、添付の特許請求の範囲は、クレーム要素を導入する「少なくとも１つの」および「１つまたは複数の」という導入句の使用を包含する。しかし、同一のクレームが「１つまたは複数の」または「少なくとも１つの」という導入句、および「１つの（ａ）」または「ある（ａｎ）」という不定冠詞を含む場合でも、そのような句の使用は、「１つの（ａ）」または「ある（ａｎ）」という不定冠詞によるクレーム要素の導入が、そのような導入されるクレーム要素を包含する任意の特定のクレームを、１つだけのそのような要素を包含する開示に限定することを暗示するものと解釈されるべきではなく、特許請求の範囲における定冠詞の使用に関しても同じことが当てはまる。
【図１】
2019536367.tif 000003
【図２】
2019536367.tif 000004
【図３】
2019536367.tif 000005
【図４】
2019536367.tif 000006
【図５】
2019536367.tif 000007
【図６】
2019536367.tif 000008
【図７】
2019536367.tif 000009
【図８】
2019536367.tif 000010
【図９】
2019536367.tif 000011
【図１０】
2019536367.tif 000012
【図１１】
2019536367.tif 000013
【図１２】
2019536367.tif 000014
【手続補正書】
【提出日】令和1年8月23日(2019.8.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理システムによって実施される方法であって、
複数のシンボル・セットのそれぞれを複数の固定幅データ・チャンクに区分化することと、
前記複数の固定幅データ・チャンクに対応する１つまたは複数の境界を基準とする前記複数のシンボル・セットに含まれる複数のシンボルのうちの１つまたは複数の位置に対応するシンボル境界情報を作成することと、
前記シンボル境界情報に基づいて、前記複数の固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにすることと、
前記多重化されたビット・ストリームを宛先システムに供給することと
を含む、方法。
【請求項２】
前記区分化の前に、シンボル・ストリームを複数のシンボル・サブストリームに分離することであって、前記区分化が、前記複数のシンボル・サブストリームのそれぞれに対して個々に実行され、前記複数のシンボルが、複数の異なるシンボル長に対応する、前記分離することと、
前記複数の異なるシンボル長のうちの最長のシンボル長に基づいて、前記固定幅データ・チャンクの固定幅サイズを判定することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記複数のシンボル・サブストリームのうちの選択されたシンボル・サブストリームに関して、
前記１つまたは複数の固定幅データ・チャンクのうちの選択された固定幅データ・チャンクに対応する前記複数のシンボルのうちの１つを選択することと、
前記選択されたシンボルが、前記選択された固定幅データ・チャンクに対応する前記１つまたは複数の境界のうちの選択された境界を越えるかどうかを判定することと、
前記選択されたシンボルが前記選択された境界を越えると判定することに応答して、前記シンボル境界情報の前記選択されたスロットに第１のインジケータを記憶することと、
前記選択されたシンボルが前記選択された境界を越えないと判定することに応答して、前記シンボル境界情報の選択されたスロットに第２のインジケータを記憶することと
をさらに含む、請求項２に記載の方法。
【請求項４】
前記組み合わせることが、
前記複数の固定幅データ・チャンクの一部分を前記多重化されたビット・ストリームに前記複数のシンボル・サブストリームのそれぞれに基づく順序でロードする初期ロードを実行することと、
前記初期ロードの後に、前記選択されたスロットが前記第１のインジケータを含むかどうかを判定することと、
前記選択されたスロットが前記第１のインジケータを含むと判定することに応答して、前記選択されたシンボル・サブストリームに対応する選択された固定幅データ・チャンクを前記多重化されたビット・ストリームにロードすることと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記区分化の前に、前記方法が、
圧縮されていないバイト・ストリームを前記複数のシンボルに符号化することと、
前記複数のシンボルを前記シンボル・ストリームに含めることと
をさらに含む、請求項２に記載の方法。
【請求項６】
情報処理システムであって、
１つまたは複数のプロセッサと、
前記プロセッサのうちの少なくとも１つに結合されたメモリと、
前記メモリに記憶されたコンピュータ・プログラム命令のセットであって、
複数のシンボル・セットのそれぞれを複数の固定幅データ・チャンクに区分化する動作、
前記複数の固定幅データ・チャンクに対応する１つまたは複数の境界を基準とする前記複数のシンボル・セットに含まれる複数のシンボルのうちの１つまたは複数の位置に対応するシンボル境界情報を作成する動作、
前記シンボル境界情報に基づいて、前記複数の固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにする動作、および
前記多重化されたビット・ストリームを宛先システムに供給する動作
を実行するために前記プロセッサのうちの少なくとも１つによって実行される前記コンピュータ・プログラム命令のセットと
を含む、情報処理システム。
【請求項７】
情報処理システムに、
複数のシンボル・セットのそれぞれを複数の固定幅データ・チャンクに区分化することと、
前記複数の固定幅データ・チャンクに対応する１つまたは複数の境界を基準とする前記複数のシンボル・セットに含まれる複数のシンボルのうちの１つまたは複数の位置に対応するシンボル境界情報を作成することと、
前記シンボル境界情報に基づいて、前記複数の固定幅データ・チャンクを組み合わせて、多重化されたビット・ストリームにすることと、
前記多重化されたビット・ストリームを宛先システムに供給することと
を含む動作を実行させる、コンピュータ・プログラム。
【請求項８】
情報処理システムによって実施される方法であって、
多重化されたビット・ストリームを複数の固定幅データ・チャンクに区分化することと、
複数の復号器を使用して前記複数の固定幅データ・チャンクに含まれる複数のシンボルを復号して、複数の復号されたシンボル・サブストリームをもたらすことと、
前記複数の復号されたシンボル・サブストリームを組み合わせて、復号されたシンボル・ストリームにすることと、
前記復号されたシンボル・ストリームを処理することと
を含む、方法。
【請求項９】
前記複数の復号器のそれぞれが、前記複数の固定幅データ・チャンクの固定幅サイズにともに基づく第１のバッファと第２のバッファとを含み、前記複数のシンボルが、複数の異なるシンボル長に対応する、請求項８に記載の方法。
【請求項１０】
前記複数の復号器のうちの選択された復号器を使用して、前記方法が、
前記第１のバッファ内に位置する前記複数のシンボルのうちの選択されたシンボルを復号することと、
前記選択されたシンボルが前記第２のバッファ内に達すると判定することと、
前記選択されたシンボルが前記第２のバッファ内に達すると判定することに応答して、
前記第２のバッファからの内容を前記第１のバッファに移すことと、
後続の固定幅データ・チャンクを要求することと
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記後続の固定幅データ・チャンクを受信することと、
前記後続の固定幅データ・チャンクを前記第２のバッファにロードすることと
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記処理することが、
前記復号されたシンボル・ストリームを復号して、復元されたバイト・ストリームをもたらすことをさらに含む、請求項８に記載の方法。
【請求項１３】
情報処理システムであって、
１つまたは複数のプロセッサと、
前記プロセッサのうちの少なくとも１つに結合されたメモリと、
前記メモリに記憶されたコンピュータ・プログラム命令のセットであって、
多重化されたビット・ストリームを複数の固定幅データ・チャンクに区分化する動作、
複数の復号器を使用して前記複数の固定幅データ・チャンクに含まれる複数のシンボルを復号して、複数の復号されたシンボル・サブストリームをもたらす動作、
前記複数の復号されたシンボル・サブストリームを組み合わせて、復号されたシンボル・ストリームにする動作、および
前記復号されたシンボル・ストリームを処理する動作
を実行するために前記プロセッサのうちの少なくとも１つによって実行される前記コンピュータ・プログラム命令のセットと
を含む、情報処理システム。
【国際調査報告】
2019536367.tif 000015
2019536367.tif 000016