(57)【特許請求の範囲】
【請求項１】
映像符号化システムであって、
映像データを格納するオフチップ・メモリと、
一時的に前記映像データを格納する複数のオンチップ・メモリと、
前記オンチップ・メモリの映像データを演算処理するデブロッキング・フィルタ・ユニットと、
前記オフチップ・メモリと前記デブロッキング・フィルタ・ユニットと前記オンチップ・メモリとの接続を切り替え、且つ前記オンチップ・メモリ間の直接接続が確立された切替装置と
を有し、
オンチップ・メモリの映像データが前記デブロッキング・フィルタ・ユニットによって処理された後に他のオンチップ・メモリに格納される際、これらのオンチップ・メモリ間の転送を前記切替装置に確立された直接接続を用いて行い、
前記オンチップ・メモリのマクロ・ブロックをデブロッキングフィルタリングするために、所定のマクロ・ブロックに格納されている映像データが他のオンチップ・メモリに、前記切替装置に確立された直接接続を用いて複製される
ことを特徴とする映像化符号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化システムに用いられるハードウェアアーキテクチャに関し、特に、映像符号化システムのより効果的なフレーム・メモリ・アクセスに関する。
【背景技術】
【０００２】
近年、コンピューターシステムは様々な分野で適用されるようになった。
【０００３】
しかしながら、これらの新しい様々な分野、例えば映像分野で、高い処理能力と共に、全アプリケーションデータを保持できる記憶領域の要求も増加した。
【０００４】
この要求条件に合うための解決として、全体のメモリを階層レベルの違いによって分けた。
【０００５】
この階層レベルの違いによって分けられたメモリは、一方は演算ユニットの近くに構成されていて速くアクセスできるが容量が小さいメモリであり、もう一方は演算ユニットから遠くに構成されていて容量が大きいがアクセス時間が遅いメモリである。
【０００６】
このような種類のシステムは映像符号化システムであり、図１にその構成を示す。
【０００７】
図1に示される映像符号化システムには、異なる2種類のメモリが構成されている。一方のメモリは、アクセスが速いオンチップ作業メモリで、プロセッサユニットの演算ユニットの近くに構成されている。これに対して、もう一方のオフチップ・フレーム・メモリは大容量データメモリとして用いられている。
【０００８】
映像符号化システムにおいて、映像データの大部分はフレームメモリで保持されるのに対し、すぐに処理される映像データの一部は作業メモリへ転送される。
【０００９】
これは、処理実行中に演算ユニットで生成される大量の一時データが、アクセスが速い作業メモリに格納され、アクセスが遅いフレームメモリに格納される必要がないので、しばしば処理時間の減少に繋がっているからである。
【００１０】
もちろん、常に作業メモリのデータは新しく生成されるデータと交換されなければならず、そのために演算ユニットでの処理を停止しなければならない。
【００１１】
多種にわたる適用分野において、マルチポートの作業メモリを構成することによってスピードアップすることができる。又は図2に示されるように、フレームメモリから転送される外部データのための作業メモリと演算ユニットからアクセスされる内部データのための作業メモリとの異なる２つの作業メモリを構成させることでデータアクセスの速度を更に上げることは可能である。このような場合、データ転送およびデータ処理は並列的に実行することができる。
【００１２】
全ての処理装置が全ての作業メモリにアクセスしてデータを提供するために、経路はスイッチを通じて送られる。
【００１３】
図2に示される実施形態において、2つの状態を切り替えるスイッチは必要であり、一方の状態においてフレームメモリはデータを作業メモリ0に転送し、演算ユニットは作業メモリ1にアクセスしている。そして、もう一方の状態はその逆である。
【００１４】
しかしながら、多くのアルゴリズムにおいて、一時データは再び直接的に使用されるのではなく、むしろ後から使われる。
【００１５】
一方、メモリスイッチが構成される位置を変更した場合、この一時データは演算ユニットからアクセスされることができない。
【００１６】
図3はデータが両方の作業メモリ本体の間で転送されなければならない実施例のアルゴリズムのタスクスケジュール操作を示し、上記問題点を解決するために、データはフレームメモリに保存されなければならなくて、後で回復しなければならない。
【００１７】
まず第1に、演算ユニットは、その処理の実行を一度中断しなければならない。
【００１８】
第２に、スイッチの位置を変更しなければならず、データは作業メモリからフレームメモリに転送されなければならない。
【００１９】
第３に、メモリスイッチの位置は、演算ユニットによって次に使われる他の作業メモリにデータをフレームメモリからロードするために、そのステート後部を変えなければならない。
【００２０】
最後に、演算ユニットの割り込みは取られ、そして、両ユニットはもう一度メモリスイッチの位置を変えることによって作業メモリ本体を変えている。
【００２１】
フレームメモリに対する遅いアクセス時間のため、演算ユニット・プロセス実行が停止すると共に、多くのアプリケーションのために、これは全体の処理時間の有効部分をすることができる。
【００２２】
【特許文献１】Srinivasan et al., In-loop deblockingfilter・ US patent US 2005/0013494 A1, Jan. 2005.
【特許文献２】Gomila et al., deblocking filterconditioned on pixel brightness・ US patent US 2003/0206664 A1, Nov. 2003.
【特許文献３】Sankaran, loop deblocking filteringof block coded video in a very long instruction word processor・US patent US 2005/0117653 A1, Jun. 2005.
【非特許文献１】Draft ITU-T Recommendation and Final DraftInternational Standard of Joint Video Specification (ITU-T Rec. H.264/ISO/IEC14496-10 AVC), Mar. 2003.
【非特許文献２】T. Wiegand, G. J. Sullivan,G. Bjntegaard, and A. Luthra, overview of the H.264/AVC video coding standard,・IEEETrans. Circuits Syst.Video Technol.,vol. 13, pp. 560・76, July 2003.
【非特許文献３】P. List, A. Joch, J. Lainema, G. Bjntegaard, and M. Karczewicz, adaptive deblockingfilter,・IEEE Trans. Circuits Syst.Video Technol., vol. 13, pp. 614・19,July 2003.
【非特許文献４】Miao Sima, YuanhuaZhou, and Wei Zhang, an Efficient Architecture forAdaptive Deblocking Filter of H.264/AVC Video Coding,・IEEETransactions on Consumer Electronics, Vol. 50, No. 1, FEBRUARY 2004.
【非特許文献５】Yu-Wen Huang, To-Wei Chen, Bing-Yu Hsieh, Tu-ChihWang, Te-Hao Chang, and Liang-GeeChen, architecture Design For Deblocking Filter inH.264/JVT/AVC・Multimedia and Expo, 2003. ICME '03.Proceedings. 2003 International Conference on, vol. 1, pp. 693・96,6-9 July 2003.
【非特許文献６】G. Q. Zheng and L. Yu, anefficient architecture design fordeblocking loopfilter・ Picture Coding Symposium, 2004.
【非特許文献７】Vivek Venkatraman, Shoba Krishnan, and Nam Ling, architecture for De-BlockingFilter in H.264,・presented and published in Proceedings ofthe Picture Coding Symposium 2004 (PCS), San Francisco, California, USA,December 15 ・17, 2004.
【非特許文献８】S.-C. Chang, W.-H. Peng,S.-H. Wang and T. Chiang, "A Platform based Bus-interleaved Architecturefor Deblocking Filter in H.264/MPEG-4 AVC," IEEETrans. on Consumer Electronics, Feb. 2005.
【発明の開示】
【発明が解決しようとする課題】
【００２３】
図2に示された従来技術では、データがアクセスの遅いフレームメモリに一度コピーされなければならず、これによって生じる2個の作業メモリ間の遅いデータ転送である。
【００２４】
図3は、従来技術におけるアーキテクチャ上の実施例アプリケーションのタスクスケジュール操作を示す。
【００２５】
図3に示すように、データを２個の作業メモリの間で転送するためには、まず一方の作業メモリからフレームメモリにデータを格納し、次にフレームメモリからデータをもう一方の作業メモリにロードしなければならない。このように、2回のデータ転送はアクセスが遅いフレームメモリを介して行わなければならない。
【００２６】
本発明は、上記課題を解決するためになされたものである。
【課題を解決するための手段】
【００２７】
上記課題を解決するための第１の発明は、映像符号化システムであって、
映像データを格納するオフチップ・メモリと、
一時的に前記映像データを格納する複数のオンチップ・メモリと、
前記オンチップ・メモリの映像データを演算処理するデブロッキング・フィルタ・ユニットと、
前記オフチップ・メモリと前記デブロッキング・フィルタ・ユニットと前記オンチップ・メモリとの接続を切り替え、且つ前記オンチップ・メモリ間の直接接続が確立された切替装置と
を有し、
オンチップ・メモリの映像データが前記デブロッキング・フィルタ・ユニットによって処理された後に他のオンチップ・メモリに格納される際、これらのオンチップ・メモリ間の転送を前記切替装置に確立された直接接続を用いて行い、
前記オンチップ・メモリのマクロ・ブロックをデブロッキングフィルタリングするために、所定のマクロ・ブロックに格納されている映像データが他のオンチップ・メモリに、前記切替装置に確立された直接接続を用いて複製される
ことを特徴とする映像化符号化システム。
【００３０】
フレームメモリに遅いアクセス・タイムによって生じる上述した課題は、請求項１に記載されている方法によって除去されることができる。
【００３１】
2つの作業メモリを有する実施例として、図2からの基本的なアーキテクチャは、この方法によって拡大された。
【００３２】
結果は、図4に示される。
【００３３】
ここで、スイッチは、両方の作業メモリ存在物間の直接のデータ接続を可能にする付加的なデータリンクによって拡大される。
【００３４】
また、図5から分かるように、作業メモリ間で転送されるべきデータのデータ転送はフレームメモリへのアクセス時間の遅れに依存せず、作業メモリへのアクセス時間のみである。
【００３５】
請求項２に記載の実施の形態のために、H.264映像符号化のためのデブロッキング・フィルタは、図6に示すように選択された。
【００３６】
ここで、デブロッキング・フィルタ・アクセラレータ内のデブロッキング・フィルタおよびフレームメモリ内部からのデータ接続は、2つの作業メモリへの切り替え全体に導かれる。
【００３７】
デブロッキング・フィルタのマクロ・ブロックのためのアルゴリズムが選ばれるときに、作業メモリのサイズは一度に1マクロ・ブロック上のフィルタ動作を処理するのに必要な全てのデータが1つの作業メモリのあるその方法で選択されることができる。
【００３８】
しかしながら、マクロ・ブロックがアルゴリズムに基づいた結果、線を挟んで隣接された2マクロ・ブロックのデータ一部は重なり合う。
【００３９】
この新規なスイッチで、両方の作業メモリ存在物の間で直接この重なり合うデータを転送することが可能である。
【００４０】
これは、フレームメモリがデータ転送プロセスに含まれるデータ転送と同等の全部のフィルタ方法の速度を上げる。
【発明の効果】
【００４１】
本発明を用いると、第1にメモリ間の転送回数を2から１に減らすことができ、第2に転送時間を減らすことが出来る。これは、アクセスの遅いフレームメモリに転送する必要が無いからである。
【００４２】
第3に、オフチップであるフレームメモリに接続する外部バス上で必要となるデータ・バンド幅を下げることが出来る。
【発明を実施するための最良の形態】
【００４３】
本発明の課題は、図2に示された従来技術では、データがアクセスの遅いフレームメモリに一度コピーされなければならず、これによって生じる2個の作業メモリ間の遅いデータ転送である。
【００４４】
図3は、従来技術におけるアーキテクチャ上の実施例アプリケーションのタスクスケジュール操作を示す。
【００４５】
図3に示すように、データを両方の作業メモリの間で転送するためには、まず一方の作業メモリからフレームメモリにデータを格納し、次にフレームメモリからデータをもう一方の作業メモリにロードしなければならない。このように、2回のデータ転送はアクセスが遅いフレームメモリを介して行わなければならない。
【００４６】
本発明を用いると、上記問題を解決することが出来る。
【００４７】
上記問題を解決するために、図4に示すように、２個の作業メモリ間の直接リンクが確立されるために、メモリスイッチ内部のマルチプレクサを拡大しなければならない。
【００４８】
スイッチ内部にこの新規なデータリンクを実装させると、２個の作業メモリの間で転送されなければならないデータはそれらの間で直接転送されることができて、フレームメモリを通過する必要はない。
【００４９】
これにより、まず第1にメモリ間の転送回数を2から１に減らすことができ、第2に転送時間を減らすことが出来る。これは、アクセスの遅いフレームメモリに転送する必要が無いからである。第3に、オフチップであるフレームメモリに接続する外部バス上で必要となるデータ・バンド幅を下げることが出来る。
【００５０】
図4に示される実施の形態における新規なタスクスケジュール操作を図5に示す。
【００５１】
演算ユニットが停止している時間は、2回のフレームメモリの転送時間から作業メモリ間の直接転送の時間を引いた時間だけ減少することができる。
【００５２】
他の実施例として、デブロッキング・フィルタを搭載した構成について説明する。
【００５３】
特許文献1、2および3においては、他のデブロッキング・アルゴリズムがあるのに対して、図6に示される構成はH.264映像符号化の非特許文献１、２および３のデブロッキング・フィルタを参照する。
【００５４】
フレーム・バッファおよびより大きいシステム待ち時間にフィルタをかけて基礎を形成されるフレームのために要求する非特許文献４に記載されているアーキテクチャとは対照的に、作業メモリは一度に全ての必要なデータをプロセス一マクロ・ブロックに保持するサイズのみを有しなければならないので、このデブロッキング・フィルタ・アクセラレータはマクロ・ブロックが基礎を形成したデブロッキング・フィルタを実行している。
【００５５】
その他の実施例として、非特許文献５、６および７のどれかに記載されているように、同時にデータ転送および処理を実行することができるマルチポートの作業メモリを用いている、または非特許文献８のように、他でバッファリングすることなくフレームメモリから演算ユニットまで直接データをロードすることによって、作業メモリの上のルーズタスクカップリングの代わりにタイトタスクカップリングを使用する。
【００５６】
しかしながら、これは、アクセスが遅いフレームメモリの処理時間の高い依存を犠牲にして行われる。
【００５７】
ここで記載されている構成は、マルチポートの作業メモリとは対照的に使用して、2つのシングルポートの作業メモリに存在してフレーム・メモリ・アクセスを減らす。
【００５８】
これは、一方の作業メモリに格納されているデータを処理することと、前もって処理されたマクロ・ブロックのデータを格納するためにフレームメモリから次のマクロ・ブロックをロードするもう一個の作業メモリを使用することによって、データ転送とデータ処理とを同時に実行することを可能にするために行われる。
【００５９】
デブロッキング・フィルタを処理するために、演算ユニットにおいて次に処理されるマクロ・ブロックのイメージデータの次に隣接したマクロ・ブロックからの周囲のデータが、必要である。
【００６０】
これらは、上部の、そして、左のマクロ・ブロックからのデータである。
【００６１】
必要とされた上部のマクロ・ブロックデータがすでにフレームメモリにあって、そこからプレインストールされることができるのに対して、左のマクロ・ブロックからの必要とされたデータはフレームメモリにおいて利用できないが他の作業メモリにおいて新しく算出されて、デブロッキング・フィルタ・ユニットのフィルタ算出と平行してプレインストールされることができない。
【００６２】
その代わりに、これらのデータは、前もって処理されたマクロ・ブロックのフィルタ計算をした後に作業メモリ間で転送されなければならない。
【００６３】
更に異なる実施例を図7に示す。この実施例は請求項３に記載されている。
【００６４】
図7おいて、作業メモリ0のマクロ・ブロックデータが処理され、作業メモリ1のマクロ・ブロックデータが次に処理される。
【００６５】
図7の陰影をつけられた領域は、各20ピクセルに20本の線が付いており、16ライン×16ピクセルの次の処理のマクロ・ブロックのデータと、上部のマクロ・ブロックの最後の４ラインから４ライン×16ピクセルのデータと、左側のマクロ・ブロックの最後の４段から１６ライン×４ピクセルのデータとを含む作業メモリで使用されたデータを示す。
【００６６】
使用領域の1/6のサイズのテクスチャ領域は、ここでは重なり合う部分である。テクスチャ領域は、作業メモリ0において新しく算出して、作業メモリ1において使われる。
【００６７】
スイッチ内部の請求項２の新規な挿入された接続であるため、この領域は、アクセスが速い両方の作業メモリ間で、フレームメモリを通過することのなく直接転送されることができる。
【００６８】
これは、データ転送の速度を上げている。第1の理由は、メモリ間の転送動作が半分になっているからである。第２に、転送時間にアクセスが遅いフレームメモリを含まない。
【００６９】
更に、この計測は全体のシステム性能に良い影響を及ぼす。その理由は、外部バス占領が減少していることにある。
【図面の簡単な説明】
【００７０】
【図１】図1は、メインプロセッサと、異なるユニットからスイッチを介してアクセスできるシングルポートの作業メモリとを有するアクセラレータとを備える一般的なの映像符号化システムの略図である。
【図２】図2は、メインプロセッサと、各々が異なるユニットからスイッチを介してアクセスできるシングルポートの作業メモリ２個とを有するアクセラレータとを備える一般的なの映像符号化システムの略図である。
【図３】図3は、図2に示される映像符号化システムが、演算ユニットが実行処理を続ける前に両方の作業メモリ本体間のデータ転送しなければならない場合のタスクスケジュール操作可能性の略図である。
【図４】図4は、メインプロセッサと各々が異なるユニットから作業メモリ同士を接続するスイッチを介してアクセスできるシングルポートの作業メモリ２個とを有するアクセラレータとを備える一般的なの映像符号化システムの略図である。
【図５】図5は、図4に示される映像符号化システムが、演算ユニットが実行処理を続ける前に両方の作業メモリ本体間のデータ転送しなければならない場合のタスクスケジュール操作可能性の略図である。
【図６】図6は、メインプロセッサと、作業メモリ同士を接続するスイッチを介してデブロッキング・フィルタ・ユニットからアクセスできるシングルポートの作業メモリ２個を有するデブロッキング・フィルタ・アクセラレータとを有するH.264映像符号化システムの略図である。
【図７】図7は、マクロ・ブロックを方法に基づいてデブロッキング・フィルタを実行した時に両方の作業メモリ間の必要なマクロ・ブロックデータ転送を有する請求項２の利点を示す請求項３の略図である。
【符号の説明】
【００７１】
０      作業メモリ
１      作業メモリ
【図１】
0004697419.tif 000002
【図２】
0004697419.tif 000003
【図３】
0004697419.tif 000004
【図４】
0004697419.tif 000005
【図５】
0004697419.tif 000006
【図６】
0004697419.tif 000007
【図７】
0004697419.tif 000008