JP2015023417A - 通信装置、撮像装置およびそれらの制御方法、並びにプログラム - Google Patents

通信装置、撮像装置およびそれらの制御方法、並びにプログラム Download PDF

Info

Publication number
JP2015023417A
JP2015023417A JP2013149934A JP2013149934A JP2015023417A JP 2015023417 A JP2015023417 A JP 2015023417A JP 2013149934 A JP2013149934 A JP 2013149934A JP 2013149934 A JP2013149934 A JP 2013149934A JP 2015023417 A JP2015023417 A JP 2015023417A
Authority
JP
Japan
Prior art keywords
segment
list
request
information
communication device
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
JP2013149934A
Other languages
English (en)
Other versions
JP2015023417A5 (ja
JP6257197B2 (ja
Inventor
麻由 横井
Mayu Yokoi
麻由 横井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013149934A priority Critical patent/JP6257197B2/ja
Priority to US14/328,019 priority patent/US9277261B2/en
Publication of JP2015023417A publication Critical patent/JP2015023417A/ja
Publication of JP2015023417A5 publication Critical patent/JP2015023417A5/ja
Application granted granted Critical
Publication of JP6257197B2 publication Critical patent/JP6257197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8211Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

【課題】ストリーミングでの視聴において、遅延を適切に緩和する技術を実現する。
【解決手段】撮像装置と通信可能な通信装置であって、前記撮像装置により得られた映像データを所定の時間長のセグメントに分割し、分割したセグメントの情報を記述したリストの要求を前記撮像装置に送信する第1の送信手段と、前記撮像装置から、前記要求したリストを受信する第1の受信手段と、前記撮像装置から受信したリストに記述されたセグメントの要求を前記撮像装置に送信する第2の送信手段と、前記要求に応じて前記撮像装置から送信されたセグメントを受信する第2の受信手段と、を有し、前記第1の送信手段は、所定の時間ごとにリストを要求すると共に、前記リストに記述されたセグメントの情報のうち、最も古いセグメントの情報に該当するセグメントの要求を送信し、前記第2の送信手段は、前記リストに記述されたセグメントの数が第1の数を超えた場合には最も古いセグメントより所定の数だけ新しい所定のセグメントの要求を送信する。
【選択図】図3

Description

本発明はネットワークを介した二つの機器間におけるデータ伝送に関するものである。
従来より、ストリーミングの技術として、従来ファイル転送などに用いられていたHTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)プロトコルを利用して、ストリーミングデータの転送を行う方法がある。この方法でストリーミングを行うと、ネットワーク状況により輻輳遅延が発生する。これに対して、クライアントのバッファに蓄積されている動画パケットの通常再生時間をフレーム数及びフレームレートに基づいて計算すると共にバッファ内合計再生時間を算出し、時間の大小に応じて動画再生速度を決定する技術がある(特許文献1)。また、特許文献2には、端末からの遠隔操作時に、遅延を短縮するため、端末側のバッファ内のデータを全て削除することが記載されている。
特開2011−244097号公報 特開平10−164537号公報
しかしながら、上記特許文献1では、ネットワーク状況の悪化などによりデータ転送がされ難い場合には再生時間を長くするものの、いずれクライアント側のバッファがオーバーフローしてしまう。また、従来の特許文献2では、サーバ側のバッファデータを全て削除することで遅延時間を短縮し操作性を向上させているが、クライアント側のバッファに蓄積されていた大量のデータを全てを削除してしまうため、長い時間の連続した映像が削除されてしまう。
本発明は、上記課題に鑑みてなされ、その目的は、ストリーミングでの視聴において、遅延を適切に緩和する技術を実現することである。
上記課題を解決し、目的を達成するため、本発明の通信装置は、撮像装置と通信可能な通信装置であって、前記撮像装置により得られた映像データを所定の時間長のセグメントに分割し、分割したセグメントの情報を記述したリストの要求を前記撮像装置に送信する第1の送信手段と、前記撮像装置から、前記要求したリストを受信する第1の受信手段と、前記撮像装置から受信したリストに記述されたセグメントの要求を前記撮像装置に送信する第2の送信手段と、前記要求に応じて前記撮像装置から送信されたセグメントを受信する第2の受信手段と、を有し、前記第1の送信手段は、所定の時間ごとにリストを要求すると共に、前記リストに記述されたセグメントの情報のうち、最も古いセグメントの情報に該当するセグメントの要求を送信し、前記第2の送信手段は、前記リストに記述されたセグメントの数が第1の数を超えた場合には最も古いセグメントより所定の数だけ新しい所定のセグメントの要求を送信する。
本発明によれば、ストリーミングでの視聴において、遅延を適切に緩和することが可能となる。
本発明に係る実施形態の撮像装置の構成を例示するブロック図。 本発明に係る実施形態の通信装置の構成を例示するブロック図。 本実施形態のシステムによるライブストリーミング動作を説明する図。 本実施形態のプレイリストを例示する図。 本実施形態の輻輳時を含んだプレイリストを例示する図。 本実施形態の撮像装置の動作を示すフローチャート。 本実施形態の通信装置の動作を示すフローチャート。 本実施形態の通信装置におけるライブストリーミング画面を例示する図。
以下に、添付図面を参照して本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
以下、本発明を、サーバとしての撮像装置1000と、クライアントとしての通信装置2000とを通信可能に接続したシステムを例に説明する。この例では、撮像装置1000で撮影された映像をリアルタイムに順次送信することで、通信装置2000でライブストリーミングにより映像が視聴可能となる。本実施形態では、撮像装置1000をデジタルビデオカメラ、通信装置2000をスマートフォンなどの通信端末に適用した例を説明するが、本発明は、これに限られない。例えば、本発明は、撮像装置として、カメラ付き携帯電話や携帯型のメディアプレーヤ、いわゆるタブレット端末など、通信装置として、パーソナルコンピュータなどの情報処理装置や携帯電話、タブレットデバイス端末、テレビなどにも適用できる。
<撮像装置の構成>図1を参照して、本発明に係る実施形態の撮像装置の構成及び機能の概略について説明する。
図1に示す撮像装置(以下、カメラ)1000において、内部バス1010に対してCPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003、入力処理部1004、出力処理部1006、通信制御部1008、記録媒体制御部1011、カメラ信号処理部1015、符号・復号処理部1016が接続される。内部バス1010に接続される各部は、内部バス1010を介して互いにデータのやりとりを行える。
ROM1002は、CPU1001が動作するための各種プログラムや設定データが格納される。また、フラッシュメモリなども含まれる。RAM1003は、CPU1001が動作時に必要とするプログラムや変数、作業用の一時データなどが適宜記憶される。
CPU1001は、ROM1002または記録媒体1012に格納されるプログラムに従い、RAM1003をワークメモリとして用いて、このカメラ1000の各部を制御する。
光学系1013は、フォーカス、絞り機構などを含む撮影レンズであり、被写体の光学像を形成する。撮像素子1014は、CCDやCMOS素子等で構成され、ここではA/D変換器を含み、光学像をアナログ電気信号に変換した後、デジタル信号に変換する。
カメラ信号処理部1015は、CPU1001の制御に基づき、撮像素子1014で変換されたデジタル信号に対し、所定の画素補間・縮小といったリサイズ処理や色変換、各種補正処理等を行う。
符号・復号処理部1016は、CPU1001の制御に基づき、カメラ信号処理部1015で処理されたデジタル信号を所定のビットレート、フォーマット形式で圧縮符号化、または映像圧縮符号化データの復号を行う。
なお、音声についてはとくに図示していないが、音声付き映像を配信する場合には、マイクロホン、音声のアナログ信号をデジタル化するA/D変換器、デジタルデータを符号化する構成を持つことになる。当然、映像記録時には映像と共に音声も同時に収録され、符号・復号処理部1016で映像と音声を多重化することで、音声付映像データを生成することになる。
入力処理部1004は、操作部1005でのユーザ操作を受け付け、操作に応じた制御信号を生成し、CPU1001に供給する。例えば、操作部1005は、ユーザ操作を受け付ける入力デバイスとして、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイスなどを有する。また、赤外線リモコンなどの遠隔操作可能なものも含む。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。これにより、カメラ1000に対し、ユーザ操作に応じた動作を行わせることができる。
出力処理部1006は、CPU1001がプログラムに従い生成したGUI(Graphical User Interface)などの表示データに基づき、表示部1007に対して表示させるための表示信号を出力する。
なお、操作部1005としてタッチパネルを用いる場合、操作部1005と表示部1007とを一体的に構成することができる。例えば、タッチパネルを光の透過率が表示部1007の表示を妨げないように構成し、表示部1007の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、表示部1007上の表示座標とを対応付ける。これにより、あたかもユーザが表示部1007上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。
記録媒体制御部1011は、HDDや不揮発性の半導体メモリなどの記録媒体1012が接続され、CPU1001の制御に基づき、接続された記録媒体1012からのデータの読み出しや、当該記録媒体1012に対するデータの書き込みを行う。なお、記録媒体制御部1011が接続可能な記録媒体1012は、不図示のソケットなどを介して、例えばメモリカードなどの着脱可能な不揮発性の半導体メモリを接続するものとしても良い。
記録媒体1012は、撮影した映像データのほか、CPU1001の制御に必要な情報も記録することが可能である。
通信制御部1008は、CPU1001の制御に基づき、コネクタ(有線)/アンテナ(無線)1009を介して、通信装置2000その他の外部装置との通信を行う。通信方法としては、無線のIEEE802.11やBluetooth(登録商標)、有線のIEEE802.3などを用いることが可能である。
なお、ハードウェアの構成は図1に示すものに限定されず、例えば1つのハードウェアが表示制御、通信制御、記録制御、画像処理制御などを行い、カメラ1000の各手段として機能してもよい。また、複数のハードウェアが協働して1つの手段として機能してもよい。
<通信装置の構成>次に、図2を参照して、本発明に係る実施形態の通信装置の構成及び機能の概略について説明する。
図2に示す通信装置(以下、端末)2000において、多くの部分はカメラ1000と同様となるため、カメラ1000と説明が重複するCPU2001〜記録媒体2012までの説明は省略する。符号・復号処理部2013は、CPU2001の制御に基づき、映像圧縮符号化データの復号、および必要に応じて復号したデータの再符号化を行う。
<ライブストリーミング動作の説明>次に、本実施形態のシステムによるプレイリストを利用したライブストリーミング動作について説明する。
まず、本実施形態のシステムにおけるプレイリストを用いたストリーミングの基本動作について説明する。
1.カメラ(サーバ)は、ストリーミングデータを一定時間のセグメントに分割し、そのセグメント取得先を列挙したプレイリストを作成する。ライブストリーミングの場合には、リアルタイムにコンテンツが生成されることに応じて定期的にセグメントが生成される。このため、ライブストリーミングの場合には、新しいセグメントが生成されると、動的に新しい内容のプレイリストに更新(削除、追記)するスライドウインドウ型プレイリストを用いる。
2.端末(クライアント)は、プレイリストを取得・解析し、列挙順にセグメントデータ取得先からデータ取得を行う。
3.端末(クライアント)は、取得したデータの再生表示、または保存を行う。
4.カメラ(サーバ)と端末(クライアント)は、プレイリスト終了(ストリーミング終了)まで、1〜3を繰り返す。
上記基本動作を踏まえ、図1ないし図3、図8を参照して、本実施形態のシステムによるプレイリストを利用したライブストリーミング動作について説明する。
ユーザがカメラ1000において、操作部1005からライブストリーミングモードを実行すると、カメラ1000は、CPU1001の制御により、通信制御部1008を通信可能状態とする。
さらにユーザは端末2000において、操作部2005を操作して通信接続処理およびライブストリーミングに必要なアプリケーションの起動を行う。これに応じて、端末2000のCPU2001は、ROM2002または記録媒体2012に格納された当該プログラムに従い、通信制御部2008を制御し、カメラ1000との通信を開始し、接続処理を行う。
ここで、カメラ1000と端末2000は、通信プロトコルとしてHTTP(Hypertext Transfer Protocol)/TCP(Transmission Control Protocol)を使用するものとする。また、通信接続においてUPnP(Universal Plug and Play)に対応しているものとする。UPnP対応の端末2000は、機器をネットワークに接続すると、DHCP(Dynamic Host Configuration Protocol)または、AutoIPによるIP(Internet Protocol)アドレスの設定を行う。IPアドレスを取得した機器は、ネットワーク上の他の機器を相互に認識するために、「デバイスディスカバリとコントロール」によって、デバイス検索と応答デバイスの種別、サービス機能などの情報取得を行う(ステップ3003)。カメラ1000は、端末2000のデバイス検索要求に対して、機器情報と機器固有情報のプレイリスト取得先情報などを応答する(ステップ3004)。
カメラ1000と端末2000の接続処理が完了すると、カメラ1000はライブストリーミングを開始する。
図8は、端末2000における、ライブストリーミングにおけるアプリケーション画面例であり、操作部2005、表示部2007が一体化された例を示している。ライブストリーミングデータは、表示エリア8001に表示され、カメラ1000のステータスはズーム位置情報8002、記録状態8003、バッテリー情報8004などを表示している。また、操作手段としてズーム指示8005、カメラREC8006、端末REC8007などを備えている。
ライブストリーミングにおいて、カメラ1000のCPU1001は、撮像素子1014からの信号出力を開始し、その出力をカメラ信号処理部1015により適切な映像データに処理し、符号・復号処理部1016へデータを送出する。
図3の説明に戻り、符号・復号処理部1016では、受け取った映像データ等を所定のビットレート、フォーマット形式で圧縮符号化し、さらに所定の時間長Tsで分割し、セグメントデータ(3002)としてRAM1003または記録媒体1012に保存する。なお、本実施形態ではTs=0.5秒として、以下説明する。
CPU1001は、上記セグメントデータの保存先と関連させたパス情報を生成する。パス情報は、端末2000がセグメントを取得する際の取得先情報として使用するもので、CPU1001は、プレイリスト3001を作成し、上記パス情報と併せてセグメント情報を記録する。
ここで、図4を参照して、プレイリスト3001について説明する。
図4に示すプレイリスト4010は、Extended M3U形式のプレイリストであり、最初の行4011に識別子タグを記述し、2行目4012にはプレイリストバージョンを示すタグとバージョンを記述する。本例ではバージョンを“3”としている。3行目4013はセグメントデータ3002の時間を示すタグとその時間(秒)を整数または小数で記述する。本実施形態では、セグメントデータ時間長をTs=0.5(秒)としていることから、本例でも“0.5”としている。4行目4014はセグメントデータ3002の取得先パス(クエリパラメータを含む)を記述する。3行目4013および4行目4014はセグメントデータ3002に関する情報として、必ず続けて記述する必要がある。
また、プレイリスト4010は、セグメント情報4013、4014を記録した図3のプレイリスト3001の内容例となる。
端末2000は、セグメントデータ3002の所定の時間長Tsを事前に記憶しているか、カメラ1000の機器情報に含めることで機器情報取得時に得ることができているものとする。
端末2000は、ライブストリーミング開始後、約Ts(秒)後にステップ3004で取得したプレイリスト取得先へ、プレイリスト取得要求(HTTP GETメソッド)を行う(ステップ3005)。
カメラ1000は、応答プレイリストとして、セグメント情報4013、4014が一つ記述されたプレイリスト3001(=4010)を送信する(ステップS3006)。
端末2000は、受信したプレイリスト4010を解析し、セグメント情報の取得先に対して、セグメント取得要求(HTTP GETメソッド)を行う(ステップ3007)。
カメラ1000は、応答セグメントとして、要求されたセグメント3002を送信する(ステップ3008)。
端末2000は、受信したセグメント3002を符号・復号処理部2013に渡し、復号した後、出力処理部2006を介して、表示部2007で再生表示を行う。また、ライブストリーミングアプリケーションにより、ユーザから端末REC8007への指示入力があると、復号したデータ、またはセグメント3002からヘッダなどを除いたデータ部を、記録媒体2012に記録する。そして、さらに順次受信するセグメントデータについても受信済みのデータを結合し記録していく。
ストリーミング中、カメラ1000は、約Ts(秒)毎にセグメント生成、プレイリスト更新を行う。また、端末2000に取得されたセグメント情報はプレイリストから削除する。
端末2000は、カメラ1000にてプレイリストの更新を行う度、その約Ts(秒)毎にそのプレイリスト取得(ステップ3005)を行い、プレイリスト3001に記載されたセグメント情報に基づき、当該セグメントデータを取得要求する。
通信状況が良好である場合、上記プレイリスト取得(ステップ3005)から応答セグメント(ステップ3008)までの一連の処理が定期的に行われることになる。しかし、実際には、輻輳などにより通信が定期的に行えなくなることがある。図5は、輻輳時のプレイリストの送受信の例を示しているが、輻輳時には、プレイリスト5020、5030、5040とセグメント情報が追記されていく。
なお、端末2000の要求処理(ステップ3005、3007)には端末、またはアプリケーションの固有のIDを付加する。そして、本実施形態のカメラ1000は、最初に要求のあったIDの要求のみに対してストリーミングを行う。つまり、本実施形態のカメラ1000と端末2000は1対1接続でのみストリーミングを行うものとする。
<システムの動作説明>次に、図6および図7を参照して、本実施形態のシステムを構成するカメラ1000および端末2000の動作について説明する。
まず、図6を参照して、カメラ1000が端末2000と接続確立後、カメラ1000が実行する処理を説明する。なお、以下の処理はカメラ1000のCPU1001が各種プログラムや入力信号に基づきカメラ1000の各部を制御することで実現する。
ステップS6001では、ライブストリーミング開始に伴う、セグメントデータ生成の開始処理を行う。CPU1001は、撮像素子1014からの信号出力を開始し、その出力をカメラ信号処理部1015により適切な映像データに処理し、符号・復号処理部1016へデータを渡す。符号・復号処理部1016では、受け取った映像データを所定のビットレート、フォーマット形式で圧縮符号化し、さらに所定の時間長Ts(本実施形態では0.5秒とする)で分割する処理を開始する。
ステップS6002では、一つのセグメント(0.5秒)生成が完了したか否かの判定を行う。0.5秒で分割されたデータが、RAM1003または記録媒体1012に一時的に保存されたことを確認し、完了していた場合にはステップS6003へ進み、完了していない場合にはステップS6005へ進む。なお、本ステップは問い合わせ(ポーリング)による判定で説明したが、分割したセグメントデータを書き込んだことを検出して割り込み通知を行う等の方法によって、生成完了を判定することも可能である。また、セグメントデータを保存する際に、RAM1003または記録媒体1012に空き領域がない場合、最も古いセグメントを無効化し、上記セグメントデータの保存領域にデータを上書きし保存する。
ステップS6003では、セグメント情報の生成を行う。生成されたセグメントデータの時間長と、当該セグメントデータを特定できる保存先アドレス、またはファイル名などに関連付けたパス情報を生成する。ここで、本実施形態の説明では、セグメントの時間長は0.5秒固定となる。なお、ステップS6002で、最古セグメントを無効化した場合には、当該セグメントに該当するセグメント情報も削除する。
ステップS6004では、ステップS6003で生成したセグメント情報をプレイリストに追記する。例えば図5に示すプレイリスト5011はプレイリスト5020となり、プレイリスト5030はプレイリスト5040となる。
ステップS6005では、端末2000からのプレイリスト取得要求(ステップ3005)の有無の判定を行う。プレイリスト取得要求があった場合にはステップS6006へ進み、なかった場合にはステップS6007へ進む。
ステップS6006では、プレイリスト取得要求(ステップ3005)に対する応答として、プレイリストの送信を行う(ステップ3006)。
ステップS6007では、端末2000からのセグメント取得要求(ステップ3007)の有無の判定を行う。セグメント取得要求があった場合にはステップS6008へ進み、なかった場合にはステップS6009へ進む。
ステップS6008では、セグメント取得要求(ステップ3007)に対する応答として、該当するセグメント送信(ステップ3008)を行う。その後、当該送信済みとなったセグメントを削除するとともに、当該セグメントに関する情報をプレイリストから削除し、ステップS6009へ進む。例えば図5に示すプレイリスト5010はプレイリスト5011となる。
ステップS6009では、端末2000からのステップS6008で送信したセグメントより古いセグメントの削除要求の有無の判定を行う。削除要求があった場合にはステップS6010へ進み、なかった場合にはステップS6011へ進む。
ステップS6010では、削除要求のあったセグメントを削除するとと共に、当該セグメントに関する情報をプレイリストから削除する。例えば図5に示すプレイリスト5040はプレイリスト5050となる。
ステップS6011では、処理を終了するか否かの判定を行い、終了する場合以外はステップS6002へ戻る。
なお、本フローでの各イベント判定ステップS6002、S6005、S6007、S6009は、順に問い合わせによる判定で説明したが、各条件のイベント待ちを同時に行う場合には、イベント発生順に各処理を実行しても良い。
次に、図7を参照して、端末2000がカメラ1000と接続確立後、PC2000が実行する処理を説明する。なお、以下の処理はPC2000のCPU2001が各種プログラムや入力信号に基づきPC2000の各部を制御することで実現する。
ステップS7001では、後述するステップで使用する、セグメント情報の数(第1の数)Nを設定する。この数の意味については後に詳述する。本実施形態では、N=3として説明する。なお、Nは、ユーザが操作部2005を介して任意に設定可能である。
ステップS7002では、接続時に取得した機器・プレイリスト取得先情報(ステップ3004)から、プレイリスト取得先情報を取得し、保持する。
ステップS7003では、所定時間経過したか否かの判定を行う。所定時間が経過した場合にはステップS7004へ進み、経過していない場合には再度ステップS7003を繰り返す。ここで所定時間とは、カメラ1000が生成する所定の時間長Tsと同等の値にすることが望ましい。
ステップS7004では、ステップS7001で取得したプレイリスト取得先情報を用いて、プレイリストの取得要求(ステップ3005)を行い、カメラ1000から取得したプレイリストの解析を行う。プレイリストの解析では、識別タグによるプレイリスト形式とバージョンの確認を行った後、セグメント情報を取得する。
ステップS7005では、ステップS7004でセグメント情報が存在したか否かの判定を行う。セグメント情報が存在した場合にはステップS7006に進み、存在しない場合にはステップS7004へ戻る。
ステップS7006では、ステップS7004で取得したプレイリストに記述されているセグメント情報の数がN−1以下か、つまりNを超えていないか否かを判定する。本実施形態では、N=3であるので、セグメント情報の数が1つか2つの場合にはステップS7007へ進み、3つ以上の場合にはステップS7008へ進む。
ステップS7007では、セグメント情報の取得先パスに対してセグメントの取得要求(ステップ3007)を行い、カメラ1000からセグメントを取得する。ここで、取得したセグメント情報が1つならば、そのセグメントを最古セグメントとする。また、取得したセグメント情報が複数ならば最も古いセグメントを最古セグメントとする。取得したセグメントは、RAM2003または記録媒体2012に記録した後、符号・復号処理部2013に渡され、復号した後、出力処理部2006を介して、表示部2007で再生表示(映像表示)を行う。ただし、取得したセグメントが取得済みのセグメントの中で最新のセグメントではない場合には、再生には使用しない。また、ライブストリーミングアプリケーションにより端末REC8007が実行されている場合、本フローとは別の処理により、復号したデータ、またはセグメントからヘッダなどを除いたデータ部を、記録媒体2012に保存する。ここで、受信したセグメントデータを元の順に結合することにより、再生とは別に途切れの少ないデータに復元することが可能となる。
ステップS7008では、ステップS7004で取得したプレイリストに記述されているセグメント情報の数がM×N−1以下か、つまりM×N(第2の数)を超えていないか否かを判定する。ここで、Mは倍率を示すものであり、ユーザが操作部2005を介して任意に設定可能である。本実施形態では、N=3、M=2であるので、セグメント情報が3つ〜5つの場合にはステップS7009へ進み、セグメント情報が6つ以上ある場合にはステップS7010へ進む。
ステップS7009では、セグメント情報の取得先パスに対してセグメントの取得要求(ステップ3007)を行い、カメラ1000からセグメントを取得する。なお、取得要求(ステップ3007)を行うセグメントは、N番目に古いセグメントとする。本ステップにより、輻輳遅延が発生しても、緩やかに遅延を短縮することが可能となる。取得したセグメントは、RAM2003または記録媒体2012に記録した後、符号・復号処理部2013に渡され、復号した後、出力処理部2006を介して、表示部2007で再生表示(映像表示)を行う。ただし、取得したセグメントが取得済みのセグメントの中で最新のセグメントではない場合には、再生には使用しない。また、ライブストリーミングアプリケーションにより端末REC8007が実行されている場合、本フローとは別の処理により、復号したデータ、またはセグメントからヘッダなどを除いたデータ部を、記録媒体2012に保存する。ここで、受信したセグメントデータを元の順に結合することにより、再生とは別に途切れの少ないデータに復元することが可能となる。
ステップS7010では、セグメント情報の取得先パスに対してセグメントの取得要求(ステップ3007)を行い、カメラ1000からセグメントを取得する。なお、取得要求(ステップ3007)を行うセグメントは、M×N番目に古いセグメントとする。本ステップにより、輻輳により遅延が大幅に増加しても、緩やかにかつ早めに遅延を短縮することが可能となる。取得したセグメントは、RAM2003または記録媒体2012に記録した後、符号・復号処理部2013に渡され、復号した後、出力処理部2006を介して、表示部2007で再生表示を行う。また、ライブストリーミングアプリケーションにより端末REC8007が実行されている場合、本フローとは別の処理により、復号したデータ、またはセグメントからヘッダなどを除いたデータ部を、記録媒体2012に保存する。
ステップS7011では、ライブストリーミングアプリケーションにより端末REC8007が実行されているか否かを判定する。実行されている場合にはステップS7013へ進み、実行されていない場合にはステップS7012へ進む。
ステップS7012では、取得したセグメントより古いセグメントの削除要求の送信を行う。ライブストリーミングアプリケーションにより端末REC8007が実行されていない場合には、取得したセグメントより古いセグメントは必要ないからである。なお、ここでは削除要求の送信を独立したステップS7012としたが、ステップS7007、S7009、S7010にステップS7011、S7012を含めることも可能である。つまり、ステップS7007、S7009、S7010のセグメント取得要求において、ステップS7011の判定を行い、削除要求を行うと判定した場合には、セグメント取得要求のクエリパラメータに削除要求を意味するパラメータを付加することによって同様の処理を実現可能である。
ステップS7013では、所定時間経過したか否かの判定を行う。所定時間が経過した場合にはステップS7014へ進み、経過していない場合にはステップS7005へ戻る。所定時間が経過していない場合には、ステップS7005へ戻ることで、プレイリストに未だセグメント情報が存在する場合、セグメントを再度取得することが可能となり、取得したセグメントデータを元の順に結合することにより、再生とは別に途切れの少ないデータに復元することが可能となる。なお、ステップS7010を実行した場合は、強制的にステップS7005へ戻るようにしてもよい。
ステップS7014では、処理を終了するか否かの判定を行い、終了する場合以外はステップS7004へ戻る。
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (14)

  1. 撮像装置と通信可能な通信装置であって、
    前記撮像装置により得られた映像データを所定の時間長のセグメントに分割し、分割したセグメントの情報を記述したリストの要求を前記撮像装置に送信する第1の送信手段と、
    前記撮像装置から、前記要求したリストを受信する第1の受信手段と、
    前記撮像装置から受信したリストに記述されたセグメントの要求を前記撮像装置に送信する第2の送信手段と、
    前記要求に応じて前記撮像装置から送信されたセグメントを受信する第2の受信手段と、を有し、
    前記第1の送信手段は、所定の時間ごとにリストを要求すると共に、前記リストに記述されたセグメントの情報のうち、最も古いセグメントの情報に該当するセグメントの要求を送信し、
    前記第2の送信手段は、前記リストに記述されたセグメントの数が第1の数を超えた場合には最も古いセグメントより所定の数だけ新しい所定のセグメントの要求を送信することを特徴とする通信装置。
  2. 前記第1の送信手段は、前記リストに記述されたセグメントの数が前記第1の数を超えていない場合、前記最も古いセグメントの要求を送信することを特徴とする請求項1に記載の通信装置。
  3. 前記第2の送信手段は、前記リストに記述されたセグメントの数が前記第1の数を超えた場合、当該第1の数に所定の倍率をかけた第2の数を超えたか判定する判定手段を有し、
    前記第2の送信手段は、前記リストに記述されたセグメントの数が前記第2の数を超えていない場合には、前記第1の数だけ新しいセグメントの要求を送信し、前記第2の数を超えた場合には、前記第2の数だけ新しいセグメントの要求を送信することを特徴とする請求項1または2に記載の通信装置。
  4. 前記第2の受信手段により受信したセグメントを記録する記録手段をさらに有し、
    前記第2の送信手段は、前記第2の受信手段により受信したセグメントを記録している間は、前記セグメントの要求を前記所定の時間ごとに送信することを特徴とする請求項3に記載の通信装置。
  5. 前記撮像装置に対して、前記第2の送信手段により送信されたセグメントより古いセグメントの情報を前記リストから削除する指示を行う指示手段をさらに有し、
    前記第2の送信手段は、前記第2の受信手段により受信したセグメントを記録している間は、前記削除の指示を前記撮像装置に送信しないことを特徴とする請求項4に記載の通信装置。
  6. 前記第1の数および前記第2の数を設定する設定手段をさらに有することを特徴とする請求項3に記載の通信装置。
  7. 前記撮像装置に対して、前記第2の送信手段により送信されたセグメントより古いセグメントの情報を前記リストから削除する指示を行う指示手段をさらに有し、
    前記第2の送信手段は、前記第2の受信手段により受信したセグメントを記録している間は、前記削除の指示を前記撮像装置に送信しないことを特徴とする請求項1ないし6のいずれか1項に記載の通信装置。
  8. 通信装置と通信可能な撮像装置であって、
    撮像手段と、
    前記撮像手段により得られた映像データを所定の時間長のセグメントに分割して保持する保持手段と、
    前記保持手段に保持されたセグメントの情報を記述したリストを作成する作成手段と、
    前記通信装置から、リストの要求を受信する第1の受信手段と、
    前記通信装置から要求された前記リストを前記通信装置に送信する第1の送信手段と、
    前記通信装置から前記リストに記述されたセグメントの要求を受信する第2の受信手段と、
    前記通信装置から要求されたセグメントを前記通信装置に送信する第2の送信手段とを備え、
    前記作成手段は、セグメントを得るたびに、得られたセグメントの情報を前記リストに追記し、
    前記第2の送信手段によりセグメントを送信した場合、前記送信したセグメントの情報よりも古いセグメントの情報を削除することを特徴とする撮像装置。
  9. 前記作成手段は、前記通信装置から受信した削除要求に応じて、前記第2の送信手段により送信されたセグメントの情報を前記リストから削除することを特徴とする請求項8に記載の撮像装置。
  10. 前記作成手段は、前記第2の送信手段により送信されたセグメントを前記通信装置で記録している間は、前記第2の送信手段により送信したセグメントの情報の削除を行わないことを特徴とする請求項8または9に記載の撮像装置。
  11. 撮像装置と通信可能な通信装置の制御方法であって、
    前記撮像装置により得られた映像データを所定の時間長のセグメントに分割し、分割したセグメントの情報を記述したリストの要求を前記撮像装置に送信する第1の送信ステップと、
    前記撮像装置から、前記要求したリストを受信する第1の受信ステップと、
    前記撮像装置から受信したリストに記述されたセグメントの要求を前記撮像装置に送信する第2の送信ステップと、
    前記要求に応じて前記撮像装置から送信されたセグメントを受信する第2の受信ステップと、を有し、
    前記第1の送信ステップでは、所定の時間ごとにリストを要求すると共に、前記リストに記述されたセグメントの情報のうち、最も古いセグメントの情報に該当するセグメントの要求を送信し、
    前記第2の送信ステップでは、前記リストに記述されたセグメントの数が第1の数を超えた場合には最も古いセグメントより所定の数だけ新しい所定のセグメントの要求を送信することを特徴とする通信装置の制御方法。
  12. 通信装置と通信可能な撮像装置の制御方法であって、
    撮像手段により得られた映像データを所定の時間長のセグメントに分割し、分割したセグメントの情報を記述したリストを作成する作成ステップと、
    前記通信装置から、リストの要求を受信する第1の受信ステップと、
    前記通信装置から要求された前記リストを前記通信装置に送信する第1の送信ステップと、
    前記通信装置から前記リストに記述されたセグメントの要求を受信する第2の受信ステップと、
    前記通信装置から要求されたセグメントを前記通信装置に送信する第2の送信ステップとを備え、
    前記作成ステップでは、セグメントを得るたびに、得られたセグメントの情報を前記リストに追記し、
    前記第2の送信ステップによりセグメントを送信した場合、前記送信したセグメントの情報よりも古いセグメントの情報を削除することを特徴とする撮像装置の制御方法。
  13. コンピュータを、請求項1ないし7のいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。
  14. コンピュータを、請求項8ないし10のいずれか1項に記載の撮像装置の各手段として機能させるためのプログラム。
JP2013149934A 2013-07-18 2013-07-18 情報処理装置及びその制御方法、プログラム、並びに記憶媒体 Active JP6257197B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013149934A JP6257197B2 (ja) 2013-07-18 2013-07-18 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
US14/328,019 US9277261B2 (en) 2013-07-18 2014-07-10 Information processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013149934A JP6257197B2 (ja) 2013-07-18 2013-07-18 情報処理装置及びその制御方法、プログラム、並びに記憶媒体

Publications (3)

Publication Number Publication Date
JP2015023417A true JP2015023417A (ja) 2015-02-02
JP2015023417A5 JP2015023417A5 (ja) 2016-09-01
JP6257197B2 JP6257197B2 (ja) 2018-01-10

Family

ID=52343290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013149934A Active JP6257197B2 (ja) 2013-07-18 2013-07-18 情報処理装置及びその制御方法、プログラム、並びに記憶媒体

Country Status (2)

Country Link
US (1) US9277261B2 (ja)
JP (1) JP6257197B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019068187A (ja) * 2017-09-29 2019-04-25 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
CN106603503B (zh) * 2016-11-22 2019-01-08 腾讯科技(深圳)有限公司 直播数据的处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115245A (ja) * 1998-10-06 2000-04-21 Oki Electric Ind Co Ltd データ送信装置、データ受信装置、データ通信装置及びデータ通信方法
JP2012514276A (ja) * 2008-12-31 2012-06-21 アップル インコーポレイテッド リアルタイム又はほぼリアルタイムのストリーミング
JP2013021574A (ja) * 2011-07-12 2013-01-31 Sharp Corp 生成装置、配信サーバ、生成方法、再生装置、再生方法、再生システム、生成プログラム、再生プログラム、記録媒体およびデータ構造
JP2013038766A (ja) * 2011-07-12 2013-02-21 Sharp Corp 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3684009B2 (ja) 1996-11-29 2005-08-17 キヤノン株式会社 映像通信システム及び情報処理装置及びその制御方法
US20100092095A1 (en) 2008-10-14 2010-04-15 Exbiblio B.V. Data gathering in digital and rendered document environments
JP5218995B2 (ja) 2010-05-14 2013-06-26 Necシステムテクノロジー株式会社 動画再生端末,動画再生方法及びプログラム
US9930408B2 (en) * 2012-04-25 2018-03-27 Verizon Patent And Licensing Inc. Live streaming circular buffer
WO2014012015A2 (en) 2012-07-13 2014-01-16 Vid Scale, Inc. Operation and architecture for dash streaming clients

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115245A (ja) * 1998-10-06 2000-04-21 Oki Electric Ind Co Ltd データ送信装置、データ受信装置、データ通信装置及びデータ通信方法
JP2012514276A (ja) * 2008-12-31 2012-06-21 アップル インコーポレイテッド リアルタイム又はほぼリアルタイムのストリーミング
JP2013021574A (ja) * 2011-07-12 2013-01-31 Sharp Corp 生成装置、配信サーバ、生成方法、再生装置、再生方法、再生システム、生成プログラム、再生プログラム、記録媒体およびデータ構造
JP2013038766A (ja) * 2011-07-12 2013-02-21 Sharp Corp 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019068187A (ja) * 2017-09-29 2019-04-25 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
US9277261B2 (en) 2016-03-01
US20150022676A1 (en) 2015-01-22
JP6257197B2 (ja) 2018-01-10

Similar Documents

Publication Publication Date Title
WO2013132828A1 (ja) 通信システムおよび中継装置
JP6173085B2 (ja) 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
US8842188B2 (en) Camera device, camera system, control device and program
US20170070699A1 (en) Information processing apparatus, image capturing apparatus, and control methods for the same
TW201738770A (zh) 使用共享及個人裝置合作提供個人化使用者功能
JP6257197B2 (ja) 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
JP2021111943A (ja) 画像処理装置およびその制御方法、プログラム、並びに記憶媒体
JP6360300B2 (ja) 通信装置、撮像装置およびそれらの制御方法、並びにプログラム
JP6433151B2 (ja) 映像供給装置、映像取得装置およびそれらの制御方法ならびに映像供給システム
US10028017B2 (en) Information processing device and method of controlling information processing device
US20080030608A1 (en) Electronic camera and combined program
US20150373073A1 (en) Image pickup apparatus, control method and recording medium
JP2019068187A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017208672A (ja) 映像供給装置、映像取得装置、それらの制御方法及びプログラム、並びに映像供給システム
WO2023281928A1 (ja) 通信装置、制御方法およびプログラム
JP6824949B2 (ja) 通信装置、制御方法およびプログラム
JP7400301B2 (ja) 通信管理サーバ、通信システム、送信装置、通信方法、及びプログラム
KR101430997B1 (ko) 컨텐츠 관리방법, 이를 적용한 방송수신장치 및 영상기기
JP2017046183A (ja) 送信装置、受信装置及び通信システム
US20130007351A1 (en) Information processor, information processing method, and computer program product
JP6485352B2 (ja) 受信装置、方法、コンピュータプログラム
JP2015142360A (ja) 撮像装置及び雲台装置
JP2021064971A (ja) 通信装置、制御方法、およびプログラム
JP2016067003A (ja) 伝送端末、伝送システム、表示方法、及びプログラム
JP2016071880A (ja) 伝送管理システム、伝送システム、伝送管理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160715

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170719

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: 20171106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171205

R151 Written notification of patent or utility model registration

Ref document number: 6257197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151