JP2020021210A - 通信装置、制御方法、およびプログラム - Google Patents

通信装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP2020021210A
JP2020021210A JP2018143507A JP2018143507A JP2020021210A JP 2020021210 A JP2020021210 A JP 2020021210A JP 2018143507 A JP2018143507 A JP 2018143507A JP 2018143507 A JP2018143507 A JP 2018143507A JP 2020021210 A JP2020021210 A JP 2020021210A
Authority
JP
Japan
Prior art keywords
communication device
content
reproduction
identification information
request
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
JP2018143507A
Other languages
English (en)
Other versions
JP7289617B2 (ja
Inventor
利之 中川
Toshiyuki Nakagawa
利之 中川
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 JP2018143507A priority Critical patent/JP7289617B2/ja
Priority to KR1020190088638A priority patent/KR102387072B1/ko
Priority to US16/520,097 priority patent/US10649723B2/en
Priority to CN201910683174.5A priority patent/CN110784770A/zh
Publication of JP2020021210A publication Critical patent/JP2020021210A/ja
Application granted granted Critical
Publication of JP7289617B2 publication Critical patent/JP7289617B2/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/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/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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
    • 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/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/25Maintenance of established connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】コンテンツを再生中の通信装置に対して新たなコンテンツの再生が要求された場合に、夫々の再生要求を送信した通信装置、あるいはユーザが同じであるか否かに基づいて、コンテンツの再生を適切に制御する。【解決手段】通信装置(シンク機器)102が第一のコンテンツの再生中に第二のコンテンツの再生要求を受信した場合に、第一のコンテンツの再生要求を送信した通信装置(ソース機器)に関する識別情報と、第二のコンテンツの再生要求を送信した通信装置に関する識別情報とから特定される通信装置が同じことに基づいて第二のコンテンツの再生を開始し、異なることに基づいて第一のコンテンツの再生を継続する。あるいは第一のコンテンツに関するユーザ識別情報と、第二のコンテンツに関するユーザ識別情報とから特定されるユーザが同じことに基づいて第二のコンテンツの再生を開始し、異なることに基づいて第一のコンテンツの再生を継続する。【選択図】図1

Description

本発明は、通信装置におけるコンテンツの再生に関する。
他の通信装置との間で、表示している画面や再生している音声を共有することができる機能を有する通信装置が存在する。他の通信装置が表示している画面や再生している音声の情報として画像データや音声データを含むコンテンツを通信装置に伝送し、通信装置が受信したコンテンツを他の通信装置と同期して再生する。これにより、通信装置と他の通信装置とは、表示している画面や再生している音声を共有することができる。これをミラーリング機能という。
また、他の通信装置が保持している画像データや音声データを含むコンテンツを他の通信装置から受信し、再生することができる通信装置も存在する。これをダイレクトストリーミング機能という。
また、他の通信装置から送信された情報に基づいて、他の通信装置とは異なる外部装置から画像データや音声データを含むコンテンツを受信し、再生することができる通信装置も存在する。これをコンテンツリダイレクト機能という。
特許文献1には、ミラーリング機能とコンテンツリダイレクト機能とを有する通信装置が、第一のコンテンツを再生中に第二のコンテンツの再生要求を受信した場合に、第二のコンテンツを再生するか否かを判断することが開示されている。また、特許文献1に開示の通信装置は、第一のコンテンツの種類や投影方法に応じて割り込みを許可するか否かを判断する。
特開2014−219486号公報
特許文献1に開示の通信装置は、第二のコンテンツを再生するか否かを判断する際に、再生要求を送信した通信装置あるいはユーザが同一であるかを考慮した判断は行わない。そのため、特許文献1に開示の通信装置は、第一のコンテンツの再生要求を送信した送信元装置あるいはユーザと、第二のコンテンツの再生要求を送信した送信元装置あるいはユーザとが異なる場合であっても、第二のコンテンツを再生すると判断する場合がある。第一のコンテンツの再生要求を送信した送信元装置のユーザにとってみると、第一のコンテンツを再生しているところに第二のコンテンツの再生が割り込まれるため、不便である。また、特許文献1に開示の通信装置は、第一のコンテンツの再生要求を送信した送信元装置あるいはユーザと、第二のコンテンツの再生要求を送信した送信元装置あるいはユーザが同じ場合であっても、第二のコンテンツを再生しないと判断する場合がある。夫々のコンテンツの再生要求を送信した送信元装置のユーザにとってみると、再生中の第一のコンテンツから第二のコンテンツに切り替えて再生したいにも関わらず、第二のコンテンツが再生されないため、不便である。
上記を鑑み、本発明は、コンテンツを再生中の通信装置に対して新たなコンテンツの再生が要求された場合に、夫々の再生要求を送信した送信元装置、あるいはユーザが同じであるか否かに基づいて、コンテンツの再生を適切に制御することを目的とする。
上記目的を達成するため、本発明の通信装置は、コンテンツの再生要求を受信する第一の受信手段と、前記第一の受信手段により受信した再生要求に基づいたコンテンツを再生する再生手段と、前記第一の受信手段により受信した再生要求を送信した送信元装置を特定するための機器識別情報を取得する取得手段と、前記再生手段により第一のコンテンツを再生中に、前記第一の受信手段により第二のコンテンツの再生要求を受信した場合に、前記第一のコンテンツの再生要求を送信した送信元装置を特定するための第一の機器識別情報と、前記第二のコンテンツの再生要求を送信した送信元装置を特定するための第二の機器識別情報とから特定される送信元装置が同じ送信元装置であることに基づいて前記第二のコンテンツの再生を開始し、前記第一の機器識別情報と前記第二の識別情報とから特定される送信元装置が異なる送信元装置であることに基づいて前記第一のコンテンツの再生を継続するように制御する制御手段と、を有する。
また、本発明の他の側面の通信装置は、コンテンツの再生要求を受信する第一の受信手段と、前記第一の受信手段により受信した再生要求に基づいたコンテンツを再生する再生手段と、前記第一の受信手段により受信した再生要求に関するユーザを特定するためのユーザ識別情報を取得する取得手段と、前記再生手段により第一のコンテンツを再生中に、前記第一の受信手段により第二のコンテンツの再生要求を受信した場合に、前記第一のコンテンツの再生要求に関するユーザを特定するための第一のユーザ識別情報と、前記第二のコンテンツの再生要求に関するユーザを特定するための第二のユーザ識別情報とから特定されるユーザが同じユーザであることに基づいて前記第二のコンテンツの再生を開始し、前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが異なるユーザであることに基づいて前記第一のコンテンツの再生を継続するように制御する制御手段と、を有する。
本発明によれば、コンテンツを再生中の通信装置に対して新たなコンテンツの再生が要求された場合に、夫々の再生要求を送信した送信元装置、あるいはユーザが同じであるか否かに基づいて、コンテンツの再生を適切に制御することができる。
通信装置102が参加するネットワークのネットワーク構成を示す図である。 通信装置102のハードウェア構成を示す図である。 通信装置101が通信装置102と、ミラーリング/コンテンツリダイレクト/ダイレクトストリーミングの何れかを行う際に実行する処理の一例を示すフローチャートである。 通信装置102が通信装置101と、ミラーリング/コンテンツリダイレクト/ダイレクトストリーミングの何れかを行う際に実行する処理の一例を示すフローチャートである。 通信装置101が表示する割り込み発生の通知画面の一例を示す図である。 通信装置101と通信装置102とがミラーリング/ダイレクトストリーミングを実行中に、通信装置104から通信装置102へのダイレクトストリーミングの割り込みが許可されない場合に実行される処理を示すシーケンス図である。 通信装置101と通信装置102とがミラーリング/ダイレクトストリーミングを実行中に、通信装置104から通信装置102へのダイレクトストリーミングの割り込みが許可される場合に実行される処理を示すシーケンス図である。 通信装置101と通信装置102とがコンテンツリダイレクトを実行中に、通信装置104から通信装置102へのミラーリングの割り込みが許可されない場合に実行される処理を示すシーケンス図である。 通信装置101と通信装置102とがコンテンツリダイレクトを実行中に、通信装置104から通信装置102へのコンテンツリダイレクトの割り込みが許可される場合に実行される処理を示すシーケンス図である。
以下、添付の図面を参照して、本発明の実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
図1に、本実施形態に係る通信装置102が参加する通信システムのネットワーク構成を示す。通信装置101と通信装置102とは、例えばWi−Fi Direct規格に準拠した無線通信を行うことができる。この場合、通信装置101と通信装置102とは、アクセスポイント(AP)110を介さず直接無線通信する。また、通信装置104も同様に通信装置102とはAP110を介さず直接無線通信する。なお、通信装置101、通信装置102および通信装置104は、IEEE802.11シリーズ規格に準拠したインフラストラクチャネットワーク上で、AP110を介した無線通信を行ってもよい。なお、IEEEとは、Institute of Electrical and Electronics Engineersの略である。
通信装置101、通信装置102、および通信装置104は、夫々AP110を介してクラウドサーバ103と通信することができる。通信装置101、通信装置102、および通信装置104は、夫々クラウドサーバ103からコンテンツを取得し、再生することができる。コンテンツとは、画像データ、音声データ、動画データ、映像データの何れか一つを含むデータのことである。なお、映像データとは、音声データと動画データとの両方を含むデータのことである。なおコンテンツとは、これらのデータの他に、これらのデータを再生するためのソフトウェアデータや、GUIデータ、メタデータの少なくとも何れか一つを含むデータであってもよい。
本実施形態において、通信装置101、通信装置102、および通信装置104は、夫々ミラーリング機能を有する。ミラーリングでは、通信装置101または通信装置104(ソース機器)が、自装置が表示している画面や再生している音声を通信装置102(シンク機器)と共有することができる。具体的には、ソース機器は、自装置が表示している画面や再生している音声の情報として、画像データと音声データの少なくとも一方を含むデータ(コンテンツ)のストリームをシンク機器に送信する。このとき、送信される画像データは、ソース機器が表示している画面を符号化したものであり、送信される音声データは、ソース機器が再生している音声を符号化したものである。コンテンツのストリームを受信したシンク機器は、受信したコンテンツに含まれる画像データや音声データを、ソース機器と同期して再生する。通信装置101、通信装置102、および通信装置104は、例えばWi−Fi Miracast規格に準拠したミラーリングを行い、Wi−Fi Direct規格に準拠した無線通信を介してストリームの送受信を行う。あるいは、通信装置101、通信装置102、および通信装置104は、インフラストラクチャネットワークを介してストリームの送受信を行ってもよい。なお、ソース機器は、自装置が表示している画面と再生している音声との少なくとも一方をシンク機器と共有すればよい。ソース機器は、ミラーリングによる音声の共有を行わない場合はシンク機器に音声データの送信を行わなくてもよいし、画面の共有を行わない場合はシンク機器に画像データの送信を行わなくてもよい。
また、通信装置101、通信装置102、および通信装置104はミラーリング機能に加えて、あるいは代えて、ダイレクトストリーミング機能を有する。ダイレクトストリーミングでは、通信装置101または通信装置104(ソース機器)が、自装置が記憶している画像データと音声データの少なくとも一方を含むデータ(コンテンツ)を通信装置102(シンク機器)に送信する。シンク機器はソース機器から送信されたコンテンツを再生することができる。この場合、ソース機器はコンテンツを復号および再符号化することなく、そのままの符号化形式でシンク機器に送信することができる。通信装置101、通信装置102、および通信装置104は、例えばWi−Fi Miracast規格に準拠したダイレクトストリーミングを行う。
また、通信装置101、通信装置102、および通信装置104はミラーリング機能と、ダイレクトストリーミング機能とに加えて、あるいは代えて、コンテンツリダイレクト機能を有する。コンテンツリダイレクトでは、通信装置101または通信装置104(ソース機器)が通信装置102(シンク機器)に、ソース機器以外の外部装置から画像データと音声データの少なくとも一方を含むデータ(コンテンツ)を取得して再生させることができる。ここで外部装置とは、例えばクラウドサーバ103のことである。具体的には、ソース機器からシンク機器に外部装置上にあるコンテンツの再生要求が送信されると、シンク機器は受信した再生要求に基づいて外部装置からコンテンツを取得し、再生する。ソース機器からシンク機器に送信される再生要求には、コンテンツの関連情報が含まれ、シンク機器は再生要求に含まれるコンテンツの関連情報に基づいて外部装置からコンテンツを取得し、再生する。コンテンツの関連情報とは、例えばコンテンツを識別するための識別子や、コンテンツの再生にあたって利用するサービスを識別するためのサービス名、コンテンツの所在情報(URI、URL)などの情報である。再生要求には、これらの情報の全てが含まれていてもよいし、一部のみが含まれていてもよい。コンテンツの識別子とは、コンテンツを一意に決定するための識別子のことである。また、コンテンツの所在情報とは、外部装置においてコンテンツが格納されている格納場所を示す情報である。なお、URIはUniform Resource Identifierの、URLはUniform Resource Locatorの夫々略である。通信装置101、通信装置102、および通信装置104は、例えばWi−Fi Miracast規格に準拠したコンテンツリダイレクトを行う。
通信装置101、および通信装置104の具体的な例としては、タブレット、スマートフォン、PC、携帯電話、カメラ、ビデオカメラなどが挙げられるが、これらに限定されない。通信装置101および通信装置104は、ソース機器としてのミラーリング機能と、ダイレクトストリーミング機能と、コンテンツリダイレクト機能との少なくとも何れか一つの機能に相当する処理を実行できる通信装置であればよい。
また、通信装置102の具体的な例としては、タブレット、スマートフォン、PC、携帯電話、テレビ、テレビ用アダプタ、セットトップボックス、ヘッドマウントディスプレイなどが挙げられる。また他に通信装置102の具体的な例として、プロジェクタ、ディスプレイ、カーナビゲーション装置などが挙げられるが、これらに限定されない。通信装置102は、シンク機器としてのミラーリング機能と、ダイレクトストリーミング機能と、コンテンツリダイレクト機能との少なくとも何れか一つの機能に相当する処理を実行できる通信装置であればよい。
本実施形態では、通信装置102が通信装置101と、ミラーリングを実行しており、通信装置101から送信された再生要求に基づいてコンテンツを再生している場合に、通信装置102に対して新たなコンテンツの再生要求が送信される。あるいは、通信装置101と通信装置102とが、ダイレクトストリーミングあるいはコンテンツリダイレクトを実行している場合であってもよい。通信装置102は、再生中のコンテンツの再生要求と、新たなコンテンツの再生要求との夫々に、ユーザを識別可能なユーザ識別情報が含まれているかを判定する。夫々の再生要求にユーザ識別情報が含まれており、かつそれらが同じ場合、通信装置102は受信した再生要求に基づいて新たなコンテンツの再生を開始する。一方、夫々の再生要求にユーザ識別情報が含まれているが、それらが異なる場合、通信装置102は再生中のコンテンツの再生を継続する。これにより、二つの再生要求を送信したユーザが同じ場合は、通信装置102が新たな再生要求に基づいたコンテンツの再生を開始することで、ユーザは再生中のコンテンツの停止処理を行うことなく次のコンテンツの再生を開始できる。一方、二つの再生要求を送信したユーザが異なる場合は、通信装置102が再生中のコンテンツの再生を継続することで、別のユーザから割り込みで再生要求が出された場合であってもユーザは再生中のコンテンツの閲覧を継続することができる。通信装置102は、再生要求に含まれるユーザ識別情報に基づいてコンテンツの再生を制御することで、ユーザの利便性を向上させることができる。
なお、通信装置102が再生中のコンテンツの再生要求と、新たなコンテンツの再生要求との少なくとも一方にユーザ識別情報が含まれていなかった場合、通信装置102は、夫々の再生要求を送信した送信元の通信装置(送信元装置)が同じであるかを判定する。二つの再生要求を送信した送信元装置が同じ送信元装置である場合、通信装置102は受信した再生要求に基づいて新たなコンテンツの再生を開始する。一方、二つの再生要求を送信した送信元装置が異なる送信元装置である場合、通信装置102は再生中のコンテンツの再生を継続する。これにより、二つの再生要求を送信した送信元装置が同じ装置である場合は、通信装置102が新たな再生要求に基づいたコンテンツの再生を開始することで、ユーザは再生中のコンテンツの停止処理を行うことなく次のコンテンツの再生を開始することができる。一方、二つの再生要求を送信した送信元装置が異なる装置である場合は、通信装置102が再生中のコンテンツの再生を継続することで、別の通信装置から割り込みで再生要求が出された場合であってもユーザは再生中のコンテンツの閲覧を継続することができる。
なお通信装置102は、再生中のコンテンツの再生要求と、新たなコンテンツの再生要求とにユーザ識別情報が含まれていたかあるいはいなかったかに関わらず、夫々の再生要求を送信した送信元装置が同じかどうかに基づいてコンテンツの再生を制御してもよい。
本実施形態において、図1の各装置はIEEE802.11シリーズ規格に準拠した無線通信を行うが、これに加えて、Bluetooth(登録商標)、NFC、UWB、ZigBee、MBOAなどの他の無線通信方式に準拠した無線通信も利用してよい。なお、UWBはUltra Wide Bandの略であり、MBOAはMulti Band OFDM Allianceの略である。なお、OFDMはOrthogonal Frequency Division Multiplexingの略である。また、NFCはNear Field Communicationの略である。UWBには、ワイヤレスUSB、ワイヤレス1394、WiNETなどが含まれる。また、有線LANなどの有線通信方式に準拠した通信方式も利用してよい。
また、本実施形態において、通信装置101、通信装置102、および通信装置104はWi−Fi Miracast規格を用いてミラーリングを行うが、これに限らず、AirplayやChromecastといった他の通信方式を用いてもよい。また、通信装置101、通信装置102、および通信装置104は、ダイレクトストリーミングやコンテンツリダイレクトについても同様にWi−Fi Miracast規格とは異なる他の通信方式を用いてもよい。
また、通信装置101、通信装置102、および通信装置104は、Wi−Fi Direct規格に準拠したネットワークあるいはインフラストラクチャネットワークを介してミラーリングを行うとした。これに加えて、通信装置101、通信装置102、および通信装置104は、これらのネットワークを介してASPセッションを確立し、確立したASPセッションを介してミラーリングを行うことも可能である。なお、ASPはApplication Service Platformの略である。また、通信装置101、通信装置102、および通信装置104は、ダイレクトストリーミング、コンテンツリダイレクトについても同様にASPセッションを介して行ってもよい。
図2に、通信装置102のハードウェア構成を示す。
通信装置102は、記憶部201、制御部202、機能部203、入力部204、出力部205、通信部206、およびアンテナ207を備える。
記憶部201はROMやRAM等の1以上のメモリにより構成され、後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。ROMはRead Only Memoryの、RAMはRandom Access Memoryの夫々略である。なお、記憶部201として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部201が複数のメモリ等を備えていてもよい。
制御部202はCPUやMPU等の1以上のプロセッサにより構成され、記憶部201に記憶されたコンピュータプログラムを実行することにより通信装置102全体を制御する。CPUはCentral Processing Unitの、MPUはMicro Processing Unitの略であり、コンピュータとして機能する。なお、制御部202は、記憶部201に記憶されたコンピュータプログラムとOS(Operating System)との協働により通信装置102全体を制御するようにしてもよい。また、制御部202がマルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置102全体を制御するようにしてもよい。
また、制御部202が記憶部201に記憶されたコンピュータプログラムを実行することで、シンク機器としてのミラーリング機能を実現する。シンク機器としてのミラーリング機能とは、ソース機器が表示している画面をキャプチャし符号化した画像データや、再生している音声を符号化した音声データを含むコンテンツを受信し、復号し、ソース機器と同期して再生する機能である。
また、制御部202が記憶部201に記憶されたコンピュータプログラムを実行することで、シンク機器としてのコンテンツリダイレクト機能を実現する。シンク機器としてのコンテンツリダイレクト機能とは、ソース機器から送られた情報を基にソース機器以外の外部装置から再生したいコンテンツを取得し、再生する機能である。さらに、シンク機器としてのコンテンツリダイレクト機能として、通信装置102はソース機器から受信した再生制御情報に基づいて、自装置が行っているコンテンツの再生を制御することができる。
また、制御部202が記憶部201に記憶されたコンピュータプログラムを実行することで、シンク機器としてのダイレクトストリーミング機能を実現する。シンク機器としてのダイレクトストリーミング機能とは、ソース機器から送信されたコンテンツを受信し、再生する機能である。
また、制御部202は、機能部203を制御して、撮像やコンテンツの閲覧などの所定の処理を実行する。機能部203は、通信装置102が所定の処理を実行するためのハードウェアである。例えば、通信装置102がカメラである場合、機能部203は撮像部であり、撮像処理を行う。
入力部204は、ユーザからの各種操作の受付を行う。出力部205は、モニタ画面やスピーカーなどを介してユーザに対して各種出力を行う。ここで、出力部205による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力などであってもよい。なお、出力部205が出力するモニタ画面は、通信装置102が備えるモニタ画面である。あるいは、通信装置102と接続された他の装置が有するモニタ画面であってもよい。なお、タッチパネルのように入力部204と出力部205の両方を1つのモジュールで実現するようにしてもよい。入力部204、出力部205は、夫々通信装置102とは別体であってもよい。また、出力部205は、画面上への表示や、スピーカーによる音声出力、振動出力などを行うことで、ユーザに対して通知を行う通知部としての機能を実現する。また、入力部204と、出力部205は、夫々通信装置102と一体であってもよいし、別体であってもよい。通信装置102は入力部204として、例えば通信装置102と一体のハードキーやタッチスクリーンなどを有していてもよいし、通信装置102と別体のリモコンなどを有していてもよい。また、通信装置102は出力部205として、例えば通信装置102と一体のモニタ画面や光源などを有していてもよいし、通信装置102と別体のディスプレイやスピーカーを有していてもよい。
通信部206は、IEEE802.11シリーズに準拠した無線通信の制御や、有線LAN等の有線通信の制御、IP(Internet Protocol)通信の制御を行う。また、通信部206はアンテナ207を制御して、無線通信のための無線信号の送受信を行う。通信装置102は通信部206を介して、画像データや文書データ、映像データ等のコンテンツを通信装置101と通信する。
通信装置101は、通信装置102と同様のハードウェア構成を有するが、通信装置101の制御部202は、記憶部201に記憶されたコンピュータプログラムを実行することで、ソース機器としてのミラーリング機能を実現する。また、通信装置104も通信装置101と同様である。ソース機器としてのミラーリング機能とは、自装置が表示している画面をキャプチャし符号化した画像データや、再生している音声を符号化した音声データを含むコンテンツをシンク機器に送信する機能である。
また、制御部202が記憶部201に記憶されたコンピュータプログラムを実行することで、ソース機器としてのコンテンツリダイレクト機能を実現してもよい。ソース機器としてのコンテンツリダイレクト機能とは、シンク機器で再生するコンテンツを、シンク機器がソース機器以外の外部装置から取得するために必要な情報をシンク機器に送信する機能である。さらに、ソース機器としてのコンテンツリダイレクト機能として、通信装置101はシンク機器で再生されているコンテンツの再生を制御するための再生制御情報をシンク機器に送信することができる。
また、制御部202が記憶部201に記憶されたコンピュータプログラムを実行することで、ソース機器としてのダイレクトストリーミング機能を実現してもよい。ソース機器としてのダイレクトストリーミング機能とは、記憶部201に保持しているコンテンツをシンク機器に送信する機能である。
なお、通信装置101、通信装置102および通信装置104は、画像の表示と音声の再生のどちらも行える装置である。しかし、通信装置101、通信装置102および通信装置104の少なくとも一つは、画像の表示あるいは音声の再生の何れか一方しか行えない装置であってもよい。
通信装置101と通信装置102とが、ミラーリングとダイレクトストリーミングとコンテンツリダイレクトとの何れかを実行中に、新たなコンテンツの再生要求が割り込む際に実行する処理について、図3と図4を用いて説明する。図3は、通信装置101が記憶部201に記憶されたコンピュータプログラムを制御部202に読み出し、実行することで実現される処理を示すフローチャートである。また、図4は、通信装置102が記憶部201に記憶されたコンピュータプログラムを制御部202に読み出し、実行することで実現される処理を示すフローチャートである。
図3のステップS301は、通信装置101の電源が入ることで開始される。しかし、これに限らず、通信装置101において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。また、図4のステップS401は、通信装置102の電源が入ることで開始されるが、これに限らず、通信装置102において所定のアプリケーションが起動したことに応じて開始するようにしてもよい。
まず通信装置101は、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始するか判定する(ステップS301)。本判定は、通信装置101の入力部204を介してユーザから、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかの開始操作が行われたか否かに基づいて行われる。ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかの開始操作とは、ユーザによる制御ボタンの押下である。これに限らず、通信装置101は、所定のキーボード操作やマウス操作、タッチ操作、ジョイスティック操作等のユーザ操作を開始操作としてもよい。また、通信装置101は、所定のジェスチャーや、リモコンの制御ボタンの押下、所定のコンテンツの再生開始、所定のアプリケーションの立ち上げなどのユーザ操作を開始操作としてもよい。開始操作が行われなかった場合、通信装置101はミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れも開始しないと判定し(ステップS301のNo)、再度ステップS301の処理を行う。一方、開始操作が行われた場合、通信装置101はミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始すると判定し(ステップS301のYes)、ステップS302の処理を行う。
なお、通信装置101は、ユーザによる開始操作に限らず、自動的にミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始してもよい。通信装置101は、例えば、所定のアプリケーションの立ち上げや、所定のコンテンツの再生開始などから所定の時間が経過したことに基づいてミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始してもよい。また、通信装置101は、入力部204を介して所定の画像または所定の人物などを認識したことに基づいてミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始してもよい。
通信装置102も、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始するか判定する(ステップS401)。本判定は、ステップS301と同様に行われる。通信装置102は、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れも開始しないと判定すると(ステップS401のNo)、再びステップS401の処理を行う。一方、通信装置102はミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを開始すると判定すると(ステップS401のYes)、ステップS402の処理を行う。
次に、通信装置101と通信装置102との間でデバイス探索が行われる(ステップS302、ステップS402)。通信装置101および通信装置102は、Wi−Fi Direct規格に準拠した無線通信、あるいはインフラストラクチャネットワークを介してミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを行うデバイスを探索する。
通信装置101と通信装置102とがWi−Fi Direct規格に準拠した方式で、デバイスを探索する場合、ステップS302からステップS304とステップS402からステップS403の処理は以下のように行われる。具体的には、まず通信装置101がデバイス発見要求としてIEEE802.11シリーズ規格に準拠したProbe Requestを送信し、通信装置102は応答としてProbe Responseを送信する。これにより通信装置101と通信装置102とは互いを発見する。なお、Probe Request/Responseは、夫々送信する装置が逆であってもよい。
なお、通信装置102は、ステップS401の判定を、通信装置101からデバイス探索のための無線信号を受け付けたか否かに基づいて判定してもよい。通信装置102は、通信装置101からデバイス探索のための無線信号として、例えばProbe Requestを受信したことに基づいて、ステップS401でYesと判定してもよい。
通信装置101は発見したデバイスの一覧を出力部205であるモニタ画面上に表示する。ユーザは通信装置101のモニタ画面上に表示されたデバイスの一覧から、ミラーリングを行うデバイスを選択する。通信装置101は、ユーザによって選択されたデバイスを、ミラーリングを行う接続相手装置として選択する(ステップS303)。なお、本ステップにおける接続相手装置の選択は、過去にミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを行ったことがあるデバイスの履歴に基づいて通信装置101が行ってもよい。具体的には、通信装置101は、検出されたデバイスの中に、過去にミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかを行ったことがあるデバイスがある場合、当該デバイスを接続相手装置として選択する。あるいは、通信装置101は、検出したデバイスの中から最も通信装置101と距離が近いデバイスを接続相手装置として選択してもよいし、最も通信品質がよいデバイスを接続相手装置として選択してもよい。なお、ステップS303の接続相手装置の選択を通信装置102が行ってもよい。
また、本フローチャートではデバイス探索でProbe Request/Responseを用いたが、Wi−Fi Miracast規格に基づき、IEEE802.11シリーズ規格に準拠したBeaconなどの無線信号を用いてもよい。また、通信装置101あるいは通信装置102は、NFC、QRコード(登録商標)、Bluetooth low energyなどを利用してデバイス探索を行ってもよい。例えば、通信装置101がNFCの通信機能を有しているとき、通信装置101と通信装置102とのペアリングをNFCタッチ操作で行い、以降の通信はWi−Fi Miracast規格に基づいて行うことも可能である。
ここで、ステップS304およびステップS403の処理を行う前に、通信装置101と通信装置102とは、Wi−Fi Direct規格に準拠したサービス探索を行ってもよい。サービス探索を行うことで通信装置101と通信装置102との少なくとも一方は相手装置が提供するサービスについての情報を得ることができる。
次に、通信装置101は、ステップS303で選択された接続相手装置と接続セットアップを行う(ステップS304)。ここで、ステップS303において通信装置102が接続相手装置として選択されたとする。そのため、通信装置102も通信装置101と接続セットアップを行う(ステップS403)。具体的に、通信装置101と通信装置102とは、Wi−Fi Miracastの接続処理を行い、その後、TCPの接続処理を行う。これらの接続処理を行うことで、通信装置101と通信装置102との間の接続セットアップが完了する。なお、TCPとはTransmission Control Protocolの略である。
ここで、ステップS304とステップS403の詳細な手順について説明する。Wi−Fi Direct規格に準拠した無線通信においてネットワークを構築する役割を担うGroup Owner(GO)となる通信装置を決定するため、通信装置101はGO Negotiation Requestを送信する。この信号には、通信装置101のGOになりたい度合いを示すIntent値が含まれる。
GO Negotiation Requestを受信した通信装置102は、応答として通信装置102のIntent値を含むGO Negotiation Responseを送信する。GO Negotiation Responseを受信した通信装置101は、通信装置101と通信装置102とのIntent値の大小を比較し、Intent値が大きかった方の通信装置をGOとして決定する。他方、Intent値が小さかった方の通信装置がCLとして決定され、GOが構築するネットワークに参加する役割を担う。
通信装置101は、Intent値を比較した結果を含めたGO Negotiation Confirmを通信装置102に送信する。本実施形態では、通信装置101のIntent値が通信装置102のIntent値より大きかったため、通信装置101がGOに、通信装置102がCLになったものとする。
その後、WPS方式を用いて接続やセキュリティに関する情報など、通信装置101と通信装置102とのネットワーク接続を確立するために必要なパラメータ情報を共有する。なお、WPSはWi−Fi Protected Setupの略である。そして、交換したパラメータ情報に基づいて、CLである通信装置102がGOである通信装置101へAssociation Requestを送信する。当該信号を受信した通信装置101は、応答としてAssociation Responseを送信する。
以上により、通信装置101と通信装置102との間でWi−Fi Direct規格に準拠したWi−Fi Miracastの接続処理が完了する。なお、本実施形態において、通信装置101をGO、通信装置102をCLとしたが、逆でもよい。また、GOが送信する各無線信号をCLが送信してもよい。この場合、CLが送信する無線信号をGOが送信する。また、Wi−Fi Miracastの接続処理を行うにあたって、通信装置101および通信装置102は、上記の無線信号の他にBeacon、Reassociationなどを用いてもよい。また通信装置101と通信装置102は、他にP2P Invitation、Provision Discoveryなどを用いてもよい。
続いて、通信装置101と通信装置102との間でTCP接続を確立する。この接続は通信装置101がTCPサーバの、通信装置102がTCPクライアントの役割を担い、Three−way handshakeを行うことで確立される。
このように、通信装置101と通信装置102の間でWi−Fi Miracastの接続処理が完了し、TCP接続が確立されたことにより、接続セットアップが完了する。
なお、通信装置101と通信装置102とがインフラストラクチャネットワークを介してミラーリングを行うデバイスを探索する場合、ステップS302からステップS304とステップS402からステップS403の処理は以下のように行われる。
インフラストラクチャネットワークを介してミラーリングを行うデバイスの探索は、マルチキャストDNS(multicast DNS、mDNS)によって行われる。なお、DNSとはDomain Name Systemの略である。まず、通信装置101が接続しているAP110を介して、インフラストラクチャネットワークに参加している他の通信装置に対してDNSパケットをマルチキャスト送信する。通信装置101は、AP110を介してミラーリングを行うことができるデバイスから応答を受信することで当該デバイスを検出する。具体的には、通信装置101はAP110を介して、DNSレコードを含むDNSパケットを送信する。DNSレコードは、通信装置101がWi−Fi Miracast規格に準拠した無線通信を行うことができる通信装置を指定して探索していることを示す。DNSレコードにはソース機器を示すdisplaysrc、またはシンク機器を示すdisplayの何れか一つの識別子が含まれる。通信装置101はミラーリングを行うデバイスとしてシンク機器を探索するので、DNSレコードとしてはシンク機器を示すdisplayを含める。なお通信装置101は、DNSパケットを任意の送信間隔、任意の送信回数で送信することが可能である。通信装置101はデバイスの探索を行う場合、所定の回数に達するまでDNSパケットの送信を繰り返し行うものとする。あるいは、通信装置101は所定の時間が経過するまでDNSパケットを繰り返し送信してもよい。また、通信装置101は所定の台数の他の通信装置から応答を受信したことに基づいて、DNSパケットの送信を停止してもよい。
通信装置101はインフラストラクチャネットワークを介してミラーリングを行うデバイスの探索を行うと、探索結果を表示し、接続相手装置の選択が行われる。当該探索結果表示と、接続相手装置の選択とは、ステップS303と同様に行われる。
続いて通信装置101は選択された接続相手装置(ここでは通信装置102)に、AP110経由でmDNS問合せを送信する。ここで送信するmDNS問合せは、通信装置102の能力情報や通信装置101と通信装置102の通信とで使用するポート番号やホスト名を問合せる信号である。なお、本mDNS問合せで問い合わせる通信装置102の能力情報とは、通信装置102がシンク機器であるか、ソース機器であるか、あるいはデュアルロール機器であるかなどの情報である。mDNS問合せを受信した通信装置102は、自装置の能力情報と、ポート番号、ホスト名を含むmDNS応答を通信装置101に送信する。本応答を受信した通信装置101は、通信装置102との接続セットアップを完了する。なお、通信装置101は、通信装置102とThree−way handshakeを行うことでTCP接続を確立してもよい。
通信装置101と通信装置102とが接続セットアップを完了して以降の処理は、Wi−Fi Direct規格に準拠したネットワークを介してミラーリングを行う場合も、インフラストラクチャネットワークを介してミラーリングを行う場合も共通である。
続いて通信装置101および通信装置102は、Capability Negotiationを行う(ステップS305、ステップS404)。Wi−Fi Miracast規格においてCapability NegotiationにはRTSP(Real Time Streaming Protocol)を利用するよう規定されている。RTSPは、ストリーミングを制御するためのプロトコルである。また、下位層のトランスポートプロトコルには一般的にTCPが用いられる。Capability NegotiationにはRTSP M1〜M4までの所定のメッセージが通信装置101と通信装置102との間で交換される。通信装置101はRTSPメッセージの交換によって通信装置102の能力情報を得て、使用するパラメータを決定し通信装置102に通知する。通信装置102は、通信装置101から通知されたパラメータを設定する。能力情報とは具体的に、例えば画面については、通信装置102が対応する画面の解像度やフレームレート、解像度などの情報である。また音声については、通信装置102が対応するコーデックやサンプリング周波数などの情報である。Capability Negotiationの結果、通信装置101と通信装置102との間で、ミラーリングを行う際に使用する画面や音声の符号化方式の種類や映像の解像度、フレームレートなどが決定される。なお、通信装置101と通信装置102とが送受信する能力情報はこれらの情報の一部であってもよい。
Capability Negotiationが完了すると、通信装置101と通信装置102とはWi−Fi Miracast規格に準拠したセッションを確立する(ステップS306、ステップS405)。Wi−Fi Miracast規格では、セッションの確立にはRTSP M5〜M7までの所定のメッセージが通信装置101と通信装置102との間で交換される。これらのRTSPメッセージの交換により、通信装置101と通信装置102との間で使用されるポート番号の設定などが行われ、セッションが確立される。
通信装置101は、通信装置102とセッションを確立すると、再生要求を送信する(ステップS306)。ここで送信される再生要求は、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの内、ステップS301で開始すると判定されたものの再生要求である。
例えばダイレクトストリーミングを開始する場合、通信装置101はセッションを確立した通信装置102と、再度RTSP M3メッセージとRTSP M4メッセージの交換を行うことでダイレクトストリーミングを開始する。このとき、通信装置101から送信されるRTSP M4リクエストには、ダイレクトストリーミングの開始を要求するために、activeに設定されたwfd2−direct−streaming−modeが含まれる。RTSP M4リクエストに限らず、ダイレクトストリーミングの再生要求であると識別できるパラメータが含まれた再生要求が通信装置101から通信装置102に送信される。
例えばコンテンツリダイレクトを開始する場合、通信装置101はダイレクトストリーミングと同様に、通信装置102と再度RTSP M3メッセージとRTSP M4メッセージの交換を行う。このとき、通信装置101から送信されるRTSP M4リクエストには、コンテンツリダイレクトの開始を要求するために、コンテンツの関連情報を含むパラメータが含まれる。RTSP M4リクエストに限らず、コンテンツリダイレクトの再生要求であると識別できるパラメータが含まれた再生要求が通信装置101から通信装置102に送信される。
例えばミラーリングを開始する場合、通信装置101は、ミラーリングの再生要求であると識別できるパラメータが含まれた再生要求を通信装置102に送信してもよい。あるいは、セッションを確立する前に通信装置102に送信したメッセージであって、コンテンツリダイレクトやダイレクトストリーミングの再生要求であると示すパラメータが含まれないメッセージをミラーリングの再生要求であるとしてもよい。具体的には、ステップS305で通信装置102に送信した、コンテンツリダイレクトやダイレクトストリーミングのパラメータを含まないRTSP M4メッセージを、ミラーリングの再生要求であるとしてもよい。この場合、通信装置101はステップS306をスキップする。
通信装置102は、通信装置101から再生要求を受信すると(ステップS406)、自装置の再生状態と、受信した再生要求に含まれるユーザ識別情報と、ソース機器の識別情報(機器識別情報)を取得する(ステップS407)。自装置の再生状態とは、通信装置102がミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの何れかによるコンテンツの再生を実行中であるか否かを示す情報である。なお、通信装置102はステップS406で所定の時間が経過するまでに再生要求を受信しなかった場合、通信装置101がミラーリングの再生要求を送信してきたと判定し、ステップS407の処理を行ってもよい。
また、ユーザ識別情報とは、通信装置101を操作しているユーザを識別するための情報であって、再生要求に含まれる情報から取得することができる。あるいは再生要求に限らず、通信装置102は、ステップS404やステップS405でセッションの確立のために通信装置101から受信した各メッセージに含まれる情報から取得してもよい。例えばコンテンツリダイレクトの場合は、コンテンツの関連情報であるURI(例えば、http://foo:password@xxx.jp)にユーザ名(foo)を含めることが可能であるため、URIから得たユーザ名をユーザ識別情報としてもよい。なお、ユーザ識別情報は、取得できる場合と取得できない場合とがある。
ソース機器の識別情報とは、通信装置101を識別するための情報であり、ステップS406で受信した再生要求と共に無線LANフレームに含まれていた送信元MACアドレスを参照することで取得できる。なお、MACアドレスは、Media Access Control addressの略である。あるいは、MACアドレスに限らず、無線LANフレームに含まれていたP2P Device Addressを参照して取得してもよいし、送信元IPアドレスを参照して取得してもよい。あるいは通信装置101を識別するためのUUIDなどの情報を、他のプロトコルを利用して取得してもよい。なお、UUIDとはUniversally Unique Identifierの略である。ソース機器の識別情報は、ステップS404やステップS405でセッションの確立のために通信装置101から受信した各メッセージに含まれる情報を参照することで取得してもよい。なお、ソース機器の識別情報とユーザ識別情報とは、少なくとも一方が取得できればよい。
なお、ユーザ識別情報はユーザを、ソース機器の識別情報はソース機器を特定できる情報であればよい。
通信装置102は、ステップS407の処理を行うと、まず自装置の再生状態が再生中であるかを判定する(ステップS408)。通信装置102は、ステップS407で取得した再生状態に基づいて本ステップの判定を行う。通信装置102は、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れかによるコンテンツの再生を実行中の場合は、本ステップでYesと判定する。一方、通信装置102は、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの何れの方法によるコンテンツの再生も行っていない場合は、本ステップでNoと判定する。
通信装置102は、ステップS408でNoと判定すると、通信装置101から受信した再生要求に対してOKを示す応答を通信装置101に送信する(ステップS421)。
通信装置101は、通信装置102から再生要求に対する応答を受信すると、それがOKを示す応答であるかを判定する(ステップS308)。通信装置101は、通信装置102から受信した応答が、OKを示す応答である場合、本ステップでYesと判定し、通信装置102から受信した応答がOK以外を示す応答(例えばNGや、エラーを示す応答)である場合、本ステップでNoと判定する。
通信装置101は、ステップS308でYesと判定すると、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの何れかの内、ステップS301で指定されたものを開始する(ステップS309)。同様に、通信装置102も、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの内、通信装置101と対応するものを開始する(ステップS422)。
具体的には、ミラーリングを開始する場合、通信装置101は自装置が表示している画面をキャプチャし、符号化した画像データと、再生している音声を符号化した音声データとの少なくとも何れか一つを含むコンテンツを生成する。そして通信装置101は生成したコンテンツをストリームとして通信装置102に送信する。通信装置102は受信したコンテンツを再生し、通信装置101と同期して再生することで、通信装置101と表示している画面や再生している音声を共有する。
ダイレクトストリーミングを開始する場合、通信装置101は、自装置が記憶しているコンテンツを復号および再符号化することなく、そのままの符号化形式でストリームとして通信装置102に送信する。通信装置102は受信したコンテンツを再生する。この場合に、通信装置101はコンテンツを再生する必要が無いため、通信装置101と通信装置102とは画面や音声を共有しなくてもよい。また、ユーザは通信装置102におけるコンテンツの再生制御を、通信装置101を利用して行ってもよい。
コンテンツリダイレクトを開始する場合、通信装置102は、通信装置101から受信したコンテンツの関連情報(例えばコンテンツのURI)を用いてクラウドサーバ103からコンテンツを取得し、再生する。通信装置102がコンテンツを再生している間も、通信装置101と通信装置102とのセッションは維持される。通信装置102はセッションを介して、自装置におけるコンテンツの再生状況(例えば再生位置や再生速度など)を通信装置101に送信することができる。また、通信装置101もセッションを介して、通信装置102におけるコンテンツの再生を制御するための制御信号を通信装置102に送信することができる。そのため、ユーザは通信装置101をリモコンのように利用して、通信装置102におけるコンテンツの再生を制御することができる。
通信装置101は、ステップS309で開始したコンテンツの再生を終了するか判定する(ステップS310)。同様に、通信装置102も、ステップS422で開始したコンテンツの再生を終了するか判定する(ステップS423)。本判定は、コンテンツの再生の終了を指示するユーザ操作が通信装置101、あるいは通信装置102に対して行われたか否かに基づいて行う。例えば通信装置101がコンテンツの再生の終了を指示するユーザ操作を受け付けた場合、通信装置101はステップS310でYesと判定し、通信装置102にコンテンツの再生の終了を指示するメッセージを送信する。あるいは通信装置101は、通信装置102にセッションの切断のためのメッセージを送信してもよい。通信装置102は、これらのメッセージの何れかを受信したことに基づいてステップS423でYesと判定する。なお、通信装置101ではなく通信装置102がユーザ操作を受け付ける装置となってもよく、その場合、通信装置101は通信装置102から受信したメッセージに基づいてコンテンツの再生を終了するか判定する。
なお、通信装置101と通信装置102とがダイレクトストリーミングを行っている場合、通信装置101あるいは通信装置102は、通信装置102がコンテンツを終端まで再生したことに基づいて、コンテンツの再生を終了すると判定してもよい。あるいは、通信装置102が複数のコンテンツが登録されている再生リストに基づいてコンテンツの再生を行っている場合、再生リストの最後に登録されているコンテンツを終端まで再生したことに基づいて、コンテンツの再生を終了すると判定してもよい。通信装置101と通信装置102とがコンテンツリダイレクトを行っている場合も同様である。
通信装置101および通信装置102は、夫々ステップS310とステップS423でYesと判定すると、実行中のコンテンツの再生を終了し、図3と図4のフローチャートのフローを終了する。このとき、通信装置101は通信装置102とのセッションを切断する。通信装置102も同様に、通信装置101とのセッションを切断する。
一方、通信装置102はステップS423でNoと判定すると、新たな再生要求を受信したかを判定する(ステップS424)。新たな再生要求とは、現在通信装置102が再生しているコンテンツとは異なるコンテンツの再生開始を要求する要求である。通信装置102は、新たな再生要求を受信したか否かに基づいて本ステップの判定を行う。通信装置102は、新たな再生要求を受信しなかった場合、本ステップでNoと判定し、再度ステップS423の処理を行う。一方、新たな再生要求を受信した場合、通信装置102は本ステップでYesと判定すると、再度ステップS407の処理を行う。
ここで、ステップS408の処理に戻る。通信装置102が既にコンテンツを再生中の場合、通信装置102はステップS408でYesと判定し、ステップS409の処理を行う。
通信装置102は、ユーザ識別情報を取得できたか否かを判定する(ステップS409)。通信装置102は、新たに受信した再生要求に含まれるユーザ識別情報と、現在再生中のコンテンツの再生要求に含まれていたユーザ識別情報との両方を取得できたか否かに基づいて本判定を行う。通信装置101は、両方のユーザ識別情報を取得できた場合は、本ステップにおいてYesと判定し、少なくとも一方のユーザ識別情報を取得できなかった場合は、本ステップにおいてNoと判定する。なお、現在再生中のコンテンツに関するユーザ識別情報について、通信装置102は再生要求を受信した際に取得したユーザ識別情報を保持していてもよいし、新たな再生要求を受信した際に再度取得するようにしてもよい。
通信装置102は、ステップS409でNoと判定した場合、新たに受信した再生要求が、現在再生中のコンテンツの再生要求を送信した通信装置と同じ通信装置から送信されたものであるかを判定する(ステップS410)。本判定は、ステップS407で取得したソース機器の識別情報と、現在再生中のコンテンツに関するソース機器の識別情報とが同じであるか否かに基づいて判定される。なお、現在再生中のコンテンツに関するソース機器の識別情報は、現在再生中のコンテンツについての再生要求を受信した際に取得し、保持したものを用いる。あるいは、新たな再生要求を受信した際に、現在再生中のコンテンツに関するソース機器の識別情報を取得するようにしてもよい。新たに受信した再生要求についてのソース機器の識別情報と、現在再生中のコンテンツについてのソース機器の識別情報とが一致する場合、つまり、両方の再生要求が同じソース機器から送信されたものである場合、通信装置102は本ステップでYesと判定する。一方、新たに受信した再生要求についてのソース機器の識別情報と、現在再生中のコンテンツについてのソース機器の識別情報とが一致しない場合、通信装置102は本ステップでNoと判定する。つまり、夫々の再生要求が異なるソース機器から送信されたものである場合、通信装置102は本ステップでNoと判定する。
なお、通信装置102は、ステップS410において、現在再生中のコンテンツに関するソース機器の識別情報と、新たに受信した再生要求に関するソース機器の識別情報とが一致するか否かに基づいて判定を行った。しかしこれに限らず、通信装置101は夫々の識別情報から特定される通信装置が一致するか否かに基づいてステップS410の判定を行ってもよい。具体的には、通信装置101は、夫々の識別情報が一致しなくても、夫々の識別情報から特定される通信装置が一致する場合、ステップS410においてYesと判定し、夫々の識別情報から特定される通信装置が一致しない場合、ステップS410においてNoと判定する。例えば通信装置102が、通信装置毎にMACアドレスとUUIDを対応付けたテーブルを保持しているとする。また、通信装置102が現在再生中のコンテンツに関するソース機器の識別情報としてMACアドレスを取得しているとする。このような通信装置102が新たに受信した再生要求に関する識別情報としてUUIDを取得したとする。通信装置102が取得したUUIDが示す通信装置と、現在再生中のコンテンツに関するMACアドレスが示す通信装置が同じ場合、通信装置102はステップS410でYesと判定する。
通信装置102は、ステップS410でYesと判定した場合、現在実行中のミラーリングまたはコンテンツリダイレクトまたはダイレクトストリーミングを終了し(ステップS420)、ステップS421以降の処理を実行する。なお、通信装置102は、先にステップS421の処理を行ってから、ステップS420の処理を行ってもよい。また、新たに受信した再生要求と、再生していたコンテンツの再生要求との両方を送信した通信装置が同一である場合、通信装置102はステップS420の処理をスキップして、新たなコンテンツの再生を開始するようにしてもよい。例えば、通信装置102が通信装置101とコンテンツリダイレクトによるコンテンツの再生を行っていた場合に、通信装置101からコンテンツリダイレクトによる新たなコンテンツの再生の要求を受信した場合、単に新たなコンテンツの再生を開始すればよい。一方、通信装置102はステップS410でNoと判定した場合、ステップS412の処理を行う。
ステップS409の処理に戻る。通信装置102はステップS409でYesと判定すると、新たな再生要求を送信したユーザと、現在再生中のコンテンツの再生要求を送信したユーザとが同一のユーザであるかを判定する(ステップS411)。具体的には、通信装置102は、新たに受信した再生要求に含まれるユーザ識別情報と、現在再生中のコンテンツの再生要求に含まれていたユーザ識別情報とが一致するか否かを判定する。両方のユーザ識別情報が一致する場合、通信装置102は、両方の再生要求を同一のユーザが送信したと判定し、本ステップでYesと判定する。一方、二つのユーザ識別情報が一致しなかった場合、通信装置102は、夫々の再生要求を異なるユーザが送信したと判定し、本ステップでNoと判定する。
なお、通信装置102は、ステップS411において、現在再生中のコンテンツに関するユーザ識別情報と、新たに受信した再生要求に関するユーザ識別情報とが一致するか否かに基づいて判定を行った。しかしこれに限らず、通信装置101は夫々のユーザ識別情報から特定されるユーザが一致するか否かに基づいて、ステップS411の判定を行ってもよい。具体的には、通信装置101は、夫々のユーザ識別情報が一致しなくても、夫々のユーザ識別情報から特定されるユーザが一致する場合、ステップS411においてYesと判定する。また、通信装置101は、夫々のユーザ識別情報から特定されるユーザが一致しない場合、ステップS411においてNoと判定する。例えば通信装置102が、サービス毎にユーザとユーザ識別情報とを対応付けたテーブルを保持しており、予めユーザによって同じユーザが利用する異なるサービスのユーザ識別情報が紐づけられているとする。また、通信装置102が現在再生中のコンテンツに関するユーザ識別情報として、サービスAのユーザ識別情報を取得しているとする。このような通信装置102が新たに受信した再生要求に関するユーザ識別情報として、サービスAとは異なるサービスBのユーザ識別情報を取得したとする。通信装置102が取得したサービスAのユーザ識別情報から特定されるユーザと、サービスBのユーザ識別情報から特定されるユーザとが同じユーザの場合、通信装置102はステップS411でYesと判定する。
通信装置102はステップS411でYesと判定すると、ステップS420以降の処理を行う。なお、通信装置102はステップS420の処理を行う際に、新たな再生要求の送信元の通信装置と、再生していたコンテンツの再生要求の送信元の通信装置とが、同じ通信装置であるかを判定してもよい。そして、夫々の再生要求の送信元の通信装置が異なる場合、通信装置102はステップS420の処理を行う際に、再生していたコンテンツの再生要求の送信元の通信装置とのセッションを切断してもよい。また、再生していたコンテンツの再生要求の送信元の通信装置とのセッションの切断を、ミラーリングまたはダイレクトストリーミングの終了処理としてもよい。なお、Wi−Fi Miracast規格では、通信装置102がRTSP M8(RTSP TEARDOWN)メッセージを送信することで、セッションを切断することができる。
一方、通信装置102はステップS411でNoと判定すると、再生中のコンテンツの再生要求の送信元である通信装置に、割り込みの発生を通知する(ステップS412)。なお、通信装置102はステップS410でNoと判定した場合もステップS412の処理を行う。通信装置102は、例えば通信装置101とミラーリングまたはコンテンツリダイレクトまたはダイレクトストリーミングを行っており、コンテンツを再生中に、通信装置104から再生要求を受信した場合、通信装置101に割り込みの発生を通知する。ここで、通信装置102はRTSP OPTIONメッセージや、その他のRTSPメッセージ、あるいは任意のプロトコルを利用することで割り込みの発生を通知する。
通信装置101は、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの何れかを実行中であって、ステップS310でNoと判定された場合、相手装置からの割り込み発生通知を受信したかを判定する(ステップS311)。通信装置101は割り込み発生通知を受信することで、自装置とミラーリングなどを行っている通信装置102に対して割り込みが発生したことを検知することができる。通信装置101は、所定の時間が経過するまでに割り込み発生通史を受信したか否かに基づいて、本ステップの判定を行う。通信装置101は所定の時間が経過するまでに割り込み発生通知を受信しなかった場合(ステップS311のNo)、再度ステップS310の処理を行う。一方、通信装置101は所定の時間が経過するまでに割り込み発生通知を受信した場合(ステップS311のYes)、ステップS312の処理を行う。
通信装置101は、割り込み発生通知を受信すると、シンク機器に対して割り込みが発生したことをユーザに通知するために、割り込み発生を通知する通知画面を表示する(ステップS312)。具体的には、通信装置101の制御部202は、割り込み発生通知を受信したことに基づいて、割り込み発生を通知する通知画面を出力部205であるモニタ画面を介して表示する。なお、通信装置101は、通知画面を表示してから所定の時間が経過したことに基づいて通知画面を非表示にしてもよいし、所定のユーザ操作を受け付けたことに基づいて通知画面を非表示にするようにしてもよい。
ここで、図5に、通信装置101が表示する、割り込み発生の通知画面501の一例を示す。図5に示すように、通知画面501はシンク機器(ここでは通信装置102)において割り込みが発生したことを通知するとともに、シンク機器における割り込み再生を許可するか否かの選択肢が表示されている。ユーザは、シンク機器における割り込み再生の許可(図5のOK)と、割り込み再生の不許可(図5のCancel)との何れかを選択することができる。なお、ユーザが割り込み再生の許可あるいは不許可の何れかを選択する前に通知画面501が非表示になった場合、通信装置102は割り込み再生の不許可が選択されたとする。あるいは、通信装置102は割り込み再生の許可が選択されたとしてもよい。このように、通知画面501を表示することで、通信装置101は、割り込みが発生したことをユーザに通知するだけではなく、割り込み再生の可否をユーザに選択させることができる。
なお、通信装置101が通信装置102とダイレクトストリーミングあるいはコンテンツリダイレクトを実行しており、通信装置101において割り込み発生の通知画面501が表示された場合、通信装置102はコンテンツの再生を継続する。また、通信装置101が通信装置102とミラーリングを実行しており、通信装置101において割り込み発生の通知画面501が表示された場合、通信装置101と通信装置102とはミラーリングを継続してもよいし、一時停止してもよい。
通信装置101は、割り込み発生の通知画面501を表示すると、割り込み再生が許可されたか否かを判定する(ステップS313)。本ステップの判定は、ステップS312で表示された通知画面501に対して、ユーザが割り込み再生の許可と不許可とのどちらを選択したかということに基づいて行う。通信装置101は、ユーザが割り込み再生の許可(図5のOK)を選択した場合、本ステップでYesと判定する。一方、通信装置101は、ユーザが割り込み再生の不許可(図5のCancel)を選択した場合、本ステップでNoと判定する。また、通信装置101は、割り込み発生の通知画面を表示してから所定の時間が経過するまでに、ユーザが割込み再生の許可あるいは不許可(図5のOKあるいはCancel)の何れも選択しなかった場合、ステップS313でNoと判定する。
なお本実施形態では、ステップS313の割込み再生を許可するか否かのユーザ選択を、通信装置101を介して受け付けるとしたが、通信装置102を介して受け付けてもよい。具体的には、通信装置101が通知画面501を表示しており、通信装置102が通信装置101を遠隔操作する機能が有効である場合、通信装置101は通信装置102を介して受け付けたユーザ操作に基づいてステップS313の判定を行ってもよい。Wi−Fi Miracast規格において、この遠隔操作の機能はUIBCといい、シンク機器である通信装置102に入力されたユーザ操作を、ソース機器である通信装置101に送信することで実行される。なお、UIBCはUser Input Back Channelの略である。通信装置101および通信装置102は、ステップS305およびステップS404のCapability Negotiationを行う際に、必要な情報を交換することで、UIBC機能を有効にすることができる。ここで、必要な情報とは、UIBC機能への対応可否や、対応する操作機器の種別(例えばマウスやキーボードなど)を示す情報である。なお、通信装置101と通信装置102とはステップS305およびステップS404の処理を完了してから、セッションを切断するまでの間、いつでもUIBC機能の有効あるいは無効を切り替えることができる。
なお、通信装置101は、ステップS311で通信装置102から割込み発生通知を受信した場合に、通信装置102からの遠隔操作の機能を無効にしてもよい。あるいは、通信装置102が、ステップS412で通信装置101に割り込み発生通知を送信する場合に、通信装置102からの遠隔操作の機能を無効にしてもよい。この場合、通信装置101はステップS313で割込みが不許可と判定されたことに基づいて、通信装置102からの遠隔操作の機能を有効にしてもよい。あるいは通信装置102は、後述のステップS413で通信装置101から割り込みの不許可の示す応答を受信したことに基づいて、通信装置102からの遠隔操作の機能を有効にしてもよい。このように、割り込み許可あるいは不許可の判定を行う際に、通信装置102からの遠隔操作を無効にすることで、通信装置101のユーザ以外のユーザが割り込みの許可あるいは不許可を選択してしまうことを防ぐことができる。
通信装置101は、ステップS313でNoと判定すると、通信装置102に割り込み発生の通知に対する応答として、不許可の応答を送信し(ステップS316)、再度ステップS310の処理を行う。なお、通信装置101は、ステップS316で不許可の応答に限らず、エラーやNGを示す応答を送信してもよい。また、通信装置101は、割り込み発生の通知画面501を表示したことに基づいて通信装置102とのミラーリングを一時停止した場合、ステップS313でNoと判定したことに基づいて通信装置102とのミラーリングを再開する。
一方、通信装置101は、ステップS313でYesと判定すると、通信装置102に割り込み発生の通知に対する応答として、許可の応答を送信する(ステップS314)。そして、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの内、通信装置102と実行中のものを終了する(ステップS315)。このとき、通信装置101は通信装置102とのセッションを切断してもよい。あるいは、通信装置101は許可の応答の代わりに、ミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの内、通信装置102と実行中のものを終了するためのメッセージを通信装置102に送信してもよい。通信装置101は、ステップS315の処理を実行すると、図3のフローチャートのフローを終了する。
図4のステップS412に戻る。通信装置102は、ステップS412で通信装置101に割り込み発生を通知すると、通信装置101から割り込み再生について許可の応答を受信したかを判定する(ステップS413)。通信装置102は、ステップS412の処理を行った後、所定の時間が経過するまで、割り込み発生の通知に対する通信装置101の応答を待ち受ける。通信装置102は、受信した応答が割り込み再生の許可を示す応答であった場合、本ステップでYesと判定し、ステップS420の処理を行う。あるいは、通信装置102は、通信装置101からミラーリングと、ダイレクトストリーミングと、コンテンツリダイレクトとの内、通信装置102と実行中のものを終了するためのメッセージを受信したことに基づいて本ステップでYesと判定してもよい。
一方、通信装置102は、受信した応答が割り込み再生の許可を示す応答ではなかった場合、本ステップでNoと判定し、ステップS414の処理を行う。また、所定の時間以内に割り込み発生の通知に対する応答を受信しなかった場合、通信装置102は本ステップでYesと判定する。あるいは、所定の時間以内に応答を受信しなかった場合、通信装置102は本ステップでNoと判定してもよい。
通信装置102は、通信装置101から割り込み再生を許可されなかった場合、新たに受信した再生要求が、コンテンツリダイレクトの再生要求であるかを判定する(ステップS414)。本ステップの判定は、ステップS406で受信した再生要求に、コンテンツリダイレクトの再生要求であることを示すパラメータが含まれているか否かに基づいて行われる。通信装置102は受信した再生要求に、コンテンツリダイレクトの再生要求であることを示すパラメータが含まれていない場合には、本ステップでNoと判定し、ステップS417の処理を行う。一方、通信装置102は、受信した再生要求にコンテンツリダイレクトの再生要求であることを示すパラメータが含まれている場合には、本ステップでYesと判定し、ステップS415の処理を行う。
通信装置102は、新たな割り込みの再生要求がコンテンツリダイレクトの再生要求であると判定した場合、新たに受信した再生要求が示すコンテンツを再生リストに追加し、ユーザにその旨を通知する(ステップS415)。なお、既に複数のコンテンツが登録された再生リストを利用している場合、通信装置102はその最後尾に新たなコンテンツを追加する。また、通信装置102が再生リストを利用していない場合、通信装置102は新たな再生リストを作成し、現在再生中のコンテンツの再生が終了したことに基づいて、再生リストに登録されたコンテンツの再生を開始してもよい。また、通信装置102は、新たなコンテンツを再生リストに登録したことを、出力部205であるモニタ画面に表示することで、ユーザに通知する。通信装置102は通知を表示してから所定の時間が経過したことに基づいて通知を非表示にしてもよいし、ユーザが所定の操作を行ったことに基づいて通知を非表示にしてもよい。なお、新たなコンテンツの再生リストへの追加の可否をユーザに問合せ、ユーザが追加してもよいとの選択をした場合は再生リストへ追加し、ユーザが追加してはいけないとの選択をした場合は再生リストへの追加を行わないようにしてもよい。
通信装置102は、再生リストにコンテンツの情報を追加したことを、新たに受信した割り込みの再生要求の送信元の通信装置に通知し(ステップS416)、ステップS417の処理を行う。例えば通信装置102が通信装置104から割り込みのコンテンツリダイレクトの再生要求を受信した場合、通信装置102はコンテンツを再生リストに追加したことを通信装置104に通知する。
なお、通信装置102は、ステップS407で取得した再生状態が、コンテンツリダイレクトによるコンテンツの再生中を示している場合のみ、ステップS414からステップS416の処理を実行するようにしてもよい。あるいは、通信装置102は、単にステップS414からステップS416の処理をスキップしてもよい。
通信装置102は、新たに受信した割り込みの再生要求の送信元の通信装置に、再生要求に対する応答としてNG応答を送信する(ステップS417)。なお、通信装置102はステップS416の処理を行う場合、ステップS416で送信する通知をNG応答としてもよく、この場合、通信装置102はステップS417をスキップしてもよい。通信装置102は、NGを示す応答ではなく、エラーを示す応答を送信してよいし、新たに受信した再生要求の送信元の通信装置とのセッションの切断のためのメッセージを送信してもよい。なお、通信装置102は、ステップS415の処理を行っている場合、本ステップではNG応答ではなく、再生要求は受信したものの、まだ再生要求に基づいたコンテンツの再生は開始されていないことを示すようなOK応答を送信してもよい。
通信装置102は、ステップS417の処理を行うと、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの再生の内、実行中のものを継続する(ステップS418)。
通信装置102は、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの再生の内、実行中のものを終了するか判定する(ステップS419)。本判定は、ステップS423と同様に行われる。通信装置102は、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの再生の内、実行中のものを終了しないと判定した場合(ステップS419のNo)、再度ステップS419の処理を実行する。一方、ミラーリングと、コンテンツリダイレクトと、ダイレクトストリーミングとの再生の内、実行中のものを終了すると判定した場合(ステップS419のYes)、通信装置102は図4のフローチャートのフローを終了する。
以上、図3および図4に、通信装置101と通信装置102とが、ミラーリングとダイレクトストリーミングとコンテンツリダイレクトとの何れかを実行中に、新たなコンテンツの再生要求が割り込む際に実行する処理について示した。本実施形態によれば、コンテンツの再生中に、再生中のコンテンツの再生指示を送信した通信装置、またはユーザが、新たなコンテンツの再生指示を送信してきた場合、ユーザが再生中のコンテンツの停止指示を出すことなく、次のコンテンツの再生を開始できる。一方、夫々の再生指示を異なる通信装置、または異なるユーザが送信してきた場合は、再生中のコンテンツの再生指示を送信した通信装置を介してユーザに通知することで、ユーザは割り込みが発生したことを認識することができる。また、割り込みによるコンテンツの再生を許可するか否かを、再生中のコンテンツの再生指示を送信した通信装置のユーザに選択させることで、先にコンテンツの再生を実行しているユーザの意図しないコンテンツの切り替えを防ぐことができる。
なお、通信装置102は、通信装置101と図4のステップS402以降の処理を行っている場合、通信装置101とは異なる通信装置104からデバイス発見要求を受信したことに基づいて通信装置104とステップS402以降の処理を開始することができる。つまり、通信装置102(シンク機器)は、複数のソース機器と並行してセッションを確立できる。これにより、通信装置102は複数の異なる通信装置からコンテンツの再生要求を受信することができる。
なお、図3および図4において、通信装置101および通信装置102がセッションを確立してから再生要求の送受信を行うとしたが、これに限らない。通信装置101は、再生要求を、ステップS305やステップS306で通信装置102に送信する各メッセージの何れかとして送信してもよい。具体的には、通信装置101は、コンテンツリダイレクトと、ダイレクトストリーミングと、ミラーリングとの何れかの再生要求であることを示すパラメータを、ステップS305からステップS306の何れかのメッセージに含めて送信してもよい。この場合、通信装置101と通信装置102は、夫々ステップS307とステップS406をスキップする。また、通信装置102は、再生要求であることを示すパラメータを含むメッセージを受信すると、ステップS407以降の処理を開始する。通信装置102は、通信装置101から送信された再生要求に基づいたコンテンツの再生を開始する場合は、通信装置101とセッションの確立を行い、コンテンツの再生を開始する。一方、通信装置102は、通信装置101から送信された再生要求に基づいたコンテンツの再生を開始しない場合は、通信装置101とのセッションを確立しない。通信装置101は、ステップS308の判定を、通信装置102とのセッションを確立したか否かで判定してもよく、セッションを確立した場合はYesと判定し、セッションを確立しなかった場合はNoと判定する。なお、通信装置102は、図4のステップS417の処理を行う際に、ステップS404からステップS405で送信される各メッセージの内、ステップS417の時点でまだ送信していないメッセージにNGやエラーを含めて送信してもよい。例えば、通信装置102が再生要求としてM4メッセージを受信した場合であっても、M4メッセージにはOKの応答を返し、その後ステップS417でNGを示すM5メッセージやM6メッセージ、M7メッセージの何れかを送信してもよい。
また、図3および図4において、通信装置101および通信装置102は、夫々ステップS306およびステップS405でセッションを確立した後に、ミラーリングを開始してもよい。この場合、通信装置101は、ステップS306の処理を行った後、ミラーリングによるコンテンツの送信を開始し、コンテンツを送信しながらステップS307の処理を行う。なお、通信装置101は、ステップS301でミラーリングの開始と判定されたか否かに基づいて、セッション確立後にミラーリングを開始するか否かを切り替えるようにしてもよい。同様に、通信装置102もステップS405の処理を行った後に、通信装置101からミラーリングによるコンテンツを受信してもよい。このとき、通信装置102は自装置の再生状態を判定し、再生中でないと判定された場合はミラーリングによるコンテンツの再生を開始し、再生中であると判定された場合はミラーリングによるコンテンツの再生を行わないように制御してもよい。あるいは、通信装置102は、新たな再生要求がミラーリングの再生要求であって、かつ新たな再生要求に基づくコンテンツの再生を開始すると判定するまで、ミラーリングによるコンテンツの再生を開始しないようにしてもよい。
また、図4において、通信装置102はステップS411でNoと判定された場合に、ステップS412以降の処理を行っているが、これに限らず、ステップS411でNoと判定された場合に、ステップS414の処理を行ってもよい。この場合、通信装置102はステップS414でNoと判定された場合、またはステップS416の処理を行ったあとに、ステップS412以降の処理を行う。また、通信装置102はステップS413でNoと判定された場合、ステップS418以降の処理を行う。
図6に、通信装置101と通信装置102がミラーリングまたはダイレクトストリーミングを行っている場合に、通信装置104がダイレクトストリーミングの再生要求を送信するが、割り込みが許可されない場合のシーケンスを示す。通信装置101および通信装置104は図3のフローチャートに、通信装置102は図4のフローチャートに従って動作する。
通信装置101は、図3のステップS301でYesと判定されたことに基づいて、デバイスの探索を開始する(ステップS601)。通信装置101と通信装置102とは、夫々図3のステップS302と図4のステップS402の処理を行うことで、デバイス探索を行う(ステップS602)。通信装置101は、図3のステップS303の処理を行うことで、接続先選択を行う(ステップS603)。本ステップでは、通信装置101は通信装置102を接続先として選択する。通信装置101と通信装置102とは、夫々図3のステップS304および図4のステップS403の処理を行うことで、接続セットアップを行う(ステップS604)。
続いて、通信装置101と通信装置102とは、夫々図3のステップS305および図4のステップS404の処理を行うことでCapability Negotiationを行う(ステップS605)。この場合に、Capability Negotiationを行うために通信装置101から通信装置102に送信されたRTSP M4リクエストに、ダイレクトストリーミングの再生要求であることを示すパラメータが含まれていたとする。なお、RTSP M4リクエストに含まれているパラメータは、例えばactiveに設定されたwfd2−direct−streaming−modeである。この場合、本ステップで送信されたRTSP M4リクエストが、ダイレクトストリーミングの再生要求となる。通信装置102は、図4のステップS407およびステップS408の処理を行い、自装置の再生状態が再生中であるかを判定する。通信装置102は再生中ではないので、図4のステップS408でNoと判定し、ステップS421の処理を行う。ここで、通信装置102は受信したRTSP M4リクエストに対する応答として、OKを示すRTSP M4レスポンスを送信する。
通信装置101と通信装置102とは、夫々図3のステップS306および図4のステップS405の処理を行い、セッションを確立する(ステップS606)。通信装置101と通信装置102とはダイレクトストリーミングを開始する(ステップS607)。
なお、通信装置101と通信装置102とがステップS607でミラーリングを開始する場合、ステップS605からステップS607において、異なる処理を行ってもよい。通信装置101と通信装置102とは、夫々図3のステップS305および図4のステップS404の処理を行うことで、Capability Negotiationを行う(ステップS605)。この場合に、通信装置101はダイレクトストリーミングやコンテンツリダイレクトの再生要求であることを示すパラメータを含まないRTSP M4リクエストを通信装置102に送信する。通信装置102は、RTSP M4リクエストに対して、OKを示すRTSP M4レスポンスを送信することで、通信装置101とのCapability Negotiationを完了させる。通信装置101および通信装置102は、夫々図3のステップS306および図4のステップS405の処理を行うことで、セッションを確立する(ステップS606)。通信装置101とセッションを確立した通信装置102は、所定の時間が経過するまでに、通信装置101からコンテンツリダイレクトあるいはダイレクトストリーミングの再生要求を受信するか判定する。通信装置102は、所定の時間が経過するまでにこれらの再生要求を受信しなかった場合、ステップS605で受信したRTSP M4リクエストがミラーリングの再生要求であったとして、図4のステップS407の処理を行う。通信装置102の再生状態は再生中ではないため、通信装置102は通信装置102とのミラーリングを開始する(ステップS607)。
続いて、通信装置104が図3のステップS301でYesと判定されたことに基づいてデバイスの探索を開始する(ステップS608)。通信装置104と通信装置102とは、夫々図3のステップS302と図4のステップS402の処理を行うことで、デバイス探索を行う(ステップS609)。通信装置104は、図3のステップS303の処理を行うことで、接続先選択を行う(ステップS610)。本ステップでは、通信装置104は通信装置102を接続先として選択する。通信装置104と通信装置102とは、夫々図3のステップS304および図4のステップS403の処理を行うことで、接続セットアップを行う(ステップS611)。
続いて、通信装置104と通信装置102とは、夫々図3のステップS305および図4のステップS404の処理を行うことでCapability Negotiationを行う(ステップS612)。この場合に、Capability Negotiationを行うために通信装置104から通信装置102に送信されたRTSP M4リクエストに、ダイレクトストリーミングの再生要求であることを示すパラメータが含まれていたとする。RTSP M4メッセージに含まれているパラメータとは、例えばactiveに設定されたwfd2−direct−streaming−modeである。この場合、本ステップで送信されたRTSP M4リクエストが、ダイレクトストリーミングの再生要求となる。通信装置102は、図4のステップS407およびステップS408の処理を行い、自装置の再生状態が再生中であるかを判定する。
通信装置102は既に通信装置101とダイレクトストリーミングまたはミラーリングを開始しており、コンテンツを再生中であるため、図4のステップS408でYesと判定する。なお、本シーケンスにおいて通信装置102はステップS605とステップS612との少なくとも何れか一方において受信した開始要求からユーザ識別情報を受信できなかったとする。この場合、通信装置102は、図4のステップS409でNoと判定し、ステップS410の判定を行う。
通信装置102がステップS605とステップS612とにおいて受信した再生要求は夫々送信元の通信装置が異なるため、通信装置102はステップS410でNoと判定する。通信装置102は図4のステップS412の処理を行い、通信装置101に割り込みが発生したことを通知する(ステップS613)。
通信装置101は割り込み発生の通知を受信すると、図3のステップS312の処理を行い、ユーザに割り込みが発生したことを通知するために、割り込み発生の通知画面を表示する(ステップS614)。そして、通信装置101は、割り込み再生を許可するか否かのユーザ選択を受け付ける(ステップS615)。本フローでは、ユーザは割り込み再生を許可しなかったとする。
通信装置101は割り込み再生についてのユーザ選択を受け付けると、図3のステップS313の判定を行う。本フローでは、ユーザは割り込み再生を許可しなかったので、通信装置101は図3のステップS316の処理を行い、通信装置102に割り込み不許可の応答を送信する(ステップS616)。
通信装置102は、通信装置101から割り込み発生の通知に対する応答を受信すると、図4のステップS413の判定を行う。本フローでは割り込み不許可の応答を受信したので、通信装置102はステップS413でNoと判定し、ステップS417の処理を行い、通信装置104にNGを示すRTSP M4レスポンスを送信する(ステップS617)。通信装置101と通信装置102は、ステップS607で開始したミラーリングまたはダイレクトストリーミングを継続する。
図7に、通信装置101と通信装置102がミラーリングまたはダイレクトストリーミングを行っている場合に、通信装置104がダイレクトストリーミングの再生要求を送信するが、割り込みが許可される場合のシーケンスを示す。通信装置101および通信装置104は図3のフローチャートに、通信装置102は図4のフローチャートに従って動作する。
ステップS701からステップS714の処理は、図6のステップS601からステップS614と同様に行われる。
通信装置101は、割り込み再生を許可するか否かのユーザ選択を受け付ける(ステップS715)。本フローでは、ユーザは割り込み再生を許可したとする。
通信装置101は割り込み再生についてのユーザ選択を受け付けると、図3のステップS313の判定を行う。本フローでは、ユーザは割り込み再生を許可したので、通信装置101は図3のステップS314の処理を行い、通信装置102に割り込み許可の応答を送信する(ステップS716)。
通信装置102は、通信装置101から割り込み発生の通知に対する応答を受信すると、図4のステップS413の判定を行う。本フローでは割り込み許可の応答を受信したので、通信装置102はステップS413でYesと判定する。この場合に通信装置101と通信装置102とは夫々図3のステップS315および図4のステップS420の処理を行い、ステップS707で開始したミラーリングまたはダイレクトストリーミングを終了する(ステップS717)。このとき、通信装置101と通信装置102とは、RTSP M8メッセージ(RTSP TEARDOWN)を送受信することで、ステップS706で確立したセッションを切断してもよい。
通信装置102は、通信装置101とのミラーリングまたはダイレクトストリーミングを終了すると、図4のステップS421の処理を行い、通信装置104にOKを示すRTSP M4レスポンスを送信する(ステップS718)。通信装置104と通信装置102とは、夫々図3のステップS306および図4のステップS405の処理を行うことでセッションを確立する(ステップS720)。そして、通信装置104は図3のステップS309の、通信装置102は図4のステップS422の処理を行うことで、ダイレクトストリーミングを開始する(ステップS720)。これにより、通信装置102は新たな再生要求に基づいたコンテンツの再生を開始する。
図8に、通信装置101と通信装置102がコンテンツリダイレクトを行っている場合に、通信装置104がミラーリングの再生要求を送信するが、割り込みが許可されない場合のシーケンスを示す。通信装置101および通信装置104は図3のフローチャートに、通信装置102は図4のフローチャートに従って動作する。
ステップS801からステップS804の処理は、図6のステップS601からステップS604と同様に行われる。
通信装置101と通信装置102とは、夫々図3のステップS305および図4のステップS404の処理を行うことで、Capability Negotiationを行う(ステップS805)。このとき、通信装置101は、コンテンツリダイレクトの開始要求であることを示すパラメータを含まないM4リクエストを送信する。
通信装置101と通信装置102とは、夫々図3のステップS306および図4のステップS405の処理を行うことで、セッションの確立を行う(ステップS806)。そして、通信装置101と通信装置102とは、ミラーリングを開始する(ステップS807)。
通信装置101は、ミラーリングを実行中に、コンテンツリダイレクトの開始指示を受け付ける(ステップS808)。なお、ステップS801で既にコンテンツリダイレクトの開始指示を受け付けている場合、通信装置101は本ステップをスキップしてもよい。
通信装置101は、コンテンツリダイレクトの開始指示を受け付けると、RTSP M3リクエストを利用して、通信装置102にコンテンツリダイレクト機能をサポートしているか否かを問い合わせる(ステップS809)。
通信装置102は、受信したコンテンツリダイレクト機能の問合せに対する応答として、RTSP M3レスポンスを利用して、コンテンツリダイレクト機能のサポート状況を通信装置101に通知する(ステップS810)。具体的には、通信装置102はコンテンツリダイレクト機能をサポートしているか否かを通知する。また、通信装置102はコンテンツリダイレクト機能をサポートしているとの情報に加えて、あるいは代えて、通信装置102がコンテンツリダイレクト機能によってコンテンツを再生する際に利用することができるサービスに関する情報を通知してもよい。具体的には、通信装置102はサービスを識別するためのサービス名などの情報を通知してもよい。
通信装置101は、通信装置102がコンテンツリダイレクト機能をサポートしているかを、ステップS810で通信装置102から送信された応答に基づいて判定する(ステップS811)。通信装置102がコンテンツリダイレクト機能をサポートしていない場合、通信装置101は通信装置102とのミラーリングを継続してもよいし、通信装置102とのセッションを切断してもよい。
通信装置102がコンテンツリダイレクト機能をサポートしている場合、通信装置101は通信装置102に、RTSP M4リクエストを利用して、コンテンツリダイレクトの再生要求を送信する(ステップS812)。本ステップにおいて通信装置102が送信するRTSP M4リクエストには、コンテンツリダイレクトの再生要求であることを示すパラメータが含まれており、このパラメータにはコンテンツの関連情報が含まれている。
通信装置102は、通信装置101からコンテンツリダイレクトの再生要求を受信すると、図4のステップS407以降の処理を行う。通信装置102の再生状態は再生中であるが、現在再生中のミラーリングの再生要求も、コンテンツリダイレクトの再生要求も、どちらも通信装置101が送信元の装置であるので、通信装置102は図4のステップS421の処理を行う。具体的には、通信装置102は通信装置101に、RTSP M4リクエストに対する応答として、OKを示すRTSP M4レスポンスを送信する(ステップS813)。
通信装置101と通信装置102とは、夫々ミラーリングを一時停止する(ステップS814、ステップS815)。そして、通信装置102はステップS812で受信したコンテンツの関連情報に基づいてクラウドサーバ103にコンテンツを要求し(ステップS816)、クラウドサーバ103からコンテンツを取得する(ステップS817)。
ステップS818からステップS821の処理は、図6のステップS608からステップS611と同様である。
通信装置104と通信装置102とは、夫々図3のステップS305および図4のステップS404の処理を行うことで、Capability Negotiationを行う(ステップS822)。この場合に、通信装置104はダイレクトストリーミングやコンテンツリダイレクトの再生要求であることを示すパラメータを含まないRTSP M4リクエストを通信装置102に送信する。通信装置102は、RTSP M4リクエストに対して、OKを示すRTSP M4レスポンスを送信することで、通信装置104とのCapability Negotiationを完了させる。通信装置104および通信装置102は、夫々図3のステップS306および図4のステップS405の処理を行うことで、セッションを確立する(ステップS823)。
通信装置104と通信装置102とはセッションを確立したのでミラーリングを開始する(ステップS824)。しかし、通信装置102は既に通信装置101とコンテンツリダイレクトを実行しており、コンテンツを再生中であるため、ミラーリングによって受信したコンテンツの再生は行わない(ステップS825)。
また、通信装置102は、通信装置104とセッションを確立してから所定の時間が経過するまでに、通信装置104からコンテンツリダイレクトあるいはダイレクトストリーミングの再生要求を受信するか判定する。通信装置102は、所定の時間が経過するまでにこれらの再生要求を受信しなかった場合、ステップS822で受信したRTSP M4リクエストがミラーリングの再生要求であったとして、図4のステップS407の処理を行う。
通信装置102はコンテンツを再生中であり、また、ステップS810で受信した再生要求と、ステップS822で受信した再生要求とは夫々送信元の通信装置が異なるため、通信装置102は図4のステップS412の処理を行う。具体的には、通信装置102は通信装置101に割り込み発生の通知を行う(ステップS826)。
通信装置101は割り込み発生の通知を受信すると、図3のステップS312の処理を行い、ユーザに割り込みが発生したことを通知するために、割り込み発生の通知画面を表示する(ステップS827)。そして、通信装置101は、割り込み再生を許可するか否かのユーザ選択を受け付ける(ステップS828)。本フローでは、ユーザは割り込み再生を許可しなかったとする。
通信装置101は割り込み再生についてのユーザ選択を受け付けると、図3のステップS313の判定を行う。本フローでは、ユーザは割り込み再生を許可しなかったので、通信装置101は図3のステップS316の処理を行い、通信装置102に割り込み不許可の応答を送信する(ステップS829)。
通信装置102は、通信装置101から割り込み発生の通知に対する応答を受信すると、図4のステップS413の判定を行う。本フローでは割り込み不許可の応答を受信したので、通信装置102はステップS413でNoと判定し、ステップS417の処理を行う。本フローでは、NG応答を送信する代わりに、通信装置104とのセッションを切断する(ステップS830)。通信装置101と通信装置102は、ステップS817で開始したコンテンツリダイレクトを継続する。
なお、通信装置102は、ステップS822でRTSP M4リクエストを受信したことに基づいて、図4のステップS407以降の処理を開始してもよい。この場合、通信装置101、通信装置102および通信装置104は、図6のステップS612からステップS617の処理を行う。
図9に、通信装置101と通信装置102がコンテンツリダイレクトを行っている場合に、通信装置104がコンテンツリダイレクトの再生要求を送信し、割り込みが許可される場合のシーケンスを示す。通信装置101および通信装置104は図3のフローチャートに、通信装置102は図4のフローチャートに従って動作する。本フローでは、通信装置101と通信装置104とのユーザは異なるものとする。
ステップS901からステップS925は、図8のステップS801からステップS825と同様の処理である。
通信装置104は、コンテンツリダイレクトの開始指示を受け付ける(ステップS926)。通信装置104は、通信装置102にRTSP M3リクエスト(RTSP GET_PARAMETER)を利用して、コンテンツリダイレクト機能をサポートしているか否かを問い合わせる(ステップS927)。
通信装置102は、受信したコンテンツリダイレクト機能の問合せに対する応答として、RTSP M3レスポンスを利用して、コンテンツリダイレクト機能のサポート状況を通信装置104に通知する(ステップS928)。具体的には、通信装置102はコンテンツリダイレクト機能をサポートしているか否かを通知する。また、通信装置102はコンテンツリダイレクト機能をサポートしているとの情報に加えて、あるいは代えて、通信装置102がコンテンツリダイレクト機能によってコンテンツを再生する際に利用することができるサービスに関する情報を通知してもよい。具体的には、通信装置102はサービスを識別するためのサービス名などの情報を通知してもよい。
通信装置104は、通信装置102がコンテンツリダイレクト機能をサポートしているかを、ステップS928で通信装置102から送信された応答に基づいて判定する(ステップS929)。通信装置102がコンテンツリダイレクト機能をサポートしていない場合、通信装置104は通信装置102とのセッションを切断してもよい。
通信装置102がコンテンツリダイレクト機能をサポートしている場合、通信装置104は通信装置102に、RTSP M4リクエストを利用して、コンテンツリダイレクトの再生要求を送信する(ステップS930)。本ステップにおいて通信装置102が送信するRTSP M4リクエストには、コンテンツリダイレクトの再生要求であることを示すパラメータが含まれており、このパラメータにはコンテンツの関連情報が含まれている。
通信装置102は、通信装置101からコンテンツリダイレクトの再生要求を受信すると、図4のステップS407以降の処理を行う。本フローでは、通信装置101と通信装置104のユーザが異なるため、通信装置102は通信装置101に割り込み発生の通知を行う(ステップS931)。
通信装置101は割り込み発生の通知を受信すると、図3のステップS312の処理を行い、ユーザに割り込みが発生したことを通知するために、割り込み発生の通知画面を表示する(ステップS932)。そして、通信装置101は、割り込み再生を許可するか否かのユーザ選択を受け付ける(ステップS933)。本フローでは、ユーザは割り込み再生を許可したとする。
通信装置101は割り込み再生についてのユーザ選択を受け付けると、図3のステップS313の判定を行う。本フローでは、ユーザは割り込み再生を許可したので、通信装置101は図3のステップS314の処理を行い、通信装置102に割り込み許可の応答を送信する(ステップS934)。
通信装置102は、通信装置101から割り込み発生の通知に対する応答を受信すると、図4のステップS413の判定を行う。本フローでは割り込み許可の応答を受信したので、通信装置102はステップS413でYesと判定する。この場合に通信装置101と通信装置102とは夫々図3のステップS315および図4のステップS420の処理を行い、ステップS707で開始したミラーリングおよびコンテンツリダイレクトを終了する(ステップS935)。このとき、通信装置101と通信装置102とは、RTSP M8メッセージ(RTSP TEARDOWN)を送受信することで、ステップS906で確立したセッションを切断してもよい。
通信装置102は、通信装置101とのミラーリングおよびコンテンツリダイレクトを終了すると、図4のステップS421の処理を行い、通信装置104にOKを示すRTSP M4レスポンスを送信する(ステップS936)。
通信装置104と通信装置102はミラーリングを一時停止し(ステップS937、ステップS938)、通信装置102はクラウドサーバ103にコンテンツを要求する(ステップS939)。通信装置102はクラウドサーバ103からコンテンツを取得すると(ステップS940)、取得したコンテンツの再生を開始する。これにより、通信装置102は新たな再生要求に基づいたコンテンツの再生を開始する。
なお、本実施形態において、通信装置102は、コンテンツを再生中に新たなコンテンツの再生要求を受信した場合、通信装置102は再生要求に関するユーザ識別情報と、ソース機器の識別情報とを取得した(図4のステップS407)。しかし、これに限らず、通信装置102は再生要求に関するユーザ識別情報を取得しなくてもよい。この場合、通信装置102は、図4のステップS408でYesと判定された後に、ステップS409をスキップし、ステップS410の判定を行う。また、通信装置102はステップS411もスキップする。通信装置102は、再生中のコンテンツの再生要求を送信した通信装置と、新しいコンテンツの再生要求を送信した通信装置とが同じ通信装置の場合は新たなコンテンツの再生を開始する。一方、再生中のコンテンツの再生要求を送信した通信装置と、新しいコンテンツの再生要求を送信装置とが同じ通信装置の場合は、実行中のコンテンツの再生を継続する。つまり、通信装置102は、単に再生中のコンテンツの再生要求を送信した通信装置と、新たなコンテンツの再生要求を送信した通信装置とが同じであるか否かに基づいてコンテンツの再生を制御する。
なお、Wi−Fi Miracast規格において、通信装置がミラーリングやダイレクトストリーミングによるコンテンツの送信を実施する際に使用するプロトコルは、RTP(Real−time Transport Protocol)である。RTPは画像データや音声データ、動画データなどのマルチメディアデータを、ネットワークを介してリアルタイムに送受信するためのプロトコルであり、下位層のトランスポートプロトコルとしてUDPやTCPを利用する。なお、UDPはUser Datagram Protocolの略であって、TCPはTransmission Control Protocolの略である。
また、コンテンツリダイレクトを実施する際に通信装置が使用するプロトコルとしては、RTSP、DLNA(登録商標)、SIP、HLS、MPEG−DASH、あるいはRTMPなどを用いることが可能である。あるいは通信装置は、ストリーミングの再生制御に適した他のプロトコルや他の方式を用いてもよい。なお、DLNAはDigital Living Network Allianceの略であり、SIPはSession Initiation Protocolの略である。また、HLSはHTTP Live Streamingの略であり、MPEG−DASHはMPEG−Dynamic Adaptive Streaming over HTTPの略である。RTMPは、Real Time Messaging Protocolの略である。
なお、図3または図4に示した通信装置101や通信装置102のフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのコンピュータプログラムからFPGA上に専用回路を生成し、これを利用すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
また、図3または図4に示したフローチャートの各ステップを不図示の複数のCPUもしくは装置で分散して行うようにしてもよい。複数の装置で分散して行う場合、ソース機器についてはソースシステム、シンク機器についてはシンクシステムとして動作する。図6から図9に示した、通信装置101、通信装置102、通信装置104、およびクラウドサーバ103のシーケンス図についても同様である。
例えば通信装置101と通信装置104とは、コンテンツの再生を行う再生装置と、無線信号の送信などの処理を行う処理装置とからなるソースシステムであってもよい。処理装置は、例えばミラーリング処理を行う際、再生装置に表示されている画面のキャプチャ画像に加えて、あるいは代えて、再生装置が再生している音声の符号化、多重化、データ送信処理を行ってもよい。通信装置101と通信装置104とが複数の装置からなるソースシステムである場合に、図3の各ステップの処理を何れの装置が行うかはこれに限らない。
同様に、通信装置102も、コンテンツの再生を行う再生装置と、無線信号の送信などの処理を行う処理装置とからなるシンクシステムであってもよい。例えばミラーリング処理を行う際、通信装置101から受信し、復号したキャプチャ画像の再生処理は、再生装置が行ってもよい。また、キャプチャ画像に代えて、あるいは加えて、音声を受信した場合、復号した音声の再生処理は再生装置が行ってもよい。通信装置102が複数の装置からなるシンクシステムである場合に、図4の各ステップの処理を何れの装置が行うかはこれに限らない。
以上、実施形態を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)などとしての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーションなど)から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
201 記憶部
202 制御部
203 機能部
204 入力部
205 出力部
206 通信部
207 アンテナ

Claims (19)

  1. 通信装置であって、
    コンテンツの再生要求を受信する第一の受信手段と、
    前記第一の受信手段により受信した再生要求に基づいたコンテンツを再生する再生手段と、
    前記第一の受信手段により受信した再生要求を送信した送信元装置を特定するための機器識別情報を取得する取得手段と、
    前記再生手段により第一のコンテンツを再生中に、前記第一の受信手段により第二のコンテンツの再生要求を受信した場合に、前記第一のコンテンツの再生要求を送信した送信元装置を特定するための第一の機器識別情報と、前記第二のコンテンツの再生要求を送信した送信元装置を特定するための第二の機器識別情報とから特定される送信元装置が同じ送信元装置であることに基づいて前記第二のコンテンツの再生を開始し、前記第一の機器識別情報と前記第二の識別情報とから特定される送信元装置が異なる送信元装置であることに基づいて前記第一のコンテンツの再生を継続するように制御する制御手段と、
    を有することを特徴とする通信装置。
  2. 前記第一の機器識別情報と前記第二の識別情報とから特定される送信元装置が異なる送信元装置であることに基づいて、前記第一のコンテンツの再生要求を送信した送信元装置に割り込みが発生したことを通知する第一の通知手段を更に有することを特徴とする請求項1に記載の通信装置。
  3. 前記第一の通知手段による通知に対する応答を、前記第一のコンテンツの再生要求を送信した送信元装置から受信する第二の受信手段を更に有し、
    前記制御手段は、前記第一の機器識別情報と前記第二の識別情報とから特定される送信元装置が異なる送信元装置であること、および前記第二の受信手段により割り込みを許可するとの応答を受信したことに基づいて前記第二のコンテンツの再生を開始し、前記第一の機器識別情報と前記第二の識別情報とから特定される送信元装置が異なる送信元装置であること、および前記第二の受信手段により割り込みを許可しないとの応答を受信したことに基づいて前記第一のコンテンツの再生を継続するように制御することを特徴とする請求項2に記載の通信装置。
  4. 前記取得手段により取得する前記機器識別情報は、前記第一の受信手段により受信した再生要求を送信した送信元装置のMAC(Media Access Control)アドレスであることを特徴とする請求項1から3の何れか一項に記載の通信装置。
  5. 前記取得手段により取得する前記機器識別情報は、前記第一の受信手段により受信した再生要求を送信した送信元装置のUUID(Universally Unique Identifier)であることを特徴とする請求項1から3の何れか一項に記載の通信装置。
  6. 前記取得手段により取得する前記機器識別情報は、前記第一の受信手段により受信した再生要求を送信した送信元装置のIP(Internet Protocol)アドレスであることを特徴とする請求項1から3の何れか一項に記載の通信装置。
  7. 通信装置であって、
    コンテンツの再生要求を受信する第一の受信手段と、
    前記第一の受信手段により受信した再生要求に基づいたコンテンツを再生する再生手段と、
    前記第一の受信手段により受信した再生要求に関するユーザを特定するためのユーザ識別情報を取得する取得手段と、
    前記再生手段により第一のコンテンツを再生中に、前記第一の受信手段により第二のコンテンツの再生要求を受信した場合に、前記第一のコンテンツの再生要求に関するユーザを特定するための第一のユーザ識別情報と、前記第二のコンテンツの再生要求に関するユーザを特定するための第二のユーザ識別情報とから特定されるユーザが同じユーザであることに基づいて前記第二のコンテンツの再生を開始し、前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが異なるユーザであることに基づいて前記第一のコンテンツの再生を継続するように制御する制御手段と、
    を有することを特徴とする通信装置。
  8. 前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが異なるユーザであることに基づいて、前記第一のコンテンツの再生要求を送信した送信元装置に割り込みが発生したことを通知する第一の通知手段を更に有することを特徴とする請求項7に記載の通信装置。
  9. 前記第一の通知手段による通知に対する応答を、前記第一のコンテンツの再生要求を送信した送信元装置から受信する第二の受信手段を更に有し、
    前記制御手段は、前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが異なるユーザであること、および前記第二の受信手段により割り込みを許可するとの応答を受信したことに基づいて前記第二のコンテンツの再生を開始し、前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが異なるユーザであること、および前記第二の受信手段により割り込みを許可しないとの応答を受信したことに基づいて前記第一のコンテンツの再生を継続するように制御することを特徴とする請求項8に記載の通信装置。
  10. 前記第一の受信手段により受信した再生要求がミラーリングの再生要求であった場合、前記再生手段は、前記ミラーリングの再生要求を送信した送信元装置から受信した、前記ミラーリングの再生要求を送信した送信元装置が表示している画面に基づいた画像データと、再生している音声に基づいた音声データとの少なくとも一方を含むコンテンツを、前記ミラーリングの再生要求を送信した送信元装置と同期して再生することを特徴とする請求項1から9の何れか一項に記載の通信装置。
  11. 前記第一の受信手段により受信した再生要求がダイレクトストリーミングの再生要求であった場合、
    前記再生手段は、前記ダイレクトストリーミングの再生要求を送信した送信元装置から受信した、前記ダイレクトストリーミングの再生要求を送信した送信元装置が保持しているコンテンツを再生することを特徴とする請求項1から10の何れか一項に記載の通信装置。
  12. 前記第一の受信手段により受信した再生要求がコンテンツリダイレクトの再生要求であった場合、
    前記再生手段は、前記コンテンツリダイレクトの再生要求に含まれるコンテンツの関連情報に基づいて前記コンテンツリダイレクトの再生要求を送信した送信元装置とは異なる外部装置から受信したコンテンツを再生することを特徴とする請求項1から11の何れか一項に記載の通信装置。
  13. 前記関連情報は、前記コンテンツの前記外部装置における格納場所を示すURI(Uniform Resource Identifier)であることを特徴とする請求項12に記載の通信装置。
  14. 前記制御手段により前記第一のコンテンツの継続するように制御したことに基づいて、前記第二のコンテンツの再生要求を送信した送信元装置に、前記第二のコンテンツの再生の不許可を通知する第二の通知手段を更に備えることを特徴とする請求項1から13の何れか一項に記載の通信装置。
  15. 前記制御手段により前記第一のコンテンツの継続するように制御したことに基づいて、前記第二のコンテンツの再生要求を送信した送信元装置に、前記第二のコンテンツの再生の許可を通知する第三の通知手段を更に備えることを特徴とする請求項1から14の何れか一項に記載の通信装置。
  16. 前記第一の受信手段は、Wi−Fi Miracast規格に準拠した方式に従ってコンテンツの再生要求を受信することを特徴とする請求項1から15の何れか一項に記載の通信装置。
  17. 第一のコンテンツの再生要求を受信する第一の受信工程と、
    前記第一のコンテンツの再生要求を送信した送信元装置を特定するための第一の機器識別情報を取得する第一の取得工程と、
    前記第一の受信工程において受信した前記第一のコンテンツの再生要求に基づいて、通信装置が前記第一のコンテンツを再生中に、第二のコンテンツの再生要求を受信する第二の受信工程と、
    前記第二のコンテンツの再生要求を送信した送信元装置を特定するための第二の機器識別情報を取得する第二の取得工程と、
    前記第一の機器識別情報と前記第二の機器識別情報とから特定される送信元装置が同じ送信元装置であることに基づいて前記第二のコンテンツの再生を開始し、前記第一の機器識別情報と前記第二の機器識別情報とから特定される送信元装置が異なる送信元装置であることに基づいて前記第一のコンテンツの再生を継続するように制御する制御工程と、
    を有することを特徴とする制御方法。
  18. 第一のコンテンツの再生要求を受信する第一の受信工程と、
    前記第一のコンテンツの再生要求に関するユーザを特定するための第一のユーザ識別情報を取得する第一の取得工程と、
    前記第一の受信工程において受信した前記第一のコンテンツの再生要求に基づいて、通信装置が前記第一のコンテンツを再生中に、第二のコンテンツの再生要求を受信する第二の受信工程と、
    前記第二のコンテンツの再生要求に関するユーザを特定するための第二のユーザ識別情報を取得する第二の取得工程と、
    前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが同じユーザであることに基づいて前記第二のコンテンツの再生を開始し、前記第一のユーザ識別情報と前記第二のユーザ識別情報とから特定されるユーザが異なるユーザであることに基づいて前記第一のコンテンツの再生を継続するように制御する制御工程と、
    を有することを特徴とする制御方法。
  19. コンピュータを請求項1から16の何れか一項に記載の通信装置の各手段として機能させるためのプログラム。
JP2018143507A 2018-07-31 2018-07-31 通信装置、制御方法、およびプログラム Active JP7289617B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018143507A JP7289617B2 (ja) 2018-07-31 2018-07-31 通信装置、制御方法、およびプログラム
KR1020190088638A KR102387072B1 (ko) 2018-07-31 2019-07-23 통신장치, 제어방법, 및 기억매체
US16/520,097 US10649723B2 (en) 2018-07-31 2019-07-23 Communication device, control method, and storage medium
CN201910683174.5A CN110784770A (zh) 2018-07-31 2019-07-26 通信设备、通信设备的控制方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143507A JP7289617B2 (ja) 2018-07-31 2018-07-31 通信装置、制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020021210A true JP2020021210A (ja) 2020-02-06
JP7289617B2 JP7289617B2 (ja) 2023-06-12

Family

ID=69227496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143507A Active JP7289617B2 (ja) 2018-07-31 2018-07-31 通信装置、制御方法、およびプログラム

Country Status (4)

Country Link
US (1) US10649723B2 (ja)
JP (1) JP7289617B2 (ja)
KR (1) KR102387072B1 (ja)
CN (1) CN110784770A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635928B2 (en) * 2019-01-04 2023-04-25 Apple Inc. User interfaces for content streaming
CN112565247B (zh) * 2020-12-03 2022-02-11 东北大学 基于IPv6的移动终端实时多媒体数据流传输系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010103622A (ja) * 2008-10-21 2010-05-06 Ntt Communications Kk ネットワークシステム、コンテンツ再生方法、およびコンテンツ再生プログラム
JP2016181869A (ja) * 2015-03-25 2016-10-13 株式会社Jvcケンウッド 再生システム、再生装置、及び、再生方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859845B2 (en) * 2001-05-02 2005-02-22 Ati Technologies, Inc. System for resolving conflicts due to simultaneous media streams and method thereof
KR100724836B1 (ko) * 2003-08-25 2007-06-04 엘지전자 주식회사 디지털 오디오 기기에서의 오디오 출력 레벨 조절장치 및방법
KR101758363B1 (ko) * 2011-12-14 2017-07-17 삼성전자 주식회사 디스플레이장치 및 그 제어방법
WO2014073274A1 (ja) * 2012-11-09 2014-05-15 ソニー株式会社 通信端末、通信方法、プログラム、及び通信システム
JP6179176B2 (ja) 2013-05-02 2017-08-16 株式会社リコー 表示装置、表示システム、及び表示プログラム
CN103391121A (zh) * 2013-07-31 2013-11-13 北京爱德发科技有限公司 多设备配对和连接蓝牙设备的方法
CN104320718B (zh) * 2014-09-24 2017-07-25 广东欧珀移动通信有限公司 一种避免多个dmc推送媒体播放产生冲突的方法及装置
CN105072482B (zh) * 2015-08-25 2018-01-26 广东欧珀移动通信有限公司 一种多媒体播放设备的播放控制方法及装置
CN105554537A (zh) * 2015-12-08 2016-05-04 青岛海信电器股份有限公司 一种控制方法及装置
US10338882B2 (en) * 2016-09-26 2019-07-02 Lenovo (Singapore) Pte. Ltd. Contextual based selection among multiple devices for content playback

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010103622A (ja) * 2008-10-21 2010-05-06 Ntt Communications Kk ネットワークシステム、コンテンツ再生方法、およびコンテンツ再生プログラム
JP2016181869A (ja) * 2015-03-25 2016-10-13 株式会社Jvcケンウッド 再生システム、再生装置、及び、再生方法

Also Published As

Publication number Publication date
US10649723B2 (en) 2020-05-12
US20200042281A1 (en) 2020-02-06
KR20200014205A (ko) 2020-02-10
JP7289617B2 (ja) 2023-06-12
CN110784770A (zh) 2020-02-11
KR102387072B1 (ko) 2022-04-15

Similar Documents

Publication Publication Date Title
KR102050984B1 (ko) 와이-파이 디스플레이 네트워크에서 와이-파이 디스플레이 세션을 제공하는 방법 및 장치, 그리고 그에 따른 시스템
JP7123594B2 (ja) 通信装置、制御方法、およびプログラム
US11435973B2 (en) Communication apparatus, communication method, and storage medium
KR102387072B1 (ko) 통신장치, 제어방법, 및 기억매체
JP6873762B2 (ja) 通信装置、通信システム、通信方法、および、プログラム
JP6701021B2 (ja) 通信装置、通信方法、およびプログラム
JP7154833B2 (ja) 通信装置、通信方法、およびプログラム
JP7336179B2 (ja) 通信装置、通信方法、およびプログラム
JP7118764B2 (ja) 通信装置、制御方法、およびプログラム
JP7146473B2 (ja) 通信装置、通信方法、およびプログラム
JP2019215762A (ja) 通信装置、制御方法、および、プログラム
JP7080624B2 (ja) 通信装置、制御方法、およびプログラム
KR20180121379A (ko) 통신 장치, 제어 방법, 프로그램 및 기록매체
JP2019169870A (ja) 通信装置、制御方法、およびプログラム
JP2019117548A (ja) 通信装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230531

R151 Written notification of patent or utility model registration

Ref document number: 7289617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151