JP6873762B2 - 通信装置、通信システム、通信方法、および、プログラム - Google Patents

通信装置、通信システム、通信方法、および、プログラム Download PDF

Info

Publication number
JP6873762B2
JP6873762B2 JP2017050380A JP2017050380A JP6873762B2 JP 6873762 B2 JP6873762 B2 JP 6873762B2 JP 2017050380 A JP2017050380 A JP 2017050380A JP 2017050380 A JP2017050380 A JP 2017050380A JP 6873762 B2 JP6873762 B2 JP 6873762B2
Authority
JP
Japan
Prior art keywords
communication device
transmission
content
information
communication
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.)
Active
Application number
JP2017050380A
Other languages
English (en)
Other versions
JP2018157277A (ja
JP2018157277A5 (ja
Inventor
利之 中川
利之 中川
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 JP2017050380A priority Critical patent/JP6873762B2/ja
Priority to CN201810205708.9A priority patent/CN108632244B/zh
Priority to US15/920,317 priority patent/US10734031B2/en
Priority to EP18161671.5A priority patent/EP3376771A1/en
Publication of JP2018157277A publication Critical patent/JP2018157277A/ja
Publication of JP2018157277A5 publication Critical patent/JP2018157277A5/ja
Application granted granted Critical
Publication of JP6873762B2 publication Critical patent/JP6873762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/23Manipulation of direct-mode connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、複数装置間の通信に関する。
近年、通信装置が表示している画面や再生している音声をワイヤレスでミラーリングする技術がWi−Fi Display(Miracast)として標準化されている。ミラーリングとは、送信装置が表示している画面や再生している音声の情報を、ネットワークを介して受信装置へ伝送することで、表示している画面や再生している音声を送信装置と受信装置とで共有する技術である。Wi−Fi Displayでは、表示している画面や再生している音声の情報を送信するソース機器と、ソース機器から画面や音声の情報を受信するシンク機器とが定められている。
特許文献1には、上述したミラーリング機能と、シンク機器がソース機器以外の外部装置からコンテンツを取得して表示するコンテンツリダイレクト機能とについて開示されている。コンテンツリダイレクト機能では、ソース機器がシンク機器に外部装置が有するコンテンツの情報を送信し、シンク機器が外部装置からコンテンツを取得して再生する。
特開2016−71638号公報
しかし、特許文献1では、シンク機器におけるコンテンツリダイレクト機能を制御するためには、ユーザがソース機器を操作して、ソース機器からシンク機器に指示情報を送信する必要があった。ここで、ソース機器は、シンク機器におけるコンテンツリダイレクトの状態(例えば再生中、終了、エラーなど)を把握していないため、コンテンツリダイレクトの状態に応じた制御を自律的に行うことができなかった。従って、ユーザがシンク機器におけるコンテンツリダイレクトの状態を把握して、適切にソース機器を操作する必要があった。
上述の課題を鑑み、本発明は、外部装置が有するコンテンツの情報を送信する装置が、当該情報の送信先における当該コンテンツの再生処理に関する状態に応じた制御を自律的に行えるようにすることを目的とする。
上記目的を達成するため、本発明の通信装置は、前記通信装置が表示している画面の画面データあるいは再生している音声の音声データとの少なくとも一方を他の通信装置に送信する第1の送信手段と、外部装置が有するコンテンツの関連情報を前記他の通信装置に送信する第2の送信手段と、前記第1の送信手段によって前記他の通信装置に前記画面データあるいは前記音声データの少なくとも一方を送信している際に前記第2の送信手段によって前記関連情報を送信した場合、前記第1の送信手段による送信を停止する停止手段と、前記第2の送信手段によって前記関連情報を送信した場合に、前記関連情報に基づいて前記他の通信装置において行われる前記コンテンツの再生処理に関する状態の情報を前記他の通信装置から受信する受信手段と、前記受信手段により前記情報として前記コンテンツの再生処理が終了したことを示す情報を受信した場合に前記第1の送信手段による送信を再開するか否かを選択するユーザ操作を受け付ける受付手段と、前記受付手段によって前記第1の送信手段による送信を再開することを選択するユーザ操作を受け付けた場合は、前記第1の送信手段による送信を再開するように制御し、前記受付手段によって前記第1の送信手段による送信を再開しないことを選択するユーザ操作を受け付けた場合は、前記第1の送信手段による送信を再開しないように制御する制御手段と、を有する。
本発明によれば、外部装置が有するコンテンツの情報を送信する装置が、当該情報の送信先における当該コンテンツの再生処理に関する状態に応じた制御を自律的に行えるようになる。
通信システムのネットワーク構成を示す図である。 通信装置101、通信装置102のハードウェア構成を示す図である。 通信装置101と通信装置102がコンテンツリダイレクトを実施する際に実現するフローチャートである。 通信装置102が通信装置101にコンテンツリダイレクトの状態の情報を通知する際に実現するフローチャートである。 通信装置102が通信装置101にコンテンツリダイレクトの状態の情報を通知する際に実現する他のフローチャートである。 通信装置101が表示する表示画面を示す図である。
以下、添付の図面を参照して実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
図1に本実施形態に係る通信システムのネットワーク構成を示す。ネットワーク110上では、各装置はIEEE802.11シリーズ規格に準拠した無線通信方式で通信を行う。本実施形態において、通信装置101と通信装置102とは直接通信する。しかしこれに限らず、アクセスポイント103を介して通信してもよい。
なお、ネットワーク110上で、Bluetooth(登録商標)、近距離無線通信、UWB(Ultra Wide Band)、ZigBee、MBOAなどの他の無線通信方式に準拠した通信方式も利用してもよい。近距離無線通信としては、Near Field Communication(以下NFCと称す)がある。ここで、MBOAは、Multi Band OFDM Allianceの略である。また、UWBには、ワイヤレスUSB、ワイヤレス1394、WiNETなどが含まれる。また、有線LANなどの有線通信方式に準拠した通信方式も適用可能である。
ここで、本実施形態では、通信装置101と通信装置102は、通信装置101を送信装置、通信装置102を受信装置として、Wi−Fi Display仕様に基づいたミラーリングを行う。このとき、送信装置および受信装置は夫々Wi−Fi Display仕様に基づいてデータの送信処理及び受信処理を行う。なお、Wi−Fi Displayに限らず他の通信方式を用いてミラーリングを行ってもよい。Wi−Fi Display仕様に基づいたミラーリングでは、ソース機器が表示している画面や再生している音声の情報を、ネットワークを介してシンク機器へ伝送する。そして、シンク機器は受信した画面の表示や、受信した音声をソース機器と同期して、再生する。つまり、表示している画面や再生している音声を送信装置と受信装置とで共有して再生する。本実施形態において、通信装置101は自装置が表示している画面や再生している音声の情報を通信装置102へ送信する。また、通信装置102は通信装置101から送信される通信装置101に表示されている画面や再生している音声の情報を受信して再生する。即ち、通信装置101は、Wi−Fi Displayにおけるソース機器の役割を担い、通信装置102はシンク機器の役割を担う。
本実施形態ではWi−Fi Display仕様に従い、通信装置101と通信装置102の間の無線接続にWi−Fi P2P(Wi−Fi Direct)を用いる。ここで、P2PとはPeer−to−Peerの略である。しかし、これに限らずIEEE802.11シリーズに規定されたインフラストラクチャモードなどによる無線接続を行ってもよい。
通信装置101の具体的な例としては、タブレット、スマートフォン、PC、携帯電話、カメラ、ビデオカメラなどの入力装置が挙げられるが、これらに限定されない。また、通信装置102の具体的な例としては、タブレット、スマートフォン、PC、携帯電話、テレビ、ヘッドマウントディスプレイ、プロジェクター、ディスプレイ、カーナビゲーション装置などの出力装置が挙げられるが、これらに限定されない。
通信装置101(ソース機器)と通信装置102(シンク機器)とはコンテンツリダイレクト機能を利用できる。コンテンツリダイレクト機能では、ソース機器はシンク機器に、ソース機器以外の外部装置からコンテンツを取得させ、シンク機器に当該コンテンツを再生させる。また、ソース機器は、シンク機器にコンテンツを外部装置から取得させるために必要な情報を送信する。
本実施形態では、当該必要な情報として、通信装置101はクラウドサーバ104上にあるコンテンツの情報(例えばコンテンツ識別子、コンテンツの所在情報(URI、URLなど))を通信装置102へ送信する。ここでコンテンツ識別子とは、コンテンツを一意に決定するための識別子のことである。また、URIはUniform Resource Identifierの、URLはUniform Resource Locatorの夫々、略である。通信装置102は通信装置101から受信したコンテンツの情報を基に、ルーター機能を備えたアクセスポイント103を介してクラウドサーバ104上にあるコンテンツを受信して再生する。
図2に、通信装置101のハードウェア構成を示す。
通信装置101は、記憶部201、制御部202、機能部203、入力部204、出力部205、通信部206、および、アンテナ207を備える。
記憶部201はROMやRAMなどのメモリにより構成され、後述する各種動作を行うためのプログラムや、無線通信のための通信パラメータなどの各種情報を記憶する。なお、記憶部201として、ROM、RAMなどのメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部201が複数のメモリなどを備えていてもよい。
制御部202はCPUやMPUなどのプロセッサにより構成され、記憶部201に記憶されたプログラムを実行することにより、通信装置101全体を制御する。また、制御部202は、記憶部201に記憶されたプログラムを実行することで、ソース機器としてのミラーリング機能、および、コンテンツリダイレクト機能を実現する。ここで、ソース機器としてのミラーリング機能とは、自装置が表示している画面をキャプチャし符号化した画面データや、符号化した音声データをシンク機器に送信する機能である。また、ソース機器としてのコンテンツリダイレクト機能とは、シンク機器で再生したいコンテンツを、シンク機器がソース機器以外の外部装置から取得するために必要な情報をシンク機器に送信する機能である。なお、制御部202は、記憶部201に記憶されたプログラムとOS(Operating System)との協働により通信装置101全体を制御するようにしてもよい。また、制御部202がマルチコアなどの複数のプロセッサを備え、複数のプロセッサにより通信装置101全体を制御するようにしてもよい。
また、制御部202は、機能部203を制御して、撮像やコンテンツの閲覧などの所定の処理を実行する。機能部203は、通信装置101が所定の処理を実行するためのハードウェアである。例えば、通信装置101がカメラである場合、機能部203は撮像部であり、撮像処理を行う。このとき、撮像部が生成したデータは、出力部205によって画面上に表示され、制御部202のミラーリング機能によって他の通信装置に送信されることでミラーリングが実行される。
入力部204は、ユーザからの各種操作の受付を行う。出力部205は、モニタ画面やスピーカーなどを介してユーザに対して各種出力を行う。ここで、出力部205による出力とは、画面上への表示の他、スピーカーによる音声出力や、振動出力などであってもよい。なお、タッチパネルのように入力部204と出力部205の両方を1つのモジュールで実現するようにしてもよい。
通信部206は、IEEE802.11シリーズに準拠した無線通信の制御や、有線LANなどの有線通信の制御、IP通信の制御を行う。また、通信部206はアンテナ207を制御して、無線通信のための無線信号の送受信を行う。通信装置101は通信部206を介して、画像データ、文書データ、音声データ、映像データなどのコンテンツを通信装置102と通信する。
通信装置102は通信装置101と同様のハードウェア構成を有する。通信装置102の記憶部201、機能部203、入力部204、出力部205、通信部206、および、アンテナ207は通信装置101と同様であるため説明を省略する。
通信装置102の制御部202はCPUやMPUなどのプロセッサにより構成され、記憶部201に記憶されたプログラムを実行することにより通信装置102全体を制御する。また、通信装置102の制御部202は、記憶部201に記憶されたプログラムを実行することで、シンク機器としてのミラーリング機能、および、コンテンツリダイレクト機能を実現する。ここで、シンク機器としてのミラーリング機能とは、ソース機器が表示している画面のキャプチャである符号化された画面データや符号化された音声データを受信し、復号、再生する機能である。また、シンク機器としてのコンテンツリダイレクト機能とは、ソース機器から送られた情報を元にソース機器以外から再生したいコンテンツを取得し、再生する機能である。なお、通信装置102の制御部202は、記憶部201に記憶されたプログラムとOS(Operating System)との協働により通信装置102全体を制御するようにしてもよい。また、通信装置102の制御部202がマルチコアなどの複数のプロセッサを備え、複数のプロセッサにより通信装置102全体を制御するようにしてもよい。
なお、本実施形態において通信装置101および通信装置102は、画像の表示と音声の再生のどちらも行える装置となっている。しかし、通信装置101と通信装置102のどちらも、画像の表示か音声の再生のどちらかしか行えない装置であってもよい。
続いて、図3に、通信装置101と通信装置102がコンテンツリダイレクトを実施する際の通信装置101、102が実現するフローチャートを示す。夫々、(a)が通信装置101により、また、(b)が通信装置102により実現されるフローチャートである。
(a)に示すフローチャートは、通信装置101の記憶部201に記憶されたプログラムを制御部202が読み出して、実行することで実現される。また、(b)に示すフローチャートは、通信装置102の記憶部201に記憶されたプログラムを制御部202が読み出して、実行することで実現される。
なお、図3に示すフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に専用回路を生成し、これを利用すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
本フローチャートの(a)は、ソース機器(通信装置101)の電源が入ることで開始される。なお、ソース機器において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。また、(b)はシンク機器(通信装置102)の電源が入ることで開始される。なお、シンク機器において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。
まず、ソース機器は、ユーザにより入力部204から画面・音声共有の開始操作が行われたかを判定する(ステップS301)。開始操作とは、例えば、ユーザによる画面・音声共有を開始するための制御ボタンの押下である。開始操作が行われないと(ステップS301のいいえ)、再度ステップS301の判定を行う。
開始操作が行われると(ステップS301のはい)、ソース機器とシンク機器間においてデバイス探索が行われる。具体的には、ソース機器は、デバイス発見要求としてIEEE802.11シリーズに準拠したProbe Requestを送信する(ステップS302)。当該信号を受信したシンク機器は、当該信号に対する応答としてIEEE802.11シリーズに準拠したProbe Responseを送信する(ステップS303)。これにより、ソース機器とシンク機器は互いを発見する。そして、ソース機器において発見されたデバイスの一覧が表示され、デバイス一覧から、接続相手装置(シンク機器)が選択される(ステップS304)。
なお、シンク機器がProbe Requestを送信し、ソース機器がProbe Responseを送信することで、互いを発見するようにしてもよい。また、接続相手装置の選択を、シンク機器において行ってもよい。
またデバイス探索に用いられる信号は、Wi−Fi Display仕様に基づき、IEEE802.11シリーズに準拠したBeaconなどの無線信号でもよい。また、NFC、QRコード(登録商標)、Bluetooth Low Energy(BLE)などを利用することで、ソース機器が接続相手装置を発見することも可能である。例えば、ソース機器がNFCの通信機能を有しているとき、ソース機器とシンク機器とのペアリングをNFCタッチ操作で行い、以降の通信はWi−Fi Display規格に基づいて行うことも可能である。
ここで、ステップS305、ステップS306に進む前に、ソース機器とシンク機器はサービス探索を行っても良い。サービス探索はWi−Fi P2P仕様に基づいて行われる。このサービス探索を行うことで、ソース機器とシンク機器の少なくとも一方は相手装置が提供するサービスについての情報を得ることができる。
次にソース機器は、ステップS304で選択した相手装置であるシンク機器と接続セットアップを行う(ステップS305)。このとき同時にシンク機器も、ソース機器との接続セットアップを行う(ステップS306)。具体的にはWi−Fi Displayの接続処理を行い、その後、TCPの接続処理を行う。これらの接続処理を行うことにより、接続セットアップが完了する。TCPとはTransmission Control Protocolの略である。
Wi−Fi Display接続を確立させる方法として、2種類の方法、即ち、Wi−Fi P2PまたはTDLSから選ぶことができるが、本実施形態ではWi−Fi P2P仕様に従って行う。ここで、TDLSはTunneled Direct Link Setupの略である。
ここで、ステップS305とステップS306の詳細な手順について説明する。まず、シンク機器からソース機器にProbe Requestが送信される。Probe Requestを受け取ったソース機器はシンク機器に対してProbe Responseを送信する。これにより、ソース機器とシンク機器は相手装置の存在を確認する。続いてGOを決定するため、ソース機器はGO Negotiation Requestを送信する。この信号にはソース機器のIntent値が含まれる。GOはGroup Ownerの略であり、GOになった機器はWi−Fi P2Pの無線通信でアクセスポイントと同様の役割を担う。GOにならなかった機器はClientになりステーションの役割を担う。
GO Negotiation Requestに対する応答としてシンク機器からはGO Negotiation Responseが送られる。この信号にはシンク機器のIntent値が含まれる。各装置は、シンク機器とソース機器の各々のIntent値の大小を比較し、Intent値の大きかった方の機器がGOとなる。本実施形態ではソース機器がGOになったとする。なお、シンク機器がGOとなっても良い。最後にソース機器からシンク機器にGO Negotiation Confirmが送られることで、ソース機器、シンク機器の役割が、それぞれGO、Clientのいずれになるかが決定する。ここでは、ソース機器がGO、シンク機器がClientとして決定したものとする。
その後、WPS方式を用いて接続やセキュリティに関する情報など、ソース機器とシンク機器間のネットワーク接続を確立するために必要なパラメータ情報を共有する。なお、WPSはWi−Fi Protected Setupの略である。そして、交換したパラメータ情報に基づいて、Clientであるシンク機器がGOであるソース機器へ、Association Requestを送信する。当該信号を受信したソース機器が、応答としてAssociation Responseを送信する。
以上のようにして、ソース機器シンク機器との間で、Wi−Fi P2P仕様に従ったWi−Fi Display接続、即ち、Wi−Fi P2P接続が確立する。なお、上記で挙げた各無線信号を送信する機器について、シンク機器とソース機器の役割(GOとClient)を入れ替えても良い。また、Wi−Fi Display接続を確立させるにあたっては、上記に挙げたもの以外の無線信号を用いても良い。具体的には、Beacon、Reassociationメッセージ、P2P Invitationメッセージ、Provision Discoveryメッセージ等を用いても良い。
続いて、ソース機器シンク機器との間でTCP接続を確立する。この接続はソース機器がTCPサーバの、シンク機器がTCPクライアントの役割を担い、3 Way Hand Shakeを行うことで確立される。
このように、Wi−Fi Display接続の確立とTCP接続が確立されたことにより、接続セットアップが完了する。
続いてソース機器は、Capability Negotiationを行う(ステップS307)。同様にシンク機器もCapability Negotiationを行う(ステップS308)。Wi−Fi Display仕様では、Capability NegotiationにはRTSP(Real Time Streaming Protocol)を利用するよう規定されている。RTSPはストリーミングを制御するためのプロトコルである。また、下位層のトランスポートプロトコルとしては一般的にTCPが用いられる。Capability NegotiationにはRTSP M1〜M4までの所定のメッセージがソース機器、シンク機器間で交換される。このRTSPメッセージの交換によって、ソース機器はシンク機器の能力情報を得て、使用するパラメータを決定し、シンク機器へ通知する。シンク機器は、通知されたパラメータを設定する。具体的な能力情報とは、例えば画面については、対応する画面の解像度、フレームレート、コーデックなどの情報である。また音声については、対応するコーデックやサンプリング周波数などの情報である。本ステップのCapability Negotiationの結果、ソース機器とシンク機器の間でミラーリング時に使用する画面や音声の符号化方式の種類や映像の解像度、フレームレートなどが決定される。なお、送受信する能力情報は、これらの情報の一部であってもよい。
Capability Negotiationが完了すると、ソース機器は、Wi−Fi Displayのセッションを確立する(ステップS309)。同様にシンク機器もWi−Fi Displayのセッションを確立する(ステップS310)。Wi−Fi Display仕様では、Wi−Fi Displayのセッションの確立にはRTSP M5〜M7までの所定のメッセージがソース機器とシンク機器間で交換される。これらのRTSPメッセージの交換によって、使用するポート番号の設定などが行われ、Wi−Fi Displayのセッションが確立される。
ステップS309、S310までのRTSPメッセージ交換を終えると、ソース機器でミラーリング処理が行われる(ステップS311)。ソース機器におけるミラーリング処理は、例えば、表示されている画面のキャプチャ、キャプチャ画像の符号化、多重化、データ送信処理である。同様に、シンク機器でもミラーリング処理が行われる(ステップS312)。シンク機器におけるミラーリング処理は、例えば、データ受信、逆多重化、キャプチャ画像の復号化、復号されたキャプチャ画像の再生処理である。これらの処理が行われることで、ソース機器からシンク機器へ、ソース機器に表示されている画面や再生している音声の情報のストリーム(画面・音声ストリーム)が送信される。
なお、Wi−Fi Display仕様では、画面・音声ストリーム用のプロトコルとしてRTP(Real−time Transport Protocol)を用いる。RTPは動画像や音声などのマルチメディアデータを、ネットワークを介してリアルタイムに送受信するためのプロトコルであり、下位層のトランスポートプロトコルとしてUDPを利用する。なおUDPとはUser Data Protocolの略である。
続いて、ソース機器でユーザにより入力部204からコンテンツリダイレクトの開始指示が出されたかを判定する(ステップS313)。ここで、コンテンツリダイレクトの開始指示は、例えば、ソース機器で、コンテンツリダイレクトのサービス対象とされているコンテンツ(クラウドサーバ104上にあるコンテンツ)をユーザが選択するなどの操作が考えられる。あるいはシンク機器がコンテンツを特定するために必要な情報をユーザが入力するといった操作も開始指示となる。またコンテンツ再生中にユーザが特定の操作を行うことで開始指示が出されたとしても良い。
ユーザからコンテンツリダイレクトの開始が指示されていない場合(ステップS313のいいえ)、ステップS311に戻り、ソース機器はミラーリング処理を継続する。ユーザからコンテンツリダイレクトの開始が指示された場合(ステップS313のはい)、ソース機器はシンク機器へコンテンツリダイレクト機能をサポートしているか問合せる(ステップS314)。問合せを受け取ったシンク機器は、その応答として、コンテンツリダイレクト機能への対応の是非や、シンク機器がコンテンツリダイレクト機能よって再生できる動画共有サービス名などの情報をソース機器へ通知する(ステップS315)。
次に、ソース機器は、シンク機器がコンテンツリダイレクト機能をサポートしているか否かを判定する(ステップS316)。ここでの判定は、前述のステップS315でシンク機器から送信された応答の内容から判定すればよい。
ステップS316の判定の結果、シンク機器がコンテンツリダイレクト機能をサポートしていないと判定した場合(ステップS316のいいえ)、ソース機器はステップS311へと処理を戻し、画面・音声ストリームの送信を継続する。このとき、ソース機器とシンク機器の少なくとも一方は、シンク機器がコンテンツリダイレクト機能をサポートしていないことをユーザに通知しても良い。
一方、ステップS316でシンク機器がコンテンツリダイレクト機能をサポートしていると判定した場合(ステップS316のはい)、ソース機器はシンク機器へコンテンツの情報を通知する(ステップS317)。シンク機器は、ソース機器から送信されたコンテンツ情報を受信する(ステップS318)。ここで送受信するコンテンツの情報は、例えば、クラウドサーバ104上にあるコンテンツを識別するための識別子や、サービス名、コンテンツの所在情報(URI、URL)、再生開始時間(オフセット)などの情報である。なお、送受信するコンテンツの情報は、これらの情報の一部であってもよい。
前述したステップS318までの処理で、コンテンツリダイレクトの開始準備が整ったソース機器は、実行中のミラーリング処理を一時停止して、画面等の送信を制限する(ステップS319)。同様に、シンク機器も実行中のミラーリング処理を一時停止する(ステップS320)。ミラーリングを実行中にコンテンツリダイレクトを実施する場合、ミラーリング処理を一時停止することにより、ソース機器とシンク機器各々におけるミラーリングの処理負荷を軽減し、消費電力を抑えることが可能である。
なお、ミラーリング処理の一時停止は、ステップS317とステップS318で行われるコンテンツ情報の送受信としてのメッセージ交換を契機に行う。
続いて、シンク機器はステップS318で受信したコンテンツ情報を基に、クラウドサーバ104からコンテンツを受信し、再生する(ステップS321)。ここでは、シンク機器はアクセスポイント103を介してクラウドサーバ104からコンテンツを受信する。
また、ここでのコンテンツ受信の方法やプロトコルは、コンテンツの種類やサービスの種類によって様々である。例えばHLS方式やHTTPのGETメソッドなどを用いてもよい。ここでHLSとはHTTP Live Streamingの、HTTPはHyperText Transfer Protocolの夫々略である。
コンテンツリダイレクトによるコンテンツの受信と再生を開始したシンク機器は、ステップS322に進む。このステップでは、シンク機器はコンテンツリダイレクトの状態を検知し、ソース機器に当該状態の情報を通知する。このときソース機器は、ステップS323でシンク機器からコンテンツリダイレクトの状態の情報を受信する。そして、シンク機器とソース機器の夫々でコンテンツリダイレクトの状態に応じた所定の制御を行う。なお、ステップS322、及びステップS323における処理の詳細は、後述する図4、5で説明する。
続いてソース機器とシンク機器はミラーリングが終了したかを夫々、判定する(ステップS324、ステップS325)。なお、ミラーリングは夫々ステップS322、S323において終了し得る。
ミラーリングが終了したと判定されると、ソース機器は図3に示すフローチャートを終了する(ステップS324のはい)。同様に、シンク機器も図3に示すフローチャートを終了する(ステップS325のはい)。
ミラーリングが終了していないと判定されると、ソース機器はステップS311に戻り、一時停止していたミラーリング処理を再開する(ステップS324のいいえ)。同様の場合、シンク機器はステップS312に戻り、一時停止していたミラーリング処理を再開する(ステップS325のいいえ)。
以上、図3のフローチャートには、コンテンツリダイレクトを実行する際、ソース機器とシンク機器が実現する処理を示した。
図4及び図5では、前述の図3のステップS322、S323で行われる処理について説明する。図4及び図5では、シンク機器はコンテンツリダイレクトの状態を検知し、ソース機器に当該状態の情報を通知する。そしてシンク機器とソース機器はコンテンツリダイレクトの状態に応じて夫々所定の制御を行う。また、図6は図4及び図5でソース機器が表示する表示画面の一例である。
図4の(a)、(b)は、夫々図3のステップS323、ステップS322に相当するフローチャートである。
まず、シンク機器はコンテンツリダイレクトの状態を監視する(ステップS401)。そして、シンク機器はソース機器へ通知すべきコンテンツリダイレクトの状態を検知したかを判定する(ステップS402)。具体的には、コンテンツを再生しているシンク機器内の再生アプリケーション(例えばブラウザやプレーヤーなど)がコンテンツリダイレクトの状態を監視し、判定する。
ここでコンテンツリダイレクトの状態とは、コンテンツの再生処理に関する状態である。具体的には、シンク機器からのユーザ操作によるコンテンツリダイレクトの状態や、コンテンツの再生に関する状態、コンテンツの受信に関する状態などである。
それぞれ具体的に説明する。まずシンク機器からのユーザ操作によるコンテンツリダイレクトの状態とは、ユーザからシンク機器の入力部204によってコンテンツリダイレクトに対する制御が行われたときのコンテンツリダイレクトの状態である。例えば、シンク機器にユーザからコンテンツリダイレクトを一時停止させる操作が入力されると、コンテンツリダイレクトは一時停止する。シンク機器はコンテンツリダイレクトを一時停止させるユーザ操作が入力されたことを検知する。ここではユーザ操作の例として一時停止を用いたが、他に停止、終了、再生、早送り、巻き戻しなど、他の再生制御指示であってもよい。
また、コンテンツの再生に関する状態とは、コンテンツが再生されているときのコンテンツリダイレクトの状態である。例えば、コンテンツの再生が開始されると、シンク機器は再生が開始されてから経過した時間を検知し、ソース機器に通知する。シンク機器は経過時間以外にも、再生速度、再生方向、再生位置、音声出力レベル、再生エラー番号、コンテンツの再生終了などを検知する。ここでコンテンツの再生終了とは、コンテンツが終端まで再生された場合をさす。他にも、複数のコンテンツが連続で再生されるように設定されているか、一つのコンテンツを繰り返し再生するように設定されているかを検知してもよい。なお、再生エラー番号とは、コンテンツの再生に関して何かエラーが起きたとき、そのエラーの種別や内容を表す番号である。
最後にコンテンツの受信に関する状態とは、コンテンツが受信されているときのコンテンツリダイレクトの状態である。例えば、シンク機器がコンテンツをダウンロードしているとき、シンク機器はダウンロードが完了するまでの推定残り時間を検知する。シンク機器は他に、ダウンロードの進捗状況や受信エラー番号などを検知してもよい。なお、受信エラー番号とは、コンテンツの受信に関してエラーが起きたとき、そのエラーの種別や内容を表す番号である。コンテンツリダイレクトのエラー原因としては、クラウドサーバ104の障害や、シンク機器がクラウドサーバ104に接続できたもののコンテンツを見つけられない場合、認証エラー、タイムアウト、その他通信障害など、様々な原因が考えられる。
また、ソース機器へ通知すべきコンテンツリダイレクトの状態を検知したと判定する場合とは、シンク機器へのユーザ操作等によりコンテンツリダイレクトの状態が変わった場合である。しかしこれに限らず、コンテンツの再生が終了した場合、再生あるいは受信エラーが発生した場合、またはコンテンツリダイレクトを開始してから終了するまでの間の所定の時間が経過するごとの何れであってもよい。
なお、複数のコンテンツが連続で再生されるように設定されている場合、コンテンツの再生が終了した場合というのは、一つのコンテンツの再生が終了したときでもよいし、全てのコンテンツの再生が終了したときでもよい。あるいは任意のコンテンツの再生が終了したときでもよい。また、コンテンツが繰り返し再生されるように設定されている場合は、コンテンツが一回再生され終わったときをコンテンツの再生が終了したタイミングとしてもよいし、任意の回数再生され終わったときとしてもよい。
シンク機器はソース機器へ通知すべきコンテンツリダイレクトの状態を検知すると(ステップS402のはい)、ソース機器にコンテンツリダイレクトの状態の情報を通知し(ステップS403)、ステップS406に進む。シンク機器はソース機器へ通知すべきコンテンツリダイレクトの状態を検知しないと(ステップS402のいいえ)、前述の図3のステップS321に戻り、コンテンツの受信と再生を続ける。
ソース機器は、ステップS404でコンテンツリダイレクトの状態の情報をシンク機器から通知されたか判定する。コンテンツリダイレクトの状態の情報を通知されていないと(ステップS404のいいえ)、ステップS404にもどる。コンテンツリダイレクトの状態の情報を通知されていると(ステップS404のはい)、ステップS405に進む。
ソース機器はステップS405に進むと、コンテンツリダイレクトの終了を判定する。コンテンツリダイレクトの終了とは、シンク機器におけるユーザ操作に基づくコンテンツリダイレクトの終了や、コンテンツが終端に達したことによるコンテンツの再生終了、あるいはコンテンツの再生エラーや受信エラーといったエラーが発生した場合を指す。ここでソース機器はこの判定をステップS404で受けた通知に基づいて行う。また、シンク機器もステップS406に進むと、コンテンツリダイレクトの終了を判定する。なお、シンク機器はステップS402で検知した結果に基づいて、この判定を行う。
シンク機器はコンテンツリダイレクトの終了を判定すると(ステップS406のはい)、コンテンツリダイレクトの終了がシンク機器におけるユーザ操作によるものかを判定する(ステップS407)。ユーザ操作によるコンテンツリダイレクトの終了の場合(ステップS407のはい)、シンク機器はクラウドからのコンテンツの受信を終了する(ステップS408)。そして、ステップS412に進む。
ユーザ操作によるコンテンツリダイレクトの終了でない場合(ステップS407のいいえ)、シンク機器はステップS412に進む。ユーザ操作によるコンテンツリダイレクトの終了でない場合とは、例えば、コンテンツが終端に達したことによるコンテンツの再生終了、あるいはエラーによりコンテンツリダイレクトが終了した場合である。
ソース機器はコンテンツリダイレクトの終了ではないと判定すると(ステップS405のいいえ)、ソース機器はコンテンツリダイレクトの状態を出力部205の再生制御UI表示へ反映する(ステップS409)。具体的には、ソース機器がシンク機器からコンテンツリダイレクトの状態の情報の通知を受けた場合に、ソース機器は図6(d)に示すコンテンツリダイレクト状態表示604を表示する。コンテンツリダイレクト状態表示604には、相手装置であるシンク機器におけるコンテンツリダイレクトの状態を再生制御のユーザーインターフェースへ反映して表示する。
このようにソース機器はシンク機器におけるコンテンツリダイレクトの状態を検知することができる。また、ユーザはソース機器における図6(d)のコンテンツリダイレクト状態表示604から、コンテンツリダイレクトの状態を知ることができる。
また、ソース機器において、ユーザがソース機器の操作部からコンテンツリダイレクトの再生制御(例えば、早送り、巻き戻し、一時停止等)を行うことを許可し、操作部を介して為されたユーザ操作をソース機器からシンク機器へ通知するようにしてもよい。この場合、シンク機器は、ソース機器からの通知に従ってコンテンツリダイレクトの処理を行う。これにより、ユーザは、ソース機器の操作部からコンテンツリダイレクトの再生制御を行うことができる。
一方、ソース機器はコンテンツリダイレクトの終了と判定すると(ステップS405のはい)、コンテンツリダイレクトの終了をユーザに通知する(ステップS410)。この通知は、例えば出力部205へ表示することで行われる。
例えば、シンク機器におけるユーザ操作によるコンテンツリダイレクトの終了が通知された場合、ソース機器は図6(a)に示すコンテンツリダイレクト終了表示画面601を表示する。コンテンツリダイレクト終了表示画面601には、相手装置であるシンク機器においてコンテンツリダイレクトが終了されたことを通知するメッセージとともに、ミラーリングによる画面・音声共有を再開するか否かを選択する選択画面が表示される。
選択画面が表示されると、ソース機器はステップS411に進み、ミラーリングによる画面・音声共有を再開するかを判定する。ステップS411の判定は、ステップS410でソース機器に表示された選択画面におけるユーザの選択に基づいて判定される。
ユーザが画面・音声共有を再開する選択をした場合(図6(a)のYESを選択した場合)、ソース機器はステップS413に進み、ミラーリングによる画面・音声共有の再開処理を行う(ステップS411のはい)。一方、ユーザが画面・音声共有を再開しない選択をした場合(図6(a)のNOを選択した場合)には、ソース機器はステップS415に進み、ミラーリングによる画面・音声共有の終了処理を行う(ステップS411のいいえ)。
また、シンク機器もミラーリングによる画面・音声共有を行うか判定する(ステップS412)。この判定は、ソース機器がステップS413もしくはS415において送信した信号に基づいて行われ、判定結果はソース機器と一致する。ミラーリングを行う場合にはステップS414に進み、行わない場合にはステップS416に進む。
ミラーリングによる画面・音声共有を行う場合について詳細に説明する。
この場合、ソース機器は、シンク機器にRTSP PLAYメッセージを送信させるトリガーであるRTSP SET_PARAMETERメッセージをシンク機器へ送信する(ステップS413)。シンク機器は、ソース機器からRTSP PLAYメッセージを送信させるトリガーであるRTSP SET_PARAMETERメッセージを受信すると、ミラーリングを行うと判定する(ステップS412のはい)。そして、シンク機器は当該メッセージに応じてRTSP PLAYメッセージを発行、送信する(ステップS414)。RTSP PLAYメッセージは画面等の送信開始を意味するメッセージであるので、ソース機器は画面等の送信制限を解除し、画面等の送信を再開する(ステップS324の「いいえ」に続くステップS311)。また、シンク機器はソース機器からの画面等の受信、および、再生を再開する(ステップS325の「いいえ」に続くステップS312)。このようにして、ミラーリングによる画面・音声共有が再開される。
なお、明示的にRTSP PLAYメッセージの送受信をすることなくミラーリングを再開することも可能である。この場合、ソース機器が画面等の送信制限を解除し、画面等の送信を再開すると共に、シンク機器が画面等の受信、および、再生を再開すればよい。
次に、ミラーリングによる画面・音声共有を行わない場合について詳細に説明する。これは、ユーザが画面・音声共有を再開しない選択をした場合(図6(a)のNOを選択した場合)である。
この場合、ソース機器はシンク機器に、Wi−Fi Display仕様に準拠したRTSP SET_PARAMETERメッセージを送信する(ステップS415)。RTSP SET_PARAMETERメッセージは、シンク機器がRTSP TEARDOWNメッセージを送信するトリガーになる。このときシンク機器はミラーリングが再開されないと判定し(ステップS412のいいえ)、ステップS416に進む。そして、シンク機器はこのメッセージに応じてRTSP TEARDOWNメッセージを発行、送信する(ステップS416)。この結果、シンク機器とソース機器間の通信が切断される。具体的には、Wi−Fi Displayセッションが切断される。このとき、シンク機器とソース機器間のTCP接続やWi−Fi P2P接続が切断されても良い。なお、Wi−Fi Display接続として、TDLSに準拠したTDLS接続を行っていた場合には、Wi−Fi P2P接続に代えて、TDLS接続が切断されるようにする。
なお、ユーザによる画面・音声共有の再開是非の指示がなく所定時間経過した場合には、自動的に画面・音声共有を再開してもよい。この場合、ステップS411での判定は「はい」になる。ここでのタイムアウト時間は任意の時間を予めユーザが設定することができ、時間0を設定することで即時に画面・音声共有を再開することも可能である。あるいはユーザによる画面・音声共有の再開是非の指示がなく所定時間経過した場合に、自動的に画面・音声共有を終了してもよい。この場合、ステップS411での判定は「いいえ」になる。所定時間が経過した場合に、再開するか否かは予めユーザが設定しておいてもよいし、機器にプリセットされていてもよい。
このようにソース機器はシンク機器においてコンテンツリダイレクトの終了操作が行われたことを検知した際に、画面・音声共有を再開するか否かを任意に選択することもできる。
またステップS410で表示される画面の他の例として、例えば、シンク機器から、コンテンツが終端に達したことによるコンテンツの再生終了が通知された場合、ソース機器は図6(b)に示すコンテンツリダイレクト完了表示画面602を表示する。コンテンツリダイレクト完了表示画面602には相手装置であるシンク機器においてコンテンツの再生が完了した旨のメッセージとともに、ミラーリングによる画面・音声共有を再開するか否かを選択する選択画面を表示する。図6(b)のYES及びNOを選択した場合の動作は、夫々、図6(a)においてYES及びNOを選択した場合の動作と同様であるため説明を省略する。
このようにソース機器はシンク機器においてコンテンツの再生が終了したことを検知した際に、ミラーリングによる画面・音声共有を再開するか否かを任意に選択することができる。
またステップS410で表示される画面の他の例として、例えば、シンク機器からコンテンツリダイレクトのエラーが通知された場合、ソース機器は、図6(c)に示すコンテンツリダイレクトエラー表示画面603を表示する。ここで、エラーとは再生エラーもしくは受信エラーを指す。コンテンツリダイレクトエラー表示画面603には相手装置であるシンク機器においてコンテンツリダイレクトによるコンテンツ取得に失敗した旨のメッセージとともに、ミラーリングによる画面・音声共有を再開するか否かを選択する選択画面を表示する。このときコンテンツリダイレクトエラー表示画面603にエラー番号、もしくは、エラー番号に応じた表示をしてもよい。これにより、ユーザはエラー原因の把握とミラーリングの再開の可否の選択を一つの画面上でできるようになる。なお、図6(c)のYES及びNOを選択した場合の動作は、夫々、図6(a)においてYES及びNOを選択した場合の動作と同様であるため説明を省略する。
このように図6(c)のコンテンツリダイレクトエラー表示画面603により、ソース機器はシンク機器においてコンテンツリダイレクトにエラーが発生したこと、及びエラーの原因を検知する。また、ミラーリングによる画面・音声共有を再開するか否かを任意に選択することもできる。
なお、ステップS410はスキップしてもよい。この場合、図6(a)〜(c)のYESが選択された場合と同様の動作(ミラーリングの再開)を行う。なお、これに代えて、図6(a)〜(c)のNOが選択された場合と同様の動作(終了動作)を行うようにしてもよい。いずれの動作を行うかは、予め設定されていてもよいし、ユーザの設定であってもよい。このとき、ステップS411での判定はユーザ操作ではなく、予め定められた設定や、ユーザの設定などに従って行われる。
あるいは、ステップS412〜ステップS416に代えて、シンク機器がステップS407あるいはステップS408の後、自発的にRTSP PLAY Requestをソース機器に送信してもよい。ソース機器はステップS411でミラーリングを再開すると判定した場合、RTSP PLAY Requestに対する応答としてRTSP PLAY Responseを、ステータスコードをRTSP OKとしてシンク機器に送信する。その後、ソース機器が画面等の送信制限を解除し、画面等の送信を再開すると共に、シンク機器が画面等の受信、および、再生をすることで、ミラーリングによる画面・音声共有が再開される。
一方、ステップS411でミラーリングを再開しないと判定された場合、ソース機器は、RTSP PLAY Requestに対する応答として、RTSP OKとは異なるステータスコードを含むRTSP PLAY Responseを送信する。この場合、ステータスコードとしてNGもしくは所定のエラー番号を含めることができる。そして、ソース機器はミラーリング終了処理を行う。同様にシンク機器もミラーリング終了処理を行う。
もしくは、ステップS407またはステップS408のあと、シンク機器は自発的にRTSP TEARDOWN Requestを送信してもよい。ソース機器はステップS411でミラーリングを再開すると判定した場合、RTSP TEARDOWN Requestを受信しても、ミラーリング再開処理を行う。具体的には、ソース機器は、RTSP TEARDOWN Requestに対する応答として、RTSP OKとは異なるステータスコードを含むRTSP TEARDOWN Responseを送信する。この場合、ステータスコードとしてNGもしくは所定のエラー番号を含めることができる。そして、ソース機器はミラーリング再開処理を行う。同様に、シンク機器もミラーリング再開処理を行う。一方、ソース機器がステップS411でミラーリングを終了すると判定した場合は、RTSP TEARDOWN Responseを、ステータスコードをRTSP OKにしてシンク機器に送信する。この結果、Wi−Fi Displayのセッションが切断され、ミラーリングは終了する。
次に、図5にシンク機器がコンテンツリダイレクトの状態を検知し、ソース機器に当該状態の情報を通知する場合の別の処理のフローチャートを示す。図5の(a)、(b)は、夫々図3のステップS323、ステップS322に相当する。図5では、ソース機器からのトリガーに応じて、シンク機器はコンテンツリダイレクトを終了する。
このときシンク機器のステップS501〜S503、S506は、夫々前述の図4のステップS401〜S403、S406と同様のため省略する。またソース機器のステップS504、S505、S507と、前述の図4のステップS404、S405、S409は夫々同様のため省略する。
シンク機器は、シンク機器におけるユーザ操作によるコンテンツリダイレクトの終了か判定する(ステップS508)。この判定は、ステップS502で検知した結果に基づいて行う。シンク機器におけるユーザ操作によるコンテンツリダイレクトの終了と判定した場合(ステップS508のはい)、シンク機器はステップS510に進む。
このとき、ソース機器もシンク機器におけるユーザ操作によるコンテンツリダイレクトの終了か判定する(ステップS509)。この判定はステップS504で受信した通知に基づいて行う。シンク機器におけるユーザ操作によるコンテンツリダイレクトの終了と判定した場合(ステップS509のはい)、ソース機器はステップS511に進む。
シンク機器はコンテンツリダイレクトの終了処理が行われるよう、ソース機器にコンテンツリダイレクト終了要求を送信するよう指示する(ステップS510)。ソース機器は送信された指示を受信する(ステップS511)。
なお、ステップS503、S504において、シンク機器からソース機器に前述の通知がされたことに応じて、ソース機器がコンテンツリダイレクト終了要求を送信するようにしてもよい。即ち、ソース機器は、前述の通知があった場合、コンテンツリダイレクト終了要求の送信指示があったものとみなす。この場合、ステップS510とステップS511をスキップすることができる。
次に、ソース機器はステップS511で送信指示を受信すると、シンク機器へコンテンツリダイレクト終了要求を送信する(ステップS512)。シンク機器はソース機器から送信されたコンテンツリダイレクト終了要求を受信する(ステップS513)。コンテンツリダイレクト終了要求を受信したシンク機器は、クラウドサーバ104からのコンテンツ受信を終了する(ステップS514)。
そしてシンク機器はステップS517に進む。また、シンク機器におけるユーザ操作によるコンテンツリダイレクトの終了でないと判定した場合(ステップS508のいいえ)、シンク機器は同様にステップS517に進む。
ソース機器は、ステップS512でシンク機器へコンテンツリダイレクト終了要求を送信すると、ステップS515に進む。また、シンク機器におけるユーザ操作によるコンテンツリダイレクトの終了でないと判定した場合(ステップS509のいいえ)、ソース機器は同様にステップS515に進む。
ステップS515〜S521の処理は、夫々、前述の図4のステップS410〜S416と同様のため、説明を省略する。
以上、図4及び図5のフローチャートの処理に示したように、シンク機器からソース機器にコンテンツリダイレクトの状態の情報が通知されることにより、ソース機器はシンク機器におけるコンテンツリダイレクトの状態を検知することが可能となる。そしてソース機器はコンテンツリダイレクトの状態に応じた制御を自律的に行うことができる。
なお、コンテンツリダイレクトで複数のコンテンツを連続で再生してもよい。この場合、コンテンツリダイレクトを行っている際に、シンク機器で今再生しているコンテンツ以降に再生するコンテンツを、ソース機器で指定できるようにする。このとき、シンク機器は図3のステップS322でコンテンツの再生が終了したことを検知し、ステップS323でソース機器に通知する。ソース機器はステップS324でコンテンツリダイレクトの状態を受信すると、次にユーザが再生したいコンテンツがあると、ステップS317に戻り、シンク機器にコンテンツの情報を送信する。シンク機器はコンテンツの情報を受信すると(ステップS318)、クラウドサーバ104からコンテンツを受信する(ステップS321)。このとき、ミラーリングはすでに一時停止しているのでステップS319とステップS320はスキップする。ステップS322以降は先述と同じ動作になるため、説明を省略する。
本実施形態において、ミラーリング処理を開始してからコンテンツリダイレクトを行ったが、ミラーリング処理を経ずにコンテンツリダイレクトを開始してもよい。具体的には、図3のステップS301でユーザがコンテンツリダイレクトの開始操作を行ったか判定してもよい。この場合、図3のステップS311〜S313、ステップS319〜S320も省略される。
また、コンテンツリダイレクトが終了した場合、図4のステップS410とステップS411、図5のステップS515とステップS516は省略されてもよい。この場合、図4のステップS405が「はい」と判定されると、ステップS415に進んでもよい。図5も同様にステップS509の「いいえ」あるいはステップS512の後、ステップS520に進んでもよい。
即ち、ソース機器は、ミラーリングからコンテンツリダイレクトを行った場合と、ミラーリングを経ずにコンテンツリダイレクトを行った場合とで、コンテンツリダイレクト終了の通知を受けた場合の処理を変更してもよい。
また、図3〜5に示したフローチャートの各ステップを不図示の複数のCPUもしくは装置で分散して行うようにしてもよい。複数の装置で分散して行う場合、ソース機器についてはソースシステム、シンク機器についてはシンクシステムとして動作する。
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)などとしての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーションなど)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 通信装置(ソース機器)
102 通信装置(シンク機器)
103 無線アクセスポイント
104 クラウドサーバ
110 無線ネットワーク
201 記憶部
202 制御部
203 機能部
204 入力部
205 出力部
206 通信部
207 アンテナ

Claims (15)

  1. 通信装置であって、
    前記通信装置が表示している画面の画面データあるいは再生している音声の音声データとの少なくとも一方を他の通信装置に送信する第1の送信手段と、
    外部装置が有するコンテンツの関連情報を前記他の通信装置に送信する第2の送信手段と、
    前記第1の送信手段によって前記他の通信装置に前記画面データあるいは前記音声データの少なくとも一方を送信している際に前記第2の送信手段によって前記関連情報を送信した場合、前記第1の送信手段による送信を停止する停止手段と、
    前記第2の送信手段によって前記関連情報を送信した場合に、前記関連情報に基づいて前記他の通信装置において行われる前記コンテンツの再生処理に関する状態の情報を前記他の通信装置から受信する受信手段と、
    前記受信手段により前記情報として前記コンテンツの再生処理が終了したことを示す情報を受信した場合に前記第1の送信手段による送信を再開するか否かを選択するユーザ操作を受け付ける受付手段と、
    前記受付手段によって前記第1の送信手段による送信を再開することを選択するユーザ操作を受け付けた場合は、前記第1の送信手段による送信を再開するように制御し、前記受付手段によって前記第1の送信手段による送信を再開しないことを選択するユーザ操作を受け付けた場合は、前記第1の送信手段による送信を再開しないように制御する制御手段と、
    を有することを特徴とする通信装置。
  2. 前記コンテンツの関連情報は、前記コンテンツの識別子であることを特徴とする請求項1に記載の通信装置。
  3. 前記他の通信装置との無線通信を切断する切断手段をさらに有し、
    前記制御手段は、前記受付手段によって前記第1の送信手段による送信を再開しないことを選択するユーザ操作を受け付けた場合は、前記切断手段によって前記他の通信装置との前記無線通信を切断するように制御することを特徴とする請求項1又は2に記載の通信装置。
  4. 前記第2の送信手段は、前記受信手段によって前記コンテンツの再生処理が終了したことを示す情報を受信した場合、前記他の通信装置の前記外部装置からの前記コンテンツの受信を終了させるための終了要求を送信することを特徴とする請求項1から3の何れか一項に記載の通信装置。
  5. 前記コンテンツの再生処理が終了したことを示す情報とは、前記他の通信装置が前記コンテンツの再生の終了を指示するユーザ操作を受け付けたことを示す情報であることを特徴とする請求項1からの何れか一項に記載の通信装置。
  6. 前記コンテンツの再生処理が終了したことを示す情報とは、前記他の通信装置において前記コンテンツが終端まで再生されたことを示す情報であることを特徴とする請求項1からの何れか一項に記載の通信装置。
  7. 前記コンテンツの再生処理が終了したことを示す情報とは、前記他の通信装置おいて前記コンテンツの受信エラーが発生したことを示す情報であることを特徴とする請求項1からの何れか一項に記載の通信装置。
  8. 前記コンテンツの再生処理が終了したことを示す情報とは、前記他の通信装置において前記コンテンツの再生エラーが発生したことを示す情報であることを特徴とする請求項1からの何れか一項に記載の通信装置。
  9. 前記受信手段により受信した前記情報に基づく表示を行うように制御する表示制御手段をさらに有することを特徴とする請求項1からの何れか一項に記載の通信装置。
  10. 前記通信装置は、前記他の通信装置とWi−Fi P2P接続を確立することを特徴とする請求項1からの何れか一項に記載の通信装置。
  11. 前記通信装置は、前記他の通信装置とWi−Fi Displayセッションを確立することを特徴とする請求項1から10の何れか一項に記載の通信装置。
  12. 前記通信装置は、前記他の通信装置とIEEE802.11シリーズ規格に準拠した通信を行うことを特徴とする請求項1から11の何れか一項に記載の通信装置。
  13. 前記第の送信手段は、Wi−Fi Miracast規格に準拠して、前記画面データあるいは前記音声データの少なくとも一方を送信することを特徴とする請求項1から12の何れか一項に記載の通信装置。
  14. 通信装置の制御方法であって、
    前記通信装置が表示している画面の画面データあるいは再生している音声の音声データとの少なくとも一方を他の通信装置に送信する第1の送信工程と、
    外部装置が有するコンテンツの関連情報を前記他の通信装置に送信する第2の送信工程と、
    前記第1の送信工程において前記他の通信装置に前記画面データあるいは前記音声データの少なくとも一方を送信している際に前記第2の送信工程において前記関連情報を送信した場合、前記第1の送信工程による送信を停止する停止工程と、
    前記第2の送信工程において前記関連情報を送信した場合に、前記関連情報に基づいて前記他の通信装置において行われる前記コンテンツの再生処理に関する状態の情報を前記他の通信装置から受信する受信工程と、
    前記受信工程において前記情報として前記コンテンツの再生処理が終了したことを示す情報を受信した場合に前記第1の送信工程における送信を再開するか否かを選択するユーザ操作を受け付ける受付工程と、
    前記受付工程において前記第1の送信工程における送信を再開することを選択するユーザ操作を受け付けた場合は、前記第1の送信工程における送信を再開するように制御し、前記受付工程において前記第1の送信工程における送信を再開しないことを選択するユーザ操作を受け付けた場合は、前記第1の送信工程における送信を再開しないように制御する制御工程と、
    を有することを特徴とする制御方法。
  15. コンピュータを請求項1から13の何れか一項に記載の通信装置の各手段として機能させるためのプログラム。
JP2017050380A 2017-03-15 2017-03-15 通信装置、通信システム、通信方法、および、プログラム Active JP6873762B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017050380A JP6873762B2 (ja) 2017-03-15 2017-03-15 通信装置、通信システム、通信方法、および、プログラム
CN201810205708.9A CN108632244B (zh) 2017-03-15 2018-03-13 通信装置、通信***、通信方法和存储介质
US15/920,317 US10734031B2 (en) 2017-03-15 2018-03-13 Communication apparatus, communication system, communication method, and storage medium
EP18161671.5A EP3376771A1 (en) 2017-03-15 2018-03-14 Communication apparatus, communication system, communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017050380A JP6873762B2 (ja) 2017-03-15 2017-03-15 通信装置、通信システム、通信方法、および、プログラム

Publications (3)

Publication Number Publication Date
JP2018157277A JP2018157277A (ja) 2018-10-04
JP2018157277A5 JP2018157277A5 (ja) 2020-04-30
JP6873762B2 true JP6873762B2 (ja) 2021-05-19

Family

ID=61655622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017050380A Active JP6873762B2 (ja) 2017-03-15 2017-03-15 通信装置、通信システム、通信方法、および、プログラム

Country Status (4)

Country Link
US (1) US10734031B2 (ja)
EP (1) EP3376771A1 (ja)
JP (1) JP6873762B2 (ja)
CN (1) CN108632244B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2603733A (en) * 2019-11-27 2022-08-10 Shure Acquisition Holdings Inc Controller with network mode and direct mode
KR20210088985A (ko) 2020-01-07 2021-07-15 삼성전자주식회사 전자 장치 및 그 동작 방법
US11463492B1 (en) 2021-10-28 2022-10-04 Zoom Video Communications, Inc. Moderator controls for breakout rooms

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801410B2 (en) * 2004-12-15 2010-09-21 Canon Kabushiki Kaisha Video transfer system
US8687938B2 (en) * 2008-03-31 2014-04-01 Panasonic Corporation Video recording system, video recording apparatus, and video recording method
US9325716B2 (en) * 2008-12-30 2016-04-26 Nokia Technologies Oy Method, apparatus and computer program for enabling access to remotely stored content
US20110154214A1 (en) 2009-12-18 2011-06-23 Microsoft Corporation Offloading Content Retrieval And Decoding In Pluggable Content-Handling Systems
KR20120015931A (ko) 2010-08-13 2012-02-22 삼성전자주식회사 휴대용 전자 장치 및 그것의 디스플레이 미러링 방법
CN102111685B (zh) * 2011-02-24 2012-07-25 深信服网络科技(深圳)有限公司 一种网络视频加载的加速方法、设备及***
JP2013005407A (ja) * 2011-06-21 2013-01-07 Funai Electric Co Ltd 映像表示装置
KR101917174B1 (ko) * 2012-02-24 2018-11-09 삼성전자주식회사 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
KR101957282B1 (ko) * 2012-08-29 2019-03-12 삼성전자주식회사 동영상 제어장치 및 방법
US9716737B2 (en) 2013-05-08 2017-07-25 Qualcomm Incorporated Video streaming in a wireless communication system
KR102133531B1 (ko) * 2013-08-23 2020-07-13 삼성전자주식회사 컨텐츠 재생 방법 및 그에 따른 단말, 그에 따른 시스템
US10110393B2 (en) * 2013-09-30 2018-10-23 Cavium, Inc. Protocol switching over multi-network interface
JP2015119425A (ja) * 2013-12-19 2015-06-25 ソニー株式会社 無線通信装置、プログラム及び無線通信方法
CN106063285A (zh) * 2014-03-11 2016-10-26 索尼公司 信息处理设备、信息处理***和信息处理方法
JP6566616B2 (ja) * 2014-08-19 2019-08-28 キヤノン株式会社 通信装置、その制御方法、およびプログラム
US10045065B2 (en) * 2014-09-05 2018-08-07 Qualcomm Incorporated Synchronization and control of overlay contents for video streaming in a wireless communication system
KR20160031724A (ko) 2014-09-15 2016-03-23 엘지전자 주식회사 스크린 미러링 방법 및 이를 위한 디바이스
JP6335738B2 (ja) * 2014-09-30 2018-05-30 Kddi株式会社 ソース端末、表示制御システム、表示制御方法、表示制御プログラム
JP6452519B2 (ja) * 2015-03-30 2019-01-16 キヤノン株式会社 再生制御装置及びその制御方法、プログラム、並びに記憶媒体
KR102273751B1 (ko) * 2015-07-24 2021-07-06 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법
US10849171B2 (en) * 2015-11-19 2020-11-24 Sony Corporation Device and method for maintaining a security level
KR102570379B1 (ko) 2016-04-22 2023-08-25 엘지전자 주식회사 스크린 미러링 기능을 제공하는 디스플레이 장치 및 그의 동작 방법
WO2017222097A2 (ko) * 2016-06-24 2017-12-28 엘지전자 주식회사 디스플레이 장치

Also Published As

Publication number Publication date
JP2018157277A (ja) 2018-10-04
US20180268869A1 (en) 2018-09-20
CN108632244B (zh) 2021-09-07
US10734031B2 (en) 2020-08-04
EP3376771A1 (en) 2018-09-19
CN108632244A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
KR102050984B1 (ko) 와이-파이 디스플레이 네트워크에서 와이-파이 디스플레이 세션을 제공하는 방법 및 장치, 그리고 그에 따른 시스템
JP7123594B2 (ja) 通信装置、制御方法、およびプログラム
JP6914728B2 (ja) 通信装置、通信方法、およびプログラム
JP6873762B2 (ja) 通信装置、通信システム、通信方法、および、プログラム
US11093206B2 (en) Communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
JP7154833B2 (ja) 通信装置、通信方法、およびプログラム
US10649723B2 (en) Communication device, control method, and storage medium
US20180317272A1 (en) Communication apparatus, control method, and recording medium
JP7146473B2 (ja) 通信装置、通信方法、およびプログラム
JP2019215762A (ja) 通信装置、制御方法、および、プログラム
JP7118764B2 (ja) 通信装置、制御方法、およびプログラム
JP7080624B2 (ja) 通信装置、制御方法、およびプログラム
JP2019169870A (ja) 通信装置、制御方法、およびプログラム
JP2019117548A (ja) 通信装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210421

R151 Written notification of patent or utility model registration

Ref document number: 6873762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151