(57)【要約】【課題】  データ保存する方法及び装置を提供する。【解決手段】  ビデオフレーム内の連続した複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるようにメモリをマッピングするステップと、メモリマッピングによってラインのデータをメモリに記録するステップと、を含むデータ保存方法。これにより、ビデオデータを処理するために所定のブロック単位でデータを読出する過程において、メモリにアクセスする回数を減らせ、さらに速いビデオデータの処理が可能になる。【選択図】    図２
2008067379.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをメモリに保存する方法において、
ビデオフレーム内の連続した複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように前記メモリをマッピングするステップと、
前記メモリマッピングによって前記ラインのデータを前記メモリに記録するステップと、を含むことを特徴とするデータ保存方法。
【請求項２】
前記マッピングするステップは、
前記ビデオフレーム内の連続した二本のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、前記メモリをマッピングするステップを含むことを特徴とする請求項１に記載のデータ保存方法。
【請求項３】
前記連続した二本のラインは、
前記ビデオフレーム内の連続した二本の奇数または偶数ラインであることを特徴とする請求項２に記載のデータ保存方法。
【請求項４】
前記所定のバイトは、
２バイトまたは４バイトであることを特徴とする請求項２に記載のデータ保存方法。
【請求項５】
前記ビデオフレームは、
１９２０×１０８８ビデオフレームであることを特徴とする請求項１に記載のデータ保存方法。
【請求項６】
前記メモリは、
４個のメモリバンクを持つメモリであることを特徴とする請求項１に記載のデータ保存方法。
【請求項７】
ビデオデータをメモリに保存する装置において、
ビデオフレーム内の連続した複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、前記メモリをマッピングする制御部と、
前記メモリマッピングによって前記ラインのデータを記録するためのメモリ部と、を備えることを特徴とするデータ保存装置。
【請求項８】
前記制御部は、
前記ビデオフレーム内の連続した二本のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、前記メモリをマッピングすることを特徴とする請求項７に記載のデータ保存装置。
【請求項９】
前記連続した二本のラインは、
前記ビデオフレーム内の連続した二本の奇数または偶数ラインであることを特徴とする請求項８に記載のデータ保存装置。
【請求項１０】
前記所定のバイトは、
２バイトまたは４バイトであることを特徴とする請求項８に記載のデータ保存装置。
【請求項１１】
前記ビデオフレームは、
１９２０×１０８８ビデオフレームであることを特徴とする請求項７に記載のデータ保存方法。
【請求項１２】
前記メモリ部は、
４個のメモリバンクを持つメモリであることを特徴とする請求項７に記載のデータ保存装置。
【請求項１３】
請求項１ないし６のうちいずれか一項に記載の方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保存方法及び装置に係り、より詳細には、ブロック単位のアクセスが必要なビデオデータを保存する方法及び装置に関する。
【背景技術】
【０００２】
インターネットをはじめとする情報通信技術が発達するにつれて、文字、音声だけでなくビデオデータ通信への需要も増加しつつある。従来の文字中心の通信方式では、消費者の多様な欲求を満たすことにはできず、したがって、文字、ビデオ、音楽など多様な形態で提供されるマルチメディアサービスが増加しつつある。特に、このうちにビデオデータは、その量がぼう大で伝送時に広い帯域幅を必要とする。これにより、ビデオデータを圧縮して伝送できるＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４のような多様な圧縮方法が開発されてきた。
【０００３】
ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４のような圧縮方法をコーデック（ＣＯＤＥＣ：ｃｏｄｅ  ａｎｄ  ｄｅｃｏｄｅ）というが、コーデックを使用するビデオデータの処理は、所定のブロック単位で行われることが普通である。動き推定、動き補償、デブロッキングなどがブロック単位で行われるビデオデータの処理に該当する。
【０００４】
図１Ａ及び図１Ｂは、従来のビデオデータをメモリに保存する方法を図示する。図１Ａ及び図１Ｂは、１９２０×１０８８のビデオフレームのデータをメモリに保存する方法を例として挙げている。図１Ａを参照するに、保存しようとするビデオフレームは、横１９２０ピクセル、縦１０８８ピクセルのビデオフレームに該当する。一般的に一つのピクセルは、輝度（Ｙ）及び色差（ＣｂまたはＣｒ）のうち一つについての情報を含んでおり、この情報は８ビット、すなわち、１バイトにより表現される。
【０００５】
前述したように、図１Ａに図示されたビデオデータを処理するに当って、ブロック単位で行われることが一般的である。この時、ブロックとは、ビデオフレーム内の連続した所定のピクセルを一つにまとめた単位（１０１または１０２）を意味し、ブロックの大きさは、コーデックの種類、行おうとするビデオデータ処理の種類によって異なる。図１Ａでは、ブロックの大きさが４×４である場合を仮定した。
【０００６】
図１Ｂは、図１Ａに図示されたビデオフレームのデータがメモリに保存される方法について図示する。一般的にメモリは、４個のメモリバンクＡないしＤに区分されて使われる。メモリを４個のメモリバンクに分けて使用する理由は、相異なるバンクに／からデータが記録／読出される場合、データのアドレスを伝送するコマンド伝送区間とデータを伝送するデータ伝送区間とのオーバーラップを可能にする‘バンクインターリビング’を通じてメモリ利用効率を改善するためである。
【０００７】
図１Ｂを参照するに、図１Ａに図示されたビデオフレームの０番ラインのデータはＡバンクに記録され、その次の１番ラインのデータはＢバンクに記録される。３番及び４番ラインが順次Ｃバンク及びＤバンクに記録された後に、５番ランから再びＡバンクに記録される。
【０００８】
ここで、ビデオデータを処理するために所定のブロック１０１を６４ビットデータバスを通じてアクセスする場合を説明する。ビデオデータを処理するモジュールが４×４ブロックのデータをアクセスするためには、０、１、２、３ラインの横０、１、２、３ピクセルのデータをアクセスせねばならない。したがって、Ａ、Ｂ、Ｃ、Ｄメモリバンクを一度ずつ４回アクセスせねばならない。この時、６４ビットデータバスを使用して１ピクセルのデータが８ビットであるため、Ａバンクで０番ラインの横０、１、２、３、４、５、６、７のピクセルのデータをアクセスし、Ｂ、Ｃ、Ｄバンクでも同じくそれぞれ８個のピクセルのデータをアクセスする。この時、バンクインターリビングを使用してコマンド伝送区間をデータ伝送区間とオーバーラップさせる方法でデータアクセス時間を短縮する。
【０００９】
従来のビデオデータを保存する方法によれば、一つのバンクにそれぞれのラインのデータがライン単位で記録される。Ａバンクを例とすれば、０番ラインが全部記録された後に４番ラインが記録され、その次に８番ラインが記録される。これは、図１Ａに図示されたビデオフレームが全部記録されるまで反復される。
【００１０】
したがって、図１Ｂのメモリマップによれば、バンクインターリビングを使用するにもかかわらず、４×４ブロック１０１のデータ以外に、現在のビデオデータ処理過程で不要な０、１、２、３番ラインの横４、５、６、７番ピクセルのデータをアクセスして非効率的である。フィールドモードの動き補償のように奇数または偶数のラインのみアクセスする場合にも、奇数または偶数ラインの横４、５、６、７番ピクセルのデータをアクセスして非効率的である。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明が解決しようとする技術的課題は、不要なピクセルのデータアクセスを低減するためのビデオデータを保存する方法及び装置を提供するところにあり、前記方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【００１２】
前記技術的課題を解決するための本発明による、ビデオデータをメモリに保存する方法は、ビデオフレーム内の連続した複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように前記メモリをマッピングするステップと、前記メモリマッピングによって前記ラインのデータを前記メモリに記録するステップと、を含む。
【００１３】
本発明によるさらに望ましい実施形態によると、前記マッピングするステップは、前記ビデオフレーム内の連続した二本のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、前記メモリをマッピングするステップを含む。
【００１４】
本発明によるさらに望ましい実施形態によると、前記連続した二本のラインは、前記ビデオフレーム内の連続した二本の奇数または偶数ラインである。
【００１５】
前記技術的課題を解決するための本発明による、ビデオデータをメモリに保存する装置は、ビデオフレーム内の連続した複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、前記メモリをマッピングする制御部と、前記メモリマッピングによって前記ラインのデータを記録するためのメモリ部と、を備える。
【００１６】
本発明によるさらに望ましい実施形態によると、前記制御部は、前記ビデオフレーム内の連続した二本のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、前記メモリをマッピングすることを特徴とする。
【００１７】
本発明によるさらに望ましい実施形態によると、前記連続した二本のラインは、前記ビデオフレーム内の連続した二本の奇数または偶数ラインであることを特徴とする。
【００１８】
本発明によるさらに望ましい実施形態によると、前記所定のバイトは、２バイトまたは４バイトであることを特徴とする。
【００１９】
前記技術的課題を解決するために本発明は、前記のデータ保存方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【００２０】
本発明によれば、連続した複数のラインのデータを一つのメモリバンクに保存することによって、ビデオデータを処理するために所定のブロック単位でデータを読出する過程でメモリにアクセスする回数を低減できる。
【００２１】
メモリにアクセスする回数を低減してデータを読出するために使用するデータバスの活用を極大化させることによって、さらに速いビデオデータの処理が可能になる。
【発明を実施するための最良の形態】
【００２２】
以下では、図面を参照して本発明の望ましい実施形態を詳細に説明する。
【００２３】
図２は、本発明の一実施形態によるビデオデータを保存するためのメモリマップを図示する。
【００２４】
図２は、図１Ａに図示されたビデオフレームのデータを、４個のメモリバンクで形成されているメモリに保存する場合について図示する。図２を参照するに、それぞれのメモリバンクにビデオフレーム内の連続した複数のラインのデータが記録できるように、メモリがマッピングされる。第１メモリバンクには、ビデオフレームの０番ライン及び２番ラインのデータが周期的に交互に記録される。図２に図示された小さなボックスは、図１Ａに図示されたビデオフレームの一つのピクセルのデータを表すものであり、前述したように８ビット、すなわち、１バイトに該当する。したがって、第１メモリバンクに記録された０番ライン及び２番ラインは、４バイトを周期に交互に記録されたことが分かる。
【００２５】
第２メモリバンクには、１番ライン及び３番ラインのデータが４バイトを周期に交互に記録される。その後、第３メモリバンクに４番、６番ラインのデータが記録され、第４メモリバンクには５番、７番ラインのデータが記録される。第４メモリバンクまで記録が終われば、８番ラインからは前述した過程を反復して第１メモリバンクから再び記録し始める。図１Ａに図示されたビデオフレームのあらゆるラインが記録されるまで、前述した過程を反復する。
【００２６】
ビデオフレームのあらゆるラインについての記録が終わった後に、６４ビットデータバスを利用して図２に示したように保存されたビデオデータをアクセスする場合を説明する。最初のブロック１０１のデータをアクセスすると仮定すれば、最初のブロックは０、１、２、３番ラインの横０、１、２、３番ピクセルであるため、第１メモリバンクと第２メモリバンクとをそれぞれ６４ビットずつ１回だけアクセスすればよい。この時、バンクインターリビングを使用して第１メモリバンク及び第２メモリバンクにアクセスする時間を短縮させることができる。したがって、この場合に、第１メモリバンクまたは第２メモリバンクにアクセスする時、従来技術のような現在ビデオデータ処理で不要なピクセルのデータアクセスがない。
【００２７】
フィールドモード動き補償のようにブロックに含まれた奇数または複数ラインのデータのみ必要な場合には、第１メモリバンクまたは第２メモリバンクだけアクセスすればよい。ブロックの奇数または偶数ラインのデータを分けて記録できるようにメモリをマッピングすることは、このような理由のためである。しかし、複数のラインのデータをそれぞれのメモリバンクに保存する時、必ずしも奇数または偶数に分けて保存せねばならないというものではなく、複数のラインを交互に記録する多様な組み合わせが可能であるということを、当業者ならば容易に理解できるであろう。
【００２８】
ビデオデータの処理において、ビデオフレーム内に４×４よりさらに大きいブロックのデータについてアクセスが必要な場合には、４×４ブロックのデータに反復してアクセスする。例えば、図１Ａに最初のブロック１０１及び２番目のブロック１０２を合わせた４×８ブロックに対してアクセスが必要な場合には、図２に図示された第１メモリバンクに２回アクセスして、０、２番ライン、横０、１、２、３、４、５、６、７番ピクセルのデータをアクセスし、第２メモリバンクに２回アクセスして１、３番ライン、横０、１、２、３、４、５、６、７番ピクセルのデータをアクセスする。同様に、８×８ブロックのデータにアクセスする必要がある場合には、４×４ブロックについてのアクセスを４回行ってアクセスできる。
【００２９】
１９×１９ブロックまたは１８×９ブロックのように４×４ブロックの倍数ではないブロックについても、現在ビデオデータ処理に不要なピクセルのデータアクセスを最小化してデータアクセス回数を低減する効果は維持される。
【００３０】
３２ビットデータバスを利用してビデオデータをアクセスする場合には、一度にアクセスできるピクセル数が４個のピクセルであるため、図２に図示されたメモリマップとは異なる方法でビデオデータを記録できる。複数のラインについて２バイトずつ交互にそれぞれのメモリバンクに記録する。例えば、第１メモリバンクに最初の０番ラインの横０、１番ピクセルのデータを入力し、次いで２番ラインの横０、１番ピクセルのデータを入力する方法で、反復して交互に記録する。
【００３１】
一つのメモリバンクに記録される複数のラインのデータを交互に記録する周期に対する制限はなく、前述した２バイトまたは４バイト以外に他の周期を使用してもよい。メモリに保存されたデータを伝送するためのデータバスの伝送速度及びアクセスしようとするデータブロックの大きさによって、データアクセス回数を最小化できる周期を使用できる。
【００３２】
図２に図示された第１、２、３、４メモリバンクは、一つのメモリに属する複数のメモリバンクであってもよく、相異なるメモリに属するメモリバンクであってもよい。それぞれ相異なるメモリに属するメモリバンクである場合には、それぞれのメモリから同時にビデオデータを読出できるので、ブロック単位データを読出する速度が速くなるということは、当業者ならば容易に理解できるであろう。
【００３３】
図３は、本発明の望ましい実施形態によるビデオフレームデータをメモリに保存する方法を説明するためのフローチャートである。
【００３４】
ステップ３００は、ビデオフレーム内の複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるように、メモリをマッピングするステップである。
【００３５】
一般的にメモリバンクは、一つのメモリ中に４個が存在するので、４個のメモリバンクに同数のラインのデータをそれぞれ保存させることが望ましい。したがって、第１メモリバンク、第２メモリバンク、第３メモリバンク、第４メモリバンク、第１メモリバンク、…の順序で複数のラインのデータを記録できるようにメモリをマッピングする。
【００３６】
一つのメモリバンクに３本以上の複数のラインのデータを記録することもできるが、望ましくは、図２に示したように二本のラインのデータを記録する。この時、二本のラインは、ビデオフレーム内の連続した二本のラインでありうる。連続した二本のラインは、連続した奇数または偶数ラインでありうる。前述したフィールドモード動き補償のように、連続した奇数または偶数ラインのデータだけアクセスする場合がありうるので、連続した二本の奇数または偶数ラインのデータを同じメモリバンクに記録する。
【００３７】
メモリバンクに複数のラインのデータを記録する時には、複数のラインのデータを、所定のバイトを周期に交互に記録させることが望ましい。図２に示したように、それぞれのメモリバンクに二本の連続したラインが周期的に交互に記録されるようにメモリをマッピングする。
【００３８】
メモリに保存されたデータをアクセスするデータバスが一般的に６４ビットデータバスであり、連続した二本のラインを一つのメモリバンクに保存するという時、二本のラインがそれぞれ４バイトずつアクセスされるように、４バイトを周期に交互に記録されるようにメモリをマッピングすることが望ましい。ただし、最適の周期は、メモリに保存されたデータを伝送するためのデータバスの伝送速度及びアクセスしようとするデータブロックの大きさによって異なる。
【００３９】
ステップ３０２でビデオデータは、ステップ３００でのメモリマップによってメモリに記録される。
【００４０】
前述したように、動き推定、動き補償、デブロッキングなどのビデオデータ処理は、ビデオフレーム内の所定のブロック単位で行われるので、ステップ３０２でメモリに記録されたビデオデータは、これら処理過程を行うためにブロック単位でアクセスされる。
【００４１】
ステップ３０２でのビデオデータ記録は、フレーム全体に対してステップ３００のメモリマップによって行われ、記録されたビデオデータは、所定のビデオデータ処理のために読出される。ステップ３００のメモリマッピングによってビデオフレームのデータが保存されているために、読出する過程で不要なピクセルに対するアクセスを低減できる。
【００４２】
図４は、本発明の一実施形態によるビデオデータを保存する装置を図示する。図４を参照するに、本発明によるデータ保存装置４０は、制御部４１及びメモリ部４２を備える。
【００４３】
制御部４１は、ビデオフレーム内の連続した複数のラインのデータが所定のバイトずつ交互に一つのメモリバンクに記録されるようにメモリをマッピングする。
【００４４】
一般的にメモリバンクは、一つのメモリ中に４個が存在するので、４個のメモリバンクに同数のラインのデータをそれぞれ記録させることが望ましい。したがって、第１メモリバンク、第２メモリバンク、第３メモリバンク、第４メモリバンク、第１メモリバンク、…の順序で複数のラインのデータを記録できるようにメモリをマッピングする。
【００４５】
一つのメモリバンクに３本以上の複数のラインのデータを記録することもできるが、望ましくは、図２に示したように二本のラインのデータを記録する。この時、二本のラインは、ビデオフレーム内の連続した二本のラインでありうる。連続した二本のラインは、連続した奇数または偶数ラインでありうる。
【００４６】
連続した二本のラインを一つのメモリバンクに保存するという時、二本のラインがそれぞれ４バイトずつアクセスされるように、４バイトを周期に交互に記録されるようにメモリをマッピングすることが望ましい。
【００４７】
メモリ部４２は、制御部４１のメモリマッピングによってビデオデータを記録するために必要な構成要素である。
【００４８】
ビデオデータは、フレーム全体に対して制御部４１のメモリマッピングによってメモリ部に記録され、記録されたビデオデータは、所定のビデオデータ処理のために読出される。本発明による制御部４１のメモリマッピングによってビデオデータが保存されているために、読出する過程で不要なピクセルに対するアクセスを低減できる。
【００４９】
以上のように本発明は、たとえ限定された実施形態と図面により説明されたとしても、本発明が前記の実施形態に限定されるものではなく、これは、当業者ならばこのような記載から多様な修正及び変形が可能であろう。したがって、本発明の思想は特許請求の範囲のみによって把握されねばならず、これと均等または等価的な変形はいずれも本発明思想の範ちゅうに属するといえる。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現できる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存されるあらゆる種類の記録装置を含む。記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されて行われうる。
【産業上の利用可能性】
【００５０】
本発明は、ビデオデータの保存関連の技術分野に好適に用いられる。
【図面の簡単な説明】
【００５１】
【図１Ａ】従来のビデオデータをメモリに保存する方法を示す図である。
【図１Ｂ】従来のビデオデータをメモリに保存する方法を示す図である。
【図２】本発明の一実施形態によるビデオデータを保存するためのメモリマップを示す図である。
【図３】本発明の望ましい実施形態によるビデオフレームデータをメモリに保存する方法を説明するためのフローチャートである。
【図４】本発明の一実施形態によるビデオデータを保存する装置を示す図である。
【符号の説明】
【００５２】
４０  データ保存装置
４１  制御部
４２  メモリ部
【図１Ａ】
2008067379.tif 000003
【図１Ｂ】
2008067379.tif 000004
【図２】
2008067379.tif 000005
【図３】
2008067379.tif 000006
【図４】
2008067379.tif 000007