JP2007272894A - データ書込方法及びデータ書込装置 - Google Patents

データ書込方法及びデータ書込装置 Download PDF

Info

Publication number
JP2007272894A
JP2007272894A JP2007086629A JP2007086629A JP2007272894A JP 2007272894 A JP2007272894 A JP 2007272894A JP 2007086629 A JP2007086629 A JP 2007086629A JP 2007086629 A JP2007086629 A JP 2007086629A JP 2007272894 A JP2007272894 A JP 2007272894A
Authority
JP
Japan
Prior art keywords
data
source
destination
storage range
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007086629A
Other languages
English (en)
Other versions
JP5196520B2 (ja
Inventor
Frank Moesle
メースレ、フランク
Piergiorgio Sartor
サルトール、ピエルジョルジオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Deutschland GmbH
Original Assignee
Sony Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Deutschland GmbH filed Critical Sony Deutschland GmbH
Publication of JP2007272894A publication Critical patent/JP2007272894A/ja
Application granted granted Critical
Publication of JP5196520B2 publication Critical patent/JP5196520B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】アラインメント制約を有するシステムにおいて、データを用意に書き込むことができる方法の提供。
【解決手段】第1のソース位置から始まるソースストレージ範囲にある第1のソースデータから生成される第1の宛先データが、アラインされていない位置から始まる宛先ストレージ範囲に書き込まれるデータ書込方法を提案する。書込方法は、第1のソース位置の前の第2のソース位置から始まるストレージ範囲から、第1のソースデータを含む第2のソースデータを抽出するステップと、第2のソースデータから、第1の宛先データを含む第2の宛先データを生成するステップと、第2の宛先データを、アラインされた位置から始まるストレージ範囲に書き込むステップとを有し、第2のソース位置は、第1の宛先データがアラインされていない位置から始まるストレージ範囲に書き込まれるように設定される。
【選択図】図4

Description

本発明は、ベクトルベースのシステムにおけるデータの書込に関し、詳しくは、ベクトルベースの書込システムのアラインされていない位置にデータを書き込むデータ書込方法及びデータ書込装置に関する。
ベクトルベースの書込又はストレージをサポートするメモリ方式では、メモリの任意のストレージ範囲にデータを書き込むことはできない。すなわち、このようなメモリは、隣接するストレージ範囲又はベクトルのシーケンスにセグメント化され、データは、1又は複数の完全なベクトルにしか書き込むことができない。換言すれば、データは、メモリの所謂アラインされた位置(aligned position)又はアドレスで始まるストレージ範囲にしか書き込むことができない。これらのアラインされた位置は、プロセスがデータの書込を開始できるメモリの位置として、予め定義されている。このアラインされた位置の間のメモリ位置は、アラインされていない位置と呼ばれる。このようなメモリでは、アラインされていない位置からデータの書込を開始することはできない。
なお、ベクトルベースのメモリを用いる場合であっても、アラインされていない位置である開始位置と、終了位置との間にデータの所定のセットを保存できる場合がある。
このような書込を行う既知の技術、すなわち、アラインされていない開始位置と、終了位置との間でデータを格納する手法では、リード−モディファイ−ライト(read-modify-write)処理を実行する必要がある。例えば、図1に示すシステムは、第1のメモリ1を備え、ソースデータ4は、2つの位置2、3の間に格納されている。ここで、ソースデータ4を、ベクトルベースの第2のメモリ5、詳しくは、第2のメモリ5のアラインされていない位置8から始まる宛先ストレージ範囲9に書き込むとする。宛先ストレージ範囲9は、第2のメモリ5にデータを書き込むための基本ユニットであるベクトル15の一部である。ベクトル15は、アラインされた位置6から始まり、宛先ストレージ範囲9の前に位置する第1の範囲7と、宛先ストレージ範囲9の後に位置する第2の範囲10とを含む。
従来の手法では、宛先ストレージ範囲9にソースデータ4を書き込むために、まず、読出処理が実行される。矢印12で示すこの読出処理では、ベクトル15のコンテンツが読み出される。ベクトル15のデータは、第2のメモリ5のアラインメントに基づいて読み出され、アラインメント制約なしで第3のメモリ11の一時記憶範囲17にコピーされる。そして、矢印13に示すように、第1のメモリ1からソースデータ4が抽出され、第2のメモリ5の宛先ストレージ範囲9に対応する第3のメモリ11のストレージ範囲16が変更(modify)される。ソースデータ4が一時記憶範囲17にコピーされると、一時記憶範囲17は、第2のメモリ5のアラインメントに基づいて、ベクトル15に書き込まれる。これにより、ソースデータ4は、第2のメモリ5のアラインされていない位置8から書き込まれる。
この従来の手法の問題点は、第2のメモリ5にデータを書き込む前に、第2のメモリ5のコンテンツを読み出し、変更する必要があるという点である。更に、第2のメモリ5から読み出したデータを変更するために、第1及び第2のメモリに加えて、第3のメモリ11が必要である。
上述の課題に鑑み、本発明の目的は、アラインメント制約を有するシステムにおいて、ソースデータから生成されたデータを容易に書き込むことができる方法及びシステムを提供することである。
本発明では、拡張宛先データが含まれる宛先データが所望のアラインされていない位置から始まるストレージ範囲に格納されるように、アラインされた位置から書き込まれる拡張宛先データを生成する。このソリューションは、アラインメント制約を有するシステム、すなわち、アラインされた位置のみからしかデータを書き込めないシステム、又はベクトルベースのシステム、すなわち、2つのアラインされた位置の間のみしかデータを書き込めないシステムに用いることができる。
このように、本発明では、ソースデータに基づいて宛先データを生成し、リード−モディファイ−ライト(read-modify-write)処理によって所望のアラインされていない位置から宛先データを書き込むことに代えて、拡張ソースデータを選択及び抽出し、拡張ソースデータから拡張宛先データを直接生成する。拡張ソースデータは、ソースデータと、隣接する追加的データとを含む。隣接する追加的データの量は、アラインされた位置から拡張宛先データを書き込むと、拡張宛先データに含まれる宛先データが、所望のアラインされていない位置から書き込まれるように設定される。
したがって、データは、生成又は処理ステップの直後に、ベクトル長にアラインされた出力位置から書き込まれる。この手法では、適切なデータ、すなわち、宛先データが、所望のアラインされていない出力位置から書き込まれることが保証される。
したがって、本発明が提案するデータ書込方法及びデータ書込装置は、次の利点を有する。
・拡張宛先データは、システムのアラインされた位置から書き込むことができるのでリード−モディファイ−ライト処理が不要である。
・リード−モディファイ−ライト処理が不要なので、リード−モディファイ−ライト処理に必要であった更なるローカルメモリも不要である。
・宛先データが生成された直後に書き込まれるので書込処理時間が速くなる。
本発明は、第1の側面として、アラインメント制約を有するシステムにおいて、データを書き込むデータ書込方法であって、第1のソース位置から始まるストレージ範囲にある第1のソースデータから生成される第1の宛先データが、ベクトルベースのシステムのアラインされていない位置から始まるストレージ範囲に書き込まれるデータ書込方法を提供する。データ書込方法は、第1のソース位置の前の第2のソース位置から始まるストレージ範囲から、第1のソースデータを含む第2のソースデータを抽出するステップを有する。次のステップでは、第2のソースデータから、第1の宛先データを含む第2の宛先データを生成する。次に、第2の宛先データを、アラインされた位置から始まるストレージ範囲に書き込む。第2のソース位置は、第1の宛先データがアラインされていない位置から始まるストレージ範囲に書き込まれるように設定される。
特に、第1の宛先データは、入力データから出力データを生成する処理によって生成され、データ書込方法は、出力データのサイズと入力データのサイズとの間の関係を反映する比率に基づいて第2のソース位置を判定する。
第2のソース位置は、アラインされていない位置と、アラインされた位置との間の距離に基づいて判定してもよい。
第2のソース位置は、第1のソース位置の値をSP1とし、第2のソース位置の値をSP2とし、出力データのサイズと、入力データのサイズとの比率をrとし、アラインされていない位置と、アラインされた位置との間の距離をdとして、以下の式に基づいて判定してもよい。
SP2=SP1−d/r
なお、所定の生成処理において、比率r及び距離dは、定数値であってもよく、更なるパラメータに従属していてもよい。値r及びdは、r=r(SP1)及びd=d(SP1)のように、第1のソース位置の値SP1に基づいていてもよい。
特定のビデオ処理の場合、r及びdは、画像、すなわち、第1のソースデータにおける水平方向及び垂直位置の関数であってもよい。特に、本発明では、例えば、ワイドスクリーンテレビジョンのためのパノラマアルゴリズム等の非線型換算の場合、水平位置の従属性を提案する。垂直位置の従属性は、例えば、デジタルカメラからの画像データの樽型歪み補正、又はピンクッションアルゴリズムの場合に重要である。
更に、データ書込方法は、第1のソースデータ及び第1の宛先データのサイズに基づいて、及びアラインされていない位置とアラインされた位置との間の距離に基づいて第2のソース位置を判定するステップを有していてもよい。
アラインされた位置は、アラインされていない位置の前の最初のアラインされた位置であってもよい。
第2のソースデータのサイズは、第2の宛先データが、アラインされた位置と、更なるアラインされた位置との間に適合するように選択してもよい。
第1の宛先データは、入力データから出力データを生成する処理によって生成してもよい。第2のソースデータのストレージ範囲は、出力データのサイズと、入力データのサイズの間の関係を反映する比率に基づいて判定される第3のソース位置で終了してもよい。
特に、第3のソース位置は、アラインされた位置と、更なるアラインされた位置との間の距離に基づいて判定してもよい。
第3のソース位置は、第3のソース位置の値をSP3とし、第2のソース位置の値をSP2とし、出力データのサイズと、入力データのサイズとの比率をrとし、アラインされた位置と、更なるアラインされた位置との間の距離をd’として、以下の式に基づいて判定してもよい。
SP3=SP2+d’/r
第2のソース位置SP2の生成の場合と同様に、比率r及び距離d’はここで、定数は、定数値であってもよく、更なるパラメータに従属していてもよい。
第2のソースデータのストレージ範囲の終了位置として定義される第3のソース位置は、第1のソースデータ及び第1の宛先データのサイズに基づいて、及びアラインされた位置と、更なるアラインされた位置との間の距離に基づいて判定してもよい。
更なるアラインされた位置は、第1の宛先データのストレージ範囲の後ろの最初のアラインされた位置であってもよい。
第1のソースデータ及び第1の宛先データは、ビデオデータであってもよい。
これに代えて、第1のソースデータ及び第1の宛先データは、オーディオデータであってもよい。
第2の宛先データは、フィルタ又は線形フィルタによって生成してもよい。
第2の宛先データは、線形フィルタ、非線型フィルタ、データレート変更フィルタ又はデータ遅延フィルタによって生成してもよい。
本発明の更なる側面として、本発明は、ベクトルベースのシステムのアラインされていない位置から始まるストレージ範囲に、ソースストレージ範囲に含まれたデータから生成された宛先データを書き込むデータ書込方法を提案する。このデータ書込方法は、ソースストレージ範囲を拡張するステップと、拡張されたソースストレージ範囲内のデータから、宛先データを含む一時的データを生成するステップと、アラインされた位置から始まるベクトルベースのシステムのストレージ範囲に一時的データを書き込むステップとを有する。ストレージ範囲は、宛先データがアラインされていない位置から始まるストレージ範囲に書き込まれるように拡張される。
本発明の更なる側面として、本発明は、コンピュータシステムにおいて実行され、上述したデータ書込方法を実現するコンピュータプログラム製品を提供する。
本発明の更なる側面として、本発明は、第1のソース位置から始まるストレージ範囲に第1のソースデータを格納する第1のメモリと、第1のソースデータから第1の宛先データを生成する処理ユニットと、アラインされていない位置から始まるストレージ範囲に第1の宛先データを受け入れるアラインメント制約を有する第2のメモリと、抽出手段と、書込手段とを備えるデータ書込装置を提案する。抽出手段は、第1のメモリにおける、第1のソース位置より前の第2のソース位置から始まるストレージ範囲から、第1のソースデータを含む第2のソースデータを抽出する。処理ユニットは、第2のソースデータから、第1の宛先データを含む第2の宛先データを生成する。書込手段は、第2の宛先データを第2のメモリのアラインされた位置から始まるストレージ範囲に書き込む。抽出手段によって用いられる第2のソース位置は、第1の宛先データが、アラインされていない位置から始まる第2のメモリのストレージ範囲に保存されるように設定される。
なお、「手段」とも呼ばれる本発明の様々な要素及び対応する機能は、如何なる種類のデバイス、ユニット、ソフトウェア要素、ハードウェア要素、及びこれらの一部、並びにここに明示的には示していない適切な他の如何なる手法によって実現してもよい。
更に、本発明に基づいて定められる様々なパラメータ、例えば、第2のソース位置、第2のソースデータのサイズ、又は第3のソース位置は、特にこの処理に適応化された演算手段及び/又はハードコード手段によって算出することができる。このようなハードコード手段は、予め計算された値をメモリに保存する保存手段及び予め計算された値を読み出す読出手段を備えていてもよい。特定の実施の形態として、予め算出された位置又はサイズ値を含む1又は複数のルックアップテーブルを設けてもよい。
本発明の特徴、目的及び利点は、図面を参照する以下の詳細な説明によって、より明瞭となる。なお、添付の図面においては、同様の要素には同様の符号を付している。
まず、図2を参照して、本発明に基づくデータ書込方法について説明する。
図2は、ソースデータ21’を格納する第1のストレージ範囲又はソースストレージ範囲21を示している。ソースストレージ範囲21は、第1の位置又は開始位置21a及び第2の位置又は終了位置21bによって画定され、これらの位置の間には、0個、1個又は複数の中間位置21cが含まれる。開始位置21a、終了位置21b及び中間位置21cのそれぞれは、第1の又はソースアドレス指定可能メモリ(source addressable storage means:以下、単にメモリという。)31内でアドレス指定できる位置である。
メモリ31は、機械可読フォーマットでデータを保持できるコンテナである。メモリ31は、例えば、ランダムアクセスメモリ(random-access memory:RAM)、読出専用メモリ(read-only memory:ROM)、磁気テープディスク、又はドラム等の1又は複数のデータ記憶装置を含むことができる。メモリ31は、揮発性メモリであっても、不揮発性メモリであってもよく、主記憶装置であってもよく、すなわち、RAM又はROMのように高速データストレージ又はデータアクセスのためにコンピュータの中央演算処理装置に直接アクセスできるコンピュータメモリであってもよく、又は補助記憶装置であってもよく、すなわち、コンピュータの中央演算処理装置に直接アクセスすることはできない、通常、より大きな記憶容量を有するハードディスク、磁気テープ又はディスク等であってもよい。
開始位置21a、終了位置21b及び中間位置21cは、コンピュータ又は他の機器が一片のデータを保存できる記憶域の一意的識別子を表すメモリ位置又はアドレスである。具体的には、メモリ31がバイト毎にアドレス指定可能なメモリ(byte-addressable memory)である場合、各位置は、ストレージの1バイトを特定する。ワード毎にアドレス指定可能なメモリ又はベクトル毎にアドレス指定可能なメモリでは、位置の典型的な記憶ユニットは、バイトより大きく、例えば、16ビットワード又はベクトルが用いられる。この記憶ユニットのサイズは、ベクトル長とも呼ばれる。
宛先データ22’を格納する第2の又は宛先ストレージ範囲22は、第2の又は宛先メモリ32に含まれる。この宛先メモリ32は、ベクトルベース方式又はベクトルベースシステムにおいて動作する如何なるアドレス指定可能なデータストレージデバイスであってもよい。換言すれば、宛先メモリ32では、任意の位置にデータを書き込むことはできない。すなわち、データは、宛先メモリ32のベクトル、すなわち、宛先メモリ32における2つの所謂アラインされた位置の間にしか書き込むことができない。
宛先ストレージ範囲22は、第1の位置又は開始位置22aから始まり、第2の位置又は終了位置22bで終わり、開始位置22a及び終了位置22bのいずれかは、宛先メモリ32のアラインされた位置又はアラインされていない位置である。
本発明では、宛先ストレージ範囲22に書き込まれる宛先データ22’は、ソースストレージ範囲21のソースデータ21’を用いて生成される。図2の矢印で示されるこの生成処理23は、単純なコピー処理に制限してもよく、又はフィルタリング等のより複雑な処理であってもよい。このようなフィルタは、線形フィルタ、非線型フィルタ、データレート変更フィルタ又はデータ遅延フィルタ等の線形フィルタであってもよい。
ソースデータ21’及び宛先データ22’は、例えば、オーディオ及び/又はビデオデータであってもよい。ビデオデータは、固定された単一の画像のみから構成されていてもよく、又は連続する画像のシーケンスから構成されていてもよい。オーディオデータの場合、宛先データ22’の生成処理において、オーディオストリームのサンプリングレートを変更してもよい。ビデオデータの場合、ソースデータ21’からの宛先データ22’の生成処理では、ビデオ画像のスケーリングを行ってもよい。
以下、図3〜図5を参照して、本発明に基づく書込方法を説明する。
図3及び図4に示す実施の形態は、宛先メモリ32のアラインされていない位置である開始位置22aから始まる宛先ストレージ範囲22への宛先データ22’の書込又は保存を示している。すなわち、この宛先メモリ32がベクトル長がVのベクトルベースのシステムであるとすると、値Pの開始位置22aは、ベクトル長Vの倍数ではない。
本発明では、データは、所望のアラインされていない位置から始まる宛先ストレージ範囲22には書き込まれず、この宛先ストレージ範囲22を含む拡張宛先ストレージ範囲24に書き込まれる。ここで、宛先ストレージ範囲22の範囲外への書込が可能であるとする。拡張宛先ストレージ範囲24は、好ましくは、宛先メモリ32の1又は複数のベクトルから構成又は構築されるように選択される(25、26)。拡張宛先ストレージ範囲24の境界、すなわち、開始位置24a及び終了位置24bは、アラインされた位置に一致する。
この実施の形態では、一組の予め定義されたアラインされた位置のうち、2つのアラインされた位置の間でのみ、宛先メモリ32にデータを保存できる。本発明の変形例では、アラインされた位置で始まり、アラインされた又はアラインされていない位置で終わる宛先ストレージ範囲22にデータを保存できる。この場合、拡張宛先ストレージ範囲24の終了位置24bは、好ましくは、宛先ストレージ範囲22の終了位置22bに対応し、アラインされた位置に一致する必要はない。
拡張宛先ストレージ範囲24の開始位置24aは、宛先ストレージ範囲22の前の最初のアラインされた位置であり、拡張宛先ストレージ範囲24の終了位置24bは、宛先ストレージ範囲22の後ろの最初のアラインされた位置であることが好ましい。
宛先データ22’の所望の開始位置22aの値Pは、以下のように分解できる。
P=A+D
ここで、Aは、拡張宛先ストレージ範囲24の開始位置24aの値であり、Dは、アラインされていない位置22aの値Pと、アラインされた位置24aの値Aとの間の差分である。値Aは、アラインされた位置を表し、したがって、システムのベクトル長をVとすると、Vの倍数になる。
従来の技術のように所望のアラインされていない位置22aから書き込まれる宛先データ22’を生成することに代えて、本発明は、図4に示すように、ソースストレージ範囲21を拡張されたソースストレージ範囲27に拡張する(28、29)ことを提案する。そして、拡張されたソースストレージ範囲27に基づき、アラインされた位置24aから直接書き込むことができる拡張宛先データ24’を生成する。
したがって、拡張されたソースストレージ範囲27の開始位置27a及び終了位置27bを判定する必要がある。この判定は、生成処理23の特性、特に生成処理23の前後のデータのサイズ間の関係を考慮に入れることによって実行され、この関係を、本明細書では、サイズ比率と呼ぶ。
例えば、生成処理23において、2の係数を用いて、画像データを縮小する場合、又はオーディオデータのサンプリングレートを低減する場合、生成されるデータのサイズは、オリジナルデータのサイズの半分になる。この場合、サイズ比率は、1/2になる。遅延等の単純なフィルタリングでは、サイズ比率は、1になり、データレート変更フィルタの場合、サイズ比率は、1にはならない。
生成処理23のサイズ比率は、幾つかの手法で判定できる。サイズ比率は、宛先データを生成する処理ユニット又は他の場所に保存してもよく、この場合、演算手段は、保存されている宛先データを読み出すことによって開始位置27aを判定できる。これに代えて、生成処理23に検査データを供給し、生成処理23の前後の検査データのサイズを比較することによってサイズ比率を判定してもよい。
演算手段又は適応化されたプリント回路は、入手したサイズ比率に基づいて、以下の式を用いて、拡張されたソースストレージ範囲27の開始位置27aを判定することができる。
N=S−E
ここで、Nは、拡張されたソースストレージ範囲27の開始位置27aの値であり、Sは、ソースストレージ範囲21の開始位置21aの値であり、Eは、拡張されたソースストレージ範囲27の開始位置27aと、ソースストレージ範囲21の開始位置21aとの間の距離である。
距離Eは、以下の式により求められる。
E=D/r
ここで、Dは、アラインされていない位置22aの値Pと、アラインされた位置24aの値Aとの間の差分であり、rは、生成処理23のサイズ比率である。
パラメータD及びrは、ソースストレージ範囲21及び拡張されたソースストレージ範囲27に亘る定数値であってもよい。これに代えて、D及びrは、更なるパラメータに従属していてもよい。例えば、D及びrは、ソースストレージ範囲21内及び/又は拡張されたソースストレージ範囲27内の横座標又は位置xに従属していてもよい。
ソースデータ21’が画像又はビデオデータである場合、パラメータD及びrは、画像における水平位置及び垂直位置の関数であってもよく、これは、パラメータD及びrがソースストレージ範囲21内の横座標xの関数であることを意味する。ソースストレージ範囲21内で明確に定義されるD(x)及びr(x)の値は、拡張されたソースストレージ範囲27の全体に拡張され、これにより、値Nを算出できる。
例えば、ワイドスクリーンテレビジョンのパノラマアルゴリズム等の非線型換算の場合、水平位置の従属性を用いてもよい。
垂直位置の従属性は、例えば、デジタルカメラからの画像データの樽型歪み補正、又はピンクッションアルゴリズムの場合に重要である。樽型歪み補正は、光軸からの距離が長くなるに従って画像の寸法が減少する、幾何光学系の直線投写からの発散である樽形歪みが生じた場合に行われる。樽形歪みでは、画像の中心を通らないラインが、外側に、画像のエッジに向かって湾曲する歪みが視認される。ピンクッションアルゴリズムは、光軸からの距離が長くなるに従って画像の寸法が増大する、幾何光学系の直線投写からの発散であるピンクッション歪みを抑制するために実行され、ピンクッション歪みでは、画像の中心を通らないラインが、内側に、画像の中心に向かって湾曲する。
上述のように、幾つかの書込方式では、拡張されたソースストレージ範囲27の開始位置27aだけがアラインされた位置である必要があり、したがって、終了位置27bは、ソースストレージ範囲21の終了位置21bに対応する位置とすることができる。
一方、拡張されたソースストレージ範囲27の開始位置27a及び終了位置27bの両方をアラインされた位置にしなくてはならない書込方式もある。終了位置27bは、以下のように、サイズ比率を用いて、上述と同様の手法で判定できる。
N’=S’+E’=S’+D’/r
ここで、N’は、拡張されたソースストレージ範囲27の終了位置27bの値であり、S’は、ソースストレージ範囲21の終了位置21bの値であり、E’は、拡張されたソースストレージ範囲27と、ソースストレージ範囲21との終了位置間の距離であり、D’は、拡張宛先ストレージ範囲24と、宛先ストレージ範囲22との終了位置間の距離である。
これに代えて、終了位置27bの値N’は、以下の式に基づいて求めてもよい。
N’=N+(A’−A)/r
ここで、A’は、拡張宛先ストレージ範囲24の終了位置24bの値である。
従来のデータ書込の手法を説明する図である。 本発明に基づくベクトルベースのシステムにおけるデータ書込の実施の形態を説明する図である。 本発明に基づくベクトルベースのシステムのためのデータ書込方法の手順を説明する図である。 本発明に基づくベクトルベースのシステムのためのデータ書込方法の手順を説明する図である。 本発明に基づくベクトルベースのシステムのためのデータ書込方法の手順を説明する図である。

Claims (36)

  1. アラインメント制約を有するシステムにおいてデータを書き込むデータ書込方法であって、第1のソース位置(21a)から始まるストレージ範囲(21)にある第1のソースデータ(21’)から生成される第1の宛先データ(22’)が、アラインされていない位置(22a)から始まるストレージ範囲(22)に書き込まれるデータ書込方法において、
    上記第1のソース位置(21a)の前の第2のソース位置(27a)から始まるストレージ範囲(27)から、上記第1のソースデータ(21’)を含む第2のソースデータ(27’)を抽出するステップと、
    上記第2のソースデータ(27’)から、上記第1の宛先データ(22’)を含む第2の宛先データ(24’)を生成(23)するステップと、
    上記第2の宛先データ(24’)を、アラインされた位置(24a)から始まるストレージ範囲(24)に書き込むステップとを有し、
    上記第2のソース位置(27a)は、上記第1の宛先データ(22’)が上記アラインされていない位置(22a)から始まるストレージ範囲に書き込まれるように設定されるデータ書込方法。
  2. 上記第1の宛先データ(22’)は、入力データから出力データを生成する処理によって生成され、
    上記出力データのサイズと上記入力データのサイズとの間の関係を反映する比率に基づいて上記第2のソース位置(27a)を判定するステップを有することを特徴とする請求項1記載のデータ書込方法。
  3. 上記第2のソース位置(27a)は、上記アラインされていない位置(22a)と、上記アラインされた位置(24a)との間の距離に基づいて判定されることを特徴とする請求項2記載のデータ書込方法。
  4. 上記第2のソース位置(27a)は、上記第1のソース位置(21a)の値をSP1とし、上記第2のソース位置(27a)の値をSP2とし、上記出力データのサイズと、上記入力データのサイズとの比率をrとし、上記アラインされていない位置(22a)と、上記アラインされた位置(24a)との間の距離をdとして、以下の式に基づいて判定されることを特徴とする請求項2又は3記載のデータ書込方法。
    SP2=SP1−d/r
  5. 上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)のサイズに基づいて、及び上記アラインされていない位置(22a)と上記アラインされた位置(24a)との間の距離に基づいて上記第2のソース位置(27a)を判定するステップを更に有する請求項1乃至4いずれか1項記載のデータ書込方法。
  6. 上記アラインされた位置(24a)は、上記アラインされていない位置(22a)の前の最初のアラインされた位置であることを特徴とする請求項1乃至5いずれか1項記載のデータ書込方法。
  7. 上記第2のソースデータ(27’)のサイズは、上記第2の宛先データ(24’)が、上記アラインされた位置(24a)と、更なるアラインされた位置(24b)との間に適合するように選択されることを特徴とする請求項1乃至6いずれか1項記載のデータ書込方法。
  8. 上記第1の宛先データ(22’)は、上記入力データから上記出力データを生成する処理によって生成され、上記第2のソースデータ(27’)のストレージ範囲は、上記出力データのサイズと、上記入力データのサイズの間の関係を反映する比率に基づいて判定される第3のソース位置(27b)で終了することを特徴とする請求項7記載のデータ書込方法。
  9. 上記第3のソース位置(27b)は、上記アラインされた位置(24a)と、上記更なるアラインされた位置(24b)との間の距離に基づいて判定されることを特徴とする請求項8記載のデータ書込方法。
  10. 上記第3のソース位置(27b)は、上記第3のソース位置(27b)の値をSP3とし、上記第2のソース位置(27a)の値をSP2とし、上記出力データのサイズと、上記入力データのサイズとの比率をrとし、上記アラインされた位置(24a)と、上記更なるアラインされた位置(24b)との間の距離をd’として、以下の式に基づいて判定されることを特徴とする請求項8又は9記載のデータ書込方法。
    SP3=SP2+d’/r
  11. 上記第2のソースデータ(27’)のストレージ範囲の終了位置として定義される上記第3のソース位置(27b)は、上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)のサイズに基づいて、及び上記アラインされた位置(24a)と、上記更なるアラインされた位置(24b)との間の距離に基づいて判定されることを特徴とする請求項7乃至10いずれか1項記載のデータ書込方法。
  12. 上記更なるアラインされた位置(24b)は、上記第1の宛先データ(22’)のストレージ範囲の後ろの最初のアラインされた位置であることを特徴とする請求項7乃至11いずれか1項記載のデータ書込方法。
  13. 上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)は、ビデオデータであることを特徴とする請求項1乃至12いずれか1項記載のデータ書込方法。
  14. 上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)は、オーディオデータであることを特徴とする請求項1乃至13いずれか1項記載のデータ書込方法。
  15. 上記第2の宛先データ(24’)は、フィルタ又は線形フィルタによって生成されることを特徴とする請求項1乃至14いずれか1項記載のデータ書込方法。
  16. 上記第2の宛先データ(24’)は、線形フィルタ、非線型フィルタ、データレート変更フィルタ又はデータ遅延フィルタによって生成されることを特徴とする請求項1乃至15いずれか1項記載のデータ書込方法。
  17. ベクトルベースのシステムのアラインされていない位置(22a)から始まるストレージ範囲に、ソースストレージ範囲(21)に含まれたデータから生成された宛先データ(22’)を書き込むデータ書込方法において、
    上記ソースストレージ範囲(21)を拡張する(28、29)ステップと、
    上記拡張されたソースストレージ範囲(27)内のデータから、上記宛先データ(22’)を含む一時的データ(24’)を生成するステップと、
    上記宛先データ(22’)が上記アラインされていない位置(22a)から始まるストレージ範囲に書き込まれるように拡張された、アラインされた位置(24a)から始まる上記ベクトルベースのシステムのストレージ範囲に上記一時的データ(24’)を書き込むステップとを有するデータ書込方法。
  18. コンピュータシステムにおいて実行され、請求項1乃至17いずれか1項記載のデータ書込方法を実現するコンピュータプログラム製品。
  19. 第1のソース位置(21a)から始まるストレージ範囲に第1のソースデータ(21’)を格納する第1のメモリ(31)と、
    上記第1のソースデータ(21’)から第1の宛先データ(22’)を生成(23)する処理ユニットと、
    アラインされていない位置(22a)から始まるストレージ範囲に上記第1の宛先データ(22’)を受け入れるアラインメント制約を有する第2のメモリ(32)と、
    抽出手段と、
    書込手段とを備え、
    上記抽出手段は、上記第1のメモリ(31)における、上記第1のソース位置(21a)より前の第2のソース位置(27a)から始まるストレージ範囲から、上記第1のソースデータ(21’)を含む第2のソースデータ(27’)を抽出し、
    上記処理ユニットは、上記第2のソースデータ(27’)から、上記第1の宛先データ(22’)を含む第2の宛先データ(24’)を生成し、
    上記書込手段は、上記第2の宛先データ(24’)を上記第2のメモリ(32)のアラインされた位置(24a)から始まるストレージ範囲に書き込み、
    上記抽出手段によって用いられる上記第2のソース位置(27a)は、上記第1の宛先データ(22’)が、上記アラインされていない位置(22a)から始まる上記第2のメモリ(32)のストレージ範囲に保存されるように設定されるデータ書込装置。
  20. 上記処理ユニットの上記出力データのサイズと、上記処理ユニットの上記入力データのサイズとの間の関係を反映する比率に基づいて上記第2のソース位置(27a)を判定する判定手段を更に備える請求項19記載のデータ書込装置。
  21. 上記判定手段は、上記アラインされていない位置(22a)と、上記アラインされた位置(24a)との間の距離に基づいて上記第2のソース位置(27a)を判定することを特徴とする請求項20記載のデータ書込装置。
  22. 上記判定手段は、上記第1のソース位置(21a)の値をSP1とし、上記第2のソース位置(27a)の値をSP2とし、上記出力データのサイズと、上記入力データのサイズとの比率をrとし、上記アラインされていない位置(22a)と、上記アラインされた位置(24a)との間の距離をdとして、以下の式に基づいて判定されることを特徴とする請求項20又は21記載のデータ書込装置。
    SP2=SP1−d/r
  23. 上記判定手段は、上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)のサイズに基づいて、及び上記アラインされていない位置(22a)と上記アラインされた位置(24a)との間の距離に基づいて上記第2のソース位置(27a)を判定することを特徴とする請求項19乃至22いずれか1項記載のデータ書込装置。
  24. 上記アラインされた位置(24a)は、上記アラインされていない位置(22a)の前の最初のアラインされた位置であることを特徴とする請求項19乃至23いずれか1項記載のデータ書込装置。
  25. 上記判定手段は、上記第2の宛先データ(24’)が、上記アラインされた位置(24a)と、更なるアラインされた位置(24b)との間に適合するように上記第2のソースデータ(27’)のサイズを選択することを特徴とする請求項19乃至24いずれか1項記載のデータ書込装置。
  26. 上記判定手段は、上記処理ユニットの上記出力データのサイズと、上記処理ユニットの上記入力データのサイズとの間の関係を反映する比率に基づいて、上記第2のソースデータ(27’)のストレージ範囲が終了する位置である第3のソース位置(27b)を判定することを特徴とする請求項25記載のデータ書込装置。
  27. 上記判定手段は、上記アラインされた位置(24a)と、上記更なるアラインされた位置(24b)との間の距離に基づいて、上記第3のソース位置(27b)を判定することを特徴とする請求項26記載のデータ書込装置。
  28. 上記第3のソース位置(27b)は、上記第3のソース位置(27b)の値をSP3とし、上記第2のソース位置(27a)の値をSP2とし、上記出力データのサイズと、上記入力データのサイズとの比率をrとし、上記アラインされた位置(24a)と、上記更なるアラインされた位置(24b)との間の距離をd’として、以下の式に基づいて判定されることを特徴とする請求項26又は27記載のデータ書込装置。
    SP3=SP2+d’/r
  29. 上記判定手段は、上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)のサイズに基づいて、及び上記アラインされた位置(24a)と、上記更なるアラインされた位置(24b)との間の距離に基づいて、上記第2のソースデータ(27’)のストレージ範囲の終了位置として定義される上記第3のソース位置(27b)を判定することを特徴とする請求項25乃至28いずれか1項記載のデータ書込装置。
  30. 上記更なるアラインされた位置(24b)は、上記第1の宛先データ(22’)のストレージ範囲の後ろの最初のアラインされた位置であることを特徴とする請求項25乃至29いずれか1項記載のデータ書込装置。
  31. 上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)は、ビデオデータであることを特徴とする請求項19乃至30いずれか1項記載のデータ書込装置。
  32. 上記第1のソースデータ(21’)及び上記第1の宛先データ(22’)は、オーディオデータであることを特徴とする請求項19乃至31いずれか1項記載のデータ書込装置。
  33. 上記第2の宛先データ(24’)は、フィルタ又は線形フィルタによって生成されることを特徴とする請求項19乃至32いずれか1項記載のデータ書込装置。
  34. 上記第2の宛先データ(24’)は、線形フィルタ、非線型フィルタ、データレート変更フィルタ又はデータ遅延フィルタによって生成されることを特徴とする請求項19乃至33いずれか1項記載のデータ書込装置。
  35. 上記第1のメモリ(31)及び第2のメモリ(32)は、共通のメモリの一部であることを特徴とする請求項19乃至34いずれか1項記載のデータ書込装置。
  36. 上記判定手段は、演算手段又は1又は複数のルックアップテーブルであることを特徴とする請求項20乃至23、25乃至27及び29いずれか1項記載のデータ書込装置。
JP2007086629A 2006-03-29 2007-03-29 データ書込方法及びデータ書込装置 Expired - Fee Related JP5196520B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06006570A EP1840819B1 (en) 2006-03-29 2006-03-29 Data writing in systems with alignment restriction or vector-based systems
EP06006570.3 2006-03-29

Publications (2)

Publication Number Publication Date
JP2007272894A true JP2007272894A (ja) 2007-10-18
JP5196520B2 JP5196520B2 (ja) 2013-05-15

Family

ID=36481491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007086629A Expired - Fee Related JP5196520B2 (ja) 2006-03-29 2007-03-29 データ書込方法及びデータ書込装置

Country Status (5)

Country Link
US (1) US8166274B2 (ja)
EP (1) EP1840819B1 (ja)
JP (1) JP5196520B2 (ja)
CN (1) CN101046773B (ja)
DE (1) DE602006004554D1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801209B1 (en) * 1999-12-30 2004-10-05 Intel Corporation Method and apparatus for storing data in a block-based memory arrangement
JP2004343785A (ja) * 2004-06-10 2004-12-02 Toshiba Corp 画像情報のエンコード方法と再生方法と再生装置
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717845A (en) * 1994-12-13 1998-02-10 Microsoft Corporation Method and apparatus for transferring a brush pattern to a destination bitmap
US5736988A (en) * 1995-12-04 1998-04-07 Silicon Graphics, Inc. Apparatus and method for accelerated tiled data retrieval
DE19709975C2 (de) * 1997-03-11 1999-04-22 Siemens Ag Mikrocomputer
US6928516B2 (en) * 2000-12-22 2005-08-09 Texas Instruments Incorporated Image data processing system and method with image data organization into tile cache memory
US7346079B1 (en) * 2004-04-20 2008-03-18 Xilinx, Inc. Methods and structures of multi-level comma detection and data alignment in data stream communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801209B1 (en) * 1999-12-30 2004-10-05 Intel Corporation Method and apparatus for storing data in a block-based memory arrangement
JP2004343785A (ja) * 2004-06-10 2004-12-02 Toshiba Corp 画像情報のエンコード方法と再生方法と再生装置
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system

Also Published As

Publication number Publication date
DE602006004554D1 (de) 2009-02-12
EP1840819A1 (en) 2007-10-03
US8166274B2 (en) 2012-04-24
CN101046773B (zh) 2012-05-09
CN101046773A (zh) 2007-10-03
JP5196520B2 (ja) 2013-05-15
EP1840819B1 (en) 2008-12-31
US20070234001A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
US20130138871A1 (en) Flash Memory Device and Data Access Method for Same
CN112463230A (zh) 程序运行方法及装置、电子设备、存储介质
US7830397B2 (en) Rendering multiple clear rectangles using a pre-rendered depth buffer
JP2008022373A (ja) 改竄検知情報生成装置、撮像装置、改竄検知情報生成方法、プログラムおよび記憶媒体
US8688947B1 (en) Aligned data access
JP5196520B2 (ja) データ書込方法及びデータ書込装置
US20160210245A1 (en) Circuit for accessing memory and associated accessing method
KR102367581B1 (ko) 동영상 합성을 위한 자동 툴 및 이를 실행할 수 있는 프로그램이 저장된 컴퓨터 판독 가능한 기록매체
US8166272B2 (en) Method and apparatus for allocation of buffer
JP2005244928A (ja) 可変長復号化装置および可変長復号化方法ならびに再生システム
JP4036852B2 (ja) 差分データ生成装置、差分データ生成方法および差分データ生成プログラム
WO2019183849A1 (zh) 数据处理方法和设备
CN118101971B (zh) 一种解码数据的渲染方法及装置、电子设备、存储介质
KR102387398B1 (ko) 동영상 내의 인물을 고려한 동영상 합성 방법
JP4249793B2 (ja) 差分データ生成装置、差分データ生成装置の差分データ生成方法および差分データ生成プログラム
JP3766413B2 (ja) データ並び替え方法
JP2009027431A (ja) 画像再生制御装置、画像再生制御方法およびプログラム
JP2009048749A (ja) ファイルシステム管理方法、ファイルシステム管理装置、及びファイルシステム管理プログラムを記録した記録媒体
JP2008225894A (ja) Sdramコントローラ
JP2008160335A (ja) 動き補償装置および動き補償方法
JP2005202628A (ja) メモリ制御装置、メモリ制御方法およびメモリ制御プログラム
JP4228867B2 (ja) 画像処理装置及びその制御方法
CN118101971A (zh) 一种解码数据的渲染方法及装置、电子设备、存储介质
JP2008527512A (ja) ファイルの内容を管理する装置および方法
CN116366879A (zh) 一种视频导出方法、装置、设备和存储介质

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081002

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees