(57)【特許請求の範囲】
【請求項１】
可変長符号化された複数の符号化データを所定の時間間隔でそれぞれ分割した各データブロックがランダムアクセス可能な記録媒体において連続するように、前記各データブロックを前記記録媒体にそれぞれ記録する記録手段と、
前記各データブロックのデータ長を表すデータ長情報と、前記記録媒体における前記データブロックの先頭位置を示すデータ位置情報とを含むデータ記録テーブルを生成するテーブル生成手段と、
前記テーブル生成手段により生成された前記データ記録テーブル内の前記各データブロックのデータ長と前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを参照して前記記録媒体に記録された前記各データブロックを識別することにより、前記記録媒体に記録されている前記可変長符号化されたデータを含む前記各データブロックを前記記録媒体から読み出す読み出し手段と
を有するデータ送出装置。
【請求項２】
前記読み出し手段により読み出された前記各データブロックを伝送する伝送手段を更に有する、
請求項１記載のデータ送出装置。
【請求項３】
前記伝送手段は、前記各データブロックを前記各符号化データに対応するチャンネルで伝送する、
請求項２記載のデータ送出装置。
【請求項４】
前記データ記録テーブルは、前記データブロックの符号化データ量を示すデータ量データを含む、
請求項２記載のデータ送出装置。
【請求項５】
前記読み出し手段により読み出された各前記データブロックを、可変データレートで伝送するか、または、固定データレートで伝送するかを判定する判定手段を更に有し、
前記伝送手段は、前記判定手段により固定データレートで伝送すると判定された場合には、前記データ記録テーブルに含まれる前記データ量データを参照して前記固定データレートとなるように前記各データブロック内の前記可変長符号化されたデータにダミーデータを付加して前記各データブロックを伝送する、
請求項４記載のデータ送出装置。
【請求項６】
可変長符号化された複数の符号化データを所定の時間間隔でそれぞれ分割した各データブロックがランダムアクセス可能な記録媒体において連続するように、前記各データブロックを前記記録媒体にそれぞれ記録し、
前記各データブロックのデータ長を表すデータ長情報と、前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを含むデータ記録テーブルを生成し、
前記生成された前記データ記録テーブル内の前記各データブロックのデータ長と前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを参照して前記記録媒体に記録された前記各データブロックを識別することにより、前記記録媒体に記録されている前記可変長符号化されたデータを含む各データブロックを前記記録媒体から読み出す、
データ送出方法。
【請求項７】
可変長符号化された複数の符号化データが所定の時間間隔でそれぞれ分割された各データブロックがランダムアクセス可能な記録媒体において連続するように、前記各データブロックが前記記録媒体に可変データレートで記録されている前記各データブロックのデータ長を表すデータ長情報と、前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを含むデータ記録テーブルを記憶する記憶手段と、
前記記憶された前記データ記録テーブル内の前記各データブロックのデータ長を表すデータ長情報と前記各データブロックの先頭位置を示すデータ位置情報とを参照して前記記録媒体に記録された前記各データブロックを識別することにより、前記記録媒体に記録されている前記可変長符号化されたデータを含む前記各データブロックを前記記録媒体から読み出す手段と
を有するデータ送出装置。
【請求項８】
可変長符号化された複数の符号化データが所定の時間間隔でそれぞれ分割された各データブロックがランダムアクセス可能な記録媒体において連続するように、前記各データブロックが前記記録媒体に可変データレートで記録されている前記各データブロックのデータ長を表すデータ長情報と、前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを含むデータ記録テーブルを記憶し、
前記記憶された前記データ記録テーブル内の前記各データブロックのデータ長を表すデータ長情報と前記各データブロックの先頭位置を示すデータ位置情報とを参照して前記記録媒体に記録された前記各データブロックを識別することにより、前記記録媒体に記録されている前記可変長符号化されたデータを含む前記各データブロックを前記記録媒体から読み出す、
データ送出方法。
【請求項９】
可変長符号化された複数の符号化データが所定の時間間隔でそれぞれ分割された各データブロックがランダムアクセス可能な記録媒体において連続するように可変データレートで記録されている前記各データブロックのデータ長を表すデータ長情報と、前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを含むデータ記録テーブルを外部から入力する入力手段と、
前記入力手段により入力された前記データ記録テーブル内の前記各データブロックのデータ長を表すデータ長情報と前記各データブロックの先頭位置を示すデータ位置情報とを参照して前記記録媒体に記録された前記各データブロックを識別することにより、前記記録媒体に記録されている前記可変長符号化されたデータを含む各データブロックを前記記録媒体から読み出す手段と
を有するデータ送出装置。
【請求項１０】
可変長符号化された複数の符号化データが所定の時間間隔でそれぞれ分割された各データブロックがランダムアクセス可能な記録媒体において連続するように可変データレートで記録されている前記各データブロックのデータ長を表すデータ長情報と、前記記録媒体における前記各データブロックの先頭位置を示すデータ位置情報とを含むデータ記録テーブルを外部から入力し、
前記入力された前記データ記録テーブル内の前記各データブロックのデータ長を表すデータ長情報と前記各データブロックの先頭位置を示すデータ位置情報とを参照して前記記録媒体に記録された前記各データブロックを識別することにより、前記記録媒体に記録されている前記可変長符号化されたデータを含む各データブロックを前記記録媒体から読み出す、
データ送出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば、任意の時刻に発生する要求に応じてビデオデータを配信することができるビデオ・オン・デマンドなどの装置に用いて好適なデータ送出装置およびデータ送出方法に関する。
【０００２】
【従来の技術】
受信者の要求に応じて番組データを即時的に提供するビデオ・オン・デマンド（ＶＯＤ）システムの実用化が望まれている。しかし、任意の時刻に発生する要求に個別に対応するＶＯＤシステムにおいては、非常に大規模で複雑な処理を行うデータ送出装置が必要となる。そこで、ＶＯＤシステムと同様の機能を実現しながら、データ送出装置の構成を簡単にできるニア・ビデオ・オン・デマンド（ＮＶＯＤ）システムが提案されている。
【０００３】
ＮＶＯＤシステムは、番組データを所定の時間間隔で複数チャネルに送出しておき、ある時間帯に発生した要求に対して次の時間帯から始まる番組のチャネルを選択してその番組を提供するようなシステムである。
【０００４】
【発明が解決しようとする課題】
しかし、ＮＶＯＤシステムにおいても、複数のチャネルに送出する複数の番組データを同時的に再生しなければならず、その複数の番組データの再生をより簡単な装置で、より効率のよい方法で行いたいという要望がある。
【０００５】
複数の番組データを生成する基本的な方法としては、各チャネルにそれぞれに対応した再生装置を設け、これによって複数チャネルにデータを送出する方法がある。また、近年、ハードディスク装置や光磁気ディスク装置などの、ランダムアクセス可能で大容量でアクセスも高速な記録装置が実現されており、それらの記録装置に画像データなどを記録しておき、時分割により複数のチャネルにデータを送出するＮＶＯＤシステムが本出願人により先に提案された特願平５−３２８３４９号に開示されている。
【０００６】
さらに、本出願人は、連続した領域を読み出すことにより少しでも高速にデータを読み出し、多チャンネルへのデータの送出が可能となるようにデータの記録方法を工夫したＮＶＯＤシステムを、特願平６−１３７０１８号にて提案している。
【０００７】
しかし、そのようなデータ送出装置においては、高速アクセスを行うため、また、できるだけ制御を簡単にするために、所定の固定データレートでの符号化が行われている。その結果、その固定データレートより高い圧縮率で符号化できるようなデータに対しても固定圧縮率で符号化を行っているため、番組の記憶が効率的にできないという問題がある。
【０００８】
また、その固定圧縮率での符号化が困難なデータに対しては、逆に無理にその固定圧縮率で符号化を行っているため、データを復元した際の画像や音声の品質が劣化するという問題がある。
【０００９】
【課題を解決するための手段】
本発明の目的は、画像データや音声データなどのデータを各データに適した可変データレートで符号化し記録された記録装置を用いて、その記録装置からも高速にデータを読み出し、要求に応じて複数のチャネルに同時的にデータの送出が可能なデータ送出装置を提供することにある。また、これにより、より効率よく種々のデータが記憶可能で、復元した場合に品質の劣化がないデータ送出装置およびデータ送出方法を提供することにある。
【００１０】
可変データレートで記録された記録媒体をアクセスする際には、データの大きさや、データの先頭位置をチェックしながらアクセスしなければならないため、アクセス自体が高速に行えなかった。
したがって、可変長レートのデータであっても、いちいち演算などの処理を行うことなくデータの区切りなどが直接的に判定できるようにすれば固定長レートと同様な速度でデータのアクセスが可能となる。
【００１１】
本発明によれば、請求項１に記載のデータ送出装置が提供される。
また本発明によれば、請求項６に記載のデータ送出方法が提供される。
【００１２】
本発明によれば、請求項７に記載のデータ送出装置が提供される。
また本発明によれば、請求項８に記載のデータ送出方法が提供される。
【００１３】
本発明によれば、請求項９に記載のデータ送出装置が提供される。
また本発明によれば、請求項１０に記載のデータ送出方法が提供される。
【００１４】
【発明の実施の形態】
第１実施例
本発明のデータ送出装置の第１実施例を、図１〜図１３を参照して説明する。
第１実施例のデータ送出装置は、ニア・ビデオ・オン・デマンド（ＮＶＯＤ）システムにおけるデータ送出のために用いられ、番組の受信を要求した受信者がほぼその要求の時刻からその番組を受信可能なように番組を送出するデータ送出装置である。
【００１５】
図１は、本発明のデータ送出装置の第１実施例の構成を示す図である。
データ送出装置１は、スイッチャー４０、送出部１０、フォーマッタ部２０、データ交換機６０および送出コントローラ５０を有する。なお、データ送出装置１へは、可変長符号化部７０により可変長符号化されたデータが入力される。
まず、データ送出装置１を構成する各部の動作の概略を、図１を参照して説明する。
スイッチャー４０は、図示せぬ番組ライブラリから出力され、可変長符号化部７０により可変長符号化された送出用番組データを、ｍ個の送出器１０-1〜１０-mのいずれかの送出器に入力する。
前記番組ライブラリには、提供可能な複数の番組データが記録されている。
【００１６】
送出部１０は、ｍ個の送出器１０-1〜１０-mより構成され、個々の送出器１０-1〜１０-mは各々ｎ個の出力チャネルを有する。送出器１０-1〜１０-mの構成については後述する。
【００１７】
フォーマッタ部２０は、送出器１０-1〜１０-mに対応してｍ個のフォーマッタ２０-1〜２０-mより構成される。各フォーマッタ２０-i（ｉ＝１〜ｍ）は送出部１０の各チャネルからの出力データにそのデータを要求した受信者への宛名情報などのヘッダを付加し、ＡＴＭ（非同期転送モード、Asynchronous Transfer Mode）により転送するためのＡＴＭセルを組み立て、多数のＡＴＭセルを多重化した後データ交換機６０に出力する。
【００１８】
データ交換機６０は、各種伝送路に接続され、データ送出装置１からのデータを伝送する。
【００１９】
送出コントローラ５０は、送出部１０、フォーマッタ部２０およびデータ交換機６０を制御し、可変長符号化部７０およびスイッチャー４０を介しての送出部１０への番組データの転送、送出部１０からフォーマッタ部２０への番組データの転送、要求元への番組データの送出などを所望のタイミングで実行させる。
【００２０】
次に、送出部１０の構成について図２、図３を参照して説明する。
送出部１０は、ｎ個の送出器１０-1〜１０-nから構成される。
図２は、その送出部１０-i（ｉ＝１〜ｎ）の構成を示す図である。
図３は、図２に示すバッファメモリ部１６および出力インターフェイス１８の構成を説明する図である。
【００２１】
送出部１０は、ＲＯＭ１１、ＣＰＵ１２、ＲＡＭ１３、外部制御インターフェイス１４、入力インターフェイス１５、バッファメモリ部１６、マス・ストレージ１７、出力インターフェイス１８、および、それらを接続するバス１９を有する。
ＲＯＭ１１は、ＣＰＵ１２で実行するプログラムを記憶する。
ＲＡＭ１３は、ＣＰＵ１２で各種の演算を実行するためのメインメモリである。また、ＲＡＭ１３には、一連の処理の最初に、マス・ストレージ１７に記録されている各データのアドレスや容量を記録したデータ記録テーブルが格納される。
【００２２】
外部制御インターフェイス１４は、送出コントローラ５０とのインターフェイスであり、ＣＰＵ１２はこの送出コントローラ５０からの命令に基づき種々の処理を実行する。
【００２３】
入力インターフェイス１５は、スイッチャー４０からの番組データを受け取るインターフェイスであり、入力された番組データは、一旦ＲＡＭ１３に格納された後、バッファメモリ部１６を介してマス・ストレージ１７に記録される。なお、入力Ｉ／Ｆ１５は、バッファメモリ部１６と直接的にデータ転送を行うこともできる。したがって、入力された番組データをバッファメモリ部１６を介して直接マス・ストレージ１７に記録することも可能である。
【００２４】
マス・ストレージ１７は、ハードディスク装置や、光磁気ディスク（ＭＯ）装置などで構成される大容量でランダムアクセス可能なデータ蓄積装置である。マス・ストレージ１７は、バッファメモリ部１６内のマス・ストレージインターフェイス部３１により制御される。
【００２５】
バッファメモリ部１６は、マス・ストレージ１７と、入力インターフェイス１５、出力インターフェイス１８およびバス１９との番組データの転送の際に、転送データを一時的に記憶する。バッファメモリ部１６は、マス・ストレージインターフェイス部３１、ｎ個のバッファメモリコントローラ３２-1〜３２-n、および、そのバッファメモリコントローラ３２-1〜３２-nに対応したバッファメモリ３３-1〜３３-nより構成される。
【００２６】
マス・ストレージインターフェイス部３１は、マス・ストレージ１７を制御する制御部である。
【００２７】
バッファメモリコントローラ３２-1〜３２-nは、マス・ストレージインターフェイス部３１とともに、ＣＰＵ１２からの制御信号に基づいて、マス・ストレージ１７より所定の単位ごとに一括して読み出した番組データを各チャネルごとのデータに分離し、各バッファメモリ３３-1〜３３-nに格納し、適宜出力インターフェイス１８に出力する。
【００２８】
バッファメモリ３３-1〜３３-nは、ｎ個の出力チャネルに対応して設けられているバッファであり、マス・ストレージ１７より読み出され分離された各チャネルごとのデータを一時的に記憶する。
【００２９】
出力インターフェイス１８は、マス・ストレージ１７からバッファ・メモリ１６を介して出力された番組データを、フォーマッタ部２０へ転送するインターフェイスであり、ｎ個の出力チャネルに対応した出力インターフェイス３５-1〜３５-nと、それらを制御する出力コントロール部３４より構成されている。
【００３０】
バス１９は、送出部１０内の各部のデータの転送を行うためのデータバスである。たとえば、ＣＰＵ１２とＲＡＭ１３の間のデータ転送、入力Ｉ／Ｆ１５に入力されたデータのＲＡＭ１３への転送、ＲＡＭ１３からバッファメモリ部１６へのデータの転送などがこのバス１９を介して行われる。
【００３１】
ＣＰＵ１２は、送出コントローラ５０からの命令に基づき、ＲＯＭ１１に格納されているプログラムにしたがって、入力インターフェイス１５、バッファメモリ部１６、および、出力インターフェイス１８に各種の命令を実行させる。ＣＰＵ１２の詳細な動作については後述する。
【００３２】
次に、第１実施例のデータ送出装置１における、番組データの記録フォーマットについて説明する。
第１実施例のデータ送出装置１は、図４に示す番組Ａ〜番組Ｌの１２の番組のデータを、ＮＶＯＤ送出に適したデータフォーマットで記録する。
図４において、１２の番組Ａ〜番組Ｌは、各々１０分間のビデオデータであり、各々０．５秒ずつの番組ブロックＡ０〜Ａ１１９９，Ｂ０〜Ｂ１１９９，・・・，Ｌ０〜Ｌ１１９９より構成されている。
【００３３】
番組Ａ、番組Ｂ、および、番組Ｌの符号化レートの推移を図５に示す。
なお、図５において符号化レートは、１秒間の画像データ（ＮＴＳＣ信号においては３０フレーム分の画像データ）を符号化した際の符号化データ量で表す。
図５において、各番組とも平均の符号化レートは３〔Ｍｂｐｓ〕、最大の符号化レートは５〔Ｍｂｐｓ〕、最小の符号化レートは１〔Ｍｂｐｓ〕である。しかし、たとえば、番組Ａにおいては、０〜１５０秒の間、および、３００〜４５０秒の間は３〔Ｍｂｐｓ〕を上回っており、１５０〜３００秒の間、および、４５０〜６００秒の間は３〔Ｍｂｐｓ〕を下回っている。
このような番組においては、３〔Ｍｂｐｓ〕の固定符号化レートで画像データを符号化した場合には、０〜１５０秒の間、および、３００〜４５０秒の間は画質が劣化することになり、１５０〜３００秒の間、および、４５０〜６００秒の間は符号化効率が悪く記録媒体が無駄になることになる。
【００３４】
そこで、第１実施例のデータ送出装置１においては、前記画質の劣化を防ぐため、また、記録媒体を効率よく利用するために、各番組データを可変長符号化したデータを記録する。その記録状態を図６に示す。
図６は、第１実施例のデータ送出装置１における、前述したような番組データのマス・ストレージ１７への記録状態を示す図である。
図６に示すように、第１実施例のデータ送出装置１においては、ＮＶＯＤ送出に好適なように、可変長符号化された１２個の番組データの同時的に再生されるデータブロックが記録媒体上で連続するように、入力された番組データを記録する。
具体的には、各々１２００個の番組ブロックで構成される番組データを、論理セクターアドレス１０００番地より、Ａ０〜Ｌ０，Ａ１からＬ１，・・・，Ａ１１９９〜Ｌ１１９９の順に記録する。
【００３５】
また、第１実施例のデータ送出装置１においては、図６に示したような記録データを再生するために、図７に示したデータ記録テーブルを用意し、このテーブルを参照してデータを再生する。
図７のデータ記録テーブルには１２００個の番組ブロックごとに、開始論理セクターアドレス、合計セクター数、各番組Ａ〜Ｌのセクター数、および、各番組Ａ〜Ｌの符号量が記録されている。
このデータ記録テーブルは、マス・ストレージ１７の１０００番地より前の所定の領域に格納されており、再生時には、送出器１０-1のＣＰＵ１２はまずこのテーブルをＲＡＭ１３上に読み出し、以降、このデータ記録テーブルを参照して順次データの読み出し、転送を指示する。
【００３６】
次に、入力された番組データを前述したような記録フォーマットで記録し、また、そのように記録された番組データを再生する第１実施例のデータ送出装置１の動作について、図８〜図１５を参照して説明する。
まず、データ送出装置１に入力されたデータを、送出器１０-i（ｉ＝１〜ｎ）のマス・ストレージ１７に記録する方法について説明する。
【００３７】
図８は、データを記録する際の、送出器１０-iのＣＰＵ１２の処理を示すフローチャートである。
なお、図８において、配列Ｔ１は各番組データの０．５秒ごとのデータの符号化データ量を記録する配列であり１２×１２００の要素を有する。また、配列Ｔ２は各番組データの０．５秒ごとのデータのセクター数を記録する配列であり１２×１２００の要素を有する。
また、配列Ｔ３は、前述したデータ記録テーブルを記録する配列であり２６×１２００の要素を有する。また、配列ＤＴおよび配列ＤＦはマス・ストレージ１７のデータ記録領域を示す配列であり、配列ＤＴは一時的に番組データを記録しておくデータファイル、配列ＤＦは最終的に番組データを記録するデータファイルを示す。
さらに、配列ＤＴＡは、データファイルＤＴにおける前記１２の番組のスタートセクターアドレスを指示するポインタであり、１２の番組データに対応して１２の要素を有する。
【００３８】
まず、送出器１０-i（ｉ＝１〜ｎ）のＣＰＵ１２は、データの記録の処理をスタートすると（ステップＳ２０）、イニシャライズ処理を行う（ステップＳ２１）。このイニシャライズ処理には、たとえば、データを記録するためにマス・ストレージ１７上にファイルをオープンしたり、前記配列などをＲＡＭ１３上に確保したりする処理が含まれる。
【００３９】
次に、データファイルＤＴのデータ記録セクターアドレスを示す変数ｋ、番組の種類を示す変数ｊ、および、配列ＤＴＡの初期設定を行う（ステップＳ２２）。具体的には、変数ｋおよびｊを０にし、配列ＤＴＡ（ｊ）をｋすなわち０とする。
【００４０】
さらに、各番組の０．５秒ごとの１２００のデータのポインタである変数ｉをリセットして（ステップＳ２３）、番組データの入力を開始する。
【００４１】
まず、第１の番組データの最初の０．５秒間のデータが入力され、そのデータの符号量ｘを求める（ステップＳ２４）。
なお、入力されたデータはこの時点ではＲＡＭ１３上に記憶しておく。そして、求めた符号量ｘを配列Ｔ１の所定の要素、すなわち、第１の番組の第１のデータのための配列要素Ｔ１（０、０）に記録する。
【００４２】
さらに、そのデータを記録する時に必要なマス・ストレージ１７のセクター数ｙを求め、配列Ｔ２の所定の要素すなわち、第１の番組の第１のデータのための配列要素Ｔ２（０、０）に記録する（ステップＳ２５）。具体的には、演算（ｘ×１０6）÷（８×１０２４）の結果の少数点以下を切り上げた値をセクター数ｙとする。
【００４３】
第１の番組データの最初の０．５秒間のデータに対して、符号量および必要セクター数の検出が終了したら、そのデータを一時的にマス・ストレージ１７に記録する（ステップＳ２６）。すなわち、データファイルＤＴ（実体はマス・ストレージ１７上にある）のセクターアドレスｋから（ｋ＋ｙ−１）セクターの記録領域にその０．５秒分のデータ、すなわち、ｙセクター分のデータを記録する。
【００４４】
マス・ストレージ１７にデータを記録したら、ポインタｋが次にデータを記録するセクターアドレスを示すように、ポインタｋをｙセクター分カウントアップしておく（ステップＳ２７）。
【００４５】
そして、現在入力されている番組ｊのデータが終了したか否かを調べる。すなわち、最初の番組の０．５秒間ずつのデータが１１９９回入力されたか否か、換言すれば、最初の番組データの１０分間のデータが全て入力されたか否かを判定する（ステップＳ２８）。
【００４６】
まだその番組のデータが終了してなければ、０．５秒ずつのデータのポインタｉを１カウントアップして（ステップＳ２９）、再びステップＳ２４からの処理を繰り返す。
【００４７】
ステップＳ２８において、現在入力されている番組ｊのデータが終了していた場合には、入力される予定の１２の番組が全て入力されたか否か、すなわち、番組の種類を示す変数ｊが１１か否かをチェックする（ステップＳ３０）。
【００４８】
もし、まだ１２個の番組のデータの入力が終了していない場合には、その番組の種類を示す変数ｊを１カウントアップし（ステップＳ３１）、さらに、一時的なデータファイルＤＴの各番組の先頭アドレスを示す配列ＤＴＡに、次にデータが記録されるマス・ストレージ１７上のセクターアドレスｋをセットし（ステップＳ３２）、新たな番組ｊのデータの入力を繰り返す。
すなわち、再びステップＳ２３において各番組のデータの番号を示す変数ｉをリセットして、ステップＳ２４〜ステップＳ２８の処理を繰り返し、その番組の１０分間全部のデータを入力する。
【００４９】
ステップＳ３０において、予定の１２の番組データが全て入力されたと判定された時には、ステップ３３からのデータの並び換えの処理に移る。なお、この状態で配列Ｔ１および配列Ｔ２には全てデータが記録されている。
【００４９】
図４および図５に示した１２個の番組データが入力された場合の、その配列Ｔ１の内容を図９に、配列Ｔ２の内容を図１０に示す。
図９は、各番組データの各０．５秒ごとの各データの符号化データ量を示すテーブルであり、図１０は、その各データをマス・ストレージ１７に記録する際に必要なセクター数を示すテーブルである。
【００５０】
続いて、データの並び換えの処理について説明する。
なお、本並べ換えの処理の終了時に配列Ｔ３に格納されるテーブルは、前述した記録した番組データを読み出す処理において用いる図７に示すデータ記録テーブルである。
【００５１】
並び換えをする処理においては、０．５秒ごとのデータブロックの番号を基準にして処理が進められる。まず、データブロックの番号を示す変数ｉをリセットし、さらに、マス・ストレージ１７上の番組データを記録する領域の先頭アドレスを変数?にセットして初期設定を行う（ステップＳ３３）。
前記先頭アドレスは、任意のアドレスをセットし任意の記録領域にデータを記録するようにしてよいが、第１実施例においては、データ記録テーブルなどのデータを記録するための記録領域を確保して、その番組データが記録される先頭アドレスとして１０００をセットする。すなわち、セクターアドレス１０００より前の記録領域にデータ記録テーブルなどのデータを記録し、セクターアドレス１０００以降の記録領域に番組データを記録する。
【００５２】
次に、各データブロックの最初のデータの転送時に行う初期設定として、そのデータブロックｉのデータが記録される記録領域の先頭セクターアドレスを配列要素Ｔ３（０，ｉ）にセットし、そのデータブロックの全番組の合計セクター数が記録される配列要素Ｔ３（１，ｉ）、および、番組を示す変数ｊをリセットする（ステップＳ３４）。
最初のデータブロックについては、配列要素Ｔ３（０，０）に、前記初期設定したセクターアドレス１０００がセットされる。
【００５３】
そして、そのデータブロックｉの各番組ｊのデータを順次転送する。まず、最初の番組の最初のデータブロックの符号化データ量および必要セクター数を、配列Ｔ１および配列Ｔ２より読み出し、各々変数ｘ，ｙにセットする（ステップＳ３５）。
具体的には、まず、番組Ａの最初の０．５秒間の符号化データ量が、図９に示すような値が記録されている配列Ｔ１より読み出され、その値２５００が変数ｘにセットされる。また、その番組Ａの最初の０．５秒間のデータに必要な記録領域のセクター数が、図１０に示すような値が記録されている配列Ｔ２より読み出され、その値３０６が変数ｙにセットされる。
【００５４】
次に、その読み出した符号化データ量およびセクター数を、配列Ｔ３の各々所定の配列要素Ｔ３（ｊ＋１４，ｉ）およびＴ３（ｊ＋２，ｉ）にセットし、さらに、そのデータブロックｉの全番組の合計セクター数を記録される配列要素Ｔ３（１，ｉ）の値に前記セクター数ｙを加える（ステップＳ３６）。
第１番目の番組の第１番組のデータについては、配列要素Ｔ３（１４，０）に２５０００００が、配列要素Ｔ３（２，０）に３０６がセットされる。
また、最初の番組データが記録される時点においては、全番組の合計セクター数を記録される配列要素Ｔ３（１，ｉ）にも変数ｙの値３０６がそのままセットされる。
【００５５】
次に、データファイルＤＴにおける、その番組ｊのそのデータブロックｉのデータの先頭アドレスＤＴＡ（ｊ）を読み出し、ポインタｋにセットする（ステップＳ３７）。
そして、そのポインタｋに基づいて、データファイルＤＴよりデータを読み出し、変数?が先頭アドレスを示すデータファイルＤＦの所定の領域に転送する（ステップＳ３８）。
そのデータの転送が終了したら、データファイルＤＴの読み出し先頭アドレスＤＴＡ（ｊ）および、データファイルＤＦのポインタ?に、今回転送したデータのセクター数ｙを加えて、各値を更新しておく（ステップＳ３９）。
最初の番組の最初のデータを転送した時点では、ポインタ?は１３０６（１０００＋３０６）に更新される。
【００５６】
ステップＳ３５〜ステップＳ３９までの処理を、各番組について順に行う。すなわち、全ての番組のデータブロックｉのデータの転送が終了したか否かをチェックし（ステップＳ４０）、終了していない場合にはその番組を示す変数ｊをカウントアップして（ステップＳ４１）、ステップＳ３５からの処理を繰り返す。
【００５７】
２巡目は、ステップＳ３５において、今度は２番目の番組の最初のデータブロックの符号化データ量および必要セクター数を、配列Ｔ１および配列Ｔ２より読み出し変数ｘ，ｙにセットする。図９および図１０に示すように、変数ｘには２５００が、変数ｙには３０６がセットされる。そしてステップＳ３６において、それらの値を配列Ｔ３の各々所定の配列要素Ｔ３（１５，０）およびＴ３（３，０）にセットし、さらに、そのデータブロックｉの全番組の合計セクター数を記録される配列要素Ｔ３（１，０）の値に前記セクター数ｙを加える。この配列要素Ｔ３（１、０）には、既に最初の番組のセクター数３０６がセットされているので、この処理により配列要素Ｔ３（１、ｉ）の値は６１２になる。
【００５８】
そして、データファイルＤＴの２番目の番組の最初のデータブロックのデータの先頭アドレスＤＴＡ（ｊ）を読み出し、ポインタｋにセットする（ステップＳ３７）。
そのポインタｋおよびデータファイルＤＦのポインタ?に基づいて、データファイルＤＴのセクターアドレスｋからはじまるｙセクター分のデータを、データファイルＤＦのセクターアドレス?から始まるｙセクター分の領域に転送する。
【００５９】
そして再び、データファイルＤＴの読み出し先頭アドレスＤＴＡ（ｊ）および、データファイルＤＦのポインタ?に、今回転送したデータのセクター数ｙを加えて、各値を更新しておく（ステップＳ３９）。
【００６０】
以後同様に、番組データの数だけ、ステップＳ３５〜ステップＳ３９の処理を繰り返す。そして、最後の番組データの転送が終了したら（ステップＳ４０）、次の０．５秒間のデータの転送を開始する。すなわち、現在データの転送が終了したデータブロックｉが、最後のデータブロック、すなわち、１２００番目のデータブロックか否かをチェックし（ステップＳ４２）、最後のデータブロックでない場合には、データブロックを示す変数ｉを１増やして（ステップＳ４３）、次のデータブロックに対する各番組データの転送の処理を開始する。すなわち、ステップＳ３４〜ステップＳ４１までの処理を繰り返す。
【００６１】
再びステップＳ３４において、そのデータブロックｉのデータが記録される記録領域の先頭セクターアドレスを配列要素Ｔ３（０，ｉ）にセットし、そのデータブロックの全番組の合計セクター数が記録される配列要素Ｔ３（１，ｉ）、および、番組を示す変数ｊをリセットする（ステップＳ３４）。
１２個の番組の最初の０．５秒間のデータの合計セクター数は、図７のテーブルからわかるように２９５１セクターである。したがって、このデータの転送が終了した時点では、データファイルＤＦのポインタ?は、そのアドレスの初期値１０００から２９５１セクター進んだ３９５１となっている。この値が、２番目のデータブロック（ｉ＝１）のデータが記録される記録領域の先頭アドレスとして配列要素Ｔ３（０、１）にセットされる。
【００６２】
以後、同様にステップＳ３５〜ステップＳ４１を繰り返して各番組データの転送を行う。さらに、ステップＳ３４〜ステップＳ４３の処理を繰り返して、各データブロックのデータの転送を行う。
【００６３】
そして、ステップＳ４２において、最後のデータブロック、すなわち、データブロック番号ｉが１１９９であるデータブロックの各番組のデータの転送が終了したら、配列Ｔ３をデータ記録テーブルとしてマス・ストレージ１７に書き出し（ステップＳ４４）、一連のデータ記録の処理の終了処理を行い（ステップＳ４５）、処理を終了する（ステップＳ４６）。
なお、この終了処理とは、データを記録したマス・ストレージ１７上のファイルをクローズしたり、ＲＡＭ１３上の領域を開放したりする処理である。
【００６４】
このような処理を行ってデータを書き込むことにより、図６に示すような形式でマス・ストレージ１７にデータを記録することができる。また、図７に示すようなデータ記録テーブルを得ることができる。
【００６５】
次に、マス・ストレージ１７に図６に示すようなフォーマットで記録された番組データを読み出し、送出する方法について説明する。
図１１はデータの送出の際のＣＰＵ１２の処理を示すフローチャートである。
【００６６】
まずＣＰＵ１２は、送出コントローラ５０より外部制御インターフェイス１４を介してデータの送出開始の指示を受け取ると（ステップＳ１）、データ記録テーブルをマス・ストレージ１７より読み出し、ＲＡＭ１２に格納する（ステップＳ２）。
次に、ブロック番号ｉの初期値として０をセットし（ステップＳ３）、そのブロック０の各番組の符号量をデータ記録テーブルより読み出し、各出力インターフェイス３５-1〜３５-nに出力する（ステップＳ４）。
【００６７】
次に、データ記録テーブルの合計セクター数に基づいてマス・ストレージ１７よりブロック０のデータを読み出す（ステップＳ５）。
そして、データ記録テーブルより各番組ごとのセクター数を読み出し、それをマス・ストレージインターフェイス部３１、および、バッファメモリコントローラ３２-1〜３２-nにセットして各番組のデータを各番組ごとのセクター数に基づいて各々バッファメモリ３３-1〜３３-nに分離して記憶する（ステップＳ６）。
この処理により各番組データは各出力チャネルごとに適宜送出される。
【００６８】
以後、ブロック番号を１ずつ増加させ（ステップＳ７）、そのブロック番号が１２００に達するまで（ステップＳ８）、ステップＳ４〜ステップＳ８の処理を繰り返す。
ブロック１２００までのデータを送出したら、繰り返し送出を行うか否かを判定し（ステップＳ９）、繰り返す場合には再びステップＳ３からの処理を繰り返す。
データの送出を終了してよい場合には、終了処理を行い（ステップＳ１０）、処理を終了する（ステップＳ１１）。
【００６９】
以上のような処理を行うことにより、送出器１０-iの各出力チャネルからは、図１２に示すような可変データレートで符号化された各データが出力される。
なお、第１実施例で示した例においては、マス・ストレージ１７は、最大５〔Ｍｂｐｓ〕×１２チャンネルの送出データが要求されるので、６０〔Ｍｂｐｓ〕以上の再生能力があるデータ記録装置であればよい。
【００７０】
このような処理で送出される番組の状態を図１３に示す。
図１３Ａは１０分の１２の番組を繰り返し送出している状態を示す。また図１３Ｂは１２０分の１つの番組を１０分ずつずらした１２種類の状態で送出している状態を示す。１２００番組ブロックの送出に相当する１０分間のデータの送出を繰り返す段階で、読み出しデータと出力チャネルの対応づけを制御することにより図１３Ａまたは図１３Ｂに示したいずれの送出方法も実現可能である。
【００７１】
このように、本発明のデータ送出装置によれば、可変長レートで符号化された画像データであっても、適切に所望の出力チャネルに所望のデータを出力することができた。したがって、個々の映像データに適した符号化レートで各映像データを記録することができ、画質の劣化が防げるとともに、効率的な画像データの記録が可能となった。
【００７２】
第２実施例
前述した第１実施例のデータ送出装置は可変長レートで符号化されたデータに対応できるものであるが、伝送方式などの条件により常に所定の固定長の伝送が要求される場合にも、本発明は当然適用可能である。固定データレートで転送を行う場合に本発明を適用した場合のデータ送出装置を第２実施例として説明する。
【００７３】
第２実施例のデータ送出装置の構成、データの記録フォーマット、データ記録テーブルの作成方法、データ記録テーブルのフォーマットなどは、全て第１実施例のデータ送出装置と同じである。
第２実施例のデータ送出装置においては、マス・ストレージ１７に記録された番組データを読み出し、送出する方法が第１実施例のデータ送出装置とは異なる。そのデータの送出の方法について、図１４および図１５を参照して説明する。
【００７４】
図１４は、第２実施例のデータ送出装置におけるデータ送出の際の送出部のＣＰＵの処理を示すフローチャートであり、図１５は、第２実施例のデータ送出装置から出力されるデータを示す図である。
【００７５】
図１４に示すように、第２実施例のデータ送出装置においてもまず、第１実施例のデータ送出装置と同様に、データ送出の処理が指示されると（ステップＳ１）、データ記録テーブルをマス・ストレージ１７より読み出し（ステップＳ２）、ブロック番号ｉをリセットする（ステップＳ３）。
そして、そのブロック０の各番組の符号量をデータ記録テーブルより読み出し、各出力インターフェイス３５-1〜３５-nに出力し（ステップＳ４）、データ記録テーブルの合計セクター数に基づいてマス・ストレージ１７よりブロック０のデータを読み出す（ステップＳ５）。
【００７６】
そして、このデータを読み込んだあとで、第２実施例のデータ送出装置においては、可変データレートによる伝送か固定データレートによる伝送かを判断し（ステップＳ１２）、もし固定データレートによる伝送であった場合には各番組のデータがその所定データ量になるようにダミーデータを付加する（ステップＳ１３）。ステップＳ１２で可変データレートによる伝送であった場合には、ダミーデータの付加は行わない。そして、各番組データを、各々バッファメモリ３３-1〜３３-nに分離して記憶し（ステップＳ６）、これにより各番組データは各出力チャネルに適宜送出される。
【００７７】
以後、第１実施例と同様にステップＳ７〜ステップＳ１１の処理を行う。
以上のような処理を行うことにより、送出器１０-iの各出力チャネルからは、図１５に示すように、最大のデータ量の出力より少ないデータ量の出力に対してはダミーデータが加えられて、固定データレートに調整された各データが出力される。
【００７８】
本発明はこのように、固定データレートで伝送を行う伝送路に対してデータを送出するデータ送出装置としても適用可能である。
なお、本発明は第１実施例および第２実施例に限られるものではなく、種々の改変が可能である。
たとえば、データ記録テーブルの構成は、図７に示した形式に限られるものではない。
【００７９】
また、前述した実施例においては、番組データの入力時にデータ記録テーブルをデータ送出装置内で作成する方法について説明した。しかし、このデータ記録テーブルは、番組データの入力時に、用意されたデータ記録テーブルを外部より入力するようにしてもよい。
【００８０】
また、データ記録テーブルに記録した各番組ブロックの符号量は、実際の各可変長データの先頭に記録するようにし、出力インターフェイス３５-1〜３５-nがその先頭データを読んで符号量を知るようにしてもよい。
【００８１】
【発明の効果】
本発明のデータ送出装置によれば、可変データレートで符号化され記録された画像データや音声データが記録された記録装置からも高速にデータを読み出すことが可能となった。その結果、記録装置に効率的にデータを記録することが可能となり、また、画像データなどに品質の劣化が生じないデータ送出装置を提供することができた。
【００８２】
本発明のデータ送出装置は、ビデオ・オン・デマンド（ＶＯＤ）システム、および、ニア・ビデオ・オン・デマンド（ＮＶＯＤ）システムに供するデータ送出装置に適用できる。
【図面の簡単な説明】
【図１】図１は、本発明に係わるデータ送出装置の構成を示す図である。
【図２】図２は、図１に示したデータ送出装置の送出器の構成を示す図である。
【図３】図３は、図２に示した送出器のバッファメモリと出力インターフェイスの構成を示す図である。
【図４】図４は、図１に示したデータ送出装置に記録されている番組データを説明する図である。
【図５】図５Ａは、番組Ａの可変長符号化レートの時間推移を示す図であり、図５Ｂは、番組Ｂの可変長符号化レートの時間推移を示す図であり、図５Ｃは、番組Ｌの可変長符号化レートの時間推移を示す図である。
【図６】図６は、番組データのマス・ストレージへの記録状態を示す図である。
【図７】図７は、データ記録テーブルを示す図である。
【図８】図８は、データ記録の際の送出部のＣＰＵの処理を示すフローチャートである。
【図９】図９は、番組ごとの符号量を示す図である。
【図１０】図１０は、番組ごとのセクター数を示す図である。
【図１１】図１１は、第１実施例のデータ送出装置におけるデータ送出の際の送出部のＣＰＵの処理を示すフローチャートである。
【図１２】図１２は、第１実施例のデータ送出装置から出力されるデータを示す図であり各出力チャネルからの可変データレートの出力を示す図である。
【図１３】図１３Ａは、異なる番組を送出している状態を示す図であり、図１３Ｂは、１０分ずつずれた同一の番組を送出している状態を示す図である。
【図１４】図１４は、第２実施例のデータ送出装置におけるデータ送出の際の送出部のＣＰＵの処理を示すフローチャートである。
【図１５】図１５は、第２実施例のデータ送出装置から出力されるデータを示す図であり、各出力チャネルからの固定データレートの出力を示す図である。
【符号の説明】
１…データ送出装置
１０…送出部
１１…ＲＯＭ、１２…ＣＰＵ、１３…ＲＡＭ
１４…外部制御インターフェイス、１５…入力インターフェイス
１６…バッファメモリ部、３１…マス・ストレージインターフェイス部
３２…バッファメモリコントローラ、３３…バッファメモリ
１７…マス・ストレージ
１８…出力インターフェイス
３４…出力コントロール部、３５…出力インターフェイス
１９…バス
２０…フォーマッタ部、４０…スイッチャー、５０…送出コントローラ
６０…データ交換機、７０…可変長符号化部
【図１】
0003864422.tif 000002
【図２】
0003864422.tif 000003
【図３】
0003864422.tif 000004
【図４】
0003864422.tif 000005
【図５Ａ】
0003864422.tif 000006
【図５Ｂ】
0003864422.tif 000007
【図５Ｃ】
0003864422.tif 000008
【図６】
0003864422.tif 000009
【図７】
0003864422.tif 000010
【図８】
0003864422.tif 000011
【図９】
0003864422.tif 000012
【図１０】
0003864422.tif 000013
【図１１】
0003864422.tif 000014
【図１２】
0003864422.tif 000015
【図１３】
0003864422.tif 000016
【図１４】
0003864422.tif 000017
【図１５】
0003864422.tif 000018
0003864422.tif 000019