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

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

Info

Publication number
JP2020106932A
JP2020106932A JP2018242855A JP2018242855A JP2020106932A JP 2020106932 A JP2020106932 A JP 2020106932A JP 2018242855 A JP2018242855 A JP 2018242855A JP 2018242855 A JP2018242855 A JP 2018242855A JP 2020106932 A JP2020106932 A JP 2020106932A
Authority
JP
Japan
Prior art keywords
data
communication
digital camera
distribution
server
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
JP2018242855A
Other languages
English (en)
Other versions
JP6686125B1 (ja
Inventor
明彦 石津
Akihiko Ishizu
明彦 石津
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 JP2018242855A priority Critical patent/JP6686125B1/ja
Priority to CN201911249513.5A priority patent/CN111385673B/zh
Priority to US16/709,713 priority patent/US11190812B2/en
Application granted granted Critical
Publication of JP6686125B1 publication Critical patent/JP6686125B1/ja
Publication of JP2020106932A publication Critical patent/JP2020106932A/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/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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/60Network streaming of media packets
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/80Responding to QoS
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 通信装置とクラウドサービスとの通信の遅延を低減することと、ユーザの通信装置のアップデートの手間を低減することと、の両立をできるようにする。【解決手段】 デジタルカメラ100は接続部111と制御部101とを有する。制御部101は、第一のデータを配信サーバ300に送信するための第二のデータを配信サーバ300に要求するパケットを中継サーバ200に送信する。制御部101は、第二のデータを、中継サーバ200から受信する。制御部101は、第二のデータに基づいて、中継サーバ200を介さずに第一のデータを配信サーバ300へ送信する。【選択図】 図5

Description

本発明は、ネットワークを介して他の装置と通信可能な通信装置、およびネットワークを介して他の装置と通信可能な中継装置に関する。
近年、動画データや音声データ等をリアルタイムに配信するライブ配信サービスが知られている。ユーザはスマートフォンやデジタルカメラなどの通信装置に搭載されたカメラやマイク等を利用して動画データや音声データ等を生成し、生成したデータをライブ配信サービスを介してリアルタイムに他のユーザに送信できる。
ここでデジタルカメラがライブ配信サービスのようなクラウドサービスにデータを送受信する場合、デジタルカメラは例えばWebAPIのようなインターフェースを利用してデータを送信する。一般的にデータを送信するためのインターフェースはクラウドサービスごとに異なるため、デジタルカメラはそれぞれのクラウドサービスのインターフェースに対応する必要がある。また、このインターフェースが更新された場合、ユーザはデジタルカメラをそのインターフェースに対応できるようアップデート等をする必要がある。特許文献1では、デジタルカメラがクラウドサービスに直接データを送信するのではなく、デジタルカメラが中継サーバを介してクラウドサービスにデータを送信するようなシステムが開示されている。このようなシステムでは、デジタルカメラは少なくとも中継サーバのインターフェースだけに対応していればよい。
特開2008−211732号公報
しかし、特許文献1では、デジタルカメラは中継サーバを介してデータを送信するため、クラウドサービスにデータが送信されるまでに中継サーバを介した時間が余計にかかる。そのためライブ配信サービスのようにリアルタイム性を求められるクラウドサービスには不向きである。一方、デジタルカメラが直接クラウドサービスにデータを送信するとしても、クラウドサービスのインターフェースが変更された場合、ユーザはクラウドサービスを利用する度にデジタルカメラをアップデートしなければならないという手間がかかるおそれがある。
そこで本発明は、通信装置とクラウドサービスとの通信の遅延を低減することと、ユーザの通信装置のアップデートの手間を低減することと、の両立を目的とする。
上記目的を達成するために、本発明の通信装置は、通信手段と、制御手段と、を有し、前記制御手段は、第一のデータを外部装置に送信するための第二のデータを外部装置に要求するパケットを中継装置に送信するよう前記通信手段を制御し、前記制御手段は、前記第二のデータを、前記中継装置から受信するよう前記通信手段を制御し、前記制御手段は、前記第二のデータに基づいて、前記中継装置を介さずに前記第一のデータを前記外部装置へ送信するよう前記通信手段を制御することを特徴とする。
本発明によれば、通信装置とクラウドサービスとの通信の遅延を低減することと、ユーザの通信装置のアップデートの手間を低減することと、の両立ができる。
第一の実施形態におけるデジタルカメラの構成の一例を示す図である。 第一の実施形態における中継サーバの構成の一例を示す図である。 第一の実施形態における通信システムの構成の一例を示す図である。 第一の実施形態におけるライブ配信を実行するための準備処理の一例を示すシーケンス図である。 第一の実施形態におけるライブ配信を実行する際のデジタルカメラと中継サーバと配信サーバの処理の一例を示すシーケンス図である。 (a)第一の実施形態におけるライブ配信処理を開始するための画面の一例である。(b)第一の実施形態におけるデジタルカメラのライブ配信を開始する前の待機画面の一例である。(c)第一の実施形態におけるデジタルカメラのライブ配信中の画面の一例である。(d)第一の実施形態におけるデジタルカメラの警告を報知するための画面の一例である。 第一の実施形態におけるデジタルカメラの動作の一例を示すフローチャートである。 第一の実施形態における中継サーバの動作の一例を示すフローチャートである。 第二の実施形態におけるライブ配信を実行するための準備処理の一例を示すシーケンス図である。 (a)第二の実施形態における、ライブ配信を実行するための機能が有効化されていないデジタルカメラの通信に関する機能のメニュー表示の一例である。(b)第二の実施形態における、ライブ配信を実行するための機能が有効化されたデジタルカメラの通信に関する機能のメニュー表示の一例である。 第二の実施形態におけるライブ配信を実行する際のデジタルカメラと中継サーバと配信サーバの処理の一例を示すシーケンス図である。 (a)第二の実施形態におけるデジタルカメラのライブ配信の種類を選択するための画面の一例である。(b)第二の実施形態におけるデジタルカメラのライブ配信を開始する前の確認画面の一例である。(c)第二の実施形態におけるデジタルカメラのライブ配信のイベントを選択するための画面の一例である。(d)第二の実施形態におけるデジタルカメラのライブ配信を開始する前の確認画面の一例である。
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施形態を適宜組み合せることも可能である。
[第一の実施形態]
<デジタルカメラ100の構成>
図1は、本実施形態の通信装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は、いわゆるスマートフォンや、タブレットデバイス、デジタルビデオカメラ、パーソナルコンピュータなどの情報処理装置であってもよい。本実施形態では特に、ユーザが携帯できるデジタルカメラ100を例に説明する。
制御部101は、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部102は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部102は、制御部101に制御されることにより、撮像部102に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態では、当該画像データを撮像し出力するための一連の処理を「撮影」という。また、撮像部102は連続して撮影した画像データを1つのデータとして記録することで動画データを生成できる。本実施形態のデジタルカメラ100では、画像データおよび動画データは、DCF(Design Rule for Camera File system)の規格に従って、記録媒体110に記録される。また、後述するライブ配信に送信するための画像データおよび動画データは、作業用メモリ104に一時的に記録される。このデータは接続部111を介して、配信サーバ300に送信される。
不揮発性メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行される後述のプログラム等が格納される。
作業用メモリ104は、撮像部102で撮影された画像データおよび動画データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
操作部105は、ユーザがデジタルカメラ100に対する指示をユーザから受け付けるために用いられる。操作部105は例えば、ユーザがデジタルカメラ100の電源のオン/オフを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の接続部111を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部106に形成されるタッチパネルも操作部105に含まれる。なお、レリーズスイッチは、SW1およびSW2を有する。レリーズスイッチが、いわゆる半押し状態となることにより、SW1がオンとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、SW2がオンとなる。これにより、撮影を行うための指示を受け付ける。
表示部106は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部106は必ずしもデジタルカメラ100が内蔵する必要はない。デジタルカメラ100は内部または外部の表示部106と接続することができ、表示部106の表示を制御する表示制御機能を少なくとも有していればよい。また、制御部101は、作業用メモリ104に蓄積された画像データまたは動画データを表示部106に逐次転送して表示することで、表示部106は電子ビューファインダとして機能する。これによってデジタルカメラ100はスルー画像表示(ライブビュー表示)を実行することができる。
マイク107は、集音部の一例である。マイク107は音声の集音に用いられる。デジタルカメラ100は撮像部102において撮影した動画データとマイク107において集音した音声データを関連付けて記録することで、音声付きの動画データを記録できる。制御部101が後述するライブ配信に送信するために集音した音声は、音声データとして作業用メモリ104に記録される。この音声データは接続部111を介して、配信サーバ300に送信される。
記録媒体110は、撮像部102から出力された画像データおよび動画データを記録することができる。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
接続部111は、外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ100は、接続部111を介して、後述する中継サーバ200および配信サーバ300とデータのやりとりを行うことができる。例えば、デジタルカメラ100は撮像部102で生成した動画データおよびマイク107で生成した音声データを、接続部111を介して配信サーバ300に送信することができる。なお、本実施形態では、接続部111は中継装置および外部装置とIEEE802.11の規格に従った、いわゆる無線LAN(Local Area Network)で通信するためのインターフェースを含む。本実施形態におけるデジタルカメラ100の接続部111は、インフラストラクチャモードにおけるクライアントとして動作するクライアントモードを有している。そして、接続部111をクライアントモードで動作させることにより、本実施形態におけるデジタルカメラ100は、インフラストラクチャモードにおけるクライアント機器として動作することが可能である。デジタルカメラ100がクライアント機器として動作する場合、周辺のアクセスポイント機器に接続することで、アクセスポイント機器が形成するLANにジョインすることが可能である。制御部101は、接続部111を制御することで中継装置および外部装置との無線通信を実現する。なお、通信方式は無線LANに限定されるものではなく、例えば4GやLTEなどの公衆無線通信方式や、Ethernet等の規格に従った有線通信方式を含む。
以上がデジタルカメラ100の説明である。
<中継サーバ200の構成>
次に、中継装置の一例である中継サーバ200について説明する。図2は、本実施形態の中継装置の一例である中継サーバ200の構成例を示すブロック図である。なお、ここでは中継装置の一例としてサーバを例に挙げて説明するが、中継装置はこれに限らない。中継装置は、デジタルカメラ100と配信サーバ300との通信を中継し、配信サーバ300のWebAPIの変更に対応できる機能を有していればよい。WebAPIについては後述する。中継サーバ200は、例えば、スマートフォン、タブレットデバイス、およびパーソナルコンピュータ等の情報処理装置である。
制御部201は、入力された信号や、後述のプログラムに従って中継サーバ200の各部を制御する。なお、制御部201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
不揮発性メモリ202は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ202には、制御部201が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ202には、デジタルカメラ100および配信サーバ300と通信するためのアプリケーションが格納されている。
作業用メモリ203は、制御部201の作業領域等として使用される。
接続部204は、通信装置および外部装置と接続するためのインターフェースである。本実施形態の中継サーバ200は、接続部204を介して、通信装置および外部装置とデータのやりとりを行うことができる。
<配信サーバ300の説明>
本実施形態の外部装置の一例である配信サーバ300はクラウドサービスを提供する。特にこのクラウドサービスはユーザから遅延の少ないサービスの提供が求められるクラウドサービスである。本実施形態において、配信サーバ300はライブ配信サービスを提供している。
ライブ配信は、ストリーミング技術によってユーザがインターネットを介してリアルタイムに動画データや音声データ等を視聴者(他のユーザ)へ配信することである。視聴者はこの動画データや音声データ等を、テレビ放送やラジオ放送の生放送のように、リアルタイムに視聴できる。本実施形態において、デジタルカメラ100はライブ配信サービスに対応している通信装置の一例である。本実施形態においてデジタルカメラ100は撮影している動画データを配信サーバ300へ送信し、配信サーバ300は受信した動画データをWebページ等で視聴できるようにサービスを提供する。以降、デジタルカメラ100が生成した、ライブ配信において配信する動画データや音声データ等を総称して配信データという。
ユーザはライブ配信を開始する前に、パソコンやスマートフォン等を用いてイベントを配信サーバ300上に作成する。イベントは、例えばライブ配信の識別子、配信先URL、ストリームキー、ライブ配信のタイトル、および動画データのビットレート等のライブ配信に関する設定を含むデータである。配信先URLは、例えばデジタルカメラ100が生成した配信データの送信先となるURLである。ストリームキーは、配信サーバ300がユーザと配信データとを関連付けるための情報である。ユーザはこのイベントを配信サーバに複数作成することができる。また、デジタルカメラ100がイベントを作成することもできる。本実施形態において配信サーバ300はイベントを中継サーバ200へ送信する。中継サーバ200はそのイベントからデジタルカメラ100がライブ配信に必要な情報をデジタルカメラ100に送信する。
また、ライブ配信の準備処理のためのデータの送受信に利用する通信プロトコルと、ライブ配信において配信データ等の送受信に利用する通信プロトコルと、は異なる。前者のプロトコルはデータ通信ができる通信プロトコルである。前者の通信プロトコルは、広く利用されている通信プロトコルを想定している。後者の通信プロトコルは、遅延の少ない通信を目的とした通信プロトコルである。例えば、前者の通信プロトコルはHTTP(Hypertext Transfer Protocol)であり、後者の通信プロトコルはRTMP(Real―Time Messaging Protocol)である。後者の通信プロトコル(RTMP)に準拠した通信は、前者の通信プロトコル(HTTP)に準拠した通信よりも遅延が少ないという特徴がある。
ここで、HTTPに準拠した通信では、通信装置はWebAPIというインターフェースに従って通信する。このWebAPIは通信APIであり、一般的にクラウドサービスごとに異なるWebAPIが規定されている。本実施形態では、デジタルカメラ100は中継サーバ200が規定したWebAPIに従って通信し、中継サーバ200は配信サーバ300が規定したWebAPIに従って通信する。
<システム構成>
図3は、デジタルカメラ100がネットワークを介して中継サーバ200および配信サーバ300にアクセスし、ライブ配信を実行するためのシステム構成の一例を示す図である。ここで、デジタルカメラ100は中継サーバ200のアドレスを記録しており、中継サーバ200は配信サーバ300のアドレスを記録しているとする。このアドレスは例えばIPアドレスである。
デジタルカメラ100と中継サーバ200は、ネットワークルータ301を介して接続する。ネットワークルータ301は無線LANのアクセスポイントとなってネットワークを形成する。デジタルカメラ100はクライアントとしてネットワークルータ301が形成したネットワークにジョインする。なお、本実施形態においてデジタルカメラ100がネットワークルータ301に無線接続する例を説明するが、デジタルカメラ100はネットワークルータ301に有線接続してもよい。デジタルカメラ100はネットワークルータ301を介して、中継サーバ200と接続する。また、中継サーバ200は公衆回線を経由して、配信サーバ300と接続する。そして、デジタルカメラ100は中継サーバ200から配信サーバ300のアドレスを受信し、そのアドレスを利用して配信サーバ300と接続する。
本実施形態の通信システムではデジタルカメラ100は1台として説明しているが、複数のデジタルカメラ100が中継サーバ200および配信サーバ300と接続することも可能である。
<ライブ配信を実行するための準備処理>
まずライブ配信を実行するための準備処理について説明する。この準備処理はデジタルカメラ100および中継サーバ200と、配信サーバ300と、を互いに連携させるための処理である。ここで、デジタルカメラ100と中継サーバ200とはすでに接続が完了しているとする。この準備処理において、デジタルカメラ100および中継サーバ200と、配信サーバ300と、はHTTPに準拠して通信する。
図4は本実施形態におけるライブ配信を実行するための準備処理の一例を示すシーケンス図である。
ステップS401において、デジタルカメラ100はユーザから中継サーバ200と配信サーバ300とを連携させるための指示を受け付ける。ここで、ユーザはデジタルカメラ100に配信サーバ300にアクセスするための登録情報を入力する。登録情報は、ユーザが配信サーバ300に登録されていることを証明するための情報である。例えば、登録情報は配信サーバ300にアクセスするためのアカウントIDとパスワードである。
ステップS402において、デジタルカメラ100は中継サーバ200に配信サーバ300と連携することを要求する。ここで、デジタルカメラ100は登録情報およびデジタルカメラ100の識別子を中継サーバ200へ送信する。この識別子は、デジタルカメラ100を特定できる情報であればよい。例えば、この識別子は8桁の英数字で構成されるIDである。本実施形態において、この識別子はデジタルカメラ100が生成する。
ステップS403において、中継サーバ200は配信サーバ300に認証情報を要求する。本実施形態では、ステップS402において受信した登録情報を用いて、中継サーバ200は配信サーバ300に認証情報を要求する。この認証情報は、例えばアクセストークンである。ここで、中継サーバ200は、配信サーバ300が規定したWebAPIを利用して、配信サーバ300に認証情報を要求する。
ステップS404において、中継サーバ200は配信サーバ300から認証情報を受信する。この認証情報を利用することで中継サーバ200は配信サーバ300にアクセスすることができる。
ステップS405において、中継サーバ200はステップS404において受信した認証情報とステップS402において受信したデジタルカメラ100の識別子を関連付けて記録する。これによりユーザはデジタルカメラ100と中継サーバ200と配信サーバ300とを連携させることができる。
ステップS406において、ステップS402において受信した要求への応答として、中継サーバ200は配信サーバ300と連携したことを示す通知をデジタルカメラ100へ送信する。
このように、HTTPに準拠した通信において、デジタルカメラ100は中継サーバ200を介して配信サーバ300と通信する。これにより配信サーバ300のWebAPIが変更された場合でも、中継サーバ200がその変更に対応することで、デジタルカメラ100がその変更に対応する必要がなくなる。デジタルカメラ100ではなく中継サーバ200がWebAPIの変更に対応しない利点は2つある。1つ目は、一般的にデジタルカメラ100のような通信装置(特に携帯できる装置)よりも、サーバのような情報処理装置(特に据え置く装置)のほうが、プログラムの変更が容易である点である。2つ目は、本実施形態の通信システムにおいて複数のデジタルカメラ100が存在する場合、デジタルカメラ100をすべてWebAPIの変更に対応させるよりも、中継サーバ200を1台WebAPIの変更に対応させる方が容易である点である。
本実施形態では、ユーザは登録情報をデジタルカメラ100を介して中継サーバ200に送信しているが、他の方法でもよい。例えば、ユーザは他のパソコン等の情報処理装置から中継サーバ200に登録情報を送信すればよい。
また、ステップS402において、デジタルカメラ100はデジタルカメラ100を特定できる識別子を生成したが、この識別子は中継サーバ200が生成してもよい。この場合、ステップS402において、中継サーバ200は受信した要求に応じて、デジタルカメラ100を特定できる識別子を生成する。そして中継サーバ200はデジタルカメラ100へこの識別子を送信する。このように、デジタルカメラ100を特定できる識別子はデジタルカメラ100および中継サーバ200のどちらが生成してもよい。
<ライブ配信処理>
図5は本実施形態におけるライブ配信を実行する際のデジタルカメラ100、中継サーバ200、および配信サーバ300の処理の一例のシーケンスを示す図である。図6(a)〜(c)は本実施形態におけるデジタルカメラ100の表示画面の一例である。図5および図6(a)〜(c)を用いて、ライブ配信における一連の動作を説明する。
ステップS501において、ユーザがデジタルカメラ100を操作して、ライブ配信を開始するための指示を入力する。図6(a)は本実施形態におけるライブ配信処理を開始するための画面の一例である。例えばユーザがタッチパネルをタッチ操作して、釦602を選択することによりライブ配信処理を開始する。なお、ユーザがタッチパネルをタッチ操作して釦601を選択した場合、デジタルカメラ100は、図4を用いて説明したライブ配信を行うための準備処理を開始する。
ステップS502において、デジタルカメラ100はライブ配信を実行するための情報を中継サーバ200に要求する。ここで、ライブ配信を実行するための情報は、例えば配信先URLやストリームキー等である。ライブ配信を実行するための情報はイベントでもよい。ここで、デジタルカメラ100はデジタルカメラ100の識別子も送信する。また、デジタルカメラ100は中継サーバ200が規定したWebAPIを利用して中継サーバ200と通信する。
ステップS503において、中継サーバ200は、デジタルカメラ100のライブ配信を実行するための情報を配信サーバ300に要求する。ここで中継サーバ200は配信サーバ300に情報を要求する場合、ステップS502において受信した識別子と関連付けて記録している認証情報を利用する。また、中継サーバ200は配信サーバ300が規定したWebAPIを利用して配信サーバ300と通信する。
ステップS504において、要求に対する応答として、配信サーバ300はライブ配信を実行するための情報を、中継サーバ200へ送信する。ここで、配信サーバ300はライブ配信を実行するための情報を例えばデフォルトのイベントを送信する。また本ステップにおいて、配信サーバ300は配信データを受け付ける状態になる。
ステップS505において、中継サーバ200は、ステップS504において受信した情報をデジタルカメラ100へ送信する。
ステップS506において、配信データを配信サーバ300に送信する前に、デジタルカメラ100は待機画面を表示する。図6(b)は本実施形態におけるデジタルカメラ100のライブ配信を開始する前の待機画面の一例である。図6(b)に示すように、デジタルカメラ100は表示部106にスルー画像を表示する。ここで、ユーザはデジタルカメラ100の画面を参照しながら画角等を調整し、ライブ配信の準備をすることができる。
ここまでの処理によりデジタルカメラ100は中継サーバ200を介して配信サーバ300からライブ配信を実行するための情報を受信できた。デジタルカメラ100はこの情報に基づいてライブ配信する。
ステップS507において、ユーザはデジタルカメラ100を操作し、配信データの送信を開始するための指示を入力する。例えば図6(b)に示す画面において、ユーザがタッチパネルをタッチ操作して、釦603を選択することによりライブ配信処理を開始するための指示を入力する。デジタルカメラ100は本ステップ以降に撮影した動画データおよび集音した音声データを配信データとして配信サーバ300へ送信する。
ステップS508において、デジタルカメラ100はステップS505において受信した情報を利用して、配信データを配信サーバ300へ中継サーバ200を介することなく送信する。ここで送信された配信データが配信サーバ300を介してライブ配信される。デジタルカメラ100は配信データを継続的に送信することで、配信サーバ300を介してライブ配信できる。なお、デジタルカメラ100は記録している配信データをすべて送信するのではなく、その一部を送信する。例えば、配信データが5秒分の動画データである場合、デジタルカメラ100は先に撮影した1秒分の動画データを配信サーバ300へ送信する。ここで、配信サーバ300は受信した配信データを視聴者であるユーザに送信(配信)している。ここで、図6(c)は本実施形態におけるデジタルカメラ100のライブ配信中の画面の一例である。図6(c)に示すように、本ステップにおいてデジタルカメラ100はライブ配信中であることを表示部106の左上に「●Live」と表示することでユーザに示している。
ステップS509において、デジタルカメラ100は中継サーバ200にライブ配信の状態に関する情報を要求する。ここで、ライブ配信の状態に関する情報は、例えば配信サーバ300が配信しているデジタルカメラ100において撮影した動画を視聴しているユーザの数(以下、視聴者数という)を示す数値である。デジタルカメラ100がこの視聴者数を表示することで、ライブ配信しているユーザはライブ配信中でも視聴者数を把握しやすくなる。他にもライブ配信の状態に関する情報は、例えば配信サーバ300との通信速度の状態、ライブ配信の評価に関する数値、およびライブ配信中に視聴者から配信サーバ300へ送信されたコメント等がある。これらのデータもデジタルカメラ100は表示部106に表示することができる。また本ステップにおいて、デジタルカメラ100はデジタルカメラ100の識別子も中継サーバ200へ送信する。
ステップS510において、中継サーバ200はデジタルカメラ100の識別子と関連付けて記録している認証情報を利用して、配信サーバ300にライブ配信の状態に関する情報を要求する。例えば、中継サーバ200はアクセストークンを利用して、配信サーバに情報を要求する。
ステップS511において、配信サーバ300はライブ配信の状態に関する情報を中継サーバ200へ送信する。
ステップS512において、中継サーバ200はライブ配信の状態に関する情報をデジタルカメラ100へ送信する。ここでデジタルカメラ100は、本ステップにおいて受信した情報を表示部106にリアルタイムに反映してよい。例えば、図6(c)に示すように、デジタルカメラ100はライブ配信の状態に関する情報に基づいて、表示項目604に視聴者数を表示することで、現在ライブ配信を視聴しているユーザの人数を示すことができる。
ここで、ステップS509からステップS512の間においても、デジタルカメラ100はステップS508の処理を繰り返し並行して、配信データを配信サーバ300へ送信し続ける。
ステップS513において、ユーザがデジタルカメラ100を操作して、ライブ配信を終了するための指示を入力する。例えば、図6(c)に示す画面において、ユーザがタッチパネルをタッチ操作して、釦605を選択することによりライブ配信を終了するための指示を入力する。
ステップS514において、デジタルカメラ100は動画データの記録および送信を終了する。
ステップS515において、デジタルカメラ100はライブ配信を終了するための通知を中継サーバ200に送信する。
ステップS516において、中継サーバ200は、ステップS515において受信した通知に基づいて、配信サーバ300にライブ配信を終了するよう要求する。
ステップS517において、要求に対する応答として、配信サーバ300はライブ配信を終了したことを示す通知を中継サーバ200へ送信する。
ステップS518において、中継サーバ200は、ステップS517において受信した通知に基づいて、ライブ配信を終了したこと示す通知をデジタルカメラ100へ送信する。
このように、ライブ配信に利用する動画データのように遅延が少ないことを求められる通信は、デジタルカメラ100は配信サーバ300に直接送信する。一般的に通信プロトコルはWebAPIよりも変更されることは少ないため、デジタルカメラ100はリアルタイム性が求められるライブ配信では遅延の少ない通信プロトコルを利用する。このとき、デジタルカメラ100は中継サーバ200から取得した配信先URLを利用して配信サーバ300にアクセスする。
以上、第一の実施形態におけるライブ配信処理について説明した。
<デジタルカメラ100の動作>
図6(a)〜(d)は本実施形態におけるデジタルカメラ100の表示画面の一例である。図7は、本実施形態におけるデジタルカメラ100の動作の一例を示すフローチャートである。図6(a)〜(d)および図7を用いてデジタルカメラ100の処理について説明する。この処理は、不揮発性メモリ103に記録されたソフトウェアを作業用メモリ104に展開して制御部101が実行することで実現する。またこの処理は、ユーザによるライブ配信を開始する指示を制御部101が受け付けたことをトリガに開始される。例えば図6(a)に示す画面において、ユーザがタッチパネルをタッチ操作しての釦602を選択したことをトリガに、制御部101は本フローチャートの処理を開始する。これは図5のステップS501に対応する。ここで、ライブ配信を実行するための準備処理を行わずに、ユーザによって釦602が選択された場合、制御部101は図6(d)に示すような警告を報知するための画面を表示し、ユーザにライブ配信を実行するための準備処理を実行するように促す。
ステップS701において、制御部101は接続部111を介してライブ配信を実行するための情報を要求するパケットを中継サーバ200へ送信する。本ステップにおいて、制御部101はデジタルカメラ100の識別子も中継サーバ200へ送信する。本ステップは、図5のステップS502に対応する。
ステップS702において、接続部111を介して中継サーバ200からライブ配信を実行するための情報を受信できたか否かを制御部101は判定する。ライブ配信を実行するための情報が受信できた場合、制御部101はその情報を作業用メモリ104に保持して、ステップS703に遷移する。制御部101はライブ配信を実行するための情報を受信できるまで本処理を繰り返す。ここで、ライブ配信を実行するための情報は、例えば、配信サーバ300の配信先URLとストリームキーである。本ステップは、図5のステップS505に対応する。
ステップS703において、制御部101は表示部106に図6(b)に示すような画面を表示する。図6(b)は本実施形態におけるデジタルカメラ100のライブ配信を開始する前の待機画面の一例である。図6(b)の釦603はライブ配信の開始を受け付けるためのアイテムである。本ステップは図5のステップS506に対応する。
ステップS704において、制御部101は配信データの送信を開始する指示を受け付けたか否かを判定する。例えば、制御部101はユーザのタッチパネルへのタッチ操作によって釦603が選択されたことを検知した場合、ステップS705に遷移する。制御部101はユーザから配信データの送信を開始する指示を受け付けるまで本処理を繰り返す。本ステップは図5のステップS507に対応する。ここで、ステップS705以降に撮像部102によって撮影された動画データおよびステップS705以降にマイク107によって集音した音声データを制御部101は配信データとする。
ステップS705において、制御部101は配信データを、接続部111を介して、配信サーバ300へ中継サーバ200を介することなく送信を開始する。制御部101はユーザからライブ配信を終了する指示を受け付けるまで、配信データの送信を継続する。ここで、制御部101は配信データを作業用メモリ104に保持し、所定量以上の配信データが作業用メモリ104に格納された場合、接続部111を介して配信サーバ300へ送信する。制御部101は配信サーバ300の配信先URLに接続し、ストリームキーおよび配信データの送信を開始する。ここで、図6(c)に示すように、制御部101はライブ配信中であることを表示部106の左上に「●Live」と表示することでユーザに示す。本ステップは図5のステップS508に対応する。
ステップS706において、制御部101はライブ配信の状態に関する情報を要求するパケットを接続部111を介して中継サーバ200へ送信する。ライブ配信の状態に関する情報は例えば視聴者数である。図6(c)に示すように、表示項目604はライブ配信中に配信サーバ300にアクセスしている視聴者数を示す数値である。本ステップは図5のステップS509に対応する。
ステップS707において、制御部101は接続部111を介して、中継サーバ200からライブ配信の状態に関する情報を受信したか否かを判定する。ライブ配信の状態に関する情報を受信した場合、制御部101はステップS708に遷移する。制御部101はライブ配信の状態に関する情報を受信するまで本処理を繰り返す。本ステップは図5のステップS512に対応する。
ステップS708において、制御部101は表示部106の表示を更新する。例えば、制御部101は図6(c)の表示項目604に示す視聴者数の数字の表示を更新する。
ステップS709において、制御部101はユーザからライブ配信の終了の指示を受け付けたか否かを判定する。ライブ配信の終了の指示を受け付けた場合、制御部101はステップS710に遷移する。ライブ配信の終了の指示を受け付けていない場合、制御部101はステップS706に戻り、ライブ配信を継続する。制御部101は、例えば、図6(c)に示す釦605を、ユーザがタッチパネルをタッチ操作によって選択したことを検知することでライブ配信の終了の指示を受け付ける。またユーザからライブ配信の終了が指示されるまでは、制御部101はステップS706からステップS709の処理を繰り返し、ライブ配信の状態に関する情報の取得と表示を継続する。本ステップは、図5のステップS513に対応する。なお、ステップS706からステップS709の処理を繰り返している間も、制御部101はステップS705において開始した配信データの送信を継続している。
ステップS710において、制御部101は配信サーバ300への配信データの送信を終了する。本ステップは、図5のステップS514に対応する。
ステップS711において、中継サーバ200および配信サーバ300との接続を切断して、処理を終了する。本ステップは図5のステップS515およびステップS518に対応する。
以上、デジタルカメラ100の動作について説明した。
<中継サーバ200の動作>
以下、本実施形態における中継サーバ200の動作について、図8を参照して説明する。中継サーバ200とデジタルカメラ100とが接続した場合、本処理は開始される。
ステップS801において、制御部201はライブ配信を実行するための情報を要求するパケットを受信したか否かを判定する。この要求パケットを受信した場合、制御部201はステップS802に遷移する。制御部201はこの要求パケットを受信するまで本ステップの処理を繰り返す。ここで、制御部201は接続部204を介して、デジタルカメラ100の識別子を受信する。本ステップは図5のステップS502に対応する。
ステップS802において、制御部201は、ステップS801で受信した識別子と、図4のステップS405において記録したデジタルカメラ100の識別子とを比較する。2つの識別子が一致した場合、制御部201は図4のステップS405において記録したデジタルカメラ100の識別子と関連付けられている認証情報を作業用メモリ203に保持する。そして、制御部201は接続部204を介して、認証情報を用いて、ライブ配信を実行するための情報を要求するパケットを配信サーバ300へ送信する。本ステップは図5のステップS503に対応する。
ステップS803において、制御部201が接続部204を介して、配信サーバ300からライブ配信を実行するための情報を受信したか否かを判定する。ライブ配信を実行するための情報を受信した場合、制御部201はステップS804に遷移する。制御部201はライブ配信を実行するための情報を受信するまで本ステップの処理を繰り返す。ライブ配信を実行するための情報は例えば配信先URLおよびストリームキーである。本ステップは図5のステップS504に対応する。
ステップS804において、制御部201は接続部204を介して、ライブ配信を実行するための情報をデジタルカメラ100へ送信する。本ステップは図5のステップS505に対応する。
ステップS805において、制御部201が接続部204を介して、ライブ配信の状態に関する情報を要求するパケットを受信したか否かを判定する。ライブ配信の状態に関する情報を要求するパケットを受信した場合、制御部201はステップS806に遷移する。制御部201はライブ配信の状態に関する情報を要求するパケットを受信するまで本ステップの処理を繰り返す。ここで、制御部201はデジタルカメラ100の識別子をデジタルカメラ100から受信する。本ステップは図5のステップS509に対応する。
ステップS806において、制御部201は接続部204を介して、ライブ配信の状態に関する情報を要求するパケットを配信サーバ300へ送信する。本ステップは図5のステップS510に対応する。
ステップS807において、制御部201は接続部204を介して、ライブ配信の状態に関する情報を受信したか否かを判定する。ライブ配信の状態に関する情報を受信した場合、制御部201はステップS808に遷移する。制御部201はライブ配信の状態に関する情報を受信するまで本ステップの処理を繰り返す。本ステップは、図5のステップS511に対応する。
ステップS808において、制御部201は接続部204を介して、ライブ配信の状態に関する情報をデジタルカメラ100へ送信する。本ステップは図5のステップS512に対応する。
ステップS809において、制御部201はデジタルカメラ100との接続が切断されたか否かを判定する。デジタルカメラ100との接続が切断されたことを検知した場合、制御部201は配信サーバ300との接続を切断し本処理を終了する。デジタルカメラ100との接続が切断されていない場合、制御部201はステップS801に戻り本処理を継続する。本ステップは図5のステップS516およびステップS517に対応する。
以上、中継サーバ200の動作について説明した。
以上、本実施形態により、デジタルカメラ100は配信サーバ300のWebAPIによらず、配信サーバ300からライブ配信を実行するための情報およびライブ配信の状態に関する情報を受信できる。また、デジタルカメラ100は配信データを少ない遅延で配信サーバ300へ送信することができる。
[第二の実施形態]
第一の実施形態では、デジタルカメラ100は配信サーバ300から受信したライブ配信を実行するための情報に従ってライブ配信した。第二の実施形態では、ユーザがイベントを自由に選択してライブ配信するためのシステムの一例を説明する。
ここで、デジタルカメラ100、中継サーバ200、および配信サーバ300の構成は、それぞれ第一の実施形態と同様であるため説明を省略する。また、通信システムも第一の実施形態と同様であるため説明を省略する。
<ライブ配信を実行するための準備処理>
図9および図10(a),(b)を用いて、デジタルカメラ100のライブ配信を実行するための機能を中継サーバ200が有効化する場合の準備処理について説明する。図9は第二の実施形態におけるライブ配信を実行するための準備処理の一例を示すシーケンス図である。ここで、デジタルカメラ100と中継サーバ200とはすでに連携が完了している。
ステップS901において、デジタルカメラ100および中継サーバ200は接続を確立する。本ステップにおいて、中継サーバ200はデジタルカメラ100の識別子を生成する。例えば、この識別子は8桁の英数字で構成されるIDである。図10(a)はデジタルカメラ100のライブ配信を実行するための機能が有効化されていないデジタルカメラの通信に関する機能のメニュー表示の一例である。ここで、例えばユーザがタッチパネルをタッチ操作して釦1001を選択することで、デジタルカメラ100は中継サーバ200と接続する。
ステップS902において、ユーザはデジタルカメラ100のライブ配信を実行するための機能を有効化することを中継サーバ200に指示する。本ステップにおいて、ユーザは登録情報を中継サーバ200に入力する。
ステップS903において、中継サーバ200は配信サーバ300に認証情報を要求する。ここで、中継サーバ200はステップS902において入力された登録情報を用いる。この認証情報は、例えばアクセストークンである。
ステップS904において、中継サーバ200は配信サーバ300から認証情報を受信する。この認証情報を利用することで中継サーバ200は配信サーバ300にアクセスすることができる。
ステップS905において、中継サーバ200はステップS901において生成したデジタルカメラ100の識別子とステップS904において受信した認証情報とを関連付けて記録する。
ステップS906において、中継サーバ200はデジタルカメラ100にライブ配信を実行するための機能を有効化することを要求する。ここで中継サーバ200は、ライブ配信を実行するための機能を有効化するために必要なデータを送信してもよい。例えば、デジタルカメラ100がライブ配信を実行するための機能を表示するためのアイコン等を中継サーバ200は送信してもよい。
ステップS907において、デジタルカメラ100はライブ配信を実行するための機能を有効化する。図10(b)はライブ配信を実行するための機能が有効化されたデジタルカメラの通信に関する機能のメニュー表示の一例である。ライブ配信を実行するための機能が有効化されたことにより、デジタルカメラ100は通信メニューに釦1002を表示し、ライブ配信ができることをユーザに示す。
<ライブ配信処理>
図11は本実施形態におけるライブ配信を実行する際のデジタルカメラ100、中継サーバ200、および配信サーバ300の処理の一例のシーケンスを示す図である。図12(a)〜(d)は本実施形態におけるデジタルカメラ100の表示画面の一例である。図11および図12(a)〜(d)を用いて、ライブ配信における一連の動作を説明する。
ステップS1101において、ユーザはライブ配信の種類を選択する。図12(a)はデジタルカメラ100のライブ配信の種類を選択するための画面の一例である。表示項目1201は「今すぐ配信」というライブ配信方法を選択するためのアイテムである。このライブ配信では、デジタルカメラ100は配信サーバ300に記録されているデフォルトの設定でライブ配信する。表示項目1202は配信サーバ300に記録されているイベントに従ってライブ配信することを選択するためのアイテムである。このライブ配信では、デジタルカメラ100は配信サーバ300に記録されているイベントの設定でライブ配信する。例えば、ユーザはタッチパネルをタッチ操作することで、ライブ配信処理を開始する。
ステップS1102において、デジタルカメラ100はライブ配信を実行するための情報を中継サーバ200に要求する。ここで、ライブ配信を実行するための情報は、例えば配信先URLやストリームキー等である。ここで、デジタルカメラ100は「今すぐ配信」によるライブ配信か「イベント」によるライブ配信かを中継サーバ200に通知する。また、デジタルカメラ100は中継サーバ200が規定したWebAPIを利用して中継サーバ200と通信する。
ステップS1103において、中継サーバ200は、デジタルカメラ100のライブ配信を実行するための情報を配信サーバ300に要求する。ここで、中継サーバ200は「今すぐ配信」によるライブ配信か「イベント」によるライブ配信かを配信サーバ300に通知する。ここで中継サーバ200は配信サーバ300が規定したWebAPIを利用して配信サーバ300と通信する。
ステップS1104において、要求に対する応答として、配信サーバ300はライブ配信を実行するための情報を、中継サーバ200へ送信する。ここで配信サーバ300が送信する情報は「今すぐ配信」によるライブ配信か「イベント」によるライブ配信かによって異なる。「今すぐ配信」によるライブ配信の場合、配信サーバ300はデジタルカメラ100のユーザが記録しているデフォルトのイベントを中継サーバ200へ送信する。「イベント」によるライブ配信の場合、配信サーバ300はデジタルカメラ100のユーザが記録しているイベントをすべて送信する。
ステップS1105において、中継サーバ200は、ステップS504において受信した情報をデジタルカメラ100へ送信する。
ステップS1106において、デジタルカメラ100はステップS1105において中継サーバ200から受信した情報に基づいて画面を表示する。「今すぐ配信」によるライブ配信の場合、デジタルカメラ100は例えば図12(b)に示すような確認画面を表示する。図12(b)に示すように「今すぐ配信」によるライブ配信では、デジタルカメラ100は表示項目1203にユーザがデフォルトで設定したタイトル名を表示する。例えばユーザはタッチパネルをタッチ操作して「OK」を選択することで、デジタルカメラ100はライブ配信の待機画面を表示する。
「イベント」によるライブ配信の場合、デジタルカメラ100は例えば図12(c)に示すような選択画面を表示する。図12(c)に示すように、まずデジタルカメラ100は中継サーバ200から受信したイベントのリストを表示する。例えば図12(c)の表示項目1204および表示項目1205に示すように、このイベントのリストではイベントのタイトル名が表示されている。このようにデジタルカメラ100は中継サーバ200から送信されたイベントをユーザが選択できるように表示する。そしてユーザが例えばタッチパネルをタッチ操作して表示項目1204のイベントを選択した場合、デジタルカメラ100は図12(d)に示すような確認画面を表示する。図12(d)に示すように「イベント」によるライブ配信では、デジタルカメラ100は表示項目1203にユーザが選択したイベントのタイトル名を表示する。また例えばデジタルカメラ100は表示項目1206に、ライブ配信の開始時刻を表示する。このようにデジタルカメラ100はイベントに含まれる情報の表示項目をライブ配信の方法等に基づいて変更してよい。
ステップS1107からステップS1115は、それぞれ図5のステップS506からステップS514と同様であるため、説明を省略する。
ステップS1116において、デジタルカメラ100は図6(b)に示すような配信データを送信する前の状態に戻る。ここで本実施形態は第一の実施形態とは異なり、デジタルカメラ100は配信データの送信を終了しても中継サーバ200にライブ配信を終了することを要求せず、配信データの送信を終了した状態で待機する。ここで例えばユーザは図6(b)の釦603を選択することで、ライブ配信を再開することができる。これによりユーザが誤ってライブ配信を終了してしまった場合でも、ユーザはすぐにライブ配信を再開することができる。また、これによりユーザは一時的にライブ配信を中止して、任意のタイミングでライブ配信を再開することもできる。
ステップS1117からステップS1120は、それぞれ図5のステップS515からステップS518と同様であるため、説明を省略する。
以上、第二の実施形態におけるライブ配信処理について説明した。
本実施形態により、第一の実施形態の効果に加えて、ユーザはデジタルカメラ100を利用することで任意の設定でライブ配信できる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明は、ネットワークを介して他の装置と通信可能な通信装置に関する。
本発明に係る通信装置は、通信手段と、制御手段と、を有し、前記制御手段は、第一のデータを外部装置に送信するための第二のデータを中継装置に要求する場合は、前記外部装置で生成される前記第二のデータを前記中継装置が前記外部装置から受信するために用いられる認証情報に関連付けられた前記通信装置の識別子を前記中継装置に送信するよう前記通信手段を制御し、前記制御手段は、前記第二のデータを、前記中継装置から受信するよう前記通信手段を制御し、前記制御手段は、前記第二のデータに基づいて、前記中継装置を介さずに前記第一のデータを前記外部装置送信するよう前記通信手段を制御することを特徴とする。

Claims (18)

  1. 通信手段と、
    制御手段と、を有し、
    前記制御手段は、第一のデータを外部装置に送信するための第二のデータを外部装置に要求するパケットを中継装置に送信するよう前記通信手段を制御し、
    前記制御手段は、前記第二のデータを、前記中継装置から受信するよう前記通信手段を制御し、
    前記制御手段は、前記第二のデータに基づいて、前記中継装置を介さずに前記第一のデータを前記外部装置へ送信するよう前記通信手段を制御する
    ことを特徴とする通信装置。
  2. 前記中継装置が前記外部装置から前記第二のデータを受信するための認証情報を、前記制御手段は前記中継装置へ送信するよう前記通信手段を制御することを特徴とする請求項1に記載の通信装置。
  3. 前記認証情報は前記外部装置にアクセスするために用いられるアカウントIDおよびパスワードであることを特徴とする請求項2に記載の通信装置。
  4. 前記第二のデータを受信する前に前記第一のデータを前記外部装置へ送信する指示を受け付けた場合、前記制御手段は警告を報知することを特徴とする請求項1から3のいずれか1項に記載の通信装置。
  5. 前記警告は前記第二のデータを受信していないことを示すことを特徴とする請求項4に記載の通信装置。
  6. さらに前記第一のデータを生成する生成手段を有し、
    前記通信手段が前記第一のデータを前記外部装置へ送信を開始した後も前記生成手段は前記第一のデータの生成を継続し、
    前記生成手段が前記第一のデータを生成している間も、前記制御手段は前記生成手段によって既に生成された前記第一のデータのうち前記外部装置へ送信されていないデータの少なくとも一部を、前記外部装置へ送信するよう前記通信手段を制御する
    ことを特徴とする請求項1から5のいずれか1項に記載の通信装置。
  7. 前記制御手段は前記第一のデータを送信することを開始する指示を受け付けた場合、前記第一のデータの生成を開始するよう前記生成手段を制御し、前記第一のデータの送信を開始するよう前記通信手段を制御する
    ことを特徴とする請求項6に記載の通信装置。
  8. 前記制御手段は前記第一のデータを送信することを終了する指示を受け付けた場合、前記第一のデータの生成を終了するよう前記生成手段を制御し、前記第一のデータの送信を終了するよう前記通信手段を制御する
    ことを特徴とする請求項6または7に記載の通信装置。
  9. 前記生成手段は、撮像部および集音部の少なくとも一方によって構成されることを特徴とする請求項6から8のいずれか1項に記載の通信装置。
  10. 前記第一のデータの送信と並行して、前記外部装置が提供しているサービスにおける前記第一のデータに関する情報を、前記制御手段は前記中継装置を介して受信するよう前記通信手段を制御することを特徴とする請求項1から9のいずれか1項に記載の通信装置。
  11. 前記サービスはライブ配信サービスであることを特徴とする請求項10に記載の通信装置。
  12. 前記サービスにおける前記第一のデータに関する情報は前記サービスを利用して前記第一のデータを受信しているユーザの人数であることを特徴とする請求項10または11に記載の通信装置。
  13. 前記第一のデータは動画データおよび音声データの少なくとも一方であることを特徴とする請求項1から12のいずれか1項に記載の通信装置。
  14. 前記第二のデータは前記第一のデータの送信先であるURLおよびストリームキーであることを特徴とする請求項1から13のいずれか1項に記載の通信装置。
  15. 前記第一のデータは第一の通信プロトコルに準拠して通信し、前記第二のデータは第二の通信プロトコルに準拠して通信し、
    前記第一の通信プロトコルに準拠した通信は前記第二の通信プロトコルに準拠した通信よりも遅延が少ない
    ことを特徴とする請求項1から14のいずれか1項に記載の通信装置。
  16. 前記第一の通信プロトコルはReal―Time Messaging Protocolであり、前記第二の通信プロトコルはHypertext Transfer Protocolであることを特徴とする請求項15に記載の通信装置。
  17. 通信手段を有する通信装置の制御方法であって、
    第一のデータを外部装置に送信するための第二のデータを、中継装置から受信するよう前記通信手段を制御するステップと、
    前記第二のデータに基づいて、前記中継装置を介さずに前記第一のデータを前記外部装置へ送信するよう前記通信手段を制御するステップと、
    を有することを特徴とする制御方法。
  18. コンピュータを請求項1から16のいずれか1項に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
JP2018242855A 2018-12-26 2018-12-26 通信装置、その制御方法、およびそのプログラム Active JP6686125B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018242855A JP6686125B1 (ja) 2018-12-26 2018-12-26 通信装置、その制御方法、およびそのプログラム
CN201911249513.5A CN111385673B (zh) 2018-12-26 2019-12-09 通信设备、其控制方法及其记录介质
US16/709,713 US11190812B2 (en) 2018-12-26 2019-12-10 Communication apparatus, control method for controlling the same, and recording medium for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018242855A JP6686125B1 (ja) 2018-12-26 2018-12-26 通信装置、その制御方法、およびそのプログラム

Publications (2)

Publication Number Publication Date
JP6686125B1 JP6686125B1 (ja) 2020-04-22
JP2020106932A true JP2020106932A (ja) 2020-07-09

Family

ID=70286740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018242855A Active JP6686125B1 (ja) 2018-12-26 2018-12-26 通信装置、その制御方法、およびそのプログラム

Country Status (3)

Country Link
US (1) US11190812B2 (ja)
JP (1) JP6686125B1 (ja)
CN (1) CN111385673B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4258678A1 (en) 2022-04-06 2023-10-11 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program, and computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073541A (ja) * 2000-08-31 2002-03-12 Sony Corp コンテンツ配信方法およびコンテンツ供給システム
JP2005011318A (ja) * 2003-05-22 2005-01-13 Hitachi Ltd 携帯端末、情報処理端末及び電子掲示板システム
JP2008071330A (ja) * 2006-09-15 2008-03-27 Nihon Avis Kk 携帯電話機からの動画の投稿方法および動画の投稿システム
JP2015220595A (ja) * 2014-05-16 2015-12-07 株式会社ユニモト 全周動画配信システム、全周動画配信方法、通信端末装置およびそれらの制御方法と制御プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077868A (ja) * 2000-08-31 2002-03-15 Sony Corp コンテンツ配信の予約方法、コンテンツ配信方法、予約管理装置およびプログラム格納媒体
CN101155260A (zh) 2006-09-30 2008-04-02 华为技术有限公司 电子设备的控制方法、鉴权方法和服务器
JP2008211732A (ja) 2007-02-28 2008-09-11 Sony Corp 情報転送システム、情報転送装置、情報転送端末、情報転送方法および情報転送プログラム
JP2010166128A (ja) * 2009-01-13 2010-07-29 Anritsu Corp パケット伝達特性試験装置
FR2959372A1 (fr) * 2010-04-23 2011-10-28 Orange Vallee Procede et systeme de gestion d'une session de diffusion en continu d'un flux video affiche en direct
US9661047B2 (en) * 2012-04-30 2017-05-23 Mobilatv Ltd. Method and system for central utilization of remotely generated large media data streams despite network bandwidth limitations
US20190132613A1 (en) * 2016-03-31 2019-05-02 Chengdu Ck Technology Co., Ltd. Systems and associated methods for live broadcasting
CN109196502A (zh) * 2016-05-17 2019-01-11 比特勒公司 针对有限订阅者的交互式直播流媒体平台的***和方法
CN106105244A (zh) * 2016-06-12 2016-11-09 北京小米移动软件有限公司 上传视频的方法、装置及摄像装置
JP6467395B2 (ja) * 2016-11-25 2019-02-13 キヤノン株式会社 画像送信装置、画像受信装置、それらの制御方法および画像通信システム
US10728209B2 (en) * 2017-01-05 2020-07-28 Ademco Inc. Systems and methods for relating configuration data to IP cameras
US10250658B2 (en) * 2017-03-17 2019-04-02 The Directv Group, Inc. Hybrid media stream delivery using multiple network connections
US10904313B2 (en) * 2017-06-20 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming
US10992966B2 (en) * 2017-07-14 2021-04-27 Callyo 2009 Corp Mobile phone as a police body camera over a cellular network
CA3079475A1 (en) * 2017-10-19 2019-04-25 Lazar Entertainment Inc. Systems and methods for broadcasting live media streams
US10742696B2 (en) * 2018-02-28 2020-08-11 Sling Media Pvt. Ltd. Relaying media content via a relay server system without decryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073541A (ja) * 2000-08-31 2002-03-12 Sony Corp コンテンツ配信方法およびコンテンツ供給システム
JP2005011318A (ja) * 2003-05-22 2005-01-13 Hitachi Ltd 携帯端末、情報処理端末及び電子掲示板システム
JP2008071330A (ja) * 2006-09-15 2008-03-27 Nihon Avis Kk 携帯電話機からの動画の投稿方法および動画の投稿システム
JP2015220595A (ja) * 2014-05-16 2015-12-07 株式会社ユニモト 全周動画配信システム、全周動画配信方法、通信端末装置およびそれらの制御方法と制御プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4258678A1 (en) 2022-04-06 2023-10-11 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program, and computer readable medium

Also Published As

Publication number Publication date
CN111385673B (zh) 2022-05-06
US11190812B2 (en) 2021-11-30
US20200213630A1 (en) 2020-07-02
CN111385673A (zh) 2020-07-07
JP6686125B1 (ja) 2020-04-22

Similar Documents

Publication Publication Date Title
JP6429539B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP2016123137A (ja) 画像通信装置および撮像装置
US10225455B2 (en) Communication apparatus, information processing apparatus, methods and computer-readable storage medium
JPWO2013132828A1 (ja) 通信システムおよび中継装置
JP6092622B2 (ja) 通信装置およびその制御方法、プログラム
JP7101525B2 (ja) 電子機器およびその制御方法、並びに、プログラム
JP2013162303A (ja) 画像処理装置、その制御方法、プログラム
JP7469884B2 (ja) 画像処理装置およびその制御方法、プログラム、並びに記憶媒体
JP6467395B2 (ja) 画像送信装置、画像受信装置、それらの制御方法および画像通信システム
JP6686125B1 (ja) 通信装置、その制御方法、およびそのプログラム
JP6800930B2 (ja) 通信装置、その制御方法、およびそのプログラム
US20190335112A1 (en) Communication apparatus and control method thereof
JP2014220700A (ja) 通信装置、通信装置の制御方法、プログラム
JP4692138B2 (ja) 携帯端末からのパン&チルト機能搭載型ネットワークカメラ画像の閲覧方法及びパン&チルト機能搭載型ネットワークカメラ
JP6736707B1 (ja) 情報処理装置、制御方法およびプログラム
JP2015111817A (ja) 撮像装置、操作端末及びそれらの制御方法、システム、並びにプログラム
JP2022155136A (ja) 通信装置、制御方法、およびプログラム
JP7158886B2 (ja) 画像処理装置、電子機器、及び画像処理装置の制御方法
CN112352465B (zh) 通信设备、通信设备的控制方法和存储介质
JP7346122B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2019193213A (ja) 通信装置、その制御方法及びプログラム
JP7277173B2 (ja) 動画配信機能を有する撮像装置
JP2019003495A (ja) 情報処理装置、その制御方法、および制御プログラム
JP2018107714A (ja) 通信装置、通信装置の制御方法、プログラム
JP2016115266A (ja) 通信装置、その制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200401

R151 Written notification of patent or utility model registration

Ref document number: 6686125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151