JP2017208672A - Video supply device, video acquisition device, control method and program therefor, and video supply system - Google Patents

Video supply device, video acquisition device, control method and program therefor, and video supply system Download PDF

Info

Publication number
JP2017208672A
JP2017208672A JP2016099047A JP2016099047A JP2017208672A JP 2017208672 A JP2017208672 A JP 2017208672A JP 2016099047 A JP2016099047 A JP 2016099047A JP 2016099047 A JP2016099047 A JP 2016099047A JP 2017208672 A JP2017208672 A JP 2017208672A
Authority
JP
Japan
Prior art keywords
video
acquisition
external device
list
segment
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.)
Pending
Application number
JP2016099047A
Other languages
Japanese (ja)
Inventor
俊典 木場
Toshinori Koba
俊典 木場
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 JP2016099047A priority Critical patent/JP2017208672A/en
Publication of JP2017208672A publication Critical patent/JP2017208672A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technology capable of efficiently developing information on data acquired by communication.SOLUTION: The video supply device, sequentially transmitting segment data showing a part of video data to an external device, includes: acquisition means for housing the segment data received by the external device and for acquiring information on buffer means of the external device; storage means for storing segment data transmitted to the external device; creating means for creating a list including at least one of acquisition destination information showing an acquisition destination for each segment data; and transmission means for transmitting the list to the external device. The creating means determines a creating method of the list on the basis of information on the buffer means of the external device.SELECTED DRAWING: Figure 8

Description

本発明は、映像供給装置、映像取得装置、それらの制御方法及びプログラム、並びに映像供給システムに関する。   The present invention relates to a video supply device, a video acquisition device, a control method and program thereof, and a video supply system.

映像や音声のデータをダウンロードしながら同時に再生するストリーミング技術のうち、配信側が映像や音声をリアルタイムにエンコードして配信する、ライブストリーミング技術が知られている。従来のライブストリーミング技術では、リアルタイム性を重視してUDP(User Datagram Protocol)を用いたRTP(Realtime Transport Protocol)を利用するものが一般的であった。しかし、この技術では、データの到達が保証されないためデータの欠損などが発生することがあり、映像や音楽などのストリーミングデータを受信端末で記録したい場合などには不向きであった。このため、ネットワークを介して映像を送信するカメラにおいて、撮影した映像を連続的に送信する通常モードと、映像を一旦ファイルに格納して転送するファイル転送モードとをクライアントからの指示で切り替えるものが提案されている(特許文献1)。この技術は、ネットワークの負荷が重い場合には予め格納したファイルを転送することで欠損のないデータをクライアントが取得するものであるが、記録する映像が長時間である場合、ファイルの格納及び転送に時間がかかりリアルタイム性が失われてしまう。   Among streaming technologies for simultaneously reproducing video and audio data while downloading them, a live streaming technology is known in which a distribution side encodes and distributes video and audio in real time. Conventional live streaming techniques generally use RTP (Realtime Transport Protocol) using UDP (User Datagram Protocol) with emphasis on real-time characteristics. However, with this technology, data arrival is not guaranteed, and data loss may occur, which is not suitable for recording streaming data such as video and music with a receiving terminal. For this reason, some cameras that transmit video over a network switch between a normal mode in which captured video is continuously transmitted and a file transfer mode in which video is temporarily stored in a file and transferred in accordance with an instruction from the client. It has been proposed (Patent Document 1). In this technology, when the load on the network is heavy, the client acquires data without loss by transferring a file stored in advance. However, if the recorded video is long, the file is stored and transferred. Takes a long time to lose real time.

一方、TCP(Transmission Control Protocol)およびHTTP(HyperText Transfer Protocol)を利用して低容量に分割したファイルを転送するライブストリーミング技術も提案されている。その方法の一つとして、ストリーミングデータを一定時間の低容量のファイルに分割したセグメントとこのセグメントの取得先を含むプレイリストとを利用したストリーミング方法がある。このストリーミング方法では、サーバが定期的にセグメントを生成するとともに新しいセグメントの取得先を示すプレイリストを更新する。クライアントは、サーバから送信されたプレイリストを取得・解析し、プレイリストに列挙された順に取得先からセグメントを取得して映像を再生する。   On the other hand, a live streaming technique has also been proposed in which files divided into low volumes are transferred using TCP (Transmission Control Protocol) and HTTP (HyperText Transfer Protocol). As one of the methods, there is a streaming method using a segment obtained by dividing streaming data into low-capacity files of a certain time and a playlist including an acquisition destination of the segment. In this streaming method, the server periodically generates a segment and updates a playlist indicating a new segment acquisition destination. The client acquires / analyzes the playlist transmitted from the server, acquires segments from the acquisition destination in the order listed in the playlist, and reproduces the video.

特開2007−158552号公報JP 2007-158552 A

しかしながら、例えば上述のプレイリストを利用したストリーミング方法では、セグメントをデータの到達が保証される方法で転送するため、ネットワークの状況によって遅延した古いセグメントが蓄積するとセグメントの取得先を記述したプレイリストの情報量が増大してしまう。このような古いセグメントの情報は、例えばライブ試聴では不要な場合が多い。一般に通信で情報を伝える以上、その情報量は少ない方が望ましく、なるべく不要なデータを含まない方が効率的である。   However, for example, in the streaming method using the above-described playlist, the segments are transferred in a method that guarantees the arrival of the data. Therefore, when old segments that are delayed due to network conditions accumulate, The amount of information increases. Such old segment information is often unnecessary for live audition, for example. Generally, as long as information is transmitted by communication, it is desirable that the amount of information is small, and it is more efficient that unnecessary data is not included as much as possible.

本発明は、上述の問題点に鑑みてなされたものである。すなわち、通信で取得されるデータに関する情報を、効率的に生成する技術の提供を目的とする。   The present invention has been made in view of the above-described problems. That is, an object of the present invention is to provide a technique for efficiently generating information related to data acquired through communication.

この課題を解決するため、例えば本発明の映像供給装置は以下の構成を備える。すなわち、映像データの一部を示すセグメントデータを外部装置に順次送信する映像供給装置であって、外部装置が受信したセグメントデータを格納するための、外部装置のバッファ手段に関する情報を取得する取得手段と、外部装置に送信するセグメントデータを格納する格納手段と、セグメントデータごとの取得先を示す取得先情報を1つ以上含むリストを生成する生成手段と、リストを外部装置に送信する送信手段と、を有し、生成手段は、外部装置のバッファ手段に関する情報に基づいてリストの生成方法を決定する、ことを特徴とする。   In order to solve this problem, for example, the video supply device of the present invention has the following configuration. That is, a video supply device that sequentially transmits segment data indicating a part of video data to an external device, and obtains information related to buffer means of the external device for storing segment data received by the external device Storage means for storing segment data to be transmitted to the external device, generation means for generating a list including one or more acquisition destination information indicating acquisition destinations for each segment data, and transmission means for transmitting the list to the external device The generation means determines a list generation method based on information on the buffer means of the external device.

本発明によれば、通信で取得されるデータの取得に関する情報を、効率的に生成することが可能になる。   ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to produce | generate efficiently the information regarding acquisition of the data acquired by communication.

本実施形態に係る映像供給装置の一例としてのデジタルカメラの機能構成例を示すブロック図1 is a block diagram illustrating an example of a functional configuration of a digital camera as an example of a video supply device according to the present embodiment. 本実施形態に係る映像取得装置の一例としてのスマートフォンの機能構成例を示すブロック図The block diagram which shows the function structural example of the smart phone as an example of the image | video acquisition apparatus which concerns on this embodiment. 本実施形態に係るプレイリストを利用したライブストリーミングの概要を説明する図The figure explaining the outline | summary of the live streaming using the playlist which concerns on this embodiment 本実施形態に係るプレイリストの一例を示す図The figure which shows an example of the playlist which concerns on this embodiment 本実施形態に係るストリーミングアプリケーションの画面例を示す図The figure which shows the example of a screen of the streaming application which concerns on this embodiment 本実施形態に係る、輻輳が発生した場合に送受信されるプレイリスト及びセグメントの格納状態の例を説明する図(1)FIG. 6 is a diagram for explaining an example of a playlist and segment storage state transmitted and received when congestion occurs according to the present embodiment (1). 本実施形態に係る、輻輳が発生した場合に送受信されるプレイリスト及びセグメントの格納状態の例を説明する図(2)FIG. 2B is a diagram for explaining an example of playlist and segment storage states that are transmitted and received when congestion occurs according to the present embodiment. 本実施形態に係るストリーミングデータの送信処理に係る一連の動作を示すフローチャートThe flowchart which shows a series of operation | movement which concerns on the transmission process of the streaming data which concerns on this embodiment. 本実施形態に係るストリーミングデータの受信処理に係る一連の動作を示すフローチャートThe flowchart which shows a series of operation | movement which concerns on the reception process of the streaming data based on this embodiment.

(実施形態1)
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では映像供給装置の一例として、外部装置にストリーミングデータを送信可能な任意のデジタルカメラを用いる例を説明する。しかし、本実施形態は、デジタルカメラに限らず、データをストリーミングで送信可能な任意の機器にも適用可能である。これらの機器には、例えばスマートフォンを含む携帯電話機、ゲーム機、タブレット端末、時計型や眼鏡型の情報端末、医療機器、監視用システムのカメラやサーバ、車載用機器、データセンタで動作するサーバ機器や仮想マシンなどが含まれてよい。また、映像取得装置の一例として、外部装置からのストリーミングデータを受信可能な任意のスマートフォンを用いる例を説明する。しかし、本実施形態は、スマートフォンに限らず、ストリーミングデータを受信可能な任意の機器に適用可能である。これらの機器には例えばスマートフォン、ヘッドマウントディスプレイ、テレビ、上述した映像供給装置に適用可能な機器のいずれかが含まれてよい。
(Embodiment 1)
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. In the following, an example of using an arbitrary digital camera capable of transmitting streaming data to an external device will be described as an example of a video supply device. However, this embodiment can be applied not only to a digital camera but also to any device that can transmit data by streaming. These devices include, for example, mobile phones including smartphones, game machines, tablet terminals, clock-type and eyeglass-type information terminals, medical devices, surveillance system cameras and servers, in-vehicle devices, and server devices that operate in a data center. And virtual machines may be included. In addition, an example of using an arbitrary smartphone capable of receiving streaming data from an external device will be described as an example of a video acquisition device. However, the present embodiment is not limited to smartphones and can be applied to any device that can receive streaming data. These devices may include, for example, a smartphone, a head mounted display, a television, or any device applicable to the above-described video supply device.

(デジタルカメラ1000の構成)
図1は、本実施形態の映像供給装置の一例としてデジタルカメラ1000の機能構成例を示すブロック図である。なお、図1に示す機能ブロックの1つ以上は、ASICやプログラマブルロジックアレイ(PLA)などのハードウェアによって実現されてもよいし、CPUやMPU等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
(Configuration of digital camera 1000)
FIG. 1 is a block diagram illustrating a functional configuration example of a digital camera 1000 as an example of a video supply apparatus according to the present embodiment. One or more of the functional blocks shown in FIG. 1 may be realized by hardware such as an ASIC or a programmable logic array (PLA), or may be realized by a programmable processor such as a CPU or MPU executing software. May be. Further, it may be realized by a combination of software and hardware. Therefore, in the following description, even when different functional blocks are described as the operation subject, the same hardware can be realized as the subject.

制御部1001は、例えばCPU(Central Processing Unit)を含み、不揮発性メモリ1002又は記録媒体1012に格納されたプログラムを実行してデジタルカメラ1000の各部を制御する。また、制御部1001は、ユーザからの操作を受け付ける操作部1005からの操作信号に応じて、デジタルカメラ1000の各部を制御する。   The control unit 1001 includes, for example, a CPU (Central Processing Unit), and controls each unit of the digital camera 1000 by executing a program stored in the nonvolatile memory 1002 or the recording medium 1012. The control unit 1001 controls each unit of the digital camera 1000 in accordance with an operation signal from the operation unit 1005 that receives an operation from the user.

不揮発性メモリ1002は、例えばフラッシュメモリ等で構成されるROM(Read Only Memory)を含み、制御部1001が動作するための各種プログラムや定数を記憶する。揮発性メモリ1003は、例えばDRAM等のRAM(Random Access Memory)を含み、動画データや静止画データ、音声データ等の各種のデータ、或いは、動作時に必要なプログラム、変数、作業用の一時データなどを記憶する。   The nonvolatile memory 1002 includes, for example, a ROM (Read Only Memory) composed of a flash memory or the like, and stores various programs and constants for the control unit 1001 to operate. The volatile memory 1003 includes, for example, a RAM (Random Access Memory) such as a DRAM, and various types of data such as moving image data, still image data, audio data, programs necessary for operation, variables, temporary data for work, and the like. Remember.

入力処理部1004は、操作部1005に対するユーザ操作を受け付けて操作に応じた制御信号を生成し、制御部1001に供給する。操作部1005は、ユーザ操作を受け付ける入力デバイスを含み、例えば、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイスなどを含む。また、赤外線リモコンなどの遠隔操作可能なものも含む。タッチパネルは、例えば平面的に構成された入力部に対する接触を受け付け、接触された位置に応じた座標情報を出力する。制御部1001は、例えばタッチパネルに対するユーザ操作を特定し、デジタルカメラ1000にユーザ操作に応じた動作を行わせることができる。   The input processing unit 1004 receives a user operation on the operation unit 1005, generates a control signal corresponding to the operation, and supplies the control signal to the control unit 1001. The operation unit 1005 includes an input device that receives a user operation, and includes, for example, a character information input device such as a keyboard, a pointing device such as a mouse and a touch panel, and the like. In addition, remote control devices such as an infrared remote controller are also included. For example, the touch panel receives contact with an input unit configured in a planar manner, and outputs coordinate information corresponding to the touched position. The control unit 1001 can specify a user operation on the touch panel, for example, and cause the digital camera 1000 to perform an operation corresponding to the user operation.

表示制御部1006は、制御部1001がプログラムに従って生成したGUI(Graphical User Interface)等の表示データに基づき、表示部1007に表示させるための表示信号を出力する。表示部1007は、液晶又は有機EL等の表示パネルを含み、表示制御部1006が出力する表示信号を表示する。操作部1005としてタッチパネルが用いられる場合、表示部1007と操作部1005とを一体的に構成することができる。例えば、光の透過率が表示部1007の表示を妨げないようにタッチパネルを構成し、当該タッチパネルを表示部1007の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、表示部1007上の表示座標とを対応付ける。これにより、ユーザが表示部1007上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。   The display control unit 1006 outputs a display signal to be displayed on the display unit 1007 based on display data such as GUI (Graphical User Interface) generated by the control unit 1001 according to the program. The display unit 1007 includes a display panel such as liquid crystal or organic EL, and displays a display signal output from the display control unit 1006. When a touch panel is used as the operation unit 1005, the display unit 1007 and the operation unit 1005 can be integrally configured. For example, a touch panel is configured so that light transmittance does not hinder display of the display portion 1007, and the touch panel is attached to an upper layer of the display surface of the display portion 1007. Then, the input coordinates on the touch panel are associated with the display coordinates on the display unit 1007. Thereby, it is possible to configure a GUI as if the user can directly operate the screen displayed on the display unit 1007.

通信制御部1008は、例えば通信制御用の回路を含み、コネクタ/アンテナ1009を介してスマートフォン2000と通信する。通信制御部1008及びコネクタ/アンテナ1009は、通信方式として、例えば3GやLTE、無線LANを含むIEEE802.11、Bluetooth(登録商標)又は有線のIEEE802.3等を用いることができる。   The communication control unit 1008 includes a communication control circuit, for example, and communicates with the smartphone 2000 via the connector / antenna 1009. The communication control unit 1008 and the connector / antenna 1009 can use, for example, 3G, LTE, IEEE 802.11 including a wireless LAN, Bluetooth (registered trademark), wired IEEE 802.3, or the like as a communication method.

内部バス1010は、デジタルカメラ1000の各部を電気的に接続して、各部のデータの送受信を可能にする。記録媒体制御部1011は、接続された記録媒体1012からのデータの読み出しや当該記録媒体1012に対するデータの書き込みを行う。記録媒体1012は、HDD等の磁気ディスクやメモリカード等の半導体メモリを含み、撮影した映像データや画像データを記録するほか、制御部1001の制御に必要な情報を記録することができる。なお、記録媒体1012は、不図示のソケット等を介して着脱可能に構成されてよい。   An internal bus 1010 electrically connects each part of the digital camera 1000 and enables data transmission / reception of each part. The recording medium control unit 1011 reads data from the connected recording medium 1012 and writes data to the recording medium 1012. The recording medium 1012 includes a magnetic disk such as an HDD and a semiconductor memory such as a memory card. The recording medium 1012 can record captured video data and image data as well as information necessary for control by the control unit 1001. Note that the recording medium 1012 may be configured to be detachable via a socket (not shown) or the like.

光学系1013は、フォーカス、絞り、ズーム機構などを含む撮影レンズを含み、被写体の光学像を形成する。撮像素子1014は、例えば、CCD又はCMOS素子等で構成され、撮像素子に結像された光学像を電気信号に変換させた後、内部に有するA/D変換器によってアナログ電気信号をデジタル信号に変換する。   The optical system 1013 includes a photographing lens including a focus, a diaphragm, a zoom mechanism, and the like, and forms an optical image of a subject. The image sensor 1014 is composed of, for example, a CCD or CMOS element, and after converting an optical image formed on the image sensor into an electric signal, an analog electric signal is converted into a digital signal by an A / D converter included therein. Convert.

カメラ信号処理部1015は、例えば画像処理回路を含み、撮像素子1014から出力された画像データに対し、例えば、所定の画素補間、縮小等のリサイズ処理、色変換等の、各種補正処理等を行う。   The camera signal processing unit 1015 includes, for example, an image processing circuit, and performs various correction processes such as predetermined pixel interpolation, resizing processing such as reduction, color conversion, and the like on the image data output from the image sensor 1014. .

符号・復号処理部1016は、カメラ信号処理部1015で処理されたデジタル信号を所定のビットレート、所定の形式で圧縮符号化を行うと共に、映像圧縮符号化データの復号化を行う。   The encoding / decoding processing unit 1016 compresses and encodes the digital signal processed by the camera signal processing unit 1015 at a predetermined bit rate and a predetermined format, and also decodes the video compression encoded data.

なお、音声についてはとくに図示していないが、音声付き映像を順次送信する場合には、マイクロホン、音声のアナログ信号をデジタル化するA/D変換器、デジタルデータを符号化する構成を含むことになる。当然、映像記録時には映像と共に音声も同時に収録され、符号・復号処理部1016で映像と音声を多重化することで、音声付映像データを生成することになる。   In addition, although not specifically shown about an audio | voice, when transmitting an image | video with an audio | voice sequentially, it includes the structure which encodes a microphone, the A / D converter which digitizes the analog signal of an audio | voice, and digital data. Become. Naturally, at the time of video recording, audio and video are simultaneously recorded, and the video / audio is multiplexed by the encoding / decoding processing unit 1016 to generate video data with audio.

(スマートフォン2000の構成)
図2のスマートフォン2000の機能構成例における制御部2001〜記録媒体2012は、それぞれデジタルカメラ1000について説明した制御部1001〜記録媒体1012と同様の機能構成をとることができる。このため、デジタルカメラ1000と説明が重複する制御部2001〜記録媒体2012までの説明は省略する。符号・復号処理部2013は、制御部2001の制御に基づき、映像圧縮符号化データの復号化、および必要に応じて復号化したデータの再符号化を行う。
(Configuration of smartphone 2000)
The control unit 2001 to the recording medium 2012 in the functional configuration example of the smartphone 2000 in FIG. 2 can have the same functional configuration as the control unit 1001 to the recording medium 1012 described for the digital camera 1000, respectively. For this reason, the description from the control unit 2001 to the recording medium 2012 whose description is the same as that of the digital camera 1000 is omitted. Based on the control of the control unit 2001, the encoding / decoding processing unit 2013 decodes the video compression encoded data, and re-encodes the decoded data as necessary.

(プレイリストを利用したライブストリーミングの概要)
次に、図3〜図5を参照して、本実施形態に係る、プレイリストを利用したライブストリーミングの概要について説明する。本実施形態に係る映像供給システムは、デジタルカメラ1000とスマートフォン2000とから構成され、デジタルカメラ1000が送信側、スマートフォン2000が受信側として動作してプレイリストを利用したライブストリーミングを行う。プレイリストを利用したライブストリーミングの基本的な動作は以下の通りである。
(Overview of live streaming using playlists)
Next, an outline of live streaming using a playlist according to the present embodiment will be described with reference to FIGS. The video supply system according to this embodiment includes a digital camera 1000 and a smartphone 2000. The digital camera 1000 operates as a transmission side and the smartphone 2000 operates as a reception side, and performs live streaming using a playlist. The basic operation of live streaming using a playlist is as follows.

(1)デジタルカメラ1000は、映像データの一部を所定の時間長のセグメントとし、そのセグメントを取得するためのアドレス(セグメント取得先)を1つ以上含むプレイリストを生成する。ライブストリーミングの場合には、定期的にセグメントが生成されるため、例えばスライドウインドウ型プレイリストが用いられる。スライドウインドウ型プレイリストは、新しいセグメントが生成されると、動的に新しい内容のプレイリストに更新(削除、追記)される。   (1) The digital camera 1000 generates a playlist including one or more addresses (segment acquisition destination) for acquiring a segment of a part of video data as a segment having a predetermined time length. In the case of live streaming, since a segment is generated periodically, for example, a slide window type playlist is used. When a new segment is generated, the slide window type playlist is dynamically updated (deleted or added) to a playlist having a new content.

(2)スマートフォン2000は、プレイリストを取得してその内容を解析し、プレイリストに列挙されたセグメント取得先に基づいて、その列挙順に各セグメントを取得する。そして、(3)スマートフォン2000は、取得したセグメントを再生表示し、又は記録する。(4)デジタルカメラ1000とスマートフォン2000は、プレイリストの終了(すなわちストリーミングの終了)まで、上述した(1)〜(3)の処理を繰り返す。   (2) The smartphone 2000 acquires the playlist, analyzes the contents thereof, and acquires the segments in the order of enumeration based on the segment acquisition destinations listed in the playlist. (3) The smartphone 2000 reproduces, displays, or records the acquired segment. (4) The digital camera 1000 and the smartphone 2000 repeat the processes (1) to (3) described above until the end of the playlist (that is, the end of streaming).

図3は、上述したライブストリーミングの基本的な動作を、より具体的に示している。デジタルカメラ1000において、ユーザが操作部1005を介してライブストリーミングモードの開始を指示すると、デジタルカメラ1000は、制御部1001の制御により、通信制御部1008を通信可能状態にする。   FIG. 3 shows more specifically the basic operation of the live streaming described above. In the digital camera 1000, when the user instructs the start of the live streaming mode via the operation unit 1005, the digital camera 1000 sets the communication control unit 1008 in a communicable state under the control of the control unit 1001.

一方、スマートフォン2000において、ユーザが操作部2005を介してデジタルカメラ1000との通信の接続と、ライブストリーミングに必要なアプリケーションの起動とを指示する。このユーザの指示により、スマートフォン2000の制御部2001は、不揮発性メモリ2002又は記録媒体2012に格納されたプログラムに従って通信制御部2008を制御し、デジタルカメラ1000との接続処理を開始する。   On the other hand, in the smartphone 2000, the user instructs communication connection with the digital camera 1000 and activation of an application necessary for live streaming via the operation unit 2005. In response to this user instruction, the control unit 2001 of the smartphone 2000 controls the communication control unit 2008 according to a program stored in the nonvolatile memory 2002 or the recording medium 2012, and starts a connection process with the digital camera 1000.

デジタルカメラ1000とスマートフォン2000とは、例えば通信プロトコルとしてHTTP(HyperText Transfer Protocol)を使用し、UPnP(Universal Plug and Play)に対応した接続処理を行う。すなわち、スマートフォン2000は、ユーザによって指定されたIP(Internet Protocol)アドレス、或いは指定がない場合にはDHCP(Dynamic Host Configuration Protocol)又はAutoIPによるIPアドレスの設定を行う。   For example, the digital camera 1000 and the smartphone 2000 use HTTP (HyperText Transfer Protocol) as a communication protocol and perform connection processing corresponding to UPnP (Universal Plug and Play). That is, the smartphone 2000 sets an IP (Internet Protocol) address designated by the user, or an IP address by DHCP (Dynamic Host Configuration Protocol) or AutoIP if there is no designation.

そして、S3001において、スマートフォン2000は、ネットワーク上の他の機器を認識するための「デバイスディスカバリとコントロール」によって、機器発見を行う。例えば、スマートフォン2000は、デバイス検索を行うと共に応答デバイスの種別、サービス機能などの情報を取得するための要求を送信する。   In step S <b> 3001, the smartphone 2000 performs device discovery by “device discovery and control” for recognizing other devices on the network. For example, the smartphone 2000 performs a device search and transmits a request for acquiring information such as a response device type and a service function.

S3002において、デジタルカメラ1000は、スマートフォン2000のデバイス検索要求に対して、機器情報や機器固有情報としてプレイリスト取得先情報などを応答する。これにより、スマートフォン2000は、デジタルカメラ1000がライブストリーミングを提供可能なデバイスであること、及びデジタルカメラ1000が提供するプレイリスト取得先情報を把握することができる。デジタルカメラ1000とスマートフォン2000の接続処理が完了すると、デジタルカメラ1000はライブストリーミングを開始する。   In step S <b> 3002, the digital camera 1000 responds to the device search request of the smartphone 2000 with playlist acquisition destination information or the like as device information or device specific information. Thereby, the smartphone 2000 can grasp that the digital camera 1000 is a device capable of providing live streaming and the playlist acquisition destination information provided by the digital camera 1000. When the connection process between the digital camera 1000 and the smartphone 2000 is completed, the digital camera 1000 starts live streaming.

ライブストリーミングが開始された際の動作を説明する前に、図5を参照して、スマートフォン2000において動作するライブストリーミングアプリケーションの画面例について説明する。なお、図5に示す画面例は、タッチパネルのように操作部2005と表示部2007とが一体的に構成された例を示している。ライブストリーミングデータは、表示エリア5001に表示され、デジタルカメラ1000の各種ステータス(状態)を表す情報として、例えば、ズーム位置5002、記録状態5003、バッテリー状態5004等が表示される。さらに、バッファサイズ設定5008が押下された場合、一時的に格納するストリーミングデータの時間長(すなわちバッファの大きさ)を設定するためのバッファサイズ選択5009が表示される。バッファサイズ選択5009では、例えばユーザが選択可能な項目がセグメントの時間長Tsの倍数で表示される。しかし、実際に割り当てるバッファサイズは、セグメントの最大ビットレートから算出可能である。   Before explaining the operation when live streaming is started, a screen example of a live streaming application that operates on the smartphone 2000 will be described with reference to FIG. Note that the screen example illustrated in FIG. 5 illustrates an example in which the operation unit 2005 and the display unit 2007 are integrally configured like a touch panel. The live streaming data is displayed in the display area 5001 and, for example, a zoom position 5002, a recording state 5003, a battery state 5004, and the like are displayed as information indicating various statuses (states) of the digital camera 1000. Further, when the buffer size setting 5008 is pressed, a buffer size selection 5009 for setting a time length (that is, a buffer size) of streaming data to be temporarily stored is displayed. In the buffer size selection 5009, for example, items that can be selected by the user are displayed in multiples of the segment time length Ts. However, the buffer size that is actually allocated can be calculated from the maximum bit rate of the segment.

WIDE/TELEボタン5005は、スマートフォン2000からの遠隔操作によってデジタルカメラ1000のズーム状態を変更するためのボタンである。また、カメラRECボタン5006は、ユーザがデジタルカメラ1000における記録開始・停止指示を実行するためのボタンである。また、端末RECボタン5007は、スマートフォン2000において受信したライブストリーミングの記録開始・停止指示の各操作を行うためのボタンである。   A WIDE / TELE button 5005 is a button for changing the zoom state of the digital camera 1000 by remote operation from the smartphone 2000. A camera REC button 5006 is a button for the user to execute a recording start / stop instruction in the digital camera 1000. The terminal REC button 5007 is a button for performing each operation of a live streaming recording start / stop instruction received by the smartphone 2000.

再び図3を参照して、ライブストリーミングが開始された際の各装置の動作について説明する。デジタルカメラ1000の制御部1001は、撮像素子1014に信号出力を開始させ、その出力をカメラ信号処理部1015により適切な映像データにして、そのデータを符号・復号処理部1016へ入力する。このとき、ズーム倍率(もしくは焦点距離)等のデジタルカメラ1000の各種ステータスに関する情報も合わせて入力する。符号・復号処理部1016は、入力された映像データ等を、所定のビットレート、所定の形式で圧縮符号化し、さらに所定の時間長Tsで分割して、セグメント3502を生成する。生成されたセグメント3502は、符号・復号処理部1016から出力されて揮発性メモリ1003又は記録媒体1012に保存される。なお、本実施形態では、Tsは例えば0.5秒に設定される。   Referring to FIG. 3 again, the operation of each device when live streaming is started will be described. The control unit 1001 of the digital camera 1000 causes the image sensor 1014 to start signal output, converts the output into appropriate video data using the camera signal processing unit 1015, and inputs the data to the encoding / decoding processing unit 1016. At this time, information regarding various statuses of the digital camera 1000 such as zoom magnification (or focal length) is also input. The encoding / decoding processing unit 1016 compresses and encodes the input video data or the like at a predetermined bit rate and a predetermined format, and further divides the data by a predetermined time length Ts to generate a segment 3502. The generated segment 3502 is output from the encoding / decoding processing unit 1016 and stored in the volatile memory 1003 or the recording medium 1012. In this embodiment, Ts is set to 0.5 seconds, for example.

デジタルカメラ1000の制御部1001は、スマートフォン2000からアクセス可能なセグメント3502と関連させたパス情報を生成する。パス情報は、スマートフォン2000がセグメントを取得するための取得先を示す取得先情報である。なお、本実施形態ではパス情報はURL形式で記述するが、これは現実のセグメントの物理的な保存先を示すものである必要はなく、単にセグメントとURLを関連付けしておけばよい。したがって、必ずしもURLを用いる必要はなく、他の識別子を用いてもよい。更に、制御部1001は、後に図4で示すように、生成したパス情報を含んだプレイリスト3501を生成する。   The control unit 1001 of the digital camera 1000 generates path information associated with the segment 3502 accessible from the smartphone 2000. The path information is acquisition destination information indicating an acquisition destination for the smartphone 2000 to acquire a segment. In this embodiment, the path information is described in the URL format. However, this does not need to indicate the physical storage destination of the actual segment, and the segment and the URL need only be associated with each other. Therefore, it is not always necessary to use a URL, and another identifier may be used. Further, the control unit 1001 generates a playlist 3501 including the generated path information, as shown in FIG. 4 later.

図4には、本実施形態に係るプレイリスト3501の一例を示している。プレイリスト3501は、Extended M3U形式のプレイリストであり、最初の行にはこのプレイリストの形式を示す識別子タグ4011が記述され、例えば「EXTM3U」と記述される。2行目には、バージョンタグ4012とプレイリストのバージョンを示すバージョンとが記述される。図4の例ではバージョンは例えば“3”である。3行目には、セグメント3502の時間長を示す時間長タグ4013と、整数又は小数で記述されるセグメントの時間長(秒)とが記述される。本実施形態では、例えばセグメントの時間長Tsが0.5(秒)に設定されるため、記述される時間長は“0.5”となる。4行目には、セグメント3502のパス情報を示す取得先パス4014が記述される。このパス情報は、必要に応じてクエリパラメータを含んでもよい。クエリパラメータは例えばバッファサイズ等の数値を含む。3行目の時間長タグ4013と4行目の取得先パス4014とは、セグメント3502に関する情報として、続けて記述することができる。以降の説明では、時間長タグ4013と取得先パス4014の情報を合わせてセグメント情報ともいう。   FIG. 4 shows an example of the playlist 3501 according to this embodiment. The playlist 3501 is an extended M3U format playlist, and an identifier tag 4011 indicating the format of the playlist is described in the first line, for example, “EXTM3U”. In the second line, a version tag 4012 and a version indicating the version of the playlist are described. In the example of FIG. 4, the version is “3”, for example. In the third line, a time length tag 4013 indicating the time length of the segment 3502 and the time length (second) of the segment described in integer or decimal are described. In the present embodiment, for example, since the segment time length Ts is set to 0.5 (seconds), the described time length is “0.5”. In the fourth line, an acquisition destination path 4014 indicating the path information of the segment 3502 is described. This path information may include a query parameter as necessary. The query parameter includes a numerical value such as a buffer size. The time length tag 4013 on the third line and the acquisition path 4014 on the fourth line can be described continuously as information on the segment 3502. In the following description, the information of the time length tag 4013 and the acquisition destination path 4014 is also referred to as segment information.

ライブストリーミングが開始されると、S3003において、スマートフォン2000は、約Ts(秒)の経過ごとにプレイリスト取得要求(HTTP GETメソッド)を送信する。このとき、プレイリスト取得要求は、S3002において得られたプレイリスト取得先に対して送信される。なお、スマートフォン2000は、セグメント3502の所定の時間長Tsを、例えば、予め記憶させた不揮発性メモリ2002から読み出すか、デジタルカメラ1000の機器情報に含まれる情報として取得する。S3004において、デジタルカメラ1000は、セグメント情報(すなわち時間長タグ4013及び取得先パス4014)が例えば1つ記述されたプレイリスト3501を、プレイリスト応答としてスマートフォン2000に送信する。   When live streaming is started, in S3003, the smartphone 2000 transmits a playlist acquisition request (HTTP GET method) every time about Ts (seconds). At this time, the playlist acquisition request is transmitted to the playlist acquisition destination obtained in S3002. Note that the smartphone 2000 reads the predetermined time length Ts of the segment 3502 from, for example, the nonvolatile memory 2002 stored in advance or acquires the information as information included in the device information of the digital camera 1000. In step S3004, the digital camera 1000 transmits a playlist 3501 in which, for example, one piece of segment information (that is, the time length tag 4013 and the acquisition destination path 4014) is described, to the smartphone 2000 as a playlist response.

S3005において、スマートフォン2000は、受信したプレイリスト3501を解析したうえで、セグメント情報に含まれる取得先パス4014に基づいて、セグメント取得要求(HTTP GETメソッド)をデジタルカメラ1000に送信する。   In step S3005, the smartphone 2000 analyzes the received playlist 3501 and then transmits a segment acquisition request (HTTP GET method) to the digital camera 1000 based on the acquisition destination path 4014 included in the segment information.

これに対して、S3006において、デジタルカメラ1000は、セグメント応答として、要求されたセグメント3502をスマートフォン2000に送信する。スマートフォン2000は、受信したセグメント3502を、揮発性メモリ2003又は記録媒体2012に設けた格納先の受信バッファ(再生バッファともいう)に一時的に格納(保存)する。そして、ストリーリングの受信開始時には、設定されたバッファサイズ設定に応じた時間分のデータを受信バッファに保存し、その後、バッファ内に保存されたセグメント3502を、符号・復号処理部2013によって復号化する。更に、スマートフォン2000は、復号化したセグメント3502を、表示制御部2006を介して表示部2007に表示する。ユーザから端末RECボタン5007への操作が入力された場合、スマートフォン2000は、復号化したセグメント3502(又はセグメント3502からヘッダ等を除いたデータ部)を、記録媒体2012に記録する。更に、順次受信するセグメント3502を結合して記録媒体2012に記録していく。   On the other hand, in S3006, the digital camera 1000 transmits the requested segment 3502 to the smartphone 2000 as a segment response. The smartphone 2000 temporarily stores (saves) the received segment 3502 in a reception buffer (also referred to as a playback buffer) provided in the volatile memory 2003 or the recording medium 2012. At the start of streaming reception, data corresponding to the set buffer size is stored in the reception buffer, and then the segment 3502 stored in the buffer is decoded by the encoding / decoding processing unit 2013. To do. Furthermore, the smartphone 2000 displays the decrypted segment 3502 on the display unit 2007 via the display control unit 2006. When the user inputs an operation to the terminal REC button 5007, the smartphone 2000 records the decrypted segment 3502 (or the data portion excluding the header and the like from the segment 3502) in the recording medium 2012. Further, sequentially received segments 3502 are combined and recorded on the recording medium 2012.

デジタルカメラ1000は、ストリーミングを行っている際には、約Ts(秒)毎にセグメントの生成とプレイリストの更新とを繰り返す。また、プレイリストを更新する際には、スマートフォン2000に取得されたセグメント情報をプレイリストから削除する。   When streaming, the digital camera 1000 repeats segment generation and playlist update about every Ts (seconds). Further, when updating the playlist, the segment information acquired by the smartphone 2000 is deleted from the playlist.

スマートフォン2000は、約Ts(秒)毎にプレイリスト取得要求(S3003)を送信してプレイリストを取得するため、デジタルカメラ1000において逐次更新される最新のプレイリストを取得することができる。そして、取得したプレイリストに記載されたセグメント情報に基づき、セグメントを取得する。   Since the smartphone 2000 acquires a playlist by transmitting a playlist acquisition request (S3003) about every Ts (seconds), the smartphone 2000 can acquire the latest playlist that is sequentially updated in the digital camera 1000. And a segment is acquired based on the segment information described in the acquired play list.

デジタルカメラ1000とスマートフォン2000の間の通信状況が良好である場合、プレイリスト取得要求(S3003)からセグメント応答(S3006)までの一連の処理が定期的に行われる。しかし、輻輳などにより通信状況が良好でなくなった場合、上記一連の処理が定期的に行えなくなる場合がある。このような場合、スマートフォン2000では、セグメントが符号・復号処理部2013へ定期的に供給されなくなり、データの欠損が生じてストリーミングされた動画データをなめらかに再生することが困難になる。一般に、動画データの再生を安定させるため、再生を開始する前に(つまりセグメントを符号・復号処理部2013に渡すまでに)所定の時間分のセグメントをバッファに保存し、保存したデータを読み出して再生する。保存した所定の時間分のセグメントが多いほど、通信状況が悪化した際の影響を受けにくく、再生や記録時のデータの欠損は少なくなる。しかし、多くのセグメントを保存するほど、再生するセグメントの遅延(すなわちデジタルカメラ1000で撮影されている映像に対する遅延)が大きくなる。このため、スマートフォン2000では、デジタルカメラ1000の撮影映像に対して遅延の少ない再生を優先するライブ視聴のような用途には、保存するデータ量を小さくしてリアルタイム性を向上させる。一方、遅延が大きくてもデータ欠損を抑制することを優先する記録時や滑らかな再生を要する用途では、保存するデータ量を大きくしてストリーミングデータの品質を向上させる。ユーザは、この保存可能なデータ量を、上述したストリーミングアプリケーションのバッファサイズ設定5008において、用途に応じて設定することができる。   When the communication status between the digital camera 1000 and the smartphone 2000 is good, a series of processing from the playlist acquisition request (S3003) to the segment response (S3006) is periodically performed. However, when the communication status becomes unsatisfactory due to congestion or the like, the above series of processing may not be performed periodically. In such a case, in the smartphone 2000, segments are not regularly supplied to the encoding / decoding processing unit 2013, and data loss occurs, making it difficult to smoothly play the streamed moving image data. In general, in order to stabilize the reproduction of moving image data, a predetermined amount of segments are stored in a buffer before the reproduction is started (that is, before the segment is passed to the encoding / decoding processing unit 2013), and the stored data is read out. Reproduce. The more segments that are stored for a predetermined time, the less affected by the deterioration of the communication status, and the less data loss during playback and recording. However, the more segments that are stored, the greater the delay of the segment to be played back (that is, the delay with respect to the video shot by the digital camera 1000). For this reason, the smartphone 2000 improves the real-time performance by reducing the amount of data to be stored for applications such as live viewing where priority is given to playback with less delay with respect to video captured by the digital camera 1000. On the other hand, in the case of recording that prioritizes suppression of data loss even when the delay is large or in an application that requires smooth reproduction, the amount of data to be stored is increased to improve the quality of streaming data. The user can set the storable data amount in the above-described streaming application buffer size setting 5008 according to the application.

なお、スマートフォン2000の要求処理(S3003,3007)には端末、又はアプリケーションの固有のIDを付加してよい。そして、本実施形態のデジタルカメラ1000は、最初に要求のあったIDの要求のみに対してストリーミングを行う。つまり、本実施形態のデジタルカメラ1000とスマートフォン2000は1対1接続でのみストリーミングを行う。   Note that a unique ID of a terminal or application may be added to the request processing (S3003, 3007) of the smartphone 2000. The digital camera 1000 according to the present embodiment performs streaming only for the request for the ID requested first. That is, the digital camera 1000 and the smartphone 2000 of this embodiment perform streaming only with a one-to-one connection.

(輻輳が発生した場合に送受信されるプレイリスト及びセグメントの格納状態の例)
次に、図6及び図7を参照して、輻輳が発生した場合に送受信されるプレイリスト及びセグメントの格納状態の例を説明する。図6は、バッファサイズを1に設定した場合のプレイリスト及びセグメントの格納状態の例を、図7は、バッファサイズを4に設定した場合のプレイリスト及びセグメントの格納状態の例を、それぞれ示している。
(Example of playlist and segment storage status sent and received when congestion occurs)
Next, with reference to FIGS. 6 and 7, an example of the storage status of playlists and segments transmitted / received when congestion occurs will be described. 6 shows an example of a playlist and segment storage state when the buffer size is set to 1, and FIG. 7 shows an example of a playlist and segment storage state when the buffer size is set to 4. ing.

図6を参照すると、まず、デジタルカメラ1000は、1番目(seq=1)のセグメントを生成し、生成したセグメントを送信バッファに格納する。このとき、送信バッファのサイズが6つ分のセグメントを格納するように確保されている。このため、最も古いセグメントが格納される送信バッファの1番目の領域にセグメント(seq=1)が格納されており、他の2〜6番目の領域は空の状態である。   Referring to FIG. 6, first, the digital camera 1000 generates a first segment (seq = 1) and stores the generated segment in a transmission buffer. At this time, the size of the transmission buffer is secured to store six segments. For this reason, the segment (seq = 1) is stored in the first area of the transmission buffer in which the oldest segment is stored, and the other second to sixth areas are empty.

一方、スマートフォン2000では、例えばライブ視聴の用途のためにバッファサイズを1に設定しているため、受信バッファのサイズが1つ分のセグメントを格納するように確保されている。なお、スマートフォン2000はセグメントを未だ受信していないため、受信バッファは空の状態である。   On the other hand, in the smartphone 2000, for example, the buffer size is set to 1 for the purpose of live viewing, so the reception buffer size is secured to store one segment. Since the smartphone 2000 has not yet received the segment, the reception buffer is empty.

スマートフォン2000は、プレイリストを取得するために、プレイリスト取得要求を送信する。このとき、スマートフォン2000は、設定したバッファサイズが1であることを示すクエリパラメータ(bn=1)を指定する(バッファサイズ通知)。すなわち、このクエリパラメータは、スマートフォン2000がバッファに保存可能なセグメントデータのデータ量を示す指標となる。   The smartphone 2000 transmits a playlist acquisition request in order to acquire a playlist. At this time, the smartphone 2000 designates a query parameter (bn = 1) indicating that the set buffer size is 1 (buffer size notification). That is, this query parameter serves as an index indicating the amount of segment data that the smartphone 2000 can store in the buffer.

デジタルカメラ1000は、プレイリスト取得要求を受信すると、セグメント(seq=1)に関するセグメント情報を含むプレイリスト6010(プレイリスト応答)をスマートフォン2000に送信する。また、デジタルカメラ1000は、プレイリスト取得要求のクエリパラメータに基づいて、受信バッファのバッファサイズを1に変更する。図6の送信バッファの例では、「X」の部分は送信バッファの領域として確保されていないことを表しており、バッファサイズ通知を受信した後の送信バッファはセグメント1つ分のバッファサイズに制限されている。スマートフォン2000は当該プレイリスト6010を受信し、プレイリストの記述内容に応じて、例えばセグメント(seq=1)に対するセグメント取得要求を送信する。   Upon receiving the playlist acquisition request, the digital camera 1000 transmits a playlist 6010 (playlist response) including segment information related to the segment (seq = 1) to the smartphone 2000. Further, the digital camera 1000 changes the buffer size of the reception buffer to 1 based on the query parameter of the playlist acquisition request. In the example of the transmission buffer in FIG. 6, “X” indicates that the transmission buffer area is not secured, and the transmission buffer after receiving the buffer size notification is limited to the buffer size for one segment. Has been. The smartphone 2000 receives the playlist 6010 and transmits a segment acquisition request for, for example, a segment (seq = 1) according to the description content of the playlist.

デジタルカメラ1000は、セグメント取得要求を受信すると、セグメント(seq=1)を送信する。デジタルカメラ1000は、セグメント(seq=1)の送信を完了(例えばスマートフォン2000からackを受信)すると、送信バッファからセグメントを削除し、更にプレイリストから対応するセグメント情報を削除してプレイリスト6011に更新する。スマートフォン2000は、セグメント(seq=1)を受信すると、受信バッファに当該セグメントを格納し、その後再生のタイミングに応じて受信バッファからセグメントを読み出して再生する。読み出されたセグメントは受信バッファから削除される。   Upon receiving the segment acquisition request, the digital camera 1000 transmits a segment (seq = 1). When the digital camera 1000 completes the transmission of the segment (seq = 1) (for example, receives ack from the smartphone 2000), the digital camera 1000 deletes the segment from the transmission buffer, further deletes the corresponding segment information from the playlist, and creates the playlist 6011. Update. When receiving the segment (seq = 1), the smartphone 2000 stores the segment in the reception buffer, and then reads and reproduces the segment from the reception buffer according to the reproduction timing. The read segment is deleted from the reception buffer.

デジタルカメラ1000は、新たなセグメント(seq=2)を生成すると、送信バッファに格納し、プレイリストを対応するプレイリスト6012に更新する。輻輳が発生する等の通信状況の悪化がない場合、上記の処理を繰り返す。   When the digital camera 1000 generates a new segment (seq = 2), the digital camera 1000 stores it in the transmission buffer and updates the playlist to the corresponding playlist 6012. If there is no deterioration in the communication status such as congestion, the above process is repeated.

デジタルカメラ1000がセグメント(seq=2)を送信した後に輻輳が発生した場合、デジタルカメラ1000はスマートフォン2000が送信するプレイリスト取得要求を受信することができない。輻輳が発生している間、デジタルカメラ1000は定期的にセグメントを生成しているため、セグメントの生成に応じてプレイリストをプレイリスト6030から6032に順次更新する。このとき、送信バッファのサイズが1に設定されているため、セグメントが未送信であっても送信バッファに格納されるセグメントの数の上限が1であり、最も新しいセグメントのみが格納される。結果として、プレイリストのセグメント情報の数の上限も1であり、送信バッファに格納された1つのセグメントの情報のみが記述される。その後、輻輳が消滅すると、上述した輻輳発生前の処理が実行される。   When congestion occurs after the digital camera 1000 transmits the segment (seq = 2), the digital camera 1000 cannot receive the playlist acquisition request transmitted by the smartphone 2000. Since the digital camera 1000 periodically generates segments while congestion occurs, the playlist is sequentially updated from the playlists 6030 to 6032 in accordance with the segment generation. At this time, since the size of the transmission buffer is set to 1, the upper limit of the number of segments stored in the transmission buffer is 1 even if the segment has not been transmitted, and only the newest segment is stored. As a result, the upper limit of the number of pieces of segment information in the playlist is 1, and only information on one segment stored in the transmission buffer is described. Thereafter, when the congestion disappears, the above-described processing before the occurrence of the congestion is executed.

次に、図7を参照して、バッファサイズを4に設定した場合のプレイリスト及びセグメントの例について説明する。なお、図7の説明では、seq=7〜9のセグメントはすでにスマートフォン2000によって受信されており、デジタルカメラ1000はseq=10のセグメントを生成するところから開始される。   Next, an example of a playlist and a segment when the buffer size is set to 4 will be described with reference to FIG. In the description of FIG. 7, the segment of seq = 7 to 9 has already been received by the smartphone 2000, and the digital camera 1000 starts from generating the segment of seq = 10.

スマートフォン2000は、プレイリスト取得要求を送信する。このとき、スマートフォン2000は、設定したバッファサイズが4であることを示すクエリパラメータ(bn=4)を指定する(バッファサイズ通知)。当該プレイリスト取得要求を受信したデジタルカメラ1000は、クエリパラメータに基づいて、送信バッファのバッファサイズを4に設定する。そして、デジタルカメラ1000は、図6に示した例と同様に、セグメントの生成及びプレイリストの更新を行う(プレイリスト7010、7012)。   The smartphone 2000 transmits a playlist acquisition request. At this time, the smartphone 2000 designates a query parameter (bn = 4) indicating that the set buffer size is 4 (buffer size notification). The digital camera 1000 that has received the playlist acquisition request sets the buffer size of the transmission buffer to 4 based on the query parameter. Then, the digital camera 1000 generates a segment and updates a playlist, similarly to the example shown in FIG. 6 (playlists 7010 and 7012).

輻輳が発生すると、デジタルカメラ1000は、送信バッファに格納可能な数(上限が4)までセグメントを格納する。すなわち、デジタルカメラ1000は、送信バッファのサイズを4に制限しているため、4つまで増加したセグメント(seq=12〜15)を蓄積することができる。プレイリストには4つのセグメント(例えばseq=12〜15)に対応するセグメント情報を記述し、その後4つのセグメント情報の更新を続ける(プレイリスト7030〜7032)。一方、スマートフォン2000は、受信バッファに格納されたセグメントを再生タイミングに合わせて読み出すが、セグメントは新たに追加されない。   When congestion occurs, the digital camera 1000 stores segments up to the number that can be stored in the transmission buffer (upper limit is 4). In other words, since the digital camera 1000 limits the size of the transmission buffer to 4, it can accumulate the segments (seq = 12 to 15) increased to 4. In the playlist, segment information corresponding to four segments (for example, seq = 12 to 15) is described, and then the update of the four segment information is continued (playlists 7030 to 7032). On the other hand, the smartphone 2000 reads the segment stored in the reception buffer in accordance with the reproduction timing, but the segment is not newly added.

輻輳が消滅すると、デジタルカメラ1000は、スマートフォン2000からプレイリスト取得要求を受信して、蓄積されたセグメントのセグメント情報を含むプレイリスト7032を送信する。スマートフォン2000はプレイリストに記述された先頭のセグメントから順次取得(順次受信)して受信バッファに格納し、その後格納されたセグメントを読み出して再生する。以降、輻輳発生前の処理を繰り返す。   When the congestion disappears, the digital camera 1000 receives a playlist acquisition request from the smartphone 2000 and transmits a playlist 7032 including the segment information of the accumulated segments. The smartphone 2000 sequentially acquires (sequential reception) from the first segment described in the playlist and stores it in the reception buffer, and then reads and reproduces the stored segment. Thereafter, the process before the occurrence of congestion is repeated.

このように、スマートフォン2000の使用用途を反映したバッファサイズの設定に応じて、デジタルカメラ1000でプレイリストの生成方法(すなわちプレイリストに記述するセグメントの数)を決定する。このようにすれば、スマートフォン2000においてデータ欠損が許容されているにも関わらず、デジタルカメラ1000側で不必要な古いセグメントを含んで巨大化し得るプレイリストを処理する計算資源の無駄を低減することができる。また、送信するプレイリストの情報量を小さくすることができるため、ネットワーク資源の効率化が可能になる。加えて、スマートフォン2000においても、必要以上に大量のセグメント情報を含んだプレイリストを受信して、各セグメントにアクセスする処理の無駄を低減することができる。   In this manner, the digital camera 1000 determines a playlist generation method (that is, the number of segments described in the playlist) in accordance with the buffer size setting that reflects the usage application of the smartphone 2000. In this way, it is possible to reduce the waste of computing resources for processing a playlist that can be enlarged by including unnecessary old segments on the digital camera 1000 side even though data loss is permitted in the smartphone 2000. Can do. In addition, since the information amount of the playlist to be transmitted can be reduced, network resources can be made more efficient. In addition, the smartphone 2000 can also receive a playlist including a larger amount of segment information than necessary and reduce waste of processing for accessing each segment.

なお、図6及び図7に係るバッファサイズの説明では、説明の便宜上、セグメントの数を例に説明した。しかし、バッファサイズの指定は、格納するセグメントのデータ量に対応するものであればデータサイズ、セグメントの再生時間、データ量に関連付けたスマートフォンの使用用途やアプリケーションの種類等、他の指定であってよい。   In the description of the buffer size according to FIGS. 6 and 7, the number of segments has been described as an example for convenience of description. However, the buffer size designation is other designations such as the data size, segment playback time, smartphone usage associated with the data volume, and application type as long as it corresponds to the data volume of the segment to be stored. Good.

(ストリーミングデータの送信処理に係る一連の動作)
次に、図8を参照して、デジタルカメラ1000におけるストリーミングデータの送信処理に係る一連の動作を説明する。なお、本処理は、デジタルカメラ1000とスマートフォン2000とが接続を確立したときに開始される。また、本処理は、制御部1001が不揮発性メモリ1002に記憶されたプログラムを揮発性メモリ1003の作業用領域に展開、実行することにより実現される。
(A series of operations related to streaming data transmission processing)
Next, a series of operations related to the streaming data transmission process in the digital camera 1000 will be described with reference to FIG. This process is started when the digital camera 1000 and the smartphone 2000 establish a connection. Further, this processing is realized by the control unit 1001 developing and executing a program stored in the nonvolatile memory 1002 in a work area of the volatile memory 1003.

S8001では、制御部1001は、ライブストリーミングの開始に伴って、セグメントの生成を開始する。具体的に、撮像素子1014が制御部1001の指示に応じて信号出力を開始し、その出力をカメラ信号処理部1015が適切な映像データに処理する。更に符号・復号処理部1016はカメラ信号処理部1015からの映像データを所定のビットレート、所定の形式で圧縮符号化し、さらに所定の時間長Tsで分割する。また、制御部1001は、バッファサイズを初期設定して、設定したバッファサイズを揮発性メモリ1003に記憶する。初期設定として設定されるバッファサイズは、例えば、予め定めたスマートフォン2000用の初期値や、制御部1001がスマートフォン2000の機器情報等から推定した値等である。   In step S8001, the control unit 1001 starts segment generation with the start of live streaming. Specifically, the image sensor 1014 starts signal output in response to an instruction from the control unit 1001, and the camera signal processing unit 1015 processes the output into appropriate video data. Further, the encoding / decoding processing unit 1016 compresses and encodes the video data from the camera signal processing unit 1015 at a predetermined bit rate and a predetermined format, and further divides the video data by a predetermined time length Ts. Also, the control unit 1001 initializes the buffer size and stores the set buffer size in the volatile memory 1003. The buffer size set as the initial setting is, for example, a predetermined initial value for the smartphone 2000, a value estimated by the control unit 1001 from the device information of the smartphone 2000, or the like.

S8002では、制御部1001は、1つのセグメント(すなわち0.5秒分のデータ)の生成が完了したか否かを判定する。例えば、制御部1001は、生成された0.5秒分のセグメントが、揮発性メモリ1003又は記録媒体1012に一時的に格納されているかを判定する。生成されたセグメントの格納が完了している場合、制御部1001は、セグメントの生成が完了したと判定してS8003へ処理を進める。一方、セグメントの生成が完了していない場合、S8007へ処理を進める。なお、本ステップの判定は、定期的な問い合わせ(ポーリング)を行って判定する例を説明したが、生成したセグメントが揮発性メモリ1003等に書き込まれたことを検出した割り込み通知を受ける等の方法によって実現してもよい。   In step S8002, the control unit 1001 determines whether the generation of one segment (that is, data for 0.5 seconds) has been completed. For example, the control unit 1001 determines whether the generated segment for 0.5 seconds is temporarily stored in the volatile memory 1003 or the recording medium 1012. When the storage of the generated segment is completed, the control unit 1001 determines that the generation of the segment is completed, and advances the process to S8003. On the other hand, if segment generation has not been completed, the process advances to step S8007. In this example, the determination of this step has been described by performing periodic inquiry (polling), but a method of receiving an interrupt notification that detects that the generated segment has been written to the volatile memory 1003 or the like. It may be realized by.

S8003では、制御部1001は、S8002において生成したセグメントに対応するセグメント情報を生成する。制御部1001は、セグメント情報に、生成したセグメントの時間長と、当該セグメントの取得先情報(保存先アドレス又はファイル名などに関連付けたパス情報)とを設定する。   In S8003, the control unit 1001 generates segment information corresponding to the segment generated in S8002. The control unit 1001 sets the time length of the generated segment and the acquisition destination information (path information associated with the storage destination address or the file name) of the segment in the segment information.

S8004では、制御部1001は、プレイリストに含まれるセグメント情報の内容に、S8003で生成したセグメントの内容を追記した場合に、セグメント情報に対応するセグメントのデータ量がバッファサイズを超えないかを判定する。例えば、制御部1001は、追記によりセグメント情報が2つのセグメントを含むことになり、当該2つのセグメントのデータ量がS8001で設定したバッファサイズを超える場合、処理をS8011へ進める。一方、当該2つのセグメントのデータ量がS8001で設定したバッファサイズを超えない場合、処理をS8006へ進める。なお、バッファサイズが後述するS8009において更新されている場合、S8001で設定したバッファサイズの代わりに、当該更新されたバッファサイズが用いられる。   In S8004, the control unit 1001 determines whether the data amount of the segment corresponding to the segment information does not exceed the buffer size when the content of the segment generated in S8003 is added to the content of the segment information included in the playlist. To do. For example, if the segment information includes two segments due to additional writing and the data amount of the two segments exceeds the buffer size set in S8001, the control unit 1001 advances the process to S8011. On the other hand, if the data amount of the two segments does not exceed the buffer size set in S8001, the process advances to S8006. When the buffer size is updated in S8009 described later, the updated buffer size is used instead of the buffer size set in S8001.

S8005では、制御部1001は、バッファサイズを超えるセグメントを削除するとともに、当該セグメントに関する情報をプレイリストから削除する。例えば、制御部1001は、送信バッファに格納されている最も古いセグメントを削除し、当該セグメントに対応するセグメント情報をプレイリストから削除する。このような処理を行うことにより、デジタルカメラ1000で記憶するセグメントが、スマートフォン2000のバッファサイズ(すなわち映像データの使用用途)に対して適正化される。   In step S8005, the control unit 1001 deletes a segment exceeding the buffer size and deletes information regarding the segment from the playlist. For example, the control unit 1001 deletes the oldest segment stored in the transmission buffer, and deletes segment information corresponding to the segment from the playlist. By performing such processing, the segment stored in the digital camera 1000 is optimized with respect to the buffer size of the smartphone 2000 (that is, use application of video data).

S8006では、制御部1001は、S8003で生成したセグメント情報をプレイリストに追記する。S8004からS8006の処理により、単純に新たなセグメント情報が追加された場合、例えば図6に示したプレイリスト6011がプレイリスト6012のようになる。また、S8005においてセグメント情報が削除された場合、プレイリスト6030がプレイリスト6031のようになる。   In S8006, the control unit 1001 adds the segment information generated in S8003 to the playlist. When new segment information is simply added by the processing from S8004 to S8006, for example, the playlist 6011 shown in FIG. If the segment information is deleted in S8005, the playlist 6030 becomes like the playlist 6031.

S8007では、制御部1001は、スマートフォン2000から送信されたプレイリスト取得要求を受信しているかを判定する。制御部1001は、例えば通信制御部1008からの通知に基づいて、スマートフォン2000からプレイリスト取得要求を受信したと判定した場合、S8008へ処理を進める。一方、スマートフォン2000からプレイリスト取得要求を受信していないと判定した場合、S8013へ処理を進める。   In step S <b> 8007, the control unit 1001 determines whether a playlist acquisition request transmitted from the smartphone 2000 has been received. For example, if the control unit 1001 determines that a playlist acquisition request has been received from the smartphone 2000 based on the notification from the communication control unit 1008, the control unit 1001 advances the process to step S8008. On the other hand, if it is determined that a playlist acquisition request has not been received from the smartphone 2000, the process proceeds to S8013.

S8008では、制御部1001は、プレイリスト取得要求において通知されるクエリパラメータ(すなわちスマートフォン2000の格納先に関する情報)が存在するか否かを判定する。制御部1001は、プレイリスト取得要求に、スマートフォン2000のバッファサイズが含まれている場合、S8009へ処理を進める。一方、プレイリスト取得要求に当該バッファサイズが含まれていない場合、S8010へ処理を進める。   In step S8008, the control unit 1001 determines whether there is a query parameter notified in the playlist acquisition request (that is, information regarding the storage destination of the smartphone 2000). If the playlist acquisition request includes the buffer size of the smartphone 2000, the control unit 1001 advances the process to S8009. On the other hand, if the play list acquisition request does not include the buffer size, the process advances to step S8010.

S8009では、制御部1001は、プレイリスト取得要求に含まれるクエリパラメータからバッファサイズを取得して、S8001において設定したバッファサイズを更新する。なお、本一連の動作の説明では、バッファサイズを最大記憶セグメント数とする例を説明する。バッファサイズを最大記憶セグメント数とした場合の最大メモリサイズは、例えば最大セグメント数と、ストリーミングデータの最大ビットレート、セグメント時間に基づいて算出可能である。なお、バッファサイズは、他の情報からメモリサイズが算出可能であれば、最大記憶セグメント数以外の他の情報を用いてもよい。   In step S8009, the control unit 1001 acquires the buffer size from the query parameter included in the playlist acquisition request, and updates the buffer size set in step S8001. In this series of operations, an example in which the buffer size is the maximum number of storage segments will be described. The maximum memory size when the buffer size is the maximum number of storage segments can be calculated based on, for example, the maximum number of segments, the maximum bit rate of streaming data, and the segment time. As the buffer size, other information than the maximum number of storage segments may be used as long as the memory size can be calculated from other information.

S8010では、制御部1001は、プレイリストに含まれるセグメント情報に対応するセグメントのデータ量が、S8009で更新されたバッファサイズを超えていないかを判定する。なお、バッファサイズが更新されていない場合、S8001において設定されたバッファサイズを用いる。制御部1001は、セグメント情報に対応するセグメントのデータ量が、バッファサイズを超えていると判定した場合、S8011へ処理を進める。   In step S8010, the control unit 1001 determines whether the data amount of the segment corresponding to the segment information included in the playlist exceeds the buffer size updated in step S8009. If the buffer size has not been updated, the buffer size set in S8001 is used. If the control unit 1001 determines that the data amount of the segment corresponding to the segment information exceeds the buffer size, the control unit 1001 advances the process to step S8011.

S8011では、制御部1001は、S8005と同様に、バッファサイズを超えたセグメントを削除するとともに、当該セグメントに関する情報をプレイリストから削除する。このような処理を行うことにより、デジタルカメラ1000で記憶するセグメントが、スマートフォン2000のバッファサイズ(すなわちスマートフォン2000における映像データの使用用途)に対して適正化される。S8012では、制御部1001は、プレイリスト取得要求に応答して、通信制御部1008を介してプレイリストを含んだプレイリスト応答を送信する。   In step S8011, the control unit 1001 deletes a segment that exceeds the buffer size and deletes information related to the segment from the playlist, as in step S8005. By performing such processing, the segment stored in the digital camera 1000 is optimized with respect to the buffer size of the smartphone 2000 (that is, use application of video data in the smartphone 2000). In step S8012, the control unit 1001 transmits a playlist response including the playlist via the communication control unit 1008 in response to the playlist acquisition request.

S8013では、制御部1001は、スマートフォン2000からセグメント取得要求を受信したかを判定する。制御部1001は、通信制御部1008からの通知に基づいて、セグメント取得要求を受信したと判定した場合、S8014へ処理を進める。一方、予め定めた時間の間、セグメント取得要求を受信しなかったと判定した場合、S8002へ再び処理を戻す。   In step S <b> 8013, the control unit 1001 determines whether a segment acquisition request has been received from the smartphone 2000. When it is determined that the segment acquisition request has been received based on the notification from the communication control unit 1008, the control unit 1001 advances the process to step S8014. On the other hand, if it is determined that the segment acquisition request has not been received for a predetermined time, the process returns to S8002.

S8014では、制御部1001は、スマートフォン2000から受信したセグメント取得要求に係るセグメントが有効か否かを判定する。例えば、制御部1001は、セグメント取得要求に記述されたセグメントの識別子を参照して、当該識別子を有するセグメントが送信バッファに存在するかを判定する。制御部1001は、要求された識別子のセグメントが受信バッファに存在する場合、セグメントが有効であると判定してS8015へ処理を進める。一方、既に受信バッファから該当するセグメントが削除されている等によりセグメントが存在しない場合、セグメントが無効であると判定してS8016へ処理を進める。   In step S <b> 8014, the control unit 1001 determines whether the segment related to the segment acquisition request received from the smartphone 2000 is valid. For example, the control unit 1001 refers to the segment identifier described in the segment acquisition request, and determines whether a segment having the identifier exists in the transmission buffer. When the segment with the requested identifier exists in the reception buffer, the control unit 1001 determines that the segment is valid and advances the process to step S8015. On the other hand, if the segment does not exist because the corresponding segment has already been deleted from the reception buffer, it is determined that the segment is invalid, and the process proceeds to S8016.

S8015では、制御部1001は、セグメント取得要求に対する応答として、通信制御部1008を介して該当するセグメントを送信する。その後、制御部1001は、当該送信済みとなったセグメントを送信バッファから削除するとともに、当該セグメント対応するセグメント情報をプレイリストから削除する。このとき、例えばプレイリスト6030はセグメントが送信されてプレイリスト6011のようになる。   In step S8015, the control unit 1001 transmits the corresponding segment via the communication control unit 1008 as a response to the segment acquisition request. Thereafter, the control unit 1001 deletes the segment that has been transmitted from the transmission buffer, and deletes the segment information corresponding to the segment from the playlist. At this time, for example, the playlist 6030 is transmitted as a segment and becomes like the playlist 6011.

S8016では、制御部1001は、セグメント取得要求に対する応答として、通信制御部1008を介してエラーステータスを送信する。そして、S8017において、制御部1001は、ストリーミングを終了するかを判定し、ストリーミングを終了しない場合、処理を再びS8002に戻して上述した処理を繰り返す。一方、ストリーミングを終了すると判定した場合、本一連の動作を終了する。   In step S8016, the control unit 1001 transmits an error status via the communication control unit 1008 as a response to the segment acquisition request. In step S8017, the control unit 1001 determines whether to end the streaming. If the streaming is not ended, the process returns to step S8002 to repeat the above-described processing. On the other hand, when it is determined that the streaming is to be ended, this series of operations is ended.

なお、本一連の動作における判定ステップS8002、S8007、S8013は、順に問い合わせが発生する場合を例に説明したが、各条件のイベント待ちを並行して行う場合には、イベント発生順に各処理を実行してもよい。上記の説明から明らかなように、デジタルカメラ1000は撮像素子1014によって新たなセグメントが生成されたタイミングやセグメントをスマートフォン2000に送信したタイミングで、プレイリストを更新する処理を行うことができる。   Note that the determination steps S8002, S8007, and S8013 in this series of operations have been described by taking an example in which inquiries are generated in order. However, when waiting for an event of each condition in parallel, the processes are executed in the order of event occurrence. May be. As is clear from the above description, the digital camera 1000 can perform the process of updating the playlist at the timing when a new segment is generated by the image sensor 1014 or when the segment is transmitted to the smartphone 2000.

(ストリーミングデータの受信処理に係る一連の動作)
次に、図9を参照して、スマートフォン2000におけるストリーミングデータの受信処理に係る一連の動作を説明する。なお、本処理は、デジタルカメラ1000とスマートフォン2000とが接続を確立したときに開始される。また、本処理は、制御部2001が不揮発性メモリ2002に記憶されたプログラムを揮発性メモリ2003の作業用領域に展開、実行することにより実現される。このとき、制御部2001は、受信したセグメントを一時的に格納する受信バッファを、上述したバッファサイズ設定5008のバッファサイズ選択5009により設定された時間(Tsの倍数(Nt))分、揮発性メモリ2003又は記録媒体2012に確保する。
(A series of operations related to streaming data reception processing)
Next, with reference to FIG. 9, a series of operations related to the streaming data reception process in the smartphone 2000 will be described. This process is started when the digital camera 1000 and the smartphone 2000 establish a connection. This process is realized by the control unit 2001 developing and executing a program stored in the nonvolatile memory 2002 in the work area of the volatile memory 2003. At this time, the control unit 2001 sets the reception buffer for temporarily storing the received segment as the volatile memory for the time (multiple of Ts (Nt)) set by the buffer size selection 5009 of the buffer size setting 5008 described above. Secured in 2003 or the recording medium 2012.

S9001では、制御部2001は、接続時に取得したプレイリスト取得先情報から、プレイリスト取得先を取得し、保持する。また、制御部2001は、上述の受信バッファを確保するために用いたバッファサイズの設定を取得する。S9002では、制御部2001は、所定時間経過したか否かを判定する。例えば、制御部2001は、不図示のタイマーのカウントに応じて所定時間が経過したかを判定し、所定時間が経過したと判定した場合、S9003へ処理を進める。一方、所定時間が経過していないと判定した場合、再度S9002を繰り返す。ここで所定時間とは、通常デジタルカメラ1000が生成する所定の時間長Tsと同等或いは短めの値にすることが望ましい。   In step S9001, the control unit 2001 acquires a playlist acquisition destination from the playlist acquisition destination information acquired at the time of connection, and holds it. In addition, the control unit 2001 acquires the setting of the buffer size used to secure the reception buffer described above. In step S9002, the control unit 2001 determines whether a predetermined time has elapsed. For example, the control unit 2001 determines whether a predetermined time has elapsed according to a count of a timer (not shown), and if it is determined that the predetermined time has elapsed, the process proceeds to S9003. On the other hand, if it is determined that the predetermined time has not elapsed, S9002 is repeated again. Here, the predetermined time is preferably set to a value equal to or shorter than the predetermined time length Ts generated by the digital camera 1000.

S9003では、制御部2001は、ユーザがバッファサイズ設定5008によってバッファサイズを変更したかを判定する。制御部2001は、例えばS9001において取得したバッファサイズと現在のバッファサイズとを比較して、バッファサイズが変更されているか否かを判定する。制御部2001は、バッファサイズが更新されていないと判定した場合、S9004へ処理を進める。一方、バッファサイズが更新されていると判定した場合、S9005へ処理を進める。なお、バッファサイズが最大記憶セグメント数(Nt)に設定されているものとして説明する。   In step S9003, the control unit 2001 determines whether the user has changed the buffer size by the buffer size setting 5008. The control unit 2001 compares the buffer size acquired in S9001 with the current buffer size, for example, and determines whether or not the buffer size has been changed. If the control unit 2001 determines that the buffer size has not been updated, the process advances to step S9004. On the other hand, if it is determined that the buffer size has been updated, the process proceeds to S9005. It is assumed that the buffer size is set to the maximum number of storage segments (Nt).

S9004では、制御部2001は、S9001で取得したプレイリスト取得先情報に基づき、通信制御部2008を介してプレイリスト取得要求を送信する。そして、デジタルカメラ1000からプレイリストを取得(受信)する。一方、S9005では、制御部2001は、S9003で更新されたバッファサイズをプレイリスト取得要求のクエリパラメータとして付加して、プレイリスト取得要求を送信する。プレイリスト取得要求は、S9001で取得したプレイリスト取得先情報に基づき、通信制御部2008を介して送信される。その後、制御部2001は、デジタルカメラ1000からプレイリストを取得する。   In step S9004, the control unit 2001 transmits a playlist acquisition request via the communication control unit 2008 based on the playlist acquisition destination information acquired in step S9001. Then, a playlist is acquired (received) from the digital camera 1000. On the other hand, in S9005, the control unit 2001 adds the buffer size updated in S9003 as a query parameter of the playlist acquisition request, and transmits the playlist acquisition request. The playlist acquisition request is transmitted via the communication control unit 2008 based on the playlist acquisition destination information acquired in S9001. Thereafter, the control unit 2001 acquires a playlist from the digital camera 1000.

S9006では、制御部2001は、取得したプレイリストを解析する。プレイリストの解析では、識別タグによるプレイリスト形式とバージョンの確認を行った後に、セグメント情報を取得する。S9007では、制御部2001は、S9006でセグメント情報が存在したか否かを判定する。制御部2001は、例えば、プレイリストに含まれるセグメント情報の数(セグメント数:Sn)をカウントし、セグメント数に基づいてセグメント情報が存在するか否かを判定する。制御部2001は、セグメント数が1以上である場合、セグメント情報が存在すると判定してS9008へ処理を進める。一方、セグメント数が0である場合、セグメント情報が存在しないと判定してS9003へ処理を戻す。   In step S9006, the control unit 2001 analyzes the acquired playlist. In the playlist analysis, the segment information is acquired after confirming the playlist format and version by the identification tag. In step S9007, the control unit 2001 determines whether segment information exists in step S9006. For example, the control unit 2001 counts the number of segment information included in the playlist (number of segments: Sn), and determines whether there is segment information based on the number of segments. If the number of segments is 1 or more, the control unit 2001 determines that segment information exists and advances the process to S9008. On the other hand, if the number of segments is 0, it is determined that there is no segment information, and the process returns to S9003.

S9008では、制御部2001は、取得したセグメント情報に含まれるセグメント数Snが複数(すなわちSn≧2)であるか否かを判定する。制御部2001は、セグメント数に基づいてSn≧2であると判定した場合、S9011へ処理を進める。一方、Sn=1であると判定した場合、S9009へ処理を進める。   In step S9008, the control unit 2001 determines whether the number of segments Sn included in the acquired segment information is plural (that is, Sn ≧ 2). If the control unit 2001 determines that Sn ≧ 2 based on the number of segments, the control unit 2001 advances the process to step S9011. On the other hand, if it is determined that Sn = 1, the process proceeds to S9009.

S9009では、制御部2001は、プレイリストに含まる(1つの)セグメント情報の取得先パスに対してセグメント取得要求を送信し、デジタルカメラ1000からセグメントを取得する。制御部2001は、セグメント取得要求に、セグメント情報に記述されたセグメントの識別子を含める。S9010では、制御部2001は、取得したセグメントを、揮発性メモリ2003又は記録媒体2012に確保した受信バッファに格納する。   In step S <b> 9009, the control unit 2001 acquires a segment from the digital camera 1000 by transmitting a segment acquisition request to the acquisition destination path of (one) segment information included in the playlist. The control unit 2001 includes the segment identifier described in the segment information in the segment acquisition request. In step S9010, the control unit 2001 stores the acquired segment in the reception buffer secured in the volatile memory 2003 or the recording medium 2012.

S9011では、制御部2001は、プレイリスト内の1番目(最古)のセグメント情報の取得先パスに対してセグメント取得要求を送信し、デジタルカメラ1000からセグメントを取得(受信)する。制御部2001は、S9009と同様、セグメント情報に記述されたセグメントの識別子をセグメント取得要求に含める。S9012では、制御部2001は、取得したセグメントを、揮発性メモリ2003又は記録媒体2012に用意した受信バッファに格納する。   In step S <b> 9011, the control unit 2001 transmits a segment acquisition request to the acquisition destination path of the first (oldest) segment information in the playlist, and acquires (receives) a segment from the digital camera 1000. Similar to S9009, the control unit 2001 includes the segment identifier described in the segment information in the segment acquisition request. In step S9012, the control unit 2001 stores the acquired segment in a reception buffer prepared in the volatile memory 2003 or the recording medium 2012.

S9013では、制御部2001は、S9011において取得したセグメントの数の分だけセグメント数Snを減算(Sn=Sn−1)した上でSnを評価する。制御部2001は、Sn>0である場合、残されたセグメントを取得するために、S9011に処理を戻す。一方、Sn=0である場合、取得するセグメントがないため、S9014に処理を進める。なお、S9011からS9013の処理時間が、デジタルカメラ1000で生成されるセグメントがプレイリストに追記される時間Tsに対して、大幅に長くならないことを前提としている。しかし、S9013でYesであった場合であっても、さらにS9004のプレイリスト取得からの経過時間を判定し、所定の時間を超える場合には、S9003へ処理を戻してもよい。   In step S9013, the control unit 2001 evaluates Sn after subtracting the number of segments Sn by the number of segments acquired in step S9011 (Sn = Sn-1). If Sn> 0, the control unit 2001 returns the process to S9011 to obtain the remaining segment. On the other hand, if Sn = 0, there is no segment to be acquired, and the process advances to S9014. It is assumed that the processing time from S9011 to S9013 is not significantly longer than the time Ts when the segment generated by the digital camera 1000 is added to the playlist. However, even if Yes in S9013, the elapsed time from the playlist acquisition in S9004 may be further determined, and if the predetermined time is exceeded, the process may be returned to S9003.

S9014において、制御部2001は、ストリーミングを終了するかを判定し、ストリーミングを終了しない場合、処理を再びS9002に戻して上述した処理を繰り返す。一方、ストリーミングを終了すると判定した場合、本一連の動作を終了する。   In step S9014, the control unit 2001 determines whether to end the streaming. If the streaming is not ended, the process returns to step S9002 to repeat the above-described processing. On the other hand, when it is determined that the streaming is to be ended, this series of operations is ended.

なお、上述した実施形態では、デジタルカメラ1000がクエリバラメータに応じてバッファサイズを変更し、当該バッファサイズの変更によりプレイリストに記述されるセグメント情報の数が変動するようにした。しかし、デジタルカメラ1000は受信したクエリパラメータに応じて、プレイリストに記述されるセグメント情報の数を直接制御してもよい。このようにしても、プレイリストを効率的に生成することができる。   In the above-described embodiment, the digital camera 1000 changes the buffer size according to the query parameter, and the number of segment information described in the play list varies depending on the change of the buffer size. However, the digital camera 1000 may directly control the number of segment information described in the playlist according to the received query parameter. Even in this way, a playlist can be generated efficiently.

以上説明したように本実施形態では、スマートフォン2000のバッファサイズの設定(格納先に関する情報)に応じて、デジタルカメラ1000で格納するセグメントの数とプレイリストのセグメント情報の数とを制限するようにした。このようにすれば、ライブ視聴のようなリアルタイム性を優先する使用用途において、デジタルカメラ1000側で不必要な古いセグメントを含むプレイリストを処理する計算資源の無駄を低減することができる。また、送信するプレイリストの情報量を小さくすることができるため、ネットワーク資源の効率化が可能になる。換言すれば、通信で取得されるデータの取得に関する情報を、効率的に生成することが可能になる。   As described above, in the present embodiment, the number of segments stored in the digital camera 1000 and the number of segment information in the playlist are limited in accordance with the buffer size setting (information regarding the storage destination) of the smartphone 2000. did. In this way, it is possible to reduce the waste of computing resources for processing a playlist including an old segment that is unnecessary on the digital camera 1000 side in a usage application that prioritizes real-time performance such as live viewing. In addition, since the information amount of the playlist to be transmitted can be reduced, network resources can be made more efficient. In other words, it is possible to efficiently generate information related to acquisition of data acquired through communication.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

1001…制御部、1003…揮発性メモリ、1008…通信制御部、1012…記録媒体、1014…撮像素子、2001…制御部、2005…操作部、2006…表示制御部、2008…通信制御部 DESCRIPTION OF SYMBOLS 1001 ... Control part, 1003 ... Volatile memory, 1008 ... Communication control part, 1012 ... Recording medium, 1014 ... Imaging element, 2001 ... Control part, 2005 ... Operation part, 2006 ... Display control part, 2008 ... Communication control part

Claims (20)

映像データの一部を示すセグメントデータを外部装置に順次送信する映像供給装置であって、
前記外部装置が受信したセグメントデータを格納するための、前記外部装置のバッファ手段に関する情報を取得する取得手段と、
前記外部装置に送信するセグメントデータを格納する格納手段と、
前記セグメントデータごとの取得先を示す取得先情報を1つ以上含むリストを生成する生成手段と、
前記リストを前記外部装置に送信する送信手段と、を有し、
前記生成手段は、前記外部装置のバッファ手段に関する情報に基づいて前記リストの生成方法を決定することを特徴とする映像供給装置。
A video supply device that sequentially transmits segment data indicating a part of video data to an external device,
Obtaining means for obtaining information relating to buffer means of the external device for storing segment data received by the external device;
Storage means for storing segment data to be transmitted to the external device;
Generating means for generating a list including one or more acquisition destination information indicating an acquisition destination for each segment data;
Transmission means for transmitting the list to the external device,
The video supply apparatus according to claim 1, wherein the generation unit determines a generation method of the list based on information on a buffer unit of the external device.
前記外部装置のバッファ手段に関する情報は、前記外部装置のバッファ手段に保存可能な容量に応じて定まる、ことを特徴とする請求項1に記載の映像供給装置。   2. The video supply device according to claim 1, wherein the information related to the buffer unit of the external device is determined according to a capacity that can be stored in the buffer unit of the external device. 前記バッファ手段に関する情報は、前記外部装置のバッファ手段に保存される前記セグメントデータのデータ量を示す指標であることを特徴とする請求項1又は2に記載の映像供給装置。   3. The video supply device according to claim 1, wherein the information on the buffer unit is an index indicating a data amount of the segment data stored in the buffer unit of the external device. 前記指標は数値を含み、
前記生成手段は、前記数値が小さいほど前記リストが示すセグメントデータの数を制限する、ことを特徴とする請求項3項に記載の映像供給装置。
The indicator includes a numerical value,
The video supply device according to claim 3, wherein the generation unit limits the number of segment data indicated by the list as the numerical value is smaller.
前記生成手段は、前記リストが示すセグメントデータの数が前記外部装置のバッファ手段に関する情報が示す保存可能なセグメントデータの数より多い場合、前記リストに含まれる前記取得先情報のうち、前記外部装置によって受信されていない、最も古い前記セグメントデータの前記取得先情報を前記リストから削除する、ことを特徴とする請求項1から4のいずれか1項に記載の映像供給装置。   When the number of segment data indicated by the list is greater than the number of storable segment data indicated by the information regarding the buffer means of the external device, the generation means includes the external device of the acquisition destination information included in the list 5. The video supply device according to claim 1, wherein the acquisition source information of the oldest segment data that has not been received is deleted from the list. 6. 前記生成手段は、新たに前記バッファ手段に保存される前記セグメントデータの前記取得先情報を前記リストに追加し、前記外部装置によって受信された前記セグメントデータの前記取得先情報を前記リストから削除する、ことを特徴とする請求項5に記載の映像供給装置。   The generation unit adds the acquisition destination information of the segment data newly stored in the buffer unit to the list, and deletes the acquisition destination information of the segment data received by the external device from the list. The video supply device according to claim 5, wherein: 前記取得手段は、前記リストの送信に対する要求を前記外部装置から受信することにより、前記外部装置のバッファ手段に関する情報を取得する、ことを特徴とする請求項1から6のいずれか1項に記載の映像供給装置。   7. The information acquisition apparatus according to claim 1, wherein the acquisition unit acquires information related to a buffer unit of the external device by receiving a request for transmission of the list from the external device. 8. Picture supply device. 前記生成手段は、前記外部装置において前記映像データが第1の使用用途で使用される場合、第2の使用用途で使用される場合より前記リストが示すセグメントデータの数を制限し、
前記第1の使用用途は、前記第2の使用用途よりも前記映像データのデータ欠損が許容される、ことを特徴とする請求項1から7のいずれか1項に記載の映像供給装置。
The generating means limits the number of segment data indicated by the list when the video data is used in the first usage application in the external device than when used in the second usage application,
8. The video supply apparatus according to claim 1, wherein the first usage application allows more data loss of the video data than the second usage usage. 9.
前記第1の使用用途は、前記外部装置における前記映像データのライブ視聴を含み、前記第2の使用用途は、前記外部装置における前記映像データの記録を含む、ことを特徴とする請求項8に記載の映像供給装置。   9. The first usage application includes live viewing of the video data on the external device, and the second usage usage includes recording of the video data on the external device. The video supply device described. 撮像素子を更に有し、
前記映像データは前記撮像素子からの出力に基づく、ことを特徴とする請求項1から9のいずれか1項に記載の映像供給装置。
It further has an image sensor,
The video supply apparatus according to claim 1, wherein the video data is based on an output from the imaging device.
映像データの一部を示すセグメントデータを外部装置から順次受信する映像取得装置であって、
前記外部装置から受信したセグメントデータを格納するためのバッファ手段と、
前記外部装置に、前記バッファ手段に関する情報を通知する通知手段と、
前記セグメントデータごとの取得先を示す取得先情報を1つ以上含むリストを取得するリスト取得手段と、
前記リストに含まれる前記取得先情報に基づいて前記セグメントデータを受信する受信手段と、を有し、
前記リストは、前記通知手段により通知された前記バッファ手段に関する情報に基づきその内容が異なることを特徴とする映像取得装置。
A video acquisition device that sequentially receives segment data indicating a part of video data from an external device,
Buffer means for storing segment data received from the external device;
Notification means for notifying the external device of information relating to the buffer means;
A list acquisition means for acquiring a list including one or more acquisition destination information indicating an acquisition destination for each segment data;
Receiving means for receiving the segment data based on the acquisition source information included in the list,
The contents of the list are different based on information about the buffer means notified by the notifying means.
前記バッファ手段に保存可能なデータ量を設定する設定手段を更に有し、
前記バッファ手段に関する情報は、前記設定手段により設定された前記バッファ手段に保存可能なデータ量に応じて定まる、ことを特徴とする請求項11に記載の映像取得装置。
Further comprising setting means for setting the amount of data that can be stored in the buffer means;
The video acquisition apparatus according to claim 11, wherein the information related to the buffer unit is determined according to a data amount that can be stored in the buffer unit set by the setting unit.
前記設定手段は、前記バッファ手段に保存可能なデータ量を前記映像データの使用用途に応じて設定することを特徴とする請求項12に記載の映像取得装置。   13. The video acquisition apparatus according to claim 12, wherein the setting unit sets a data amount storable in the buffer unit in accordance with a use application of the video data. 前記設定手段は、第1の使用用途で前記映像データを使用する場合、第2の使用用途で使用する場合より前記バッファ手段に保存可能なデータ量を小さく設定し、
前記第1の使用用途は、前記第2の使用用途よりも前記映像データのデータ欠損が許容される、ことを特徴とする請求項13に記載の映像取得装置。
The setting means sets the amount of data that can be stored in the buffer means to be smaller when using the video data in the first usage, than when using the video data in the second usage,
The video acquisition apparatus according to claim 13, wherein the first usage application allows more data loss of the video data than the second usage usage.
前記バッファ手段に保存された前記セグメントデータを読み出して表示する表示手段を更に有する、ことを特徴とする請求項11から14のいずれか1項に記載の映像取得装置。   The video acquisition apparatus according to claim 11, further comprising display means for reading and displaying the segment data stored in the buffer means. 映像取得装置と、映像データの一部を示すセグメントデータを前記映像取得装置に順次送信する映像供給装置とを含む映像供給システムであって、
前記映像供給装置は、
前記映像取得装置が受信したセグメントデータを格納するための、前記映像取得装置のバッファ手段に関する情報を取得する取得手段と、
前記映像取得装置に送信するセグメントデータを格納する第1の格納手段と、
前記セグメントデータごとの取得先を示す取得先情報を1つ以上含むリストを生成する生成手段と、
前記リストを前記映像取得装置に送信する送信手段と、を有し、
前記映像取得装置は、
前記映像供給装置から受信したセグメントデータを格納するためのバッファ手段と、
前記映像供給装置に、前記バッファ手段に関する情報を通知する通知手段と、
前記映像取得装置から前記リストを取得するリスト取得手段と、
前記リストに含まれる前記取得先情報に基づいて前記セグメントデータを受信する受信手段と、を有し、
前記映像供給装置の前記生成手段は、前記外部装置のバッファ手段に関する情報に基づいて前記リストの生成方法を決定する、ことを特徴とする映像供給システム。
A video supply system including a video acquisition device and a video supply device that sequentially transmits segment data indicating a part of video data to the video acquisition device,
The video supply device includes:
Acquisition means for acquiring information relating to buffer means of the video acquisition device for storing segment data received by the video acquisition device;
First storage means for storing segment data to be transmitted to the video acquisition device;
Generating means for generating a list including one or more acquisition destination information indicating an acquisition destination for each segment data;
Transmitting means for transmitting the list to the video acquisition device,
The video acquisition device includes:
Buffer means for storing segment data received from the video supply device;
Notification means for notifying the video supply device of information relating to the buffer means;
List acquisition means for acquiring the list from the video acquisition device;
Receiving means for receiving the segment data based on the acquisition source information included in the list,
The video supply system according to claim 1, wherein the generation unit of the video supply device determines a generation method of the list based on information on a buffer unit of the external device.
映像データの一部を示すセグメントデータを外部装置に順次送信する映像供給装置の制御方法であって、
取得手段が、前記外部装置が受信したセグメントデータを格納するための、前記外部装置のバッファ手段に関する情報を取得する取得工程と、
格納手段が、前記外部装置に送信するセグメントデータを格納する格納工程と、
生成手段が、前記セグメントデータごとの取得先を示す取得先情報を1つ以上含むリストを生成する生成工程と、
送信手段が、前記リストを前記外部装置に送信する送信工程と、を有し、
前記生成工程では、前記外部装置のバッファ手段に関する情報に基づいて前記リストの生成方法を決定することを特徴とする映像供給装置の制御方法。
A method of controlling a video supply device that sequentially transmits segment data indicating a part of video data to an external device,
An acquisition step of acquiring information relating to buffer means of the external device for storing segment data received by the external device;
A storage step of storing segment data to be transmitted to the external device;
A generating step of generating a list including one or more acquisition destination information indicating an acquisition destination for each of the segment data;
A transmission step of transmitting the list to the external device;
In the generating step, the method for generating the list is determined based on information relating to buffer means of the external device.
映像データの一部を示すセグメントデータを外部装置から順次受信し、前記外部装置から受信したセグメントデータを格納するためのバッファ手段を有する映像取得装置の制御方法であって、
通知手段が、前記外部装置に、前記バッファ手段に関する情報を通知する通知工程と、
リスト取得手段が、前記セグメントデータごとの取得先を示す取得先情報を1つ以上含むリストを取得するリスト取得工程と、
受信手段が、前記リストに含まれる前記取得先情報に基づいて前記セグメントデータを受信する受信工程と、を有し、
前記リストは、前記通知手段により通知された前記バッファ手段に関する情報に基づきその内容が異なることを特徴とする映像取得装置の制御方法。
A method for controlling a video acquisition device having buffer means for sequentially receiving segment data indicating a part of video data from an external device and storing the segment data received from the external device,
A notifying step of notifying the external device of information relating to the buffer means;
A list acquisition step in which a list acquisition unit acquires a list including one or more acquisition destination information indicating an acquisition destination for each of the segment data;
Receiving means for receiving the segment data based on the acquisition source information included in the list, and
The method of controlling a video acquisition apparatus, wherein the contents of the list are different based on information about the buffer means notified by the notification means.
コンピュータを、請求項1から10のいずれか1項に記載の映像供給装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the image | video supply apparatus of any one of Claim 1 to 10. コンピュータを、請求項11から14のいずれか1項に記載の映像取得装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the image | video acquisition apparatus of any one of Claim 11 to 14.
JP2016099047A 2016-05-17 2016-05-17 Video supply device, video acquisition device, control method and program therefor, and video supply system Pending JP2017208672A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016099047A JP2017208672A (en) 2016-05-17 2016-05-17 Video supply device, video acquisition device, control method and program therefor, and video supply system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016099047A JP2017208672A (en) 2016-05-17 2016-05-17 Video supply device, video acquisition device, control method and program therefor, and video supply system

Publications (1)

Publication Number Publication Date
JP2017208672A true JP2017208672A (en) 2017-11-24

Family

ID=60415680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016099047A Pending JP2017208672A (en) 2016-05-17 2016-05-17 Video supply device, video acquisition device, control method and program therefor, and video supply system

Country Status (1)

Country Link
JP (1) JP2017208672A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7444440B2 (en) 2020-03-19 2024-03-06 日本電気通信システム株式会社 Control device, transfer method, and control program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7444440B2 (en) 2020-03-19 2024-03-06 日本電気通信システム株式会社 Control device, transfer method, and control program

Similar Documents

Publication Publication Date Title
US9445142B2 (en) Information processing apparatus and control method thereof
JP6567286B2 (en) Method and system for playback of animated video
JP6465541B2 (en) COMMUNICATION DEVICE, REPRODUCTION DEVICE, ITS METHOD, AND PROGRAM
US20070098397A1 (en) Network camera
US20170070699A1 (en) Information processing apparatus, image capturing apparatus, and control methods for the same
US20170105034A1 (en) Communication apparatus, communication method, and program
JP2013214346A (en) Imaging device and program
US10440441B2 (en) Image pickup apparatus, image pickup system, control method for image pickup apparatus, and recording medium
JP2021111943A (en) Image processing device and control method thereof, program, and storage medium
US9277261B2 (en) Information processing apparatus and control method thereof
JP2017208672A (en) Video supply device, video acquisition device, control method and program therefor, and video supply system
JP2015122587A (en) Communication device, imaging device and control method therefor, and program
US10028017B2 (en) Information processing device and method of controlling information processing device
JP6433151B2 (en) Video supply device, video acquisition device, control method thereof, and video supply system
US20150373073A1 (en) Image pickup apparatus, control method and recording medium
JP2019068187A (en) Information processing apparatus, control method thereof, and program
WO2023281928A1 (en) Communication device, control method, and program
US8176073B2 (en) Imaging device
JP2012253596A (en) Information processing device, image server, information processing system, upload method, image supply method and program
JP2011165101A (en) Device control system, device control method, and control terminal
JP2017046183A (en) Transmitter, receiver, and communication system
JP6646973B2 (en) Information processing apparatus, control method for information processing apparatus, and program
US20130007351A1 (en) Information processor, information processing method, and computer program product
JP2016100841A (en) Communication device, imaging apparatus, communication device control method and program
JP2015142360A (en) Imaging apparatus and universal head device