(57)【要約】  ＦＩＦＯバッファ装置として、データ転送速度を低下させることなく、巻き戻し機能を実現する。入力データは、書き込みＦＩＦＯバッファ（１１）に書き込まれるとともに、パケット化ＦＩＦＯバッファ（１３）によってパケット化されて、退避用メモリ（２０）に形成されたバッファ用記憶領域（２１）に書き込まれる。マルチプレクサ（１５）は、第１モードでは書き込みＦＩＦＯバッファ（１１）の出力を選択出力する一方、第２モードではバッファ用記憶領域（２１）から読み出されたパケットデータを選択する。読み出しＦＩＦＯバッファ（１２）がフル状態になるまでは、第１モードが選択される。
2010122613.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを一旦格納し、入力順に従って出力するＦＩＦＯバッファ装置であって、
入力データを書き込むための書き込みＦＩＦＯバッファと、
出力データを読み出すための読み出しＦＩＦＯバッファと、
退避用メモリに形成されたバッファ用記憶領域を管理し、前記バッファ用記憶領域へのパケットデータの書き込み、および、前記バッファ用記憶領域からのパケットデータの読み出しを行うメモリインタフェースと、
前記書き込みＦＩＦＯバッファと共通に前記入力データを受け、所定のサイズにパケット化し、パケットデータとして前記メモリインタフェースに出力するパケット化ＦＩＦＯバッファと、
前記書き込みＦＩＦＯバッファの出力と前記メモリインタフェースから出力されたパケットデータとのうちいずれか一方を選択し、前記読み出しＦＩＦＯバッファに出力するマルチプレクサと、
当該ＦＩＦＯバッファ装置を制御する制御部とを備え、
前記制御部は、
前記マルチプレクサの選択動作を制御し、前記書き込みＦＩＦＯバッファの出力が前記読み出しＦＩＦＯバッファに出力される第１モードと、前記メモリインタフェースから出力されたパケットデータが前記読み出しＦＩＦＯバッファに出力される第２モードとを切り替えるものであり、
前記第１モードにおいて、前記読み出しＦＩＦＯバッファがフル状態になったとき、前記第２モードに切り替え、前記第２モードにおいて、前記バッファ用記憶領域がエンプティ状態になったとき、前記第１モードに切り替える
ことを特徴とするＦＩＦＯバッファ装置。
【請求項２】
請求項１記載のＦＩＦＯバッファ装置において、
前記制御部は、
前記第２モードにおいて、前記パケット化ＦＩＦＯバッファから前記メモリインタフェースにパケットデータが出力されたとき、当該パケットデータに対応するデータを、前記書き込みＦＩＦＯバッファから破棄する
ことを特徴とするＦＩＦＯバッファ装置。
【請求項３】
請求項１記載のＦＩＦＯバッファ装置において、
前記メモリインタフェースは、
前記バッファ用記憶領域の先頭アドレスおよび末尾アドレスが設定可能であり、かつ、
次にデータの書き込みを行うアドレスを示すライトポインタと、
次にデータの読み出しを行うアドレスを示すリードポインタと、
読み出し済み履歴データの先頭アドレスを示すヒストリポインタとを備えており、
前記リードポインタが前記ライトポインタに追いついたとき、前記バッファ用メモリ領域はエンプティ状態であり、前記ライトポインタが前記ヒストリポインタに追いついたとき、前記バッファ用記憶領域はフル状態である
ことを特徴とするＦＩＦＯバッファ装置。
【請求項４】
請求項３記載のＦＩＦＯバッファ装置において、
前記制御部は、
巻き戻し要求を受けたとき、前記第２モードに設定するとともに、前記メモリインタフェースに対して、再読み出しアドレスを指定して再読み出しを指示するものであり、
前記メモリインタフェースは、
前記制御部から再読み出しを指示されたとき、前記リードポインタを指定された再読み出しアドレスの位置に戻して、パケットデータの読み出しを行うものである
ことを特徴とするＦＩＦＯバッファ装置。
【請求項５】
請求項３記載のＦＩＦＯバッファ装置において、
前記メモリインタフェースは、
履歴破棄要求を受けたとき、前記ヒストリポインタの位置を、所定アドレス分あるいは指定されたアドレス分、進めるものである
ことを特徴とするＦＩＦＯバッファ装置。
【請求項６】
請求項１記載のＦＩＦＯバッファ装置において、
前記入力データと前記パケット化ＦＩＦＯバッファの出力とのうちいずれか一方を選択し、前記書き込みＦＩＦＯバッファと前記パケット化ＦＩＦＯバッファとに共通に出力する第２のマルチプレクサを備え、
前記制御部は、
巻き戻し要求を受けた場合において、前記パケット化ＦＩＦＯバッファ内のデータを再読み出しする必要があるとき、前記第２のマルチプレクサに対して、前記パケット化ＦＩＦＯバッファの出力を前記書き込みＦＩＦＯバッファと前記パケット化ＦＩＦＯバッファとに共通に出力するよう、制御する
ことを特徴とするＦＩＦＯバッファ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデータを一旦格納し、入力順に従って出力するＦＩＦＯバッファ装置に関するものである。
【背景技術】
【０００２】
従来のＦＩＦＯバッファ装置の一例として、特許文献１には、読み出し側バッファに空き容量がなくなった場合にデータ退避を行うために、外部メモリにオーバーフロー領域を設けた構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００２−５１３５３０号公報（図４）
【特許文献２】特許第３８１０４４９号公報
【特許文献３】特許第３５６００５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近のアプリケーションでは、ＦＩＦＯバッファ装置に対して、巻き戻し機能を実現することが求められている。巻き戻しとは、データの再読み出し、すなわち、すでに出力された過去のデータを再度ＦＩＦＯバッファ装置から読み出すことである。【０００５】
ところが、特許文献１の構成では、オーバーフロー領域に退避されたデータについては外部メモリから再読み出しすることは可能であるが、退避されずに直接出力されたデータについては、データ履歴が外部メモリに残っていないため、再読み出しをすることはできない。【０００６】
したがって、ＦＩＦＯバッファ装置に対して巻き戻し機能を持たせるためには、再読み出しに備えて、全てのデータを外部メモリに退避させる必要がある。ただし、全てのデータについて、外部メモリを経由してから出力する構成とした場合、外部メモリとのデータアクセスに時間がかかるため、データ転送速度が低下することになり、好ましくない。【０００７】
本発明は、ＦＩＦＯバッファ装置として、データ転送速度を低下させることなく、巻き戻し機能を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、入力されたデータを一旦格納し、入力順に従って出力するＦＩＦＯバッファ装置として、入力データを書き込むための書き込みＦＩＦＯバッファと、出力データを読み出すための読み出しＦＩＦＯバッファと、退避用メモリに形成されたバッファ用記憶領域を管理し、前記バッファ用記憶領域へのパケットデータの書き込み、および、前記バッファ用記憶領域からのパケットデータの読み出しを行うメモリインタフェースと、前記書き込みＦＩＦＯバッファと共通に前記入力データを受け、所定のサイズにパケット化し、パケットデータとして前記メモリインタフェースに出力するパケット化ＦＩＦＯバッファと、前記書き込みＦＩＦＯバッファの出力と前記メモリインタフェースから出力されたパケットデータとのうちいずれか一方を選択し、前記読み出しＦＩＦＯバッファに出力するマルチプレクサと、当該ＦＩＦＯバッファ装置を制御する制御部とを備え、前記制御部は、前記マルチプレクサの選択動作を制御し、前記書き込みＦＩＦＯバッファの出力が前記読み出しＦＩＦＯバッファに出力される第１モードと、前記メモリインタフェースから出力されたパケットデータが前記読み出しＦＩＦＯバッファに出力される第２モードとを切り替えるものであり、前記第１モードにおいて、前記読み出しＦＩＦＯバッファがフル状態になったとき、前記第２モードに切り替え、前記第２モードにおいて、前記バッファ用記憶領域がエンプティ状態になったとき、前記第１モードに切り替えるものである。【０００９】
この態様によると、入力データは、書き込みＦＩＦＯバッファに書き込まれるとともに、パケット化ＦＩＦＯバッファによってパケット化されて、退避用メモリに形成されたバッファ用記憶領域に書き込まれる。すなわち、書き込みＦＩＦＯバッファから読み出しＦＩＦＯバッファに直接データ出力される第１モードにおいても、入力データは、退避用メモリのバッファ用記憶領域に退避されることになる。このため、巻き戻し要求があったとき、退避用メモリからデータを再読み出しすることが可能である。しかも、読み出しＦＩＦＯバッファがフル状態になるまでは、第１モードにおいて、書き込みＦＩＦＯバッファから読み出しＦＩＦＯバッファに直接データ出力されるので、データ退避に起因したデータ転送速度の低下は生じない。
【発明の効果】
【００１０】
本発明によると、退避用メモリを介さずにそのまま出力される入力データについても、データ転送速度の低下を招くことなく、退避用メモリのバッファ用記憶領域に退避され、再読み出しが可能になる。したがって、巻き戻し機能を有し、かつ、データ転送速度が高いＦＩＦＯバッファ装置を実現可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。
【図２】バッファ用記憶領域の管理方法を説明するための図である。
【図３】バッファ用記憶領域において履歴データの破棄を行う方法を説明するための図である。
【図４】他の実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００１３】
図１は実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。図１に示すＦＩＦＯバッファ装置１０は、入力されたデータを一旦格納し、入力順に従って出力するものであり、書き込みＦＩＦＯバッファ１１と、読み出しＦＩＦＯバッファ１２と、パケット化ＦＩＦＯバッファ１３と、メモリインタフェース１４と、マルチプレクサ１５と、ＦＩＦＯバッファ装置１０を制御する制御部１６とを備えている。そして、このＦＩＦＯバッファ装置１０は、退避用メモリとしての外部メモリ２０に、入力データをパケットデータの形式で退避可能に構成されている。
【００１４】
書き込みＦＩＦＯバッファ１１は、書き込みマスターから送られてきたＦＩＦＯバッファ装置１０の入力データを書き込むためのものであり、所定の容量を有し、書き込まれた入力データを書き込まれた順に出力する。読み出しＦＩＦＯバッファ１２は、読み出しマスタに送るＦＩＦＯバッファ装置１０の出力データを読み出すためのものであり、所定の容量を有し、書き込まれたデータを書き込まれた順に出力データとして出力する。メモリインタフェース１４は、外部メモリ２０に形成されたバッファ用記憶領域２１を管理し、このバッファ用記憶領域２１へのパケットデータの書き込み、および、バッファ用記憶領域２１からのパケットデータの読み出しを行う。
【００１５】
パケット化ＦＩＦＯバッファ１３は、書き込みＦＩＦＯバッファ１１と共通に、ＦＩＦＯバッファ装置１０の入力データを受ける。すなわち、パケット化ＦＩＦＯバッファ１３には、書き込みＦＩＦＯバッファ１１と同じデータが書き込まれる。そして、パケット化ＦＩＦＯバッファ１３は、書き込まれたデータを所定のパケットサイズにパケット化し、得られたパケットデータをメモリインタフェース１４に出力する。メモリインタフェース１４は、パケット化ＦＩＦＯバッファ１３から送られてきたパケットデータを外部メモリ２０のバッファ用記憶領域２１に書き込む。また、メモリインタフェース１４は、外部メモリ２０のバッファ用記憶領域２１からパケットデータを読み出し、マルチプレクサ１５に出力する。
【００１６】
マルチプレクサ１５は、書き込みＦＩＦＯバッファ１１の出力と、メモリインタフェース１４から出力されたパケットデータとのうちいずれか一方を選択し、読み出しＦＩＦＯバッファ１２に出力する。このマルチプレクサ１５の選択動作は、制御部１６によって制御される。すなわち、制御部１６は、書き込みＦＩＦＯバッファ１１の出力がマルチプレクサ１５を介して読み出しＦＩＦＯバッファ１２に出力される第１モードと、メモリインタフェース１４から出力されたパケットデータがマルチプレクサ１５を介して読み出しＦＩＦＯバッファ１２に出力される第２モードとを、切り替える。第１モードのときは、ＦＩＦＯバッファ装置１０に入力されたデータは、書き込みＦＩＦＯバッファ１１および読み出しＦＩＦＯバッファ１２を介して、そのまま出力される。一方、第２モードのときは、ＦＩＦＯバッファ装置１０に入力されたデータは、パケット化されてバッファ用記憶領域２１に一旦記憶されてから、読み出しＦＩＦＯバッファ１２を介して、出力される。
【００１７】
制御部１６は、第１モードにおいて、読み出しＦＩＦＯバッファ１２がフル状態になったとき、第２モードに切り替える。すなわち、入力データを書き込みＦＩＦＯバッファ１１からそのまま出力している状態で、読み出しＦＩＦＯバッファ１２があふれそうになったときには、書き込みＦＩＦＯバッファ１１からの出力を停止する。一方、第２モードにおいて、バッファ用記憶領域２１がエンプティ状態になったとき、第１モードに切り替える。すなわち、外部メモリ２０に退避させていた未出力のパケットデータがなくなったときには、入力データを書き込みＦＩＦＯバッファ１１からそのまま出力する状態に戻す。
【００１８】
本実施形態の構成によると、ＦＩＦＯバッファ装置１０の入力データは、書き込みＦＩＦＯバッファ１１に書き込まれるとともに、パケット化ＦＩＦＯバッファ１３によってパケット化されて、外部メモリ２０のバッファ用記憶領域２１に格納される。すなわち、第１モードにおいて書き込みＦＩＦＯバッファ１１からそのまま出力された入力データについても、バッファ用記憶領域２１にパケットデータとして退避されている。したがって、第１モードにおける出力データについても、巻き戻し要求があったとき、バッファ用記憶領域２１から再読み出しすることができる。しかも、読み出しＦＩＦＯバッファ１２がフル状態にならない間は、第１モードにおいて、入力データが書き込みＦＩＦＯバッファ１１を介してそのまま出力されるので、パケット化に起因するデータ転送の中断といった問題が生じることはなく、データ退避に起因したデータ転送速度の低下は生じないため、スムーズなデータ転送が実現できる。
【００１９】
なお、制御部１６は、第２モードにおいて、パケット化ＦＩＦＯバッファ１３からメモリインタフェース１４にパケットデータが出力されたとき、当該パケットデータに対応するデータを、書き込みＦＩＦＯバッファ１１から破棄するのが好ましい。これにより、第２モードにおいて、書き込みＦＩＦＯバッファ１１がフル状態になり、入力データの受け入れができなくなるという問題を回避することができる。
【００２０】
次に、メモリインタフェース１４によるバッファ用記憶領域２１の管理方法について、図２を用いて説明する。
【００２１】
外部メモリ２０のバッファ用記憶領域２１は、メモリインタフェース１４によって管理される。メモリインタフェース１４は、バッファ用記憶領域２１を管理するために、その先頭アドレスと末尾アドレスとが設定可能に構成されている。例えば、先頭アドレスと末尾アドレスを格納するためのレジスタを備えている。メモリインタフェース１４はさらに、次にデータの書き込みを行うアドレスを示すライトポインタと、次にデータの読み出しを行うアドレスを示すリードポインタと、読み出し済み履歴データの先頭アドレスを示すヒストリポインタとを備えている。
【００２２】
ライトポインタは、データの書き込みを行うとき、書き込みデータのサイズ分の加算が行われる。リードポインタは、データの読み出しを行うとき、読み出しデータのサイズ分の加算が行われる。ヒストリポインタは、読み出し済み履歴データが上書きされないように保護する役割を有する。ライトポインタ、リードポインタおよびヒストリポインタのいずれも、バッファ用記憶領域２１の末尾アドレスに達すると、先頭アドレスに飛ぶ。
【００２３】
そして、ライトポインタがヒストリポインタに追いついたときは、バッファ用記憶領域２１はフル状態となり、それ以上のデータ書き込みはできない。すなわち、ライトポインタはヒストリポインタを追い越すことができない。これにより、ヒストリポインタとリードポインタの間が、読み出し済みの履歴データとして保護される。また、リードポインタがライトポインタに追いついたときは、バッファ用記憶領域２１はエンプティ状態となり、それ以上のデータ読み出しはできない。
【００２４】
データの巻き戻し要求があったときは、次のようにして、データの再読み出しが行われる。すなわち、制御部１６は、巻き戻し要求を受けたとき、第２モードに設定するとともに、メモリインタフェース１４に対して、再読み出しアドレスを指定して再読み出しを指示する。メモリインタフェース１４は、制御部１６から再読み出しを指示されたとき、リードポインタを、指定された再読み出しアドレスの位置に戻す。これにより、読み出し済み履歴データの一部が有効データとなり、再読み出しが可能となる。ただし、リードポインタは、ヒストリポインタを超えて戻すことはできない。
【００２５】
また、履歴破棄要求があったときは、図３に示すように、メモリインタフェース１４は、ヒストリポインタの位置を、所定アドレス分あるいは指定されたアドレス分、進める。これにより、移動後のヒストリポインタの位置より上の履歴データは、保護されなくなり、実質的に破棄されたことになる。ただし、ヒストリポインタは、リードポインタを超えて進めることはできない。
【００２６】
図４は他の実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。図４において、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。
【００２７】
図４のＦＩＦＯバッファ装置１０Ａでは、書き込みＦＩＦＯバッファ１１およびパケット化ＦＩＦＯバッファ１３の前段に、第２のマルチプレクサ１７が設けられている。第２のマルチプレクサ１７は、書き込みＦＩＦＯバッファ１１およびパケット化ＦＩＦＯバッファ１３に共通に出力するデータとして、入力データとパケット化ＦＩＦＯバッファ１３の出力とのうちいずれかを選択するものである。第２のマルチプレクサ１７の選択動作は、制御部１６Ａによって制御される。
【００２８】
図１の構成において、バッファ用記憶領域２１に退避されているパケットデータについては巻き戻し可能であるが、パケット化ＦＩＦＯバッファ１３内にまだパケット化されないで残っているデータについては、巻き戻し要求があった場合には、これに即座に対応することが困難となる。このため、図４の構成では、パケット化ＦＩＦＯバッファ１３のデータを書き込みＦＩＦＯバッファ１１に再入力可能なように、第２のマルチプレクサ１７を設けている。制御部１６Ａは、巻き戻し要求を受けたとき、再読み出しを必要とするデータがパケット化ＦＩＦＯバッファ１３内にまだパケット化されないで残っている場合には、第２のマルチプレクサ１７を制御して、パケット化ＦＩＦＯバッファ１３内のデータが書き込みＦＩＦＯバッファ１１に再入力されるようにする。これによって、パケット化ＦＩＦＯバッファ１３に残っているデータについても、巻き戻し要求に対応することが可能になる。
【産業上の利用可能性】
【００２９】
本発明では、巻き戻し機能を有し、かつ、データ転送速度が高いＦＩＦＯバッファ装置が実現可能となるので、例えば、映像システムにおいて可変長符号化された画像データを復号する場合に、複数の符号化データを１つの復号装置に切り替えて入力する際に、先読みされた符号化データを破棄し次回の処理時に再度読み直す場合等に用いるのに有効である。
【符号の説明】
【００３０】
１０，１０Ａ  ＦＩＦＯバッファ装置
１１  書き込みＦＩＦＯバッファ
１２  読み出しＦＩＦＯバッファ
１３  パケット化ＦＩＦＯバッファ
１４  メモリインタフェース
１５  マルチプレクサ
１６，１６Ａ  制御部
１７  第２のマルチプレクサ
２０  外部メモリ（退避用メモリ）
２１  バッファ用記憶領域
【図１】
2010122613.tif 000003
【図２】
2010122613.tif 000004
【図３】
2010122613.tif 000005
【図４】
2010122613.tif 000006
【手続補正書】
【提出日】平成23年7月8日(2011.7.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデータを一旦格納し、入力順に従って出力するＦＩＦＯバッファ装置に関するものである。
【背景技術】
【０００２】
従来のＦＩＦＯバッファ装置の一例として、特許文献１には、読み出し側バッファに空き容量がなくなった場合にデータ退避を行うために、外部メモリにオーバーフロー領域を設けた構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００２−５１３５３０号公報（図４）
【特許文献２】特許第３８１０４４９号公報
【特許文献３】特許第３５６００５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近のアプリケーションでは、ＦＩＦＯバッファ装置に対して、巻き戻し機能を実現することが求められている。巻き戻しとは、データの再読み出し、すなわち、すでに出力された過去のデータを再度ＦＩＦＯバッファ装置から読み出すことである。
【０００５】
ところが、特許文献１の構成では、オーバーフロー領域に退避されたデータについては外部メモリから再読み出しすることは可能であるが、退避されずに直接出力されたデータについては、データ履歴が外部メモリに残っていないため、再読み出しをすることはできない。
【０００６】
したがって、ＦＩＦＯバッファ装置に対して巻き戻し機能を持たせるためには、再読み出しに備えて、全てのデータを外部メモリに退避させる必要がある。ただし、全てのデータについて、外部メモリを経由してから出力する構成とした場合、外部メモリとのデータアクセスに時間がかかるため、データ転送速度が低下することになり、好ましくない。
【０００７】
本発明は、ＦＩＦＯバッファ装置として、データ転送速度を低下させることなく、巻き戻し機能を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、入力されたデータを一旦格納し、入力順に従って出力するＦＩＦＯバッファ装置として、入力データを書き込むための書き込みＦＩＦＯバッファと、出力データを読み出すための読み出しＦＩＦＯバッファと、退避用メモリに形成されたバッファ用記憶領域を管理し、前記バッファ用記憶領域へのパケットデータの書き込み、および、前記バッファ用記憶領域からのパケットデータの読み出しを行うメモリインタフェースと、前記書き込みＦＩＦＯバッファと共通に前記入力データを受け、所定のサイズにパケット化し、パケットデータとして前記メモリインタフェースに出力するパケット化ＦＩＦＯバッファと、前記書き込みＦＩＦＯバッファの出力と前記メモリインタフェースから出力されたパケットデータとのうちいずれか一方を選択し、前記読み出しＦＩＦＯバッファに出力するマルチプレクサと、当該ＦＩＦＯバッファ装置を制御する制御部とを備え、前記制御部は、前記マルチプレクサの選択動作を制御し、前記書き込みＦＩＦＯバッファの出力が前記読み出しＦＩＦＯバッファに出力される第１モードと、前記メモリインタフェースから出力されたパケットデータが前記読み出しＦＩＦＯバッファに出力される第２モードとを切り替えるものであり、前記第１モードにおいて、前記読み出しＦＩＦＯバッファがフル状態になったとき、前記第２モードに切り替え、前記第２モードにおいて、前記バッファ用記憶領域がエンプティ状態になったとき、前記第１モードに切り替えるものである。
【０００９】
この態様によると、入力データは、書き込みＦＩＦＯバッファに書き込まれるとともに、パケット化ＦＩＦＯバッファによってパケット化されて、退避用メモリに形成されたバッファ用記憶領域に書き込まれる。すなわち、書き込みＦＩＦＯバッファから読み出しＦＩＦＯバッファに直接データ出力される第１モードにおいても、入力データは、退避用メモリのバッファ用記憶領域に退避されることになる。このため、巻き戻し要求があったとき、退避用メモリからデータを再読み出しすることが可能である。しかも、読み出しＦＩＦＯバッファがフル状態になるまでは、第１モードにおいて、書き込みＦＩＦＯバッファから読み出しＦＩＦＯバッファに直接データ出力されるので、データ退避に起因したデータ転送速度の低下は生じない。
【発明の効果】
【００１０】
本発明によると、退避用メモリを介さずにそのまま出力される入力データについても、データ転送速度の低下を招くことなく、退避用メモリのバッファ用記憶領域に退避され、再読み出しが可能になる。したがって、巻き戻し機能を有し、かつ、データ転送速度が高いＦＩＦＯバッファ装置を実現可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。
【図２】バッファ用記憶領域の管理方法を説明するための図である。
【図３】バッファ用記憶領域において履歴データの破棄を行う方法を説明するための図である。
【図４】他の実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００１３】
図１は実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。図１に示すＦＩＦＯバッファ装置１０は、入力されたデータを一旦格納し、入力順に従って出力するものであり、書き込みＦＩＦＯバッファ１１と、読み出しＦＩＦＯバッファ１２と、パケット化ＦＩＦＯバッファ１３と、メモリインタフェース１４と、マルチプレクサ１５と、ＦＩＦＯバッファ装置１０を制御する制御部１６とを備えている。そして、このＦＩＦＯバッファ装置１０は、退避用メモリとしての外部メモリ２０に、入力データをパケットデータの形式で退避可能に構成されている。
【００１４】
書き込みＦＩＦＯバッファ１１は、書き込みマスターから送られてきたＦＩＦＯバッファ装置１０の入力データを書き込むためのものであり、所定の容量を有し、書き込まれた入力データを書き込まれた順に出力する。読み出しＦＩＦＯバッファ１２は、読み出しマスタに送るＦＩＦＯバッファ装置１０の出力データを読み出すためのものであり、所定の容量を有し、書き込まれたデータを書き込まれた順に出力データとして出力する。メモリインタフェース１４は、外部メモリ２０に形成されたバッファ用記憶領域２１を管理し、このバッファ用記憶領域２１へのパケットデータの書き込み、および、バッファ用記憶領域２１からのパケットデータの読み出しを行う。
【００１５】
パケット化ＦＩＦＯバッファ１３は、書き込みＦＩＦＯバッファ１１と共通に、ＦＩＦＯバッファ装置１０の入力データを受ける。すなわち、パケット化ＦＩＦＯバッファ１３には、書き込みＦＩＦＯバッファ１１と同じデータが書き込まれる。そして、パケット化ＦＩＦＯバッファ１３は、書き込まれたデータを所定のパケットサイズにパケット化し、得られたパケットデータをメモリインタフェース１４に出力する。メモリインタフェース１４は、パケット化ＦＩＦＯバッファ１３から送られてきたパケットデータを外部メモリ２０のバッファ用記憶領域２１に書き込む。また、メモリインタフェース１４は、外部メモリ２０のバッファ用記憶領域２１からパケットデータを読み出し、マルチプレクサ１５に出力する。
【００１６】
マルチプレクサ１５は、書き込みＦＩＦＯバッファ１１の出力と、メモリインタフェース１４から出力されたパケットデータとのうちいずれか一方を選択し、読み出しＦＩＦＯバッファ１２に出力する。このマルチプレクサ１５の選択動作は、制御部１６によって制御される。すなわち、制御部１６は、書き込みＦＩＦＯバッファ１１の出力がマルチプレクサ１５を介して読み出しＦＩＦＯバッファ１２に出力される第１モードと、メモリインタフェース１４から出力されたパケットデータがマルチプレクサ１５を介して読み出しＦＩＦＯバッファ１２に出力される第２モードとを、切り替える。第１モードのときは、ＦＩＦＯバッファ装置１０に入力されたデータは、書き込みＦＩＦＯバッファ１１および読み出しＦＩＦＯバッファ１２を介して、そのまま出力される。一方、第２モードのときは、ＦＩＦＯバッファ装置１０に入力されたデータは、パケット化されてバッファ用記憶領域２１に一旦記憶されてから、読み出しＦＩＦＯバッファ１２を介して、出力される。
【００１７】
制御部１６は、第１モードにおいて、読み出しＦＩＦＯバッファ１２がフル状態になったとき、第２モードに切り替える。すなわち、入力データを書き込みＦＩＦＯバッファ１１からそのまま出力している状態で、読み出しＦＩＦＯバッファ１２があふれそうになったときには、書き込みＦＩＦＯバッファ１１からの出力を停止する。一方、第２モードにおいて、バッファ用記憶領域２１がエンプティ状態になったとき、第１モードに切り替える。すなわち、外部メモリ２０に退避させていた未出力のパケットデータがなくなったときには、入力データを書き込みＦＩＦＯバッファ１１からそのまま出力する状態に戻す。
【００１８】
本実施形態の構成によると、ＦＩＦＯバッファ装置１０の入力データは、書き込みＦＩＦＯバッファ１１に書き込まれるとともに、パケット化ＦＩＦＯバッファ１３によってパケット化されて、外部メモリ２０のバッファ用記憶領域２１に格納される。すなわち、第１モードにおいて書き込みＦＩＦＯバッファ１１からそのまま出力された入力データについても、バッファ用記憶領域２１にパケットデータとして退避されている。したがって、第１モードにおける出力データについても、巻き戻し要求があったとき、バッファ用記憶領域２１から再読み出しすることができる。しかも、読み出しＦＩＦＯバッファ１２がフル状態にならない間は、第１モードにおいて、入力データが書き込みＦＩＦＯバッファ１１を介してそのまま出力されるので、パケット化に起因するデータ転送の中断といった問題が生じることはなく、データ退避に起因したデータ転送速度の低下は生じないため、スムーズなデータ転送が実現できる。
【００１９】
なお、制御部１６は、第２モードにおいて、パケット化ＦＩＦＯバッファ１３からメモリインタフェース１４にパケットデータが出力されたとき、当該パケットデータに対応するデータを、書き込みＦＩＦＯバッファ１１から破棄するのが好ましい。これにより、第２モードにおいて、書き込みＦＩＦＯバッファ１１がフル状態になり、入力データの受け入れができなくなるという問題を回避することができる。
【００２０】
次に、メモリインタフェース１４によるバッファ用記憶領域２１の管理方法について、図２を用いて説明する。
【００２１】
外部メモリ２０のバッファ用記憶領域２１は、メモリインタフェース１４によって管理される。メモリインタフェース１４は、バッファ用記憶領域２１を管理するために、その先頭アドレスと末尾アドレスとが設定可能に構成されている。例えば、先頭アドレスと末尾アドレスを格納するためのレジスタを備えている。メモリインタフェース１４はさらに、次にデータの書き込みを行うアドレスを示すライトポインタと、次にデータの読み出しを行うアドレスを示すリードポインタと、読み出し済み履歴データの先頭アドレスを示すヒストリポインタとを備えている。
【００２２】
ライトポインタは、データの書き込みを行うとき、書き込みデータのサイズ分の加算が行われる。リードポインタは、データの読み出しを行うとき、読み出しデータのサイズ分の加算が行われる。ヒストリポインタは、読み出し済み履歴データが上書きされないように保護する役割を有する。ライトポインタ、リードポインタおよびヒストリポインタのいずれも、バッファ用記憶領域２１の末尾アドレスに達すると、先頭アドレスに飛ぶ。
【００２３】
そして、ライトポインタがヒストリポインタに追いついたときは、バッファ用記憶領域２１はフル状態となり、それ以上のデータ書き込みはできない。すなわち、ライトポインタはヒストリポインタを追い越すことができない。これにより、ヒストリポインタとリードポインタの間が、読み出し済みの履歴データとして保護される。また、リードポインタがライトポインタに追いついたときは、バッファ用記憶領域２１はエンプティ状態となり、それ以上のデータ読み出しはできない。
【００２４】
データの巻き戻し要求があったときは、次のようにして、データの再読み出しが行われる。すなわち、制御部１６は、巻き戻し要求を受けたとき、第２モードに設定するとともに、メモリインタフェース１４に対して、再読み出しアドレスを指定して再読み出しを指示する。メモリインタフェース１４は、制御部１６から再読み出しを指示されたとき、リードポインタを、指定された再読み出しアドレスの位置に戻す。これにより、読み出し済み履歴データの一部が有効データとなり、再読み出しが可能となる。ただし、リードポインタは、ヒストリポインタを超えて戻すことはできない。
【００２５】
また、履歴破棄要求があったときは、図３に示すように、メモリインタフェース１４は、ヒストリポインタの位置を、所定アドレス分あるいは指定されたアドレス分、進める。これにより、移動後のヒストリポインタの位置より上の履歴データは、保護されなくなり、実質的に破棄されたことになる。ただし、ヒストリポインタは、リードポインタを超えて進めることはできない。
【００２６】
図４は他の実施形態に係るＦＩＦＯバッファ装置の構成を示すブロック図である。図４において、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。
【００２７】
図４のＦＩＦＯバッファ装置１０Ａでは、書き込みＦＩＦＯバッファ１１およびパケット化ＦＩＦＯバッファ１３の前段に、第２のマルチプレクサ１７が設けられている。第２のマルチプレクサ１７は、書き込みＦＩＦＯバッファ１１およびパケット化ＦＩＦＯバッファ１３に共通に出力するデータとして、入力データとパケット化ＦＩＦＯバッファ１３の出力とのうちいずれかを選択するものである。第２のマルチプレクサ１７の選択動作は、制御部１６Ａによって制御される。
【００２８】
図１の構成において、バッファ用記憶領域２１に退避されているパケットデータについては巻き戻し可能であるが、パケット化ＦＩＦＯバッファ１３内にまだパケット化されないで残っているデータについては、巻き戻し要求があった場合には、これに即座に対応することが困難となる。このため、図４の構成では、パケット化ＦＩＦＯバッファ１３のデータを書き込みＦＩＦＯバッファ１１に再入力可能なように、第２のマルチプレクサ１７を設けている。制御部１６Ａは、巻き戻し要求を受けたとき、再読み出しを必要とするデータがパケット化ＦＩＦＯバッファ１３内にまだパケット化されないで残っている場合には、第２のマルチプレクサ１７を制御して、パケット化ＦＩＦＯバッファ１３内のデータが書き込みＦＩＦＯバッファ１１に再入力されるようにする。これによって、パケット化ＦＩＦＯバッファ１３に残っているデータについても、巻き戻し要求に対応することが可能になる。
【産業上の利用可能性】
【００２９】
本発明では、巻き戻し機能を有し、かつ、データ転送速度が高いＦＩＦＯバッファ装置が実現可能となるので、例えば、映像システムにおいて可変長符号化された画像データを復号する場合に、複数の符号化データを１つの復号装置に切り替えて入力する際に、先読みされた符号化データを破棄し次回の処理時に再度読み直す場合等に用いるのに有効である。
【符号の説明】
【００３０】
１０，１０Ａ  ＦＩＦＯバッファ装置
１１  書き込みＦＩＦＯバッファ
１２  読み出しＦＩＦＯバッファ
１３  パケット化ＦＩＦＯバッファ
１４  メモリインタフェース
１５  マルチプレクサ
１６，１６Ａ  制御部
１７  第２のマルチプレクサ
２０  外部メモリ（退避用メモリ）
２１  バッファ用記憶領域
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力されたデータを一旦格納し、入力順に従って出力するＦＩＦＯバッファ装置であって、
入力データを書き込むための書き込みＦＩＦＯバッファと、
出力データを読み出すための読み出しＦＩＦＯバッファと、
退避用メモリに形成されたバッファ用記憶領域を管理し、前記バッファ用記憶領域へのパケットデータの書き込み、および、前記バッファ用記憶領域からのパケットデータの読み出しを行うメモリインタフェースと、
前記書き込みＦＩＦＯバッファと共通に前記入力データを受け、所定のサイズにパケット化し、パケットデータとして前記メモリインタフェースに出力するパケット化ＦＩＦＯバッファと、
前記書き込みＦＩＦＯバッファの出力と前記メモリインタフェースから出力されたパケットデータとのうちいずれか一方を選択し、前記読み出しＦＩＦＯバッファに出力するマルチプレクサと、
当該ＦＩＦＯバッファ装置を制御する制御部とを備え、
前記制御部は、
前記マルチプレクサの選択動作を制御し、前記書き込みＦＩＦＯバッファの出力が前記読み出しＦＩＦＯバッファに出力される第１モードと、前記メモリインタフェースから出力されたパケットデータが前記読み出しＦＩＦＯバッファに出力される第２モードとを切り替えるものであり、
前記第１モードにおいて、前記読み出しＦＩＦＯバッファがフル状態になったとき、前記第２モードに切り替え、前記第２モードにおいて、前記バッファ用記憶領域がエンプティ状態になったとき、前記第１モードに切り替える
ことを特徴とするＦＩＦＯバッファ装置。
【請求項２】
請求項１記載のＦＩＦＯバッファ装置において、
前記制御部は、
前記第２モードにおいて、前記パケット化ＦＩＦＯバッファから前記メモリインタフェースにパケットデータが出力されたとき、当該パケットデータに対応するデータを、前記書き込みＦＩＦＯバッファから破棄する
ことを特徴とするＦＩＦＯバッファ装置。
【請求項３】
請求項１記載のＦＩＦＯバッファ装置において、
前記メモリインタフェースは、
前記バッファ用記憶領域の先頭アドレスおよび末尾アドレスが設定可能であり、かつ、
次にデータの書き込みを行うアドレスを示すライトポインタと、
次にデータの読み出しを行うアドレスを示すリードポインタと、
読み出し済み履歴データの先頭アドレスを示すヒストリポインタとを備えており、
前記リードポインタが前記ライトポインタに追いついたとき、前記バッファ用記憶領域はエンプティ状態であり、前記ライトポインタが前記ヒストリポインタに追いついたとき、前記バッファ用記憶領域はフル状態である
ことを特徴とするＦＩＦＯバッファ装置。
【請求項４】
請求項３記載のＦＩＦＯバッファ装置において、
前記制御部は、
巻き戻し要求を受けたとき、前記第２モードに設定するとともに、前記メモリインタフェースに対して、再読み出しアドレスを指定して再読み出しを指示するものであり、
前記メモリインタフェースは、
前記制御部から再読み出しを指示されたとき、前記リードポインタを指定された再読み出しアドレスの位置に戻して、パケットデータの読み出しを行うものである
ことを特徴とするＦＩＦＯバッファ装置。
【請求項５】
請求項３記載のＦＩＦＯバッファ装置において、
前記メモリインタフェースは、
履歴破棄要求を受けたとき、前記ヒストリポインタの位置を、所定アドレス分あるいは指定されたアドレス分、進めるものである
ことを特徴とするＦＩＦＯバッファ装置。
【請求項６】
請求項１記載のＦＩＦＯバッファ装置において、
前記入力データと前記パケット化ＦＩＦＯバッファの出力とのうちいずれか一方を選択し、前記書き込みＦＩＦＯバッファと前記パケット化ＦＩＦＯバッファとに共通に出力する第２のマルチプレクサを備え、
前記制御部は、
巻き戻し要求を受けた場合において、前記パケット化ＦＩＦＯバッファ内のデータを再読み出しする必要があるとき、前記第２のマルチプレクサに対して、前記パケット化ＦＩＦＯバッファの出力を前記書き込みＦＩＦＯバッファと前記パケット化ＦＩＦＯバッファとに共通に出力するよう、制御する
ことを特徴とするＦＩＦＯバッファ装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010122613.tif 000007
【図２】
2010122613.tif 000008
【図３】
2010122613.tif 000009
【図４】
2010122613.tif 000010
【国際調査報告】
2010122613.tif 000011
2010122613.tif 000012
2010122613.tif 000013
2010122613.tif 000014