"多次元の第1データ構造をフィルタリングするためのフィルタリング方法であって、前記フィルタリング方法は、前記第1データ構造の単一行に、水平方向に整列された値を結合することで、水平フィルタを実行するための命令を受取ることと;前記第1データ構造の単一行から、少なくとも結合されるべき値を転置された配列でロードして、内部メモリにおける多次元の第2データ構造の単一列として記憶することであって、前記単一列内の転置された各値は、前記内部メモリにおける複数の個別アドレス指定可能メモリユニットのそれぞれ互いに異なる一つに別個に記憶されることと;転置された各値を記憶する別個の個別アドレス指定可能メモリユニットにアクセスすることで、前記水平フィルタによって結合用に指定された各値を独立に操作および結合することとを含むことを特徴とする、フィルタリング方法。前記フィルタリング方法はさらに、前記第1データ構造の単一列に垂直方向に整列された値を結合することで垂直方向にフィルタリングするための命令を、受取ることと;前記第1データ構造の単一列から、結合されるべき値を同じ転置されない配列でロードして、前記内部メモリにデータ構造の単一列として記憶することとを含む、請求項1記載のフィルタリング方法。前記フィルタリング方法はさらに、前記第1データ構造の何らかの任意のパターンで配置された値を結合することでフィルタリングの命令を受取ることと;前記第1データ構造から結合されるべき値をロードして、前記内部メモリにおけるデータ構造の単一列として記憶することとを含む、請求項1記載のフィルタリング方法。前記フィルタは、値の線形結合を用いて指定された値を結合する、請求項1記載のフィルタリング方法。前記フィルタは、値の非線形結合を用いて指定された値を結合する、請求項1記載のフィルタリング方法。フラグ値またはレジスタ値は、フィルタが水平フィルタまたは垂直フィルタであるかを示す、請求項1記載のフィルタリング方法。前記第1データ構造は、密結合メモリに初期配列で記憶され、前記第2データ構造は、個別アドレス指定可能メモリユニットに転置された配列で記憶され、前記密結合メモリと前記個別アドレス指定可能メモリユニットとは、同じプロセッサの内部に存在するか、またはプロセッサに直接アクセス可能である、請求項1記載のフィルタリング方法。前記フィルタリング方法はさらに、前記第2データ構造から値を転置された配列で伝送して、前記個別アドレス指定可能メモリユニットの外部に存在する1個以上のメモリユニットに記憶することを含む、請求項1記載のフィルタリング方法。前記値は、ピクセル値であり、前記データ構造は、画像データまたは映像データを表し、前記フィルタリング方法はさらに、フィルタリングされたピクセル値を有する画像を表示することを含む、請求項1記載のフィルタリング方法。多次元の第1データ構造をフィルタリングするためのプロセッサであって、前記プロセッサは、前記プロセッサに直接アクセス可能な複数の個別アドレス指定可能メモリユニットを有する内部メモリと;前記第1データ構造の単一行に水平方向に整列された値を検索して、前記水平方向に整列された値を転置された配列で前記個別アドレス指定可能メモリユニットにおける多次元の第2データ構造の単一列に垂直方向に整列して記憶するためのロードユニットとを含み、単一列内の転置された各値は、前記内部メモリにおける複数の前記個別アドレス指定可能メモリユニットのそれぞれ互いに異なる一つに別個に記憶され、前記プロセッサは、転置された各値を記憶する別個の前記個別アドレス指定可能メモリユニットにアクセスすることで、水平フィルタによって結合用に指定された各値を独立に操作および結合することを特徴とする、プロセッサ。前記プロセッサが、前記第1データ構造の単一列に垂直方向に整列された値を結合することで、画像を垂直方向にフィルタリングするための命令を受取ると、前記ロードユニットは、前記第1データ構造の単一列から結合されるべき値を同じ転置されない配列でロードして、前記内部メモリにおけるデータ構造の単一列として記憶する、請求項10記載のプロセッサ。前記プロセッサが、前記第1データ構造の何らかの任意のパターンで配置された値を結合することで、フィルタリングの命令を受取ると、前記ロードユニットは、前記第1データ構造から結合されるべき値をロードして、前記内部メモリにデータ構造の単一列として記憶する、請求項10記載のプロセッサ。前記ロードユニットは、前記第2データ構造から値を転置された配列で伝送して、前記個別アドレス指定可能メモリユニットの外部に存在する1個以上のメモリユニットに記憶する、請求項10記載のプロセッサ。前記プロセッサは、前記第2データ構造から値を転置された配列でロードして、前記個別アドレス指定可能メモリユニットの外部に存在する1個以上のメモリユニットに記憶する、請求項10記載のプロセッサ。多次元データ構造をフィルタリングするためのフィルタリングシステムであって、前記フィルタリングシステムは、多次元データの値を記憶するための第1メモリユニットにおける多次元の第1データ構造と;前記第1データ構造の単一行に水平方向に整列された値を結合することで、水平フィルタを実行するための命令を受取るプロセッサと;プロセッサに直接アクセスできる複数の個別アドレス指定可能メモリユニットを有する内部メモリユニットである内部メモリにおける、多次元の第2データ構造と;前記第1データ構造の単一行から少なくとも結合されるべき値を転置された配列でロードして、前記内部メモリの複数の前記個別アドレス指定可能メモリユニットに、前記第2データ構造の単一列として記憶するためのロードユニットとを含み、前記単一列の転置された各値が、前記内部メモリにおける複数の前記個別アドレス指定可能メモリユニットの互いに異なる一つに別個に記憶され、さらに前記プロセッサは、転置された各値を記憶する別個の個別アドレス指定可能メモリユニットにアクセスすることで、水平フィルタによって結合用に指定された各値を独立に操作および結合することを特徴とする、フィルタリングシステム。プロセッサは、内部または外部コンピュータメモリからデータたとえばピクセル値を検索して、プロセッサの内部に存在するか、またはプロセッサによって直接アクセス可能で個別アドレス指定可能メモリユニット、たとえばベクトルレジスタに記憶させることができる。典型的には各ベクトルレジスタは、データアレイの単一行または行セグメントからの一連の値を含むベクトルを記憶する。プロセッサは典型的にはそれぞれ個別アドレス指定可能メモリユニットに記憶された完全なデータセットを一緒に依存的に操作する。しかし、フィルタを使用するためには、プロセッサは、互いに隣合うデータ値を線形結合もしくは非線形結合において、または加重和で結合しなければならず、各値は、互いに異なる重みを持ってよい。互いに異なる重みを持って線形結合または非線形結合において結合された値は、独立に操作され得るので、フィルタは、各計算サイクルにおいて別個のレジスタに記憶された値に対してのみ適用され得る。垂直フィルタは、列内の値を結合し、これらの典型的には別個のレジスタまたはメモリユニットに記憶されるので、プロセッサは、1回のサイクルで垂直方向の値を独立に操作および結合できる。しかしながら、水平フィルタは、典型的には単一行内の値を結合し、これらの値は、同じレジスタまたはメモリユニットに記憶され、それゆえ1回のサイクルで独立に操作してデータを寸法水平方向にフィルタリングすることはできない。従来の画像システムにおいて、この問題を解決して水平フィルタを実行するために、幾つかのプロセッサは、水平ピクセル値の行セグメントをさらに個別レジスタに細分して、各レジスタが個々のピクセルに対する1個の値を記憶して独立に操作されるようにする。この技術は、非常に多数のメモリとアドレス資源を使用し、追加の計算サイクルを加える。他の従来のプロセッサは、線形結合された単一データ値に対して意図された各動作を、同じレジスタまたはメモリユニットに記憶された同じ行からの多数のデータ値の全部で反復的に実行することがある。この技術は、動作が意図されていないデータ値で不必要な動作を実行し、したがってレジスタまたは個別アドレス指定可能メモリユニット内の各データ値に対して意図された動作を実行するために、別個の計算サイクルを要求する。本発明の実施態様は、従来の画像システムの難点を伴わずに水平フィルタに対するデータ値を独立に操作するために、1回の計算サイクルで画像の行セグメントから検索された各データ値を独立にロードまたは記憶するシステム、方法およびプロセッサを対象とする。本発明の実施態様に従い、水平フィルタを実行するプロセッサは、データブロック内の各行のデータ値を検索し、内部メモリに転置された配列でたとえば行から列に回転してロードして記憶する。したがって、従来は、内部メモリ内の単一の個別アドレス指定可能メモリユニットに記憶されて、依存的であって自動的に結合され得ない水平方向に互いに隣合うピクセルまたはその他のデータに対する値が、内部メモリから列として配列されて検索される。それぞれ個別アドレス指定可能メモリユニットは、多次元アレイの単一行に水平方向に配列された要素を記憶し、列内の各要素は、互いに異なる行にあり、再配列された列の各要素は、個別アドレス指定可能メモリユニットのそれぞれ互いに異なる一つに自動的に分離され、そこで独立に操作されてよい。水平フィルタに対するデータ値は、転置された配列で検索し、かつ垂直フィルタに対するデータ値は、転置されない配列でこれらは既に理想的に配列されている検索することで、本発明の実施態様に従って動作するプロセッサは、同じ線形結合で結合されるべき互いに隣合うデータ値を、内部プロセッサメモリにおける互いに異なる個別アドレス指定可能メモリユニットに自動的に分離する。したがってプロセッサは、垂直フィルタまたは水平フィルタで結合されたすべての互いに隣合うデータ値を、1回の計算サイクルでそれぞれのレジスタから並行にアクセスして独立に操作できる。図1は、本発明の実施態様に従う例示的な装置の概略的な図解を参照する。装置100は、コンピュータ装置、映像、または画像取込装置または再生装置、セル装置、またはその他の何らかのデジタル装置、たとえば携帯電話、個人用デジタル補助装置PDA、ビデオゲームコンソールなどを含んでよい。装置100は、映像データまたは画像データを記録、保存、記憶、処理、編集、表示、投影、受信、送信などして使用または操作するための一連の命令を実行できる装置を含むことができる。装置100は、入力装置101を有することができる。装置100が記録能力を有するときは、入力装置101は、撮像装置、たとえばイメージャ、1個以上のレンズ、プリズムまたはミラーなどを含むカムコーダを備えて、物理的対象の像を、対象から出る光波の反射を介して取込むことができ、および/またはオーディオレコーダ、マイクロホンなどを含む録音装置を備えて、これに投射される音波を記録することができる。装置100が画像処理能力を有するときは、入力装置101は、ユーザが映像または画像処理操作を制御、修正または選択するために、ポインティングデバイス、クリックホイールもしくはマウス、キー、タッチスクリーン、音声認識を用いたレコーダ/マイクロホン、その他の入力コンポーネントを有してよい。装置100は、プロセッサ1によって実行される命令のシーケンスに従って映像データまたは画像データをユーザインタフェースに表示するための出力装置102たとえばモニター、プロジェクタ、スクリーン、プリンタまたはディスプレイを有してよい。例示的な装置100は、プロセッサ1を含むことができる。プロセッサ1は、中央処理装置CPU、デジタルシグナルプロセッサDSP、マイクロプロセッサ、コントローラ、チップ、マイクロチップ、フィールドプログラマブルゲートアレイFPGA、特定用途向け集積回路ASICまたはその他の何らかの集積回路IC、またはその他の何らかの適切な多目的もしくは特定プロセッサまたはコントローラを有してよい。装置100は、外部メモリユニット2とメモリコントローラ3を含んでよい。メモリコントローラ3は、たとえば1個以上のデータバス8を介してプロセッサ1、外部メモリユニット2および出力装置102との間のデータ伝送を制御できる。装置100は、たとえば1個以上のデータバス9を介して出力装置102に表示されるデータ伝送を制御するためのディスプレイコントローラ5を含んでよい。装置100は、記憶ユニットストレージユニット4を備えることができる。記憶ユニット4は、映像データまたは画像データを圧縮して記憶でき、外部メモリユニット2は、映像データまたは画像データを圧縮せずに記憶され得る。しかしながら、圧縮されたデータまたは圧縮されないデータは、いずれのメモリユニットでも記憶されることができ、またデータを1個以上のメモリに記憶するための別の配置構成が使用されてもよい。各圧縮されないデータ要素は、画像または映像フレーム内の1ピクセルに一意的に関連付けられた値を持つことができ、各圧縮されたデータ要素は、1フレーム内のピクセルの値、またはビデオストリームもしくは動画における連続フレームの間のピクセルの値の変動または変化を表すことができる。別途指摘のない限り、本明細書中で使用されるデータ要素は一般に、たとえば単一の画像フレームにおける1ピクセル値またはピクセル成分値たとえばYUV値またはRGB値に関係する圧縮されないデータ要素を指し、たとえば連続画像フレームにおけるピクセルの値の間の変化に関係する圧縮されたデータ要素を指すのではない。ピクセルアレイに対する圧縮されないデータは、対応する1個の多次元データアレイたとえば図2のうちの2A部分以下、図2Aと2B部分以下、図2B、および図3に示すにおいて表されてよく、圧縮されたデータは、データストリームまたは一次元1Dデータアレイ図示せずとして表されてよい。内部メモリユニット14は、直接アクセス可能か、またはプロセッサ1の内部の物理的に取付けた、もしくは内部に格納されたメモリユニットであることができる。内部メモリユニット14は、短期的メモリユニットであってよく、外部メモリユニット2は、長期的または短期的メモリユニットであってよく、記憶ユニット4は、長期的メモリユニットであってよい。しかしながらこれらのいずれのメモリも長期的メモリユニットまたは短期的メモリユニットであることができる。記憶ユニット4は、1個以上の外部駆動装置、たとえばディスクドライブもしくはテープドライブ、または外部装置、たとえばビデオレコーダ、オーディオレコーダおよび/または画像レコーダ内のメモリを含んでよい。内部メモリユニット14、外部メモリユニット2および記憶ユニット4は、たとえばランダムアクセスメモリRAM、ダイナミックRAMDRAM、フラッシュメモリ、キャッシュメモリ、揮発性メモリ、非揮発性メモリまたはその他の適切なメモリユニットもしくは記憶ユニットを含むことができる。内部メモリユニット14、外部メモリユニット2および記憶ユニット4は、各別のメモリユニットたとえばオフチップまたは一体化されたメモリユニットたとえばオンチップとして実装できる。多層メモリまたはメモリ階層が存在する実施態様において、記憶ユニット4と外部メモリユニット2は、オフチップであってよく、内部メモリユニット14は、オンチップであってよい。たとえば内部メモリユニット14は、密結合メモリTCM、バッファまたはキャッシュ、たとえばL1キャッシュもしくはL2キャッシュを含んでよい。L1キャッシュは、L2キャッシュよりも比較的多くプロセッサ1に一体化され、プロセッサのクロックレートで動作できるのに対し、L2キャッシュは、L1キャッシュよりも比較的少なくプロセッサ1に一体化され、プロセッサのクロックレートとは異なる速度で動作できる。一実施態様において、プロセッサ1は、メモリユニット、たとえば外部メモリユニット2、内部メモリユニット14および/または記憶ユニット4との間でデータの読取り、書込み、および/または伝送を行うためにダイレクトメモリアクセスDMAユニットを使用してよい。その他の、または追加のメモリアーキテクチャーも使用できる。プロセッサ1は、ロードユニット12、マップユニット6および実行ユニット11を含んでよい。プロセッサ1は、外部メモリユニット2、内部メモリユニット14および/または記憶ユニット4からのデータを要求、検索および処理でき、一般にデータで実行された操作のパイプラインフローを制御できる。プロセッサ1は、デジタル映像または画像の1個以上のピクセルをフィルタリングする命令を、たとえばプログラムメモリたとえば外部メモリユニット2および/または記憶ユニット4から受取る。この命令は、フィルタリングされるべきピクセルまたはそのアドレスのセット、ピクセルのセットをフィルタリングするために使用される互いに隣合うピクセルの相対的位置、フィルタの加重和の重みまたは式、および/またはフィルタが水平フィルタ、垂直フィルタ、互いに異なる方向を有するフィルタもしくは非方向性フィルタを示してよい。一実施態様において、フラグ値または他のレジスタ値は、フィルタが垂直フィルタフラグ値==0であるか水平フィルタフラグ値==1であるか示すことができる。プロセッサ1は、画像内の各々の順次的なピクセル、行、列、ブロックまたはその他のピクセルのセットで、たとえば全部の画像がフィルタリングされるまで、フィルタを反復的に実行してよい。プロセッサ1は、データ要素を処理するために、複数の個別アドレス指定可能メモリユニット16を含んでよい。個別アドレス指定可能メモリユニット16たとえばベクトルレジスタは、プロセッサ1の内部にあり、内部プロセッサ14の内部に組み込まれているか、または内部プロセッサ14の外部に隔離されてよい。各計算サイクルにおいてロード/記憶ユニット12は、たとえば内部メモリユニット14または外部メモリユニット2におけるTCM密結合メモリ内のデータ構造の単一行から、順次データ要素のセットまたはバーストを検索し、または取り出すことができ、このデータを内部メモリユニット14の個別アドレス指定可能メモリユニット16にロードして記憶できる。代替として、単一行からデータ要素を検索する代わりに、ロード/記憶ユニット12は、各ロード/記憶動作でデータ構造の単一列から順次データ要素を検索してよい。さらに別の実施態様では、各サイクルにおいてロード/記憶ユニット12は、多次元データブロックたとえば図2Aの多次元データアレイ200を検索できるが、これはたとえば2010年6月10日に提出され本発明と同じ譲受人に譲渡された同時係属の米国特許出願第12/797727号明細書特願2011-129228号で開示されている。従来のベクトルレジスタは、典型的には多次元データ構造の単一行から検索された複数の順次データ値を記憶する。従来のプロセッサは、典型的には同じベクトルレジスタに記憶された各データ値を、同じベクトルの互いに異なる座標のように一緒に処理する。データ構造の列からのデータ値を結合する垂直フィルタを実行するために、従来のプロセッサは、データ構造の互いに異なる行から検索された各データ値を、互いに異なるレジスタに別個に記憶し、ここでデータ値は、同時に独立に操作され得る。しかしながら従来のプロセッサは、典型的には水平フィルタにおいて結合されるべきデータ値をデータ構造の同じ行から検索し、それゆえデータ値を同じレジスタに記憶し、ここではデータ値は、独立に操作され得ない。したがって、水平フィルタリングのために新しい解決が必要とされる。発明の実施態様に従い、プロセッサ1は、水平フィルタを実行し、ロード/記憶ユニット12は、データブロック内の各行のデータ値を、内部メモリユニット14のレジスタまたは個別アドレス指定可能メモリユニット16に転置された配列でたとえば行から列に回転して記憶する。したがって画像については、画像の1行水平方向に整列されたピクセル値は、個別アドレス指定可能メモリユニット16における1列に垂直方向に整列される。転置されて垂直方向に整列された各ピクセル値は、互いに異なる行にあり、それゆえ互いに異なる個別アドレス指定可能メモリユニット16に記憶され得る。プロセッサ1は、各々互いに異なるメモリユニット16を独立に操作でき、したがって線形結合における各データ値も同様に1回の計算サイクルで独立に検索および操作され得る。したがってプロセッサ1は、水平フィルタに対する値を、転置された配列で単一行セグメントに結合されるべき値を垂直方向に整列する検索し、一方で垂直フィルタに対する値を、転置されない配列で結合されるべき値は既に垂直方向に整列されている検索してよく、データ値を自動的に異なるメモリユニット16に分離して、多次元データに垂直フィルタと水平フィルタの双方を適用するために結合された値を同時に独立に操作できる。以下に挙げる例で、本発明の実施態様をより詳細に説明する。この例は、画像の4x4ピクセル小領域を表す4x4サブアレイのフィルタリングについて説明しており、各サブアレイは、たとえば次のような16ピクセル値pijを含んでいる。サイズまたは寸法が、これとは異なる他のサブアレイも等しく使用できる。垂直フィルタを実行するプロセッサ1は、画像の列セグメントからの垂直方向に互いに隣合うピクセルの値を結合して、各々フィルタリングされたピクセル値を生成できる。たとえば上記のデータブロックの第j列からの互いに隣合う垂直ピクセルの線形結合は、ap1jbp2jcp3jdp4jであってよく、ここでa、b、cおよびdは、有理数値または整数値である。水平フィルタを実行するプロセッサ1は、画像の行セグメントからの水平方向に互いに隣合うピクセルの値を結合して、各々フィルタリングされたピクセル値を生成できる。たとえば上記のデータブロックの第i行から水平方向に互いに隣合うピクセル値の線形結合は、epi1fpi2gpi3hpi4であってよく、ここでe、f、gおよびhは、有理数値または整数値である。互いに隣合うピクセル値を垂直フィルタまたは水平フィルタで結合するために、プロセッサ1は、結合された各ピクセル値pijに独立に加重和における互いに異なる重みを乗じることができる。プロセッサ1は、データブロックの要素を行毎に検索してそれぞれ4ベクトルレジスタたとえば個別アドレス指定可能メモリユニット16のセットに記憶できる。たとえばレジスタv1は、ピクセル値p11、p12、p13、p14を記憶できる。レジスタv2は、ピクセル値p21、p22、p23、p24を記憶できる。レジスタv3は、ピクセル値p31、p32、p33、p34を記憶できる。レジスタv4は、ピクセル値p41、p42、p43、p44を記憶できる。ベクトルまたはアレイプロセッサ1は、典型的には同じ計算をすべての要素、たとえば各ベクトルレジスタviに記憶されているピクセル値pi1、pi2、pi3およびpi4で一緒に実行する。各レジスタは、単一行からのデータ要素を記憶し、垂直フィルタは、単一列からのピクセル値を結合するので、プロセッサ1は、結合された各ピクセル値をそれぞれ互いに異なるレジスタv1、v2、v3、v4に分離できる。このようにしてプロセッサ1は、垂直方向に互いに隣合うピクセル値p1j、p2j、p3jおよびp4jを独立に乗算して結合できる。上述した垂直フィルタの線形結合、たとえばap11bp21cp31dp41を計算するために、プロセッサ1は、各レジスタのピクセル値と相応の重みまたは乗数の積を計算する。たとえば線形結合における項ap1jを計算するために、プロセッサ1は、ピクセル値p1jを含むレジスタv1内の値に乗数aを乗算して、ベクトルap11、ap12、ap13、ap14を生成できる。同様に、線形結合における次の項を計算するために、プロセッサ1は、レジスタv2内の値に乗数bを掛けるというように続いてよい。プロセッサ1は、4積から関連する項ap11、bp21、cp31およびdp41を結合して垂直フィルタに対する線形結合ap11bp21cp31dp41を生成できる。各ピクセル値は、互いに異なるレジスタ内に存在するので、プロセッサ1は、同じまたは互いに異なる計算サイクルで各ピクセル値に互いに異なる乗数を掛けることができる。各レジスタ内で単一の項のみ各線形結合に用いられ、ベクトルプロセッサ1は、ベクトルレジスタのすべての要素で同じ計算を実行するので、各ベクトル計算の副産物として追加の項が生成されよう。線形結合においてピクセルの現在の第1列をフィルタリングするために使用されない計算された項、たとえば追加の項ap12、ap13およびap14は、同じ計算サイクルで次のそれぞれ空間的に連続するピクセルの第2、第3および第4列をフィルタリングするために使用され得る。水平フィルタに対して、水平方向に整列されたピクセルの値pi1、pi2、pi3およびpi4は、従来単一レジスタviに記憶され、それゆえプロセッサ1は、これらのピクセルを同じ計算サイクルで個別に操作または結合できないであろう。この問題を解決するために、水平フィルタを実行するとき、本発明の実施態様に従って動作するプロセッサ1は、各ピクセル値pijを転置された配列pjiで検索してよい。したがってプロセッサ1は、レジスタ内の画像の第i行からのピクセルを表すピクセル値pi1、pi2、pi3およびpi4の各セットを第i列として記憶してよい。たとえばレジスタv1は、ピクセル値p11、p21、p31、p41を記憶できる。レジスタv2は、ピクセル値p12、p22、p32、p42を記憶できる。レジスタv3は、ピクセル値p13、p23、p33、p43を記憶できる。レジスタv4は、ピクセル値p14、p24、p34、p44を記憶できる。したがってプロセッサ1は、画像内で水平方向に整列されたピクセルの値を列として再配列でき、それによってこれらの値をそれぞれのレジスタv1、v2、v3、v4に分離できる。このような転置は、垂直フィルタに対するピクセル値を検索するためには必要とされず、これらのピクセル値は、既に垂直方向に配列されていてよい。プロセッサ1は、水平フィルタに対しては内部メモリ14の行から、垂直フィルタに対しては、内部メモリ14の列から互いに隣合うピクセル値を、互いに異なるレジスタたとえば個別アドレス指定可能メモリユニット16間で分離された列として検索および記憶できる。このようにしてプロセッサ1は、1回の計算サイクルで、かつ同じ効率をもって各ピクセル値を検索し、水平フィルタまたは垂直フィルタによって結合され得るように別個のレジスタに独立に記憶できる。フィルタによって結合されるべき各ピクセル値が互いに異なるレジスタに記憶されていることで、プロセッサ1は、水平フィルタおよび垂直フィルタの双方に対して線形または非線形結合を計算できる。一般に、プロセッサ1は、何らかの方向フィルタに対して列として再配列されて結合されるべきピクセル値を検索できるたとえば斜め、ラジアンなど。このようにして、プロセッサ1は、結合されるべき各ピクセル値を、同じ計算サイクルで独立の操作のために別個のレジスタアドレスに個別に記憶できる。さらに、何らかの非方向性フィルタたとえば2次元ブロックに及ぶピクセルなど優勢な方向性を持たないフィルタに対して、プロセッサ1は、ピクセル値を独立に、たとえば並行または同時に操作するために、フィルタによって結合されるべき各ピクセル値を同じ計算サイクルで別個のレジスタに記憶できる。従来のプロセッサは、典型的には画像の同じ行から検索されたピクセル値を別個のレジスタに独立に記憶するために追加の多数のステップを用いて、これらの値を水平フィルタに対して独立に操作し、他方、垂直フィルタに対してはピクセル値を1回の計算サイクルで検索して独立に記憶する。これとは対照的に、本発明の実施態様に従って動作するプロセッサ1は、いずれのフィルタも同じ効率で適用するために、水平フィルタまたは垂直フィルタによって結合されるべき各ピクセル値を1回の計算サイクルで検索して別個のレジスタに独立に記憶できる。本発明の実施態様のその他の利点は、フィルタリングに使用されるプログラムとメモリ資源を少なくすることである。従来の画像システムでは、水平フィルタと垂直フィルタは、2つの互いに異なる図式で動作する2個の別個のフィルタであり、これらの図式は、たとえば行セグメントまたは、列セグメントにおいて結合されるべき互いに隣合うピクセルの互いに異なる空間的関係を識別する。したがって、従来の水平フィルタと垂直フィルタは、別個の命令図式およびメモリ資源を使用する。しかしながら本発明の実施態様に従い、単にフィルタが動作するデータを転置することで、プロセッサは、自動的に垂直フィルタと水平フィルタの実行を切り替える。すなわち、ピクセル値が転置されると、水平フィルタは、垂直フィルタと等しくなるのである。したがって水平フィルタリングと垂直フィルタリングの双方に対して単一のフィルタを使用することができ、それによってプログラムとメモリ資源を2の倍数で少なくできる。一般に、プロセッサは、何らかのフィルタで結合される何らかのピクセルのセットを内部メモリのレジスタユニットの列に再配列して独立に操作されるようにできる。したがって何らかの方向のフィルタおよび/または非方向性フィルタに対するピクセルを結合するために単一のフィルタが使用されてよく、それによってプログラムとメモリ資源の使用を画像で使用される互いに異なるフィルタの数に等しい倍数だけ少なくできる。ある実施態様において、画像を処理するために使用されるプログラムは、オーバーヘッドおよび/または計算またはメモリ資源を増やすことなく、方向性フィルタまたは非方向性フィルタの数を増すことができる。図2Aは、本発明の実施態様の理解に有用な映像データおよび画像データを記憶するための多次元データアレイ200を概略的に図解する。データアレイ207は、水平フィルタが実行されるべきnxmデータブロックである。データアレイ200は、データアレイ207と、データアレイ207で水平フィルタを実行するために使用される互いに隣合うピクセル値とを含むnxmqデータブロックであってよい。水平フィルタに対する線形結合は、データアレイ207における各ピクセル値を、同じ行でこのピクセル値に先行する項および/またはこのピクセル値に後続する項を含め、水平方向に互いに隣合う項qと結合できる。線形結合は、フィルタリングされるべき値それ自体を含んでも含まなくてもよく、たとえばそれぞれq1またはqピクセル値を結合できる。図2Aの例では、データアレイ207は、8x4データアレイ207をフィルタリングするための8x9データブロックであり、線形結合は、1フィルタリングされるべきピクセル値と、q=5水平方向に互いに隣合うピクセル値、たとえば2先行ピクセル値および3後続ピクセル値とを有するq1=6ピクセル値を含んでよい。たとえばフィルタ式は、q1=6項の線形加重和、たとえばx15x220x320x45x5x616/32であってよく、ここでxiは、レジスタvi内のピクセル値ベクトルである。データアレイ200および207は、他のサイズまたは寸法を有してよく、線形結合は、同じ行からの任意の数の項またはピクセル値、互いに隣合うピクセル値を含んでよく、その場合にフィルタリングされるべきピクセル値に先行するピクセル値のみ、後続するピクセル値のみ、先行するピクセル値と後続するピクセル値の双方を含み、フィルタリングされるべきピクセル値を含み、または含まず、これらは順次列挙されてもされなくてもよいことが理解されよう。一実施態様において、水平フィルタに対する線形結合において結合されるピクセル値の数qまたはq1を増すと、データアレイ207を水平方向にフィルタリングするために使用されるデータアレイ200の幅寸法mqが増してよい。同様に、垂直フィルタに対して結合されるピクセルの数を増すと、データアレイ207を垂直方向にフィルタリングするために使用されるデータアレイ200の高さ寸法が増す。図2Aの例は、水平動き補償フィルタに対して使用されてよく代替としてデブロッキングフィルタなど他のタイプのフィルタに対して使用されるか、または使用されるように調整されてよい。発明の実施態様に従い、本明細書において、第1メモリユニットで初期配列を有する図2Aのデータアレイ200からピクセル値を検索してロードし、ピクセル値を第2メモリユニットに転置された配列でたとえば図2Bの転置されたデータアレイ200’として記憶することを含む水平フィルタリングのための機構が設けられている。プロセッサは、初期データアレイ200の同じ行から検索された各ピクセル値が、転置されたデータアレイの互いに異なる行に、それゆえ内部メモリユニットの互いに異なるレジスタに記憶され、水平フィルタ動作に対して同時に独立に操作され得るようにできる。ある実施態様において、水平フィルタに対する命令を受取り、垂直フィルタに対する命令を受取らないときは、プロセッサは、転置された検索動作を実行するように指示されてよい。しかしながら各レジスタに記憶されたピクセル値が行に代えて列から検索される別の実施態様では、プロセッサは、垂直フィルタに対する命令を受取り、水平フィルタに対する命令を受取らないときは相応に実行するように指示されてよい。図2Bは、本発明の実施態様に従う水平フィルタを実行するため図2Aのデータアレイ200から転置されたデータアレイ200’を,概略的に図解する。水平フィルタを実行するプロセッサは、図2Aのデータアレイ200内の初期位置またはインデックスを有するピクセル値を、図2Bのデータアレイ200’内の相対的に転置された新しい位置またはインデックスに転置できる。たとえばデータアレイ200内の各ピクセルpijは、データアレイ200’内の新しい位置pjiに再配列され得る。したがってnxmqデータアレイ200は、mqxnデータアレイ200’に転置されてよく、データアレイ200の各第n行の要素は、データアレイ200’の第n列として再配列される。たとえばデータアレイ200の第1行のピクセル値00-08は、データアレイ200’の第1列として再配列され得る。図2Aと図2Bの例では、8x9データアレイ200は、9x8データアレイ200’に転置されてよい。プロセッサは、ピクセル値を個々に、またはグループで、またはサブアレイ201-206で検索および転置できる。データアレイ200からの各サブアレイ201-206は、転置された配列で再配列されて、データアレイ200’のサブアレイ201’-206’を形成できる。ある実施態様においてサブアレイ201-206は、8または16ロード/記憶サイクルで行毎に検索されてよい。別の実施態様では、米国特許出願第12/797727号明細書で開示されているように、完全な各サブアレイ201-206が単一の1ロード/記憶サイクルで検索され得る。転置されたデータアレイ200’は、内部メモリたとえば図1に示す個別アドレス指定可能メモリユニット16のレジスタ208に行毎に記憶されてよく、各レジスタ208は、ピクセルの値を単一行として配列またはロードされて記憶する。水平フィルタにおいて結合されたデータアレイ200内のピクセル値の行は、転置されたデータアレイ200’における列としてロードされ、各レジスタ208は、単一行としてロードされたピクセル値を記憶するので、結合されたピクセル値の各々は、mq=9レジスタ208、v0-v8に別個に記憶されてよい。プロセッサは、別個のレジスタ208に記憶されたピクセル値を独立に操作することでフィルタを使用できる。プロセッサは、別個のアドレス経由で各レジスタ208に独立にアクセスできる。水平フィルタの各線形結合に使用されるすべてのピクセル値は、それぞれ別個のレジスタ208に記憶されるので、プロセッサは、このようなすべてのピクセル値を独立に検索し、乗算し、結合できる。各レジスタ208は、行として配列されたデータ要素を記憶し、垂直フィルタは、単一列から検索されたピクセル値を結合するので、同じ線形結合で結合されたピクセル値の各セットは、自動的に別個のレジスタ208、v0-v8にロードされ得る。したがって垂直フィルタに対しては、プロセッサは、ピクセル値をデータアレイ200’において元の転置されない配列で記憶できる。図3は、本発明の実施態様に従い映像データおよび画像データにフィルタを摘要するためのデータアレイを、概略的に図解する。プロセッサは、データアレイ200’を使用してデータアレイ207’をフィルタリングしてよく、データアレイ207’は、水平フィルタにとって図2Aの元のデータアレイ207を転置したものそれゆえフィルタリングの等効物である。図2Aと図2Bを参照して説明したように、結合されるべき互いに隣合うピクセル値たとえば水平フィルタと垂直フィルタに対してそれぞれ図2Aのデータアレイ200の水平方向または垂直方向に整列されたピクセル値は、図2Bのデータアレイ200’の単一列に配列される。したがってプロセッサは、線形結合において結合されるべき各ピクセル値を、垂直フィルタと水平フィルタの双方に対して別個の個別アドレス指定可能レジスタ208に記憶できる。一般にプロセッサは、垂直フィルタまたは水平フィルタ以外の非方向性フィルタまたは方向性フィルタで結合された別個のピクセル値を、それぞれ互いに異なるレジスタ208に分離してもよい。水平フィルタと垂直フィルタの双方を実行するために、プロセッサは、データアレイ200’の各列セグメントでq1垂直方向に整列されたピクセル値を結合して同じ列内の各ピクセルをフィルタリングしてよい。プロセッサは、一度に多数のピクセルをフィルタリングできる。一実施態様において、プロセッサは、データアレイ200’内の各1xn行のピクセルをフィルタリングするために、各q1xnデータアレイ209’を、それぞれq1x1列セグメントの互いに隣合う値と一緒に使用してよい。たとえばプロセッサは、第16x8データアレイ209’を使用して、データアレイ200’の第1行210をフィルタリングしてよい。プロセッサは、第26x8データアレイ209’第1データアレイ209’の1行下で垂直方向に順次的なq1xnデータアレイを使用して、データアレイ200’内の次の順次的なピクセル行211をフィルタリングできる、というように続く。プロセッサは、全データアレイ207’がフィルタリングされるまで、データアレイ200’の各々の順次的なq1xnデータアレイ209’を使用して、データアレイ207’の順次的な各行210、211、212および213でフィルタリングを継続できる。総じて、mxnデータアレイ207’内のすべてのm行を順次的なq1xnデータアレイ209’と一緒にフィルタリングするために、全mqxnデータアレイ200’が使用されてよい。プロセッサは、データアレイ207’とデータアレイ200’の互いに隣合うピクセル値とのフィルタリングされた結合であるフィルタリングされたデータアレイ214’を生成できる。フィルタリングされたデータアレイ214’の各行のフィルタリングされたピクセル値は、内部メモリで別個のレジスタ208、たとえばレジスタv9-v12に記憶されてよい。フィルタリングされたデータアレイ214’が生成されたら、プロセッサは、フィルタリングされたピクセル値を記憶および使用できる。垂直フィルタが使用されて元のデータアレイ207と200がレジスタ208に対して転置されなかった場合にはプロセッサは、レジスタ208の配列においてフィルタリングされたピクセル値を記憶および使用できる。しかしながら、水平フィルタが使用されて、図2Aの元のデータアレイ207および200が図2Bおよび図3のレジスタ208に転置されたら、プロセッサは、転置されたデータアレイ207’と200’をそれらの元の転置されない配列たとえば次の動作のために必要とされる配列に依存してに再配列してよいまたは再配列しなくてよい。転置マッピングを逆にすると他の転置マッピングになるので、転置されたフィルタリングされたデータアレイ214’を、転置されないフィルタリングされたデータアレイ214に戻すために、同じ転置マッピングが使用されてよい。したがって、ちょうどプロセッサが転置マッピングを使用してデータアレイを垂直フィルタリングではなく水平フィルタリング用にレジスタにロードできるように、プロセッサは、同じ転置マッピングを使用して垂直方向ではなく水平方向にフィルタリングされたレジスタからフィルタリングされたデータアレイを伝送できる。一実施態様において、ピクセル値を転置するためにマッピングユニット6が使用されてよい。別の実施態様において、図2Bのレジスタ208は、幾つかのアドレスを含む一連のアドレスポートを有してよく、これらのアドレスポートのアドレスは、それ自体で再配列または転置されている。そのような実施態様では、アドレスポートのアドレスは、ピクセル値がその中に伝送される順序で配列されてよい。たとえば第1レジスタが第1ピクセル値、第2ピクセル値、第3ピクセル値などに対してインデックスを付けられ、またはアドレス指定される代わりに、第1レジスタは、第1ピクセル値、第10ピクセル値、第20ピクセル値などに対してインデックスを付けられてよい。したがってプロセッサ1は、図2Aのデータアレイ200からのピクセル値を、図2Bの複数のレジスタ208の順次アドレスに従って自動的に転置でき、別個のマッピングユニットは、必要とされないただし、マッピングユニットは使用されてよい。本発明の実施態様は、8x4の2Dデータアレイにおけるデータをフィルタリングすることに関して記述されているが、任意の方形サブアレイ、たとえば3x5、4x4、4x6、8x8、4x16、16x16、または任意の整数mおよびnで任意のmxnサブアレイが使用されてよいことが理解されよう。さらに、2Dデータアレイたとえば図3のフィルタデータアレイ209’をフィルタリングするために使用されるデータブロックのサイズは、q1xn=6x8サブアレイであることが示されているが、任意のsxnサイズのサブアレイが使用されてよい。また、3Dマトリックスまたはテンソルデータ構造によって表され得る、より高次の、たとえば3次元3Dのデータアレイが使用されてよいことも理解されよう。一例において輝度データ要素は、2Dデータアレイで表されてよく、色度データ要素は、2Dまたは3Dデータアレイで表されてよい。本発明の実施態様は、別の、もしくは互いに異なる次元の行、列またはデータアレイ、線形または非線形フィルタ結合において結合されたピクセル値の数、元の、または転置されたデータアレイの配列、個別アドレス指定可能レジスタ208の数または配列、および計算サイクルを使用できることが理解されよう。ある実施態様において、プロセッサは、最初にデータ要素を内部メモリたとえば図1の内部メモリユニット14における図2Aのデータアレイ200に記憶してよく、そしてプロセッサは、ピクセル値をレジスタたとえば図1のレジスタユニット16における図2Bのデータアレイ200’に再配列、マッピング、転置、順序付けなどによって再配置できる。他の実施態様において、プロセッサは、ピクセル値を外部メモリたとえば図1の外部メモリユニット2における図2Bのデータアレイ200’に記憶して、ピクセル値を内部メモリたとえば図1の内部メモリユニット14における図2Bのデータアレイ200’に転置できる。しかしながらその他のメモリ配置も使用されてよい。図4は、本発明の実施態様に従い多次元データをフィルタリングする方法のフローチャートである。ステップS400において、プロセッサたとえば図1のプロセッサ1は、たとえば図1の外部メモリ2または記憶ユニット4におけるプログラムメモリから命令を受取って、多次元データセットの1個以上の値、たとえばデジタル映像または画像中のピクセルをフィルタリングできる。この命令は、フィルタリング用に結合されるべきピクセルの値またはアドレスを示してよい。命令は、フィルタが水平フィルタであるか垂直フィルタであるか、および/またはフィルタが他の方向性フィルタであるか非方向性フィルタであるかを示すことができる。多次元の第1データ構造は、多次元データセットの値を表すことができる。水平フィルタを実行する命令は、第1データ構造たとえば図2Aのデータアレイ200の単一行に水平方向に整列された値の結合を指定するのに対し、垂直フィルタを実行する命令は、第1データ構造の単一列で垂直方向に整列された値の結合を指定できる。一般に、何らかのフィルタを実行する命令は、第1データ構造の何らかの任意のパターンにおける値の結合を指定できる。ステップS410において、プロセッサは、第1データ構造から第2データ構造たとえば図2Bのデータ構造200’に結合するように指定された値をロードできる。第2データ構造は、複数の個別アドレス指定可能メモリユニットたとえば図2Bおよび図3のレジスタ208を含んでよい。一実施態様において、第1データ構造は、内部メモリに記憶され、第2データ構造は、同じ内部メモリまたは互いに異なる内部メモリの個別アドレス指定可能メモリユニットに記憶されてよいたとえばそれぞれ図1の内部メモリユニット14と個別アドレス指定可能メモリユニット16。代替として、両データ構造が内部メモリか外部メモリのどちらか一方に記憶されてよく、またはあるデータ構造は、外部メモリに記憶され、別のデータ構造は、内部メモリに記憶されてもよい。個別アドレス指定可能メモリユニットは、互いに異なるアドレスおよび/またはアドレスポート経由で個別にアクセス可能であってよい。一実施態様において、値はピクセル値であってよく、データ構造は、画像データまたは映像データを表してよいが、他のタイプの多次元データも使用できる。水平フィルタに対しては、第1データ構造の同じ行から検索された値を、水平フィルタリング用に個別に操作するべく別個の個別アドレス指定可能メモリユニットに分離するために、プロセッサは、値を転置された配列で検索できる。したがって、第1データ構造の単一行において水平方向に整列された値は、第2データ構造の単一列に垂直方向に整列され得る。垂直フィルタに対しては、値は、既に単一列に記憶されているから、垂直方向に整列する値は不必要であろう。したがってプロセッサは、水平フィルタ用の値を転置された配列で検索でき、垂直フィルタ用の値を転置されない配列で検索して、フィルタによって別個の個別アドレス指定可能メモリユニットに結合される値が自動的にロードされ得る。フラグ値またはレジスタ値は、フィルタが垂直フィルタフラグ値==0であるか、水平フィルタフラグ値==1であるかを示す一実施態様において、プロセッサは、フラグの値に基づく配列たとえばフラグ値==0に対しては転置されない配列、フラグ値==1に対しては転置された配列で値を検索できる。ステップS420において、プロセッサは、互いに隣合う値の重み付けられた線形結合または非線形結合を用いて値を、たとえばフィルタ命令によって定義されたように結合できる。フィルタによって結合されるべき値は、互いに異なる個別アドレス指定可能メモリユニットに別個に記憶されるので、プロセッサは、各々の値を独立に乗算して結合できる。生成されるフィルタリングされた値は、たとえば利用可能な個別アドレス指定可能メモリユニットで第3データ構造たとえば図3のフィルタリングされたデータアレイ214’に記憶されてよい。ステップS430において、プロセッサは、第3データ構造からのフィルタリングされた値を伝送し、記憶し、処理するなど使用できる。垂直フィルタが使用された場合には第2データ構造と第3データ構造は、第1データ構造と同じ元の配列を有してよく、プロセッサは、フィルタリングされた値を個別アドレス指定可能メモリユニットの最終配列において使用できる。しかしながら、水平フィルタが使用された場合には第2データ構造と第3データ構造は、第1データ構造の元の配列から転置され、プロセッサは、第2データ構造と第3データ構造からの値を転置された配列でロードまたは伝送して、たとえば個別アドレス指定可能メモリユニットの外部に存在する1個以上のメモリユニットに記憶してよくまたはしなくてもよい。一実施態様において、既に転置されている構造を転置することでフィルタリングされた値をそれらの元の転置されない配列に再配列できる。転置された配列から戻すためにプロセッサは、他の転置マッピングを第3データ構造に適用して、フィルタリングされた値をそれらの元の配列で生成できるたとえば図3に示す転置されていないフィルタリングされたデータアレイ214。プロセッサは、多次元データの各々の順次的なデータアレイが各反復に対する第1データ構造によって表されるようにして、フィルタのステップS400-S430を、たとえば多次元データの全アレイたとえば全画像フレームまたは全音声ファイルがフィルタリングされるまで反復実行してよい。ステップS440において、出力装置たとえば図1の出力装置102は、フィルタリングされた多次元データを出力してよい。たとえば出力装置は、フィルタリングされたピクセル値を有する画像またはフィルタリングされた音声値を有する音声ファイルを表示してよい。他の動作または一連の動作が用いられてよい。本発明の実施態様は、映像データまたは画像データに関して記述されているが、互いに異なるデータタイプに関連して同じかまたは類似のデジタル構造を有する何らかのデータも使用できることは、当業者によって理解されるべきである。たとえば音声データ、グラフィックデータ、マルチメディアデータ、または何らかの多次元データが使用され得る。本発明の幾つかの実施態様は、値を1つのデータアレイから他のデータアレイに転置するためのシステム、データ構造および方法について記述しているが、本発明の別の実施態様では、たとえば値それ自体を実際に動かしたり再位置決めしたりすることなく、元のデータ構造に互いに異なるアドレス図式を等効に割り当てることは、当業者によって理解されるべきである。値を検索するためのバーストが記述され、値を行毎に記憶するためのレジスタが記述されているが、代替として列毎に動作するバーストとレジスタが記述されてよいことは理解されよう。このような実施態様において、水平フィルタにおいて結合されるように水平方向に整列された値は、自動的に転置されない配列でロードされ、垂直フィルタで結合されるように垂直方向に整列された値は、転置された配列でロードされる。線形フィルタリングは、コンボリューションと呼ばれる動作を使用できることには気づかれよう。コンボリューションは、各出力ピクセルが互いに隣合うピクセル値の加重和であるような動作であり、重みのマトリックスは、コンボリューションカーネルまたはフィルタと呼ばれる。コンボリューションカーネルは、180度回転した相関カーネルである。回転は、転置とは異なるため、フィルタまたは相関カーネルの回転が上述した転置とは異なること、さらにコンボリューションは、相関カーネルピクセルアレイ上の演算子を回転させ、ピクセルアレイそれ自体は回転させないことは、当業者によって理解されるべきである。本発明の実施態様は、プロセッサまたはコントローラたとえば図1のプロセッサ1によって実行されるときに本明細書中に開示された方法を実施する命令を符号化、包含または記憶する物品、たとえばコンピュータまたはプロセッサ可読媒体、コンピュータまたはプロセッサ記憶媒体、たとえばメモリ、ディスクドライブ、USBフラッシュメモリを含むことができる。以上に示された記述された特定の実施態様は、本発明に関連した多くの配分システムにとって有用であることが明らかであるが、本発明の別の修正も当業者に想到されよう。そのような修正は、すべて添付の特許請求の範囲によって定義される本発明の範囲と精神の内部に存在するものと考量される。"