(57)【要約】【課題】低消費電力のデータ転送を実現でき、メモリ資源を節約できるデータ転送制御システム、電子機器及びデータ転送制御方法を提供すること。【解決手段】データ転送制御システムは、圧縮画像データを含む圧縮データを、バス２００を介してデバイスコントローラ２１０に転送する転送コントローラ１６０と、受信された圧縮データを記憶するデバイス側のメモリ２９０のデータ蓄積状況に基づいて、転送コントローラ１６０の転送速度を設定する転送速度設定部１３０を含む。メモリ２９０の蓄積データ量が、第１のデータ量ＤＡ１と第２のデータ量ＤＡ２の間のデータ量になるように、転送コントローラ１６０の転送速度を設定する。転送速度設定部１３０は、圧縮データを解析し、圧縮データに含まれる画像データ量特定情報（ビットレート）に基づき転送速度を設定する。【選択図】　　　　図１
2004012871.tif 000002
【特許請求の範囲】
【請求項１】
圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御システムであって、
圧縮データを、バスを介して第２のコントローラに転送する転送コントローラと、
前記第２のコントローラが有するメモリであって受信された圧縮データを記憶する第２のメモリのデータ蓄積状況に基づいて、転送コントローラによるバスを介したデータ転送の転送速度を設定する転送速度設定部と、
を含むことを特徴とするデータ転送制御システム。
【請求項２】
請求項１において、
前記転送速度設定部が、
第２のメモリの蓄積データ量が、第１のデータ量と第２のデータ量の間のデータ量になるように、転送コントローラの転送速度を設定することを特徴とするデータ転送制御システム。
【請求項３】
請求項２において、
前記第１のデータ量が、
第２のメモリがフル状態になる時の蓄積データ量よりも小さなデータ量に設定されることを特徴とするデータ転送制御システム。
【請求項４】
請求項２又は３において、
前記第２のデータ量が、
圧縮データの伸長処理単位となるデータ量よりも大きなデータ量に設定されることを特徴とするデータ転送制御システム。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記転送速度設定部が、
第２のメモリの蓄積データ量が第１のデータ量になった場合には、第１の転送速度で圧縮データを転送している転送コントローラのデータ転送速度を、第１の転送速度よりも遅い第２の転送速度に設定することを特徴とするデータ転送制御システム。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記転送速度設定部が、
第２のメモリの蓄積データ量が第１のデータ量になった場合には、転送コントローラを転送待ち状態に設定することを特徴とするデータ転送制御システム。
【請求項７】
請求項２乃至６のいずれかにおいて、
前記転送速度設定部が、
第２のメモリの蓄積データ量が第２のデータ量になった場合には、第１の転送速度で圧縮データを転送している転送コントローラの転送速度を、第１の転送速度よりも速い第３の転送速度に設定することを特徴とするデータ転送制御システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記転送速度設定部が、
バスを介したパケット転送を用いて、第２のコントローラから第２のメモリのデータ蓄積状況を取得することを特徴とするデータ転送制御システム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記転送速度設定部が、
バスを介したパケット転送を用いて、転送速度の設定コマンドを第２のコントローラに知らせることを特徴とするデータ転送制御システム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記転送速度設定部が、
圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報に基づいて、転送コントローラの転送速度を設定することを特徴とするデータ転送制御システム。
【請求項１１】
圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御システムであって、
圧縮データを、バスを介して第２のコントローラに転送する転送コントローラと、
圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報に基づいて、転送コントローラの転送速度を設定する転送速度設定部と、
を含むことを特徴とするデータ転送制御システム。
【請求項１２】
請求項１１において、
前記転送速度設定部が、
圧縮データのシーケンス層に含まれるビットレートに基づいて、転送コントローラの転送速度を設定することを特徴とするデータ転送制御システム。
【請求項１３】
圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御システムであって、
バスを介して第１のコントローラから転送される圧縮データを受信する転送コントローラと、
受信された圧縮データを記憶する第２のメモリを管理し、第２のメモリのデータ蓄積状況を取得するメモリ管理部と、
取得されたデータ蓄積状況を第１のコントローラに知らせ、第１のコントローラからの転送速度設定コマンドに基づいて、転送コントローラの転送速度を設定する転送速度設定部と、
を含むことを特徴とするデータ転送制御システム。
【請求項１４】
請求項１３において、
第２のメモリの蓄積データ量が、第１のデータ量と第２のデータ量の間のデータ量になるように、転送コントローラの転送速度が設定されることを特徴とするデータ転送制御システム。
【請求項１５】
請求項１４において、
前記第１のデータ量が、
第２のメモリがフル状態になる時の蓄積データ量よりも小さなデータ量に設定されることを特徴とするデータ転送制御システム。
【請求項１６】
請求項１４又は１５において、
前記第２のデータ量が、
圧縮データの伸長処理単位となるデータ量よりも大きなデータ量に設定されることを特徴とするデータ転送制御システム。
【請求項１７】
請求項１３乃至１６のいずれかにおいて、
前記転送速度設定部が、
バスを介したパケット転送を用いて、第１のコントローラから転送速度設定コマンドを取得することを特徴とするデータ転送制御システム。
【請求項１８】
請求項１３乃至１７のいずれかにおいて、
前記転送速度設定部が、
バスを介したパケット転送を用いて、第２のメモリのデータ蓄積状況を第１のコントローラに知らせることを特徴とするデータ転送制御システム。
【請求項１９】
第１のコントローラと、
第１のコントローラとバスを介して接続される第２のコントローラと、
圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するための請求項１乃至１８のいずれかのデータ転送制御システムと、
第１のコントローラ又は第２のコントローラにより制御されるデバイスと、
を含むことを特徴とする電子機器。
【請求項２０】
圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御方法であって、
圧縮データを、バスを介して転送コントローラにより第２のコントローラに転送し、
前記第２のコントローラが有するメモリであって受信された圧縮データを記憶する第２のメモリのデータ蓄積状況に基づいて、転送コントローラによるバスを介したデータ転送の転送速度を設定することを特徴とするデータ転送制御方法。
【請求項２１】
圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御方法であって、
圧縮データを、バスを介して転送コントローラにより第２のコントローラに転送し、
圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報に基づいて、転送コントローラの転送速度を設定することを特徴とするデータ転送制御方法。
【請求項２２】
圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御方法であって、
バスを介して第１のコントローラから転送される圧縮データを転送コントローラにより受信し、
受信された圧縮データを記憶する第２のメモリを管理し、第２のメモリのデータ蓄積状況を取得し、
取得されたデータ蓄積状況を第１のコントローラに知らせ、第１のコントローラからの転送速度設定コマンドに基づいて、転送コントローラの転送速度を設定することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送制御システム、電子機器及びデータ転送制御方法に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来の液晶表示装置（広義には表示装置）では、表示のため各種制御信号や表示データを、ホストコントローラ（ＣＰＵ）、デバイスコントローラ（表示コントローラ）間でパラレル転送している。このため、信号線が多くなり、ホストコントローラが実装される基板（ｃｉｒｃｕｉｔ　ｂｏａｒｄ）とデバイスコントローラが実装される基板とを接続するコネクタが大きくなる等の事態が生じ、製造コストの上昇を招く。
【０００３】
このような問題を解決するために、制御信号や表示データをシリアル転送する従来技術が知られている。例えば特開平６−９５０６号では、デバイスコントローラにデータ保持回路を持たせ、ホストコントローラ、デバイスコントローラ間での制御信号、表示データの高速シリアル転送を実現している。
【０００４】
一方、近年、静止画のみならず動画も表示できる液晶表示装置への要望が強まっている。しかしながら、動画データをリアルタイムに転送しようとすると、ホストコントローラ、デバイスコントローラ間の転送データ量が更に増加する。このため、より高速なシリアル転送が必要になる。また、この高速シリアル転送が原因となって、消費電力の増加や、ＥＭＩノイズの発生などの問題が生じる可能性もある。
【０００５】
このような問題を解決する従来技術としては、例えば特開平４−３３０４８９、特開平８−２０２５２６、特開平１１−６５５３５などがある。
【０００６】
しかしながら、これらの従来技術によっても、消費電力の低減や、ＥＭＩノイズの発生の抑制という技術課題の達成は不十分であった。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、低消費電力のデータ転送を実現できるデータ転送制御システム、電子機器及びデータ転送制御方法を提供することにある。
【０００８】
また本発明の他の目的は、受信した圧縮データを記憶するメモリの資源を節約できるデータ転送制御システム、電子機器及びデータ転送制御方法を提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御システムであって、圧縮データを、バスを介して第２のコントローラに転送する転送コントローラと、前記第２のコントローラが有するメモリであって受信された圧縮データを記憶する第２のメモリのデータ蓄積状況に基づいて、転送コントローラによるバスを介したデータ転送の転送速度を設定する転送速度設定部とを含むデータ転送制御システムに関係する。
【００１０】
本発明では、圧縮画像データを含む圧縮データがバスを介して転送される。ここで、圧縮画像データは、デバイスの１つである表示部の表示に使用されるデータであってもよいし、デバイスの１つである撮像素子により取得されるデータであってもよい。
【００１１】
そして本発明では、第１のコントローラ（送信側）の転送コントローラの転送速度が、第２のコントローラ（受信側）の第２のメモリのデータ蓄積状況に基づいて設定される。これにより、第１、第２のコントローラ間の転送速度が最適な速度に設定され、データ転送の低消費電力化を図れる。また、第２のメモリの資源を節約でき、回路の小規模化を図れる。
【００１２】
また本発明では、前記転送速度設定部が、第２のメモリの蓄積データ量が、第１のデータ量と第２のデータ量の間のデータ量になるように、転送コントローラの転送速度を設定してもよい。
【００１３】
このようにすれば、蓄積データ量が、第１のデータ量を上回ったり、第２のデータ量を下回ったりする事態を抑制できる。
【００１４】
また本発明では、前記第１のデータ量が、第２のメモリがフル状態になる時の蓄積データ量よりも小さなデータ量に設定してもよい。
【００１５】
なお、第１のデータ量を、第２のメモリがフル状態になる時の蓄積データ量と同じに設定することも可能である。
【００１６】
また本発明では、前記第２のデータ量が、圧縮データの伸長処理単位となるデータ量よりも大きなデータ量に設定してもよい。
【００１７】
ここで、伸長処理単位となるデータ量とは、例えば、１フレーム分の画像データ量である。なお、第２のデータ量を、０よりも大きなデータ量（伸長処理単位とは無関係なデータ量）に設定してもよい。
【００１８】
また本発明では、前記転送速度設定部が、第２のメモリの蓄積データ量が第１のデータ量になった場合には、第１の転送速度で圧縮データを転送している転送コントローラのデータ転送速度を、第１の転送速度よりも遅い第２の転送速度に設定してもよい。
【００１９】
このようにすれば、転送コントローラの転送速度が速くなりすぎてしまう事態を防止できる。
【００２０】
また本発明では、前記転送速度設定部が、第２のメモリの蓄積データ量が第１のデータ量になった場合には、転送コントローラを転送待ち状態に設定してもよい。
【００２１】
なお、転送待ち状態で所与の時間が経過した場合（蓄積データ量が第２のデータ量になった場合）に、転送コントローラの転送速度を、第１の転送速度よりも遅い第２の転送速度に設定してもよい。
【００２２】
また本発明では、前記転送速度設定部が、第２のメモリの蓄積データ量が第２のデータ量になった場合には、第１の転送速度で圧縮データを転送している転送コントローラの転送速度を、第１の転送速度よりも速い第３の転送速度に設定すしてもよい。
【００２３】
このようにすれば、転送コントローラの転送速度が遅くなりすぎてしまう事態を防止できる。
【００２４】
また本発明では、前記転送速度設定部が、バスを介したパケット転送を用いて、第２のコントローラから第２のメモリのデータ蓄積状況を取得してもよい。
【００２５】
また本発明では、前記転送速度設定部が、バスを介したパケット転送を用いて、転送速度の設定コマンドを第２のコントローラに知らせてもよい。
【００２６】
また本発明では、前記転送速度設定部が、圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報に基づいて、転送コントローラの転送速度を設定してもよい。
【００２７】
また本発明は、圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御システムであって、圧縮データを、バスを介して第２のコントローラに転送する転送コントローラと、圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報に基づいて、転送コントローラの転送速度を設定する転送速度設定部とを含むデータ転送制御システムに関係する。
【００２８】
本発明では、圧縮データが解析され、圧縮データの中から画像データ量特定情報が取得される（データ伸長処理を行うことなく取得される）。そして、この取得された画像データ量特定情報に基づいて、転送コントローラの転送速度が設定される。
【００２９】
このようにすることで、圧縮データに含まれる画像データの量を、ある程度予測することができ、転送コントローラの転送速度を最適な速度に設定できる。
【００３０】
また本発明では、前記転送速度設定部が、圧縮データのシーケンス層に含まれるビットレートに基づいて、転送コントローラの転送速度を設定してもよい。
【００３１】
また本発明は、圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御システムであって、バスを介して第１のコントローラから転送される圧縮データを受信する転送コントローラと、受信された圧縮データを記憶する第２のメモリを管理し、第２のメモリのデータ蓄積状況を取得するメモリ管理部と、取得されたデータ蓄積状況を第１のコントローラに知らせ、第１のコントローラからの転送速度設定コマンドに基づいて、転送コントローラの転送速度を設定する転送速度設定部とを含むデータ転送制御システムに関係する。
【００３２】
本発明によれば、バスを介して第１のコントローラから転送される圧縮データが、第２のコントローラの転送コントローラにより受信され、第２のコントローラの第２のメモリに蓄積される。そして、この第２のメモリのデータ蓄積状況が取得され、第２のコントローラから第１のコントローラに知らされる。
【００３３】
第１のコントローラは、このデータ蓄積状況に基づいて転送速度を決定し、決定した転送速度の設定コマンドを第２のコントローラに転送する。すると、第２のコントローラの転送速度設定部が、この転送速度設定コマンドに基づいて、第２のコントローラの転送コントローラの転送速度を設定する。これにより、第１、第２のコントローラ間の転送速度を最適な速度に設定でき、低消費電力化を図れる。また、第２のメモリの資源を節約でき、回路の小規模化を図れる。
【００３４】
また本発明では、前記転送速度設定部が、バスを介したパケット転送を用いて、第１のコントローラから転送速度設定コマンドを取得してもよい。
【００３５】
また本発明では、前記転送速度設定部が、バスを介したパケット転送を用いて、第２のメモリのデータ蓄積状況を第１のコントローラに知らせてもよい。
【００３６】
また本発明は、第１のコントローラと、第１のコントローラとバスを介して接続される第２のコントローラと、圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するための上記のいずれかのデータ転送制御システムと、第１のコントローラ又は第２のコントローラにより制御されるデバイスとを含む電子機器に関係する。
【００３７】
また本発明は、圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御方法であって、圧縮データを、バスを介して転送コントローラにより第２のコントローラに転送し、前記第２のコントローラが有するメモリであって受信された圧縮データを記憶する第２のメモリのデータ蓄積状況に基づいて、転送コントローラによるバスを介したデータ転送の転送速度を設定するデータ転送制御方法に関係する。
【００３８】
また本発明は、圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御方法であって、圧縮データを、バスを介して転送コントローラにより第２のコントローラに転送し、圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報に基づいて、転送コントローラの転送速度を設定するデータ転送制御方法に関係する。
【００３９】
また本発明は、圧縮画像データを含む圧縮データを第１のコントローラと第２のコントローラとの間でバスを介して転送するためのデータ転送制御方法であって、バスを介して第１のコントローラから転送される圧縮データを転送コントローラにより受信し、受信された圧縮データを記憶する第２のメモリを管理し、第２のメモリのデータ蓄積状況を取得し、取得されたデータ蓄積状況を第１のコントローラに知らせ、第１のコントローラからの転送速度設定コマンドに基づいて、転送コントローラの転送速度を設定するデータ転送制御方法に関係する。
【００４０】
【発明の実施の形態】
以下、本実施形態について説明する。
【００４１】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００４２】
１．構成
図１に、本実施形態のデータ転送制御システム及びこれを含む電子機器（狭義には表示装置）の構成例を示す。図１において、ホスト側（マスター側、送信側）のデータ転送制御システムは、転送コントローラ１６０、転送速度設定部１３０等により構成される。また、デバイス側（スレーブ側、受信側）のデータ転送制御システムは、転送コントローラ２６０、転送速度設定部２３０等により構成される。なお、図１の回路ブロック一部を省略する構成としてもよい。
【００４３】
１．１　ホストコントローラ
ホストコントローラ１１０（広義には第１のコントローラ）は、ホスト側（マスター側、送信側）のコントローラであり、処理部１２０、転送コントローラ１６０、メモリ１９０（第１のメモリ）を含む。このホストコントローラ１１０（第１のコントローラ）は例えば第１の基板（ｃｉｒｃｕｉｔ　ｂｏａｒｄ）に実装される。なお、メモリ１９０をホストコントローラ１１０の外付けメモリにしてもよい。
【００４４】
処理部１２０は、ホストコントローラ１１０内の各回路ブロックの制御や、バス２００を介したデータ転送の制御の一部を行うものである。この処理部１２０の機能は、ＣＰＵなどのハードウェアと、そのハードウェア上で動作するファームウェア（ソフトウェア、プログラム）により実現される。
【００４５】
転送コントローラ１６０（ホスト側、マスター側、或いは送信側の転送コントローラ。シリアル・インターフェース・コントローラ）は、基地局等から送られてくる圧縮データを、バス２００（狭義には、双方向シリアルバス）を介してデバイスコントローラ２１０（広義には第２のコントローラ）に転送する処理を行う。より具体的には、メモリ１９０から圧縮データを読み出し、この圧縮データ（マックスパケットサイズのデータ）をペイロードとして含むパケットを組み立てる。そして、組み立てられたパケットを、所与のプロトコルに従って、バス２００を介してデバイスコントローラ２１０（転送コントローラ２６０）に転送（送信）する。
【００４６】
メモリ１９０（ホスト側、マスター側、或いは送信側のメモリ）は、基地局等から送られてくる圧縮データ（例えばＭＰＥＧのビットストリーム）を記憶するものであり、その機能はＳＲＡＭやＤＲＡＭなどにより実現される。
【００４７】
なお、メモリ１９０に第１、第２の領域を含む複数の領域を確保し、第１の領域には圧縮データを記憶し、第２の領域は処理部１２０のワーク領域として使用するようにしてもよい。
【００４８】
処理部１２０は転送速度設定部１３０を含む。この転送速度設定部１３０（転送速度切り替え部）は、デバイスコントローラ２１０（第２のコントローラ）が有するメモリ２９０（第２のメモリ）のデータ蓄積状況（メモリの蓄積データ量、空き容量等）に基づいて、転送コントローラ１６０の転送速度（パケット転送の速度。単位時間に転送される平均データ量）を設定する。より具体的には、メモリ２９０のデータ蓄積の程度や空きの程度を表すデータ蓄積状況（メモリ・ステータス）に応じて、転送コントローラ１６０の転送速度（ｔｒａｎｓｆｅｒ　ｒａｔｅ）を切り替え、転送速度を動的に変化させる。
【００４９】
更に、転送速度設定部１３０は、決定した転送速度をデバイスコントローラ２１０に知らせる。より具体的には、転送速度の設定コマンドをパケット転送等を利用してデバイスコントローラ２１０（転送コントローラ２６０）に転送する。この場合の転送速度設定コマンドの転送は、例えばＵＳＢのコントロール転送、或いはこの転送に準じたパケット転送により実現できる。
【００５０】
なお、ホストコントローラ１１０、デバイスコントローラ２１０間を接続する制御線（制御信号）を用いて、転送速度設定コマンドをデバイスコントローラ２１０に伝えてもよい。或いは、フォーマットの異なる何種類かのデータパターン（マーク）をバス２００を介して転送することで、転送速度設定コマンド（転送速度情報）をデバイスコントローラ２１０に伝えてもよい。
【００５１】
また本実施形態の転送速度設定部１３０は、デバイス側（受信側、スレーブ側）のメモリ２９０の蓄積データ量（空き容量）が、第１のデータ量ＤＡ１（許容される最大の蓄積データ量）と第２のデータ量ＤＡ２（許容される最小の蓄積データ量）の間のデータ量ＤＡ（ＤＡ２≦ＤＡ≦ＤＡ１）になるように、転送速度を設定する。
【００５２】
この場合のデータ量ＤＡ１は、例えば、メモリ２９０がフル状態になる時の蓄積データ量（フル・メモリ容量）よりも小さなデータ量に設定できる。またデータ量ＤＡ２は、圧縮データ（ＭＰＥＧ）の伸長処理単位となるデータ量（例えば１フレーム分のデータ量）よりも大きなデータ量に設定できる。
【００５３】
なお、メモリ２９０のデータ蓄積状況（メモリ・ステータス）は、バス２００を介したパケット転送により取得することが望ましい。より具体的には、ＵＳＢのコントロール転送、インタラプト転送或いはこれらの転送に準じたパケット転送によりデータ蓄積状況を取得する。このようにパケット転送を利用することで、データ蓄積状況の効率的な取得が可能になる。
【００５４】
但し、ホストコントローラ１１０、デバイスコントローラ２１０間を接続する制御線（制御信号）を用いて、データ蓄積状況をデバイスコントローラ２１０から取得してもよい。或いは、フォーマットの異なる何種類かのデータパターン（マーク）をバス２００を介して受信することで、データ蓄積状況を取得してもよい。
【００５５】
また、転送速度の設定を、ホストコントローラ１１０（第１のコントローラ）のメモリ１９０（第１のメモリ）のデータ蓄積状況に基づいて設定してもよい。例えば本実施形態では、基地局等から送られてくる圧縮データ（ビットストリーム）のメモリ１９０への書き込み処理と並行して、転送コントローラ１６０のデータ転送処理が行われる。従って、この場合には、転送速度設定部１３０は、メモリ１９０のデータ蓄積状況に基づいて、転送コントローラ１６０の転送速度の設定処理や転送のウェイト処理を行うことが望ましい。
【００５６】
また、バス２００（転送コントローラ）の転送方式としては、差動信号を用いたシリアル転送方式が望ましい。より具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）、ＩＥＥＥ１３９４、或いはこれらの転送方式に準じた独自のプロトコルの転送方式（ＵＳＢ、ＩＥＥＥ１３９４の中から不要な機能を取り除いた転送方式）を採用できる。或いは、物理層の転送方式としてＬＶＤＳ（Ｌｏｗ　Ｖｏｌｔａｇｅ　Ｄｉｆｆｅｒｅｎｔｉａｌ　Ｓｉｇｎａｌｉｎｇ）を採用してもよい。
【００５７】
また、バス２００の転送方式としてＵＳＢ（ＵＳＢ２．０、ＵＳＢ１．１、ＵＳＢ　Ｏｎ−Ｔｈｅ−Ｇｏ）やそれに準じた転送方式を採用する場合には、転送速度の設定を、転送速度が４８０Ｍｂｐｓであるハイスピードモード（ＨＳ）、１２Ｍｂｐｓであるフルスピードモード（ＦＳ）、１．５Ｍｂｐｓであるロースピードモード（ＬＳ）の切り替えにより実現してもよい。或いは、ＨＳ、ＦＳ間、或いはＦＳ、ＬＳ間の中間の転送速度への切り替えにより実現してもよい。
【００５８】
転送速度設定部１３０が含む解析部１３２は、メモリ１９０に書き込まれた圧縮データを解析し、圧縮データに含まれる情報であり画像データ量を特定するための情報を取得する。そして、転送速度設定部１３０は、この画像データ量の特定情報に基づいて、転送コントローラ１６０の転送速度を設定する。
【００５９】
ここで、画像データ量の特定情報としては、圧縮データのビットレート（例えばＭＰＥＧのシーケンス層に含まれるＢＲＶ）、画像サイズ（例えばＭＰＥＧのシーケンス層に含まれるＨＳＶ、ＶＳＶ）、或いは動きベクトル情報（例えばＭＥＰＧのマクロブロック層に含まれるＭＨＣ、ＭＶＣ）などを用いることができる。即ち、ビットレート、画像サイズ、又は動きベクトルを用いることで、圧縮データを伸長することなく、圧縮データ中の画像データの占める割合を予測できる。そして、画像データ量が大きいと予測される場合には転送速度を速くし、画像データ量が小さいと予測される場合には転送速度を遅くする。これにより、最適な転送速度でのデータ転送を実現できる。
【００６０】
なお、転送速度設定部１３０の機能は、ファームウェア（ソフトウェア）により実現してもよいし、その一部又は全部の機能を、ハードウェア回路により実現してもよい。転送速度設定部１３０をハードウェア回路により実現する場合には、転送速度設定部１３０の一部又は全部を実現する回路を、転送コントローラ１６０内に設ければよい。
【００６１】
１．２　デバイスコントローラ
デバイスコントローラ２１０（広義には第２のコントローラ）は、デバイス側（スレイブ側、受信側）のコントローラであり、処理部２２０、転送コントローラ２６０、メモリ２９０（第２のメモリ）を含む。また、データ伸長部２４０、表示コントローラ２５０を含む。このホストコントローラ２１０（第２のコントローラ）は例えば第２の基板（ｃｉｒｃｕｉｔ　ｂｏａｒｄ）に実装される。なお、メモリ２９０をデバイスコントローラ２１０の外付けメモリにしてもよい。
【００６２】
処理部２２０は、デバイスコントローラ２１０内の各回路ブロックの制御や、バス２００を介したデータ転送の制御の一部を行うものである。この処理部２２０の機能は、ＣＰＵなどのハードウェアと、そのハードウェア上で動作するファームウェア（ソフトウェア、プログラム）により実現される。
【００６３】
データ伸長部２４０は、メモリ２９０に記憶された圧縮データを伸長する処理を行う。例えば、圧縮データがＭＰＥＧやＪＰＥＧにより圧縮されていた場合には、ＭＰＥＧやＪＰＥＧの規格に応じた伸長処理を行う。
【００６４】
なお、データ伸長部２４０の機能は、その一部又は全部をハードウェア回路により実現してもよいし、データ伸長部２４０を処理部２２０に含ませ、その機能をファームウェア（プログラム）により実現してもよい。
【００６５】
表示コントローラ２５０は、データ伸長部２４０により得られた伸長画像データを受け、表示部３００（広義にはデバイス）の表示制御を行う。例えば、表示部３００に表示データを転送したり、表示部３００が含む表示ドライバ３０４を制御する。
【００６６】
表示部３００（狭義には液晶表示装置）は、表示パネル３００（電気光学パネル）、表示ドライバ３０４を含む。表示パネル３００は、複数の走査線と、複数のデータ線と、複数の画素を含む。表示ドライバ３０４は、これらの走査線、データ線を駆動し、電気光学物質（液晶素子）を用いた画像表示を実現する。
【００６７】
転送コントローラ２６０（デバイス側、スレイブ側、或いは受信側の転送コントローラ）は、バス２００を介してホストコントローラ１１０（第１のコントローラ）から転送される圧縮データを受信する処理を行う。より具体的には、バス２００を介して所与のプロトコルに従って転送されてきたパケットを分解し、パケットのペイロードに含まれる圧縮データを取得する。そして、取得した圧縮データをメモり２９０に出力する。
【００６８】
メモリ２９０（デバイス側、スレイブ側、或いは受信側のメモリ）は、転送コントローラ２６０からの圧縮データを記憶するものであり、その機能はＳＲＡＭやＤＲＡＭなどにより実現される。
【００６９】
なお、メモリ２９０に第１、第２の領域を含む複数の領域を確保し、第１の領域には圧縮データを記憶し、第２の領域は処理部２２０のワーク領域として使用するようにしてもよい。
【００７０】
処理部２２０は転送速度設定部２３０を含む。この転送速度設定部２３０（転送速度切り替え部）は、転送コントローラ２６０の転送速度を、メモリ２９０のデータ蓄積状況に応じた転送速度に設定する。より具体的には、メモリ２９０のデータ蓄積状況を取得し、ホストコントローラ１１０（第１のコントローラ）に知らせる。すると、ホストコントローラ１１０は、このデータ蓄積状況に基づいて転送速度を決定する。そして転送速度設定部２３０は、ホストコントローラ１１０から転送速度設定コマンドを受け、この転送速度設定コマンドに基づいて、転送コントローラ２６０の転送速度を設定する。これにより、メモリ２９０のデータ蓄積状況に応じて、転送コントローラ２６０の転送速度を動的に変化させることができる。
【００７１】
なお、データ蓄積状況は、バス２００を介したパケット転送（コントロール転送、インタラプト転送）によりホストコントローラ１１０に伝えることが望ましい。或いは、ホストコントローラ１１０、デバイスコントローラ２１０間の制御線を用いたり、フォーマットの異なる何種類かのデータパターンを用いて、ホストコントローラ１１０にデータ蓄積状況を知らせてもよい。また、転送速度設定コマンドも、パケット転送により取得してもよいし、制御線を用いたり、データパターンを用いて取得してもよい。
【００７２】
メモリ管理部２３４はメモリ２９０のメモリ管理（ポインタ制御、アドレス生成等）を行う。そして、メモリ２９０の蓄積データ量（広義にはデータ蓄積状況）を取得する。より具体的には、メモリ２９０の読み出しポインタ、書き込みポインタの差分を計算することで、蓄積データ量を取得する。そして、この蓄積データ量がペイロードに設定されたパケットが、ホストコントローラ１１０に転送され、データ蓄積状況がホストコントローラ１１０に知らされる。
【００７３】
また、転送速度設定部２３０の機能は、ファームウェア（ソフトウェア）により実現してもよいし、その一部又は全部の機能を、ハードウェア回路により実現してもよい。転送速度設定部２３０をハードウェア回路により実現する場合には、転送速度設定部２３０の一部又は全部を実現する回路を、転送コントローラ２６０内に設ければよい。
【００７４】
２．データ蓄積状況に応じた転送速度の設定
本実施形態では、メモリ２９０のデータ蓄積状況に応じて、バス２００の転送速度を設定している。
【００７５】
図２（Ａ）、（Ｂ）に、転送速度とメモリの蓄積データ量の関係を示す。これらの図から明らかなように、転送速度を低くすることで使用メモリ容量を節約できる。
【００７６】
例えば図２（Ａ）では、Ｔ１、Ｔ２、Ｔ３に示すように、圧縮データ（ビットストリーム）が、所与の時間間隔でデータパケットとして転送され、転送コントローラ２６０が受信する。そして、受信された圧縮データがメモリ２９０に書き込まれる。これにより、Ａ１、Ａ２、Ａ３に示すように、メモリ２９０の蓄積データ量ＤＡが増加する。この場合に、転送速度を速くすると（ＴＲ１）、蓄積データ量ＤＡの増え方も速くなる。
【００７７】
そして、Ｔ４、Ｔ５、Ｔ６では、メモリ２９０の圧縮データがデータ伸長部２４０により読み出され、メモリデータが消費される。これにより、Ａ４、Ａ５、Ａ６に示すように、メモリ２９０の蓄積データ量ＤＡが減少する。
【００７８】
一方、図２（Ｂ）では、図２（Ａ）と同じ時間間隔でデータパケットが転送されている。しかしながら、図２（Ｂ）の転送速度ＴＲ２は図２（Ａ）の転送速度ＴＲ１よりも遅い速度に設定されている。
【００７９】
このように、ゆっくりした転送速度でデータを転送することで、図２（Ａ）、（Ｂ）を比べれば明らかなように、メモリ２９０の蓄積データ量ＤＡの最大値ＤＡＭＡＸが少なくなる。従って、メモリ２９０の最大使用メモリ容量が少なくて済むようになり、メモリ資源の節約や、回路規模の削減を図れる。また、転送速度を低くすることで、消費電力を低減できると共にＥＭＩノイズの発生を抑制できる。
【００８０】
本実施形態では、このような転送速度と蓄積データ量の関係に着目し、メモリ２９０のデータ蓄積状況に応じて転送速度を制御している。この本実施形態の転送速度の制御手法を、図３を用いて説明する。
【００８１】
図３のＢ１、Ｂ２、Ｂ３では、転送速度ＴＲ１でパケット転送が行われている。そして、Ｂ４では、メモリ２９０の蓄積データ量ＤＡが第１のデータ量ＤＡ１（最大許容蓄積データ量）に達している（ＤＡ＝ＤＡ１或いはＤＡ≧ＤＡ１）。この場合に本実施形態では、Ｂ５に示すように、転送コントローラ１６０が転送待ち状態に設定される。また、ＴＲ１（第１の転送速度）でパケット転送（圧縮データの転送）を行っていた転送コントローラ１６０の転送速度が、Ｂ６、Ｂ７に示すように、ＴＲ１よりも遅いＴＲ２（第２の転送速度）に設定（変更）される。
【００８２】
より具体的には、転送コントローラ１６０が転送待ち状態に設定された後、Ｂ８に示すようにメモリ２９０の蓄積データ量ＤＡ（使用メモリ容量）が第２のデータ量ＤＡ２（最小許容蓄積データ量）に達すると（ＤＡ＝ＤＡ２或いはＤＡ≦ＤＡ２）、転送コントローラ１６０の転送速度が、ＴＲ１より遅いＴＲ２に設定される。そして、Ｂ６、Ｂ７に示すように、この遅い転送速度ＴＲ２で転送コントローラ１６０によるパケット転送が行われる。
【００８３】
また図４のＣ１、Ｃ２では、転送速度ＴＲ１でパケット転送が行われている。そして、Ｃ３では、メモリ２９０の蓄積データ量ＤＡが第２のデータ量ＤＡ２（最小許容蓄積データ量）に達している（ＤＡ＝ＤＡ２或いはＤＡ≦ＤＡ２）。この場合に本実施形態では、ＴＲ１（第１の転送速度）でパケット転送（圧縮データの転送）を行っていた転送コントローラ１６０の転送速度が、Ｃ４、Ｃ５に示すように、ＴＲ１よりも速いＴＲ３（第３の転送速度）に設定（変更）される。
【００８４】
以上のようにすることで、メモリ２９０の蓄積データ量ＤＡが、ＤＡ１（第１のデータ量）とＤＡ２（第２のデータ量）の間のデータ量になるように、転送コントローラ１６０の転送速度が設定されるようになる。
【００８５】
このようにすることで、メモリ２９０の蓄積データ量ＤＡが多くなりすぎたり、少なくなりすぎたりする事態を抑制できる。これにより、メモリ２９０の資源を節約でき、そのメモリ容量を小さくすることが可能になる。この結果、回路の小規模化を図れる。
【００８６】
また本実施形態によれば、バス２００を介したデータ転送が不必要に高速になってしまう事態を防止でき、最適な転送速度でのデータ転送が可能になる。これにより、消費電力を低減できると共にＥＭＩノイズの発生を抑制できる。
【００８７】
なお、第１のデータ量ＤＡ１としては、例えば、メモリ２９０がフル状態になる時の蓄積データ量ＦＤＡ（フル・メモリ容量）よりも小さなデータ量（ＤＡ１＜ＦＤＡ）を採用できる。このようにすれば、蓄積データ量ＤＡがＦＤＡに達する前に、転送コントローラ１６０を転送待ち状態に設定したり、転送速度を遅くすることが可能になる。これにより、メモリ２９０がフルになってしまう事態を未然に防止できる。なお、第１のデータ量ＤＡ１をＦＤＡと同じにすることも可能である。
【００８８】
また、第２のデータ量ＤＡ２としては、例えば、０よりも大きなデータ量を採用できる（ＤＡ２＞０）。更に具体的には、ＤＡ２として、圧縮データの伸長処理単位となるデータ量ＥＤＡ（画像処理に必要なデータ量）よりも大きなデータ量を採用できる（ＤＡ２＞ＥＤＡ）。
【００８９】
ここで、伸長処理単位となるデータ量ＥＤＡは、例えば、１フレーム分の画像データ量、或いはＧＯＰ層（ＭＰＥＧ）の数ピクチャ分（Ｉ、Ｂ、Ｐピクチャ）の画像データ量などである。このようにすれば、メモリ２９０には、最低限、ＥＤＡの大きさの圧縮データが常に存在するようになる。従って、データ伸長部２４０（処理部２２０）は、メモリ２９０の圧縮データを用いて、データ伸長処理を途切れることなく実行できる。これにより、データ伸長処理の効率化を図れる。
【００９０】
３．画像データ量特定情報に基づく転送速度の設定
本実施形態では、圧縮データの画像データ量特定情報に基づいて、バス２００を介したデータ転送（パケット転送）の転送速度を設定している。
【００９１】
ここで画像データ量特定情報は、圧縮データに含まれる情報である。より具体的には、圧縮データの所与の層（シーケンス層又はマクロブロック層等）に含まれる情報である。また、圧縮データの伸長処理を行うことなく、取り出すことができる情報である。そして、この画像データ量特定情報は、圧縮データの画像データ量を特定（予測）するための情報である。
【００９２】
図５に、ＭＰＥＧ（Ｍｏｔｉｏｎ　Ｐｉｃｔｕｒｅ　Ｇｒｏｕｐ）データの階層構造の例を示す。ＭＰＥＧ（ＭＰＥＧ２）データは、シーケンス層、ＧＯＰ（Ｇｒｏｕｐ　Ｏｆ　Ｐｉｃｔｕｒｅ）層、ピクチャ層、スライス層、マクロブロック層、ブロック層により構成される。本実施形態では、画像データ量特定情報として、シーケンス層のシーケンスヘッダＳＨに含まれるビットレート（ＢＲＶ）や画像サイズ（ＨＳＶ、ＶＳＶ）などを採用している。また、マクロブロック層に含まれる動きベクトル情報（ＭＨＣ、ＭＶＣ等）を採用している。
【００９３】
ここで、ＢＲＶ（Ｂｉｔ　Ｒａｔｅ　Ｖａｌｕｅ）は、発生ビット量に対する制限のためのビットレートの下位１８ビットである。ビットレートを用いることで、圧縮データのうちの平均的な画像データ量を知ることができる。そして、ビットレートが高く、画像データ量が多い場合には、データ転送の転送速度を速くする。なお、ＭＰＥＧのコンテンツのファイル・フォーマットのヘッダに含まれるビットレート（ビットレートの公称値）を用いてもよい。
【００９４】
また、ＨＳＶ（Ｈｏｒｉｚｏｎｔａｌ　Ｓｉｚｅ　Ｖａｌｕｅ）、ＶＳＶ（Ｖｅｒｔｉｃａｌ　Ｓｉｚｅ　Ｖａｌｕｅ）は、画像の横の画素数、縦のライン数の下位１２ビットである。画像サイズ（ＨＳＶ、ＶＳＶ）を用いることで、各フレームの画像のデータ量を知ることができる。そして、画像サイズが大きく、各フレームの画像データ量が多い場合には、データ転送の転送速度を速くする。
【００９５】
また、ＭＨＣ（Ｍｏｔｉｏｎ　Ｈｏｒｉｚｏｎｔａｌ　Ｃｏｄｅ）、ＭＶＣ（Ｍｏｔｉｏｎ　Ｖｅｒｔｉｃａｌ　Ｃｏｄｅ）は、動きベクトルの水平成分、垂直成分と前のベクトルとの差分をＶＬＣで符号化したものである。例えば、表示物の動きが大きいか、小さいかは、動きベクトル情報に基づいて判断できる。そして、動きベクトル情報に基づき、表示物の動きが大きいと判断された場合には、データ転送の転送速度を速くする。
【００９６】
以上のように、画像データ量特定情報を用いて、バス２００を介したデータ転送（パケット転送）の転送速度を制御することで、画像データ量に応じて、予測的に転送速度を変化させることが可能になる。これにより、更に細かでインテリジェントな転送速度の制御が可能になる。
【００９７】
４．データ蓄積状況、転送速度設定コマンドのパケット転送
本実施形態では、データ蓄積状況や転送速度設定コマンドを、パケット転送を利用してバスを介して転送している。
【００９８】
例えば図６（Ａ）、（Ｂ）に、ＵＳＢのコントロール転送のタイミングチャートを示す。なお、「Ｈ→Ｄ」は、ホスト側からデバイス側にパケットが転送されることを示し、「Ｈ←Ｄ」は、デバイス側からホスト側にパケットが転送されることを示す。
【００９９】
まず、図６（Ａ）のセットアップステージにおいては、ホスト側（ホストコントローラ１１０、第１のコントローラ）がデバイス側（デバイスコントローラ２１０、第２のコントローラ）に、ＳＥＴＵＰトークンパケットを転送する。そして、ホスト側がデバイス側に、デバイスリクエストのデータパケットを転送する。この時に本実施形態では、ホスト側が、データパケットのペイロードにデータ蓄積状況の転送指示コマンドを設定する。そして、データパケットの転送が成功すると、デバイス側がホスト側にＡＣＫ（ハンドシェークパケット）を返す。
【０１００】
次のデータステージおいては、ホスト側がデバイス側にＩＮトークンパケットを転送する。すると、デバイス側が、データ蓄積状況（メモリ２９０の蓄積データ量等）をデータパケットのペイロードに設定して、ホスト側に転送する。そして、データパケットの転送が成功すると、ホスト側がデバイス側にＡＣＫを返す。
【０１０１】
次のステータスステージにおいては、ホスト側がデバイス側にＯＵＴトークンパケットを転送した後、０長のデータパケットをデバイス側に転送する。そして、デバイス側がホスト側にＡＣＫを返すと、コントロール転送が終了する。
【０１０２】
図６（Ａ）の手法によれば、データ蓄積状況を、パケット転送（コントロール転送）を利用して、デバイス側からホスト側に伝えることができる。これにより、簡素な処理でデータ蓄積状況を伝えることが可能になる。また、ホスト側とデバイス側に新たな制御信号線を設けなくて済むようになり、回路の小規模化を図れる。
【０１０３】
一方、図６（Ｂ）では、セットアップステージにおいて、ホスト側が、データパケットのペイロードに転送速度設定コマンドを設定して、デバイス側に転送している。そして、次のステータスステージにおいては、ホスト側からのＩＮトークンを受けたデバイス側が、０長のデータパケットをホスト側に転送する。
【０１０４】
図６（Ｂ）の手法によれば、転送速度設定コマンドを、パケット転送（コントロール転送）を利用して、ホスト側からデバイス側に伝えることができる。これにより、簡素な処理で転送速度設定コマンドを伝えることが可能になる。また、ホスト側とデバイス側に新たな制御信号線を設けなくて済むようになり、回路の小規模化を図れる。
【０１０５】
なお、図７に示すように、ＵＳＢのインタラプト転送（或いはこれに準じた転送方式）を利用して、データ蓄積状況をデバイス側からホスト側に伝えてもよい。
【０１０６】
即ち、インタラプト転送においては、ホスト側が、所与のフレーム間隔（Ｎフレーム間隔）で、ＩＮトークンをデバイス側に転送する（ポーリングを行う）。なお、図７において、ＳＯＦは、フレーム毎にホスト側が発生するスタート・オブ・フレーム・パケットである。
【０１０７】
ホスト側からＩＮトークンを受けたデバイス側は、自身のステータスをホスト側に転送する。この時に本実施形態では、デバイス側が、データ蓄積状況（蓄積データ量等）をステータスに含ませて、ホスト側に転送する。このようにすることで、所与のフレーム毎にデバイス側からホスト側にデータ蓄積状況が自動的に伝えられるようになり、ホスト側の処理負荷等を軽減できる。
【０１０８】
なお、データ蓄積状況や転送速度設定コマンドの転送を、コントロール転送やインタラプト転送以外のパケット転送で転送してもよい。また、コントロール転送やインタラプト転送を用いる場合（既知のデバイスが繋がりっぱなしの場合）に、転送コントローラ１６０、２６０の転送方式は、ＵＳＢ規格に完全に準拠していなくてもよい。例えば、ＵＳＢの転送方式の機能の一部（プラグ＆プレイの機能等）を省略すると共に、コントロール転送、インタラプト転送については、ＵＳＢ規格の転送方式に準拠するようにしてもよい。
【０１０９】
５．動作
次に、図８、図９のフローチャートを用いて、本実施形態のデータ転送制御システムの動作について説明する。
【０１１０】
まず、受信した圧縮データ（ビットストリーム）をホスト側のメモリ１９０に蓄積する（ステップＳ１）。そして、ホスト側及びデバイス側の転送コントローラ１６０、２６０の初期転送速度を設定する（ステップＳ２）。
【０１１１】
次に、所与（所定）の転送サイズのデータを、転送コントローラ１６０のパケットバッファ（ＦＩＦＯ）に取得する（ステップＳ３）。
【０１１２】
次に、そのデータにシーケンスヘッダが含まれるか否かを判断し（ステップＳ４）、含まれる場合には、シーケンスヘッダに含まれるビットレート（ＢＲ）を取得する（ステップＳ５）。そして、ホスト側（送信側）の転送コントローラ１６０の転送速度をＴＲ１＝α×ＢＲ（α＜１）に設定する（ステップＳ６）。そして、転送速度が変化した場合には、ホスト側（送信側）の転送コントローラ１６０からデバイス側（受信側）の転送コントローラ２６０に、転送速度設定コマンドをパケット転送する（ステップＳ７、ステップＳ８）。
【０１１３】
次に、デバイス側のメモリ２９０の蓄積データ量ＤＡ（データ蓄積状況）をパケット転送により取得する（ステップＳ９。図６（Ａ）、図７参照）。
【０１１４】
次に、蓄積データ量ＤＡが第１のデータ量ＤＡ１よりも小さいか否かを判断する（ステップＳ１０）。そして、ＤＡ＜ＤＡ１の場合には、ＤＡが第２のデータ量ＤＡ２よりも大きいか否かを判断する（ステップＳ１１）。そして、ＤＡ＞ＤＡ２の場合、即ちＤＡ２＜ＤＡ＜ＤＡ１の場合には、データをパケット転送する（ステップＳ１２）。そして、全てのデータの転送が終了したか否かを判断し（ステップＳ１３）、終了していない場合には、図８のステップＳ３に戻る。
【０１１５】
図９のステップＳ１０で、ＤＡ≧ＤＡ１と判断された場合には、所与（所定）の時間だけ、データ転送を待ち状態にする（ステップＳ１４。図３のＢ５参照）。そして、デバイス側の蓄積データ量ＤＡをパケット転送により取得する（ステップＳ１５。図６（Ａ）、図７参照）。
【０１１６】
次に、ＤＡがＤＡ１に達したか否かを判断する（ステップＳ１６）。そして、ＤＡ＝ＤＡ１になった場合には、ホスト側の転送コントローラ１６０の転送速度を、ＴＲ２＝β×ＴＲ１（β＜１）に設定する（ステップＳ１７。図３のＢ６、Ｂ７参照）。そして、ホスト側からデバイス側に転送速度設定（切り替え）コマンドをパケット転送し（ステップＳ１８。図６（Ｂ）参照）、その後、データをパケット転送する（ステップＳ１２）。
【０１１７】
図９のステップＳ１１で、ＤＡ≦ＤＡ２と判断された場合には、ホスト側の転送コントローラ１６０の転送速度を、ＴＲ３＝γ×ＴＲ１（γ＞１）に設定する（ステップＳ１９．図４のＣ４、Ｃ５参照）。そして、ホスト側からデバイス側に転送速度設定コマンドをパケット転送し（ステップＳ１８。図６（Ｂ）参照）、その後、データをパケット転送する（ステップＳ１２）。
【０１１８】
６．変形例
図１０に、本実施形態のデータ転送制御システム及びこれを含む電子機器（狭義にはデジタルカメラなどの撮像装置）の第１の変形例を示す。
【０１１９】
図１０では、デバイスコントローラ２１０が第１のコントローラ（送信側コントローラ）として機能し、ホストコントローラ１１０が第２のコントローラ（受信側コントローラ）として機能する。また、デバイス側のメモリ２９０が第１のメモリとして機能し、ホスト側のメモリ１９０が第２のメモリとして機能する。
【０１２０】
そして、デバイスコントローラ２１０には、ＣＣＤ等の撮像素子（広義にはデバイス）が接続される。また、デバイスコントローラー２１０は、データ圧縮部２４２と撮像素子コントローラ２５２を含む。
【０１２１】
データ圧縮部２４２は、撮像素子コントローラ２５２を介して撮像素子３１０から取得された画像データをＭＰＥＧ、ＪＰＥＧ方式等により圧縮する。そして、圧縮データはメモリ２９０に蓄積される。
【０１２２】
転送コントローラ２６０は、メモリ２９０に蓄積された圧縮データを、バス２００を介して転送する。この時に、転送速度設定部２３０は、ホスト側のメモリ１９０のデータ蓄積状況に基づいて、転送速度を設定する。そして、設定された転送速度で、転送コントローラ２６０、１６０間でバス２００を介したデータ転送が行われる。そして、ホスト側の転送コントローラ１６０は、圧縮データを受信すると、その圧縮データをメモリ１９０に蓄積する。
【０１２３】
図１１に、本実施形態のデータ転送制御システム及びこれを含む電子機器の第２の変形例を示す。
【０１２４】
図１１では、ホストコントローラ１１０、デバイスコントローラ２１０間において、表示部３００に表示する画像データ（圧縮画像データ）が転送されると共に、撮像素子３１０により取得された画像データも転送される。即ち、バス２００を介して双方向で画像データが転送される。
【０１２５】
そして、表示部３００の画像データがバス２００を介して転送される場合には、ホストコントローラ１１０、デバイスコントローラ２１０は、各々、第１、第２のコントローラとして機能し、メモリ１９０、２９０は、各々、第１、第２のメモリとして機能する。
【０１２６】
一方、撮像素子３１０の画像データがバス２００を介して転送される場合には、ホストコントローラ１１０、デバイスコントローラ２１０は、各々、第２、第１のコントローラとして機能し、メモリ１９０、２９０は、各々、第２、第１のメモリとして機能する。
【０１２７】
７．詳細な構成例
図１２に、ホスト側の転送コントローラ１６０の詳細な構成例を示す。この転送コントローラ１６０は、物理層回路１６２、ＦＩＦＯ１６８、ＤＭＡＣ１７０、ＣＰＵインターフェース回路１７２、制御回路１７４、クロック生成回路１８０を含む。なお、これらの回路ブロックの一部を省略する構成としてもよい。
【０１２８】
物理層回路１６２は、バス２００を介したシリアル転送（差動信号を用いた転送）を実現するための回路であり、シリアル／パラレル変換回路１６４、パラレル／シリアル変換回路１６６を含む。
【０１２９】
例えば、受信時においては、バス２００を介して受信したシリアルデータを、シリアル／パラレル変換回路１６４がパラレルデータに変換し、ＦＩＦＯ１６８に出力する。一方、送信時においては、ＦＩＦＯ１６８からのパラレルデータを、パラレル／シリアル変換回路１６６がシリアルデータに変換し、バス２００を介して転送する。
【０１３０】
ＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）１６８は、物理層回路１６２により送受信されるデータを一時的に記憶するバッファである。このＦＩＦＯ１６８（広義にはパケットバッファ）は、ＳＲＡＭ、ＤＲＡＭ等のメモリにより実現してもよいし、Ｄフリップフロップ等により実現してもよい。
【０１３１】
ＤＭＡＣ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌｌｅｒ）１７０は、処理部１２０の処理を介在することなく、ＦＩＦＯ１６８のデータをメモリ１９０に出力したり、メモリ１９０のデータを読み込む処理を行う。
【０１３２】
ＣＰＵインターフェース回路１７２は、処理部１２０とのインターフェースとして機能する回路である。処理部１２０は、このＣＰＵインターフェース回路１７２を介して、ＦＩＦＯ１６８や制御回路１７４の制御レジスタ１７６にアクセスできる。
【０１３３】
制御回路１７４は、転送コントローラ１６０の全体的な制御や各回路ブロックの制御を行う回路であり、制御レジスタ１７６を含む。
【０１３４】
制御レジスタ１７６は、処理部１２０からのコマンドを設定したり、処理部１２０にステータスを表示（ｉｎｄｉｃａｔｅ）するためのレジスタである。
【０１３５】
クロック生成回路１８０は、転送コントローラ１６０の各回路ブロックが使用するクロックを生成する回路であり、ＰＬＬ（Ｐｈａｓｅ　Ｌｏｃｋｅｄ　Ｌｏｏｐ）回路等を内蔵する。
【０１３６】
図１２において、転送速度設定部１３０は、転送速度設定コマンドをＣＰＵインターフェース回路１７２を介して制御レジスタ１７６に書き込む。すると、クロック生成回路１８０は、制御レジスタ１７６に書き込まれた転送速度設定コマンドに基づいて、データ転送に使用するクロックの周波数を変化させる。これにより、転送コントローラ１６０は、転送速度設定コマンドで指定された転送速度でデータ転送を行うようになる。
【０１３７】
また、転送速度設定部１３０は、転送速度設定コマンドがペイロードに設定されたパケットを、ＣＰＵインターフェース回路１７２を介してＦＩＦＯ１６８に書き込む。これにより、デバイスコントローラ２１０に対して、転送速度設定コマンドをバス２００を介してパケット転送できるようになる。
【０１３８】
また、転送速度設定部１３０は、蓄積データ量（広義にはデータ蓄積状況）がペイロードに設定されたパケットを、ＣＰＵインターフェース回路１７２を介してＦＩＦＯ１６８から読み出す。これにより、デバイスコントローラ２１０から蓄積データ量を取得できるようになる。
【０１３９】
図１３に、デバイス側の転送コントローラ２６０の詳細な構成例を示す。この転送コントローラ２６０は、物理層回路２６２、ＦＩＦＯ２６８、ＤＭＡＣ２７０、ＣＰＵインターフェース回路２７２、制御回路２７４、クロック生成回路２８０を含む。なお、これらの回路ブロックの一部を省略する構成としてもよい。また、これらの回路ブロックの機能は、図１２の同じ名前の回路ブロックと同様であるため、その説明を省略する。
【０１４０】
図１３において、転送速度設定部２３０は、ＦＩＦＯ２６８に蓄積されたパケットのデータをＣＰＵインターフェース回路２７２を介して読み出すことで、ホストコントローラ１１０からの転送速度設定コマンドを取得する。そして、転送速度設定部２３０は、取得された転送速度設定コマンドを、ＣＰＵインターフェース回路２７２を介して制御レジスタ２７６に書き込む。すると、クロック生成回路２８０は、制御レジスタ２７６に書き込まれた転送速度設定コマンドに基づいて、データ転送に使用するクロックの周波数を変化させる。これにより、転送コントローラ２６０は、転送速度設定コマンドで指定された転送速度でデータ転送を行うようになる。
【０１４１】
また、メモリ管理部２３４は、図１４に示すように書き込みポインタＷＲＰ、読み出しポインタＲＤＰを管理し、各ポインタ位置に対応するアドレスを発生する。そして、メモリ２９０の読み出し処理、書き込み処理を管理する。
【０１４２】
そして、メモリ管理部２３４は、これらのポインタＷＲＰ、ＲＤＰを用いて、メモリ２９０の蓄積データ量（広義にはデータ蓄積状況）を取得する。具体的には、これらのポインタＷＲＰ、ＲＤＰの位置の差を求めることで、蓄積データ量を計算する。
【０１４３】
そして、転送速度設定部２３０は、取得された蓄積データ量がペイロードに設定されたパケットを、ＣＰＵインターフェース回路２７２を介してＦＩＦＯ２６８に書き込む。これにより、ホストコントローラ１１０に対して、蓄積データ量をバス２００を介してパケット転送できるようになる。
【０１４４】
図１５（Ａ）に、クロック生成回路１８０、２８０の構成例を示す。
【０１４５】
図１５（Ａ）のクロック生成回路（ＰＬＬ回路）は、位相比較器４００、チャージポンプ回路４０２、フィルタ回路４０４、ＶＣＯ４０６、分周器４０８を含む。なお、これらの回路ブロックの一部（例えばフィルタ回路）を省略する構成とすることもできる。
【０１４６】
ここで位相比較器４００は、基準クロックＲＣＬＫと分周器４０８からのクロックＤＣＬＫの位相を比較し、位相誤差信号ＰＵＰ、ＰＤＷを出力する（ＰＵＰは位相進み信号、ＰＤＷは位相遅れ信号）。
【０１４７】
チャージポンプ回路４０２は、位相比較器４００からのＰＵＰ、ＰＤＷに基づいてチャージポンプ動作を行う。より具体的には、ＰＵＰがアクティブになると、フィルタ回路４０４が含むコンデンサを充電する動作を行い、ＰＤＷがアクティブになると、コンデンサを放電する動作を行う。そして、フィルタ回路４０４により平滑化された制御電圧ＶＣがＶＣＯ４０６に与えられる。
【０１４８】
ＶＣＯ（Ｖｏｌｔａｇｅ　Ｃｏｎｔｒｏｌ　Ｏｓｃｉｌｌａｔｏｒ）４０６は、制御電圧ＶＣに応じてその発振周波数が可変に制御される発振動作を行い、データ転送用のクロックＣＬＫを生成する。例えば、制御電圧ＶＣが高くなるとＣＬＫの発振周波数も高くなり、制御電圧ＶＣが低くなるとＣＬＫの発振周波数も低くなる。
【０１４９】
分周器４０８は、ＶＣＯ４０６から入力されるクロックＣＬＫを分周（１／Ｎ）して、分周後のクロックＤＣＬＫを位相比較器４００に出力する。
【０１５０】
図１５（Ａ）のクロック生成回路によれば、分周比Ｎの設定により、データ転送用のクロックＣＬＫの周波数を可変に制御できる。従って、転送速度設定コマンドに基づいて分周比Ｎを設定し、その分周比Ｎで設定されたクロックＣＬＫを用いてデータ転送を行うようにすれば、転送速度設定コマンドに応じた転送速度でデータ転送を実現できるようになる。
【０１５１】
図１５（Ｂ）に、クロック生成回路の他の構成例を示す。
【０１５２】
このクロック生成回路は、高速転送用ＰＬＬ回路４１０と、中速転送用ＰＬＬ回路４１２と、低速転送用ＰＬＬ回路４１４と、セレクタ４２０を含む。
【０１５３】
ここで、高速転送用、中速転送用、低速転送用のＰＬＬ回路４１０、４１２、４１４は、各々、高速転送用、中速転送用、低速転送用のクロックＣＬＫＨ、ＣＬＫＭ、ＣＬＫＬを生成する。なお、これらのＰＬＬ回路４１０、４１２、４１４の構成としては、図１５（Ａ）に示す構成等を採用できる。
【０１５４】
セレクタ４２０は、これらのクロックＣＬＫＨ、ＣＬＫＭ、ＣＬＫＬのいずれかを選択して、データ転送用のクロックＣＬＫとして出力する。そして本実施形態では、このＣＬＫを用いてデータ転送が行われる。
【０１５５】
図１５（Ｂ）のクロック生成回路によれば、例えば、転送速度設定コマンドにより、高速の転送速度が設定された場合には、セレクタ４２０がＣＬＫＨを選択する。同様に、転送速度設定コマンドにより、中速、低速の転送速度が設定された場合には、セレクタ４２０がＣＬＫＭ、ＣＬＫＬを選択する。これにより、転送速度設定コマンドに応じた転送速度でのデータ転送を実現できる。
【０１５６】
なお、図１５（Ｂ）のクロック生成回路では、クロック周波数（発振周波数）が異なる３つのＰＬＬ回路を用いているが、クロック周波数が異なる２つのＰＬＬ回路を用いたり、クロック周波数が異なる４つ以上のＰＬＬ回路を用いてもよい。この場合のクロック周波数（発振周波数）が異なる複数のＰＬＬ回路は、図１５（Ａ）の分周器４０８の分周比Ｎを変えることで実現できる。
【０１５７】
また、ＵＳＢによるデータ転送の場合には、ＰＬＬ４１０、４１２、４１４として、ハイスピードモード（ＨＳ）用、フルスピードモード（ＦＳ）用、ロースピードモード（ＬＳ）用のＰＬＬ回路を用いることができる。
【０１５８】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１５９】
例えば、本発明のデータ転送制御システムや電子機器の構成は、図１、図１０、図１１等で説明した構成に限定されるものではなく、種々の変形実施が可能である。
【０１６０】
また、転送コントローラやクロック生成回路の構成も、図１２、図１３、図１５（Ａ）、（Ｂ）で説明した構成に限定されず、種々の変形実施が可能である。
【０１６１】
また、本発明の転送速度の設定手法も、図３、図４、図５、図８、図９等で説明した手法に限定されるものではない。
【０１６２】
また、本発明のデータ転送制御システムを適用できる電子機器も、本実施形態で説明した表示装置、撮像装置に限定されない。例えば、液晶パネル以外のパネル（有機ＥＬパネル等）を用いた表示装置でもよい。また、ＣＣＤ以外の撮像素子を用いた撮像装置でもよい。また、表示装置、撮像装置以外の電子機器にも本発明は適用できる。
【０１６３】
また、明細書中の記載において広義な用語（第１のコントローラ、第２のコントローラ、第１のメモリ、第２のメモリ、データ蓄積状況、パケットバッファ、デバイス等）として引用された用語（ホストコントローラ、デバイスコントローラ、ホスト側のメモリ、デイバス側のメモリ、蓄積データ量、ＦＩＦＯ、表示部・撮像素子等）は、明細書中の他の記載においても広義な用語に置き換えることができる。
【０１６４】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【図１】本実施形態のデータ転送制御システム、電子機器の構成例を示す図である。
【図２】図２（Ａ）、（Ｂ）は、転送速度と蓄積データ量の関係を示す図である。
【図３】転送速度の設定手法について説明するための図である。
【図４】転送速度の設定手法について説明するための図である。
【図５】画像データ量特定情報に基づき転送速度を設定する手法について説明するための図である。
【図６】図６（Ａ）、（Ｂ）は、データ蓄積状況や転送速度設定コマンドをコントロール転送を用いて転送する手法について説明するための図である。
【図７】データ蓄積状況をインタラプト転送を用いて転送する手法について説明するための図である。
【図８】データ転送制御システムの動作について説明するためのフローチャートである。
【図９】データ転送制御システムの動作について説明するためのフローチャートである。
【図１０】データ転送制御システム、電子機器の第１の変形例を示す図である。
【図１１】データ転送制御システム、電子機器の第２の変形例を示す図である。
【図１２】ホスト側の転送コントローラの構成例を示す図である。
【図１３】デバイス側の転送コントローラの構成例を示す図である。
【図１４】蓄積データ量の取得手法について説明するための図である。
【図１５】図１５（Ａ）、（Ｂ）は、クロック生成回路の構成例を示す図である。
【符号の説明】
１１０　ホストコントローラ（第１のコントローラ）
１２０　処理部
１３０　速度設定部
１３２　解析部
１３４　メモリ管理部
１６０　転送コントローラ
１６２　物理層回路
１６４　シリアル／パラレル変換回路
１６６　パラレル／シリアル変換回路
１６８　ＦＩＦＯ（パケットバッファ）
１７０　ＤＭＡＣ
１７２　ＣＰＵインターフェース回路
１７４　制御回路
１７６　制御レジスタ
１８０　クロック生成回路
１９０　メモリ（第１のメモリ）
２００　バス
２１０　デバイスコントローラ（第２のコントローラ）
２２０　処理部
２３０　速度設定部
２３４　メモリ管理部
２４０　データ伸長部
２４２　データ圧縮部
２５０　表示コントローラ
２５２　撮像素子コントローラ
２６０　転送コントローラ
２６２　物理層回路
２６４　シリアル／パラレル変換回路
２６６　パラレル／シリアル変換回路
２６８　ＦＩＦＯ（パケットバッファ）
２７０　ＤＭＡＣ
２７２　ＣＰＵインターフェース回路
２７４　制御回路
２７６　制御レジスタ
２８０　クロック生成回路
２９０　メモリ（第１のメモリ）
３００　表示部（デバイス）
３０２　表示パネル
３０４　表示ドライバ
３１０　撮像素子（デバイス）
【図１】
2004012871.tif 000003
【図２】
2004012871.tif 000004
【図３】
2004012871.tif 000005
【図４】
2004012871.tif 000006
【図５】
2004012871.tif 000007
【図６】
2004012871.tif 000008
【図７】
2004012871.tif 000009
【図８】
2004012871.tif 000010
【図９】
2004012871.tif 000011
【図１０】
2004012871.tif 000012
【図１１】
2004012871.tif 000013
【図１２】
2004012871.tif 000014
【図１３】
2004012871.tif 000015
【図１４】
2004012871.tif 000016
【図１５】
2004012871.tif 000017