KR102291293B1 - Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium - Google Patents

Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium Download PDF

Info

Publication number
KR102291293B1
KR102291293B1 KR1020200023471A KR20200023471A KR102291293B1 KR 102291293 B1 KR102291293 B1 KR 102291293B1 KR 1020200023471 A KR1020200023471 A KR 1020200023471A KR 20200023471 A KR20200023471 A KR 20200023471A KR 102291293 B1 KR102291293 B1 KR 102291293B1
Authority
KR
South Korea
Prior art keywords
data
transmission
transmitted
frame prediction
server
Prior art date
Application number
KR1020200023471A
Other languages
Korean (ko)
Inventor
슌이치 곤도
šœ이치 곤도
다쿠미 구로사카
Original Assignee
가부시끼가이샤 도시바
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 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Priority to KR1020200023471A priority Critical patent/KR102291293B1/en
Application granted granted Critical
Publication of KR102291293B1 publication Critical patent/KR102291293B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/234363Processing 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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A transmission device according to an embodiment includes one or more processors. The processors divide multiple types of transmission data to be transmitted into first data and second data. The processors transmit the first data to a server device configured to distribute the transmission data to a reception device. The processors store the second data in storage. The processors receive, from the reception device or the server device, a transmission request of the second data. The processors transmit the second data to the server device according to the transmission request.

Description

송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체{TRANSMISSION DEVICE, COMUNICATION SYSTEM, TRANSMISSION METHOD, AND NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM}Transmission device, communication system, transmission method, and non-transitory computer-readable recording medium

본 출원은 2018년 11월 2일자로 출원된 일본 특허 출원 제2018-207604호에 기초하고 그 우선권의 이익을 주장하고; 그 전체 내용은 본 명세서에 참조로 포함된다.This application is based on and claims the benefit of priority from Japanese Patent Application No. 2018-207604, filed on November 2, 2018; The entire contents of which are incorporated herein by reference.

본 명세서에 설명된 실시예들은 일반적으로 송신 디바이스, 통신 시스템, 송신 방법, 및 컴퓨터 프로그램 제품에 관한 것이다.Embodiments described herein relate generally to a transmitting device, a communication system, a transmitting method, and a computer program product.

HLS(HTTP Live Streaming) 및 MPEG-DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP)와 같은 적응형 스트리밍(adaptive streaming)은 예를 들어, 카메라에 의해 촬영된 영상(동화상 데이터)를 분배하여 모니터링하기 위한 시스템(영상 분배 시스템 또는 영상 모니터링 시스템)에 적용될 수 있다. Adaptive streaming such as HTTP Live Streaming (HLS) and Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP (MPEG-DASH), for example, distributes and monitors images (moving data) captured by a camera It can be applied to a system (image distribution system or image monitoring system) for

그러나, 종래의 기술에서는, (영상과 같은) 데이터가 송신되는 네트워크 라인 상의 부하의 증가 및 시스템 상의 처리 부하의 증가의 위험이 있다. 예를 들어, 접속된 카메라들의 수가 증가함에 따라, 카메라들로부터 영상을 송신하기 위한 네트워크 라인들 상의 부하 및 영상의 기록 및 분배를 실행하는 서버 상의 처리 부하가 잠재적으로 증가한다.However, in the prior art, there is a risk of an increase in the load on the network line through which data (such as an image) is transmitted and an increase in the processing load on the system. For example, as the number of connected cameras increases, a load on network lines for transmitting images from the cameras and a processing load on a server executing recording and distribution of images potentially increase.

실시예들의 목적은 품질 저하없이 라인 부하 및 처리 부하를 감소시킬 수 있는 송신 디바이스, 통신 시스템, 송신 방법, 및 컴퓨터 프로그램 제품을 제공하는 것이다.It is an object of the embodiments to provide a transmission device, a communication system, a transmission method, and a computer program product capable of reducing line load and processing load without degrading quality.

일 실시예에 따르면, 실시예에 따른 송신 디바이스는 하나 이상의 프로세서를 포함한다. 프로세서들은 송신될 복수의 송신 데이터를 제1 데이터 및 제2 데이터로 분할한다. 프로세서들은 송신 데이터를 수신 디바이스에 분배하도록 구성되는 서버 디바이스에 제1 데이터를 송신한다. 프로세서들은 스토리지에 제2 데이터를 저장한다. 프로세서들은 수신 디바이스 또는 서버 디바이스로부터, 제2 데이터의 송신 요청을 수신한다. 프로세서들은 송신 요청에 따라 제2 데이터를 서버 디바이스에 송신한다.According to one embodiment, a transmitting device according to the embodiment comprises one or more processors. The processors divide the plurality of transmission data to be transmitted into first data and second data. The processors transmit the first data to a server device configured to distribute the transmit data to a receiving device. The processors store the second data in storage. The processors receive, from the receiving device or the server device, a request to transmit the second data. The processors transmit the second data to the server device according to the transmission request.

전술한 송신 디바이스에 따르면, 라인 부하 및 처리 부하는 품질 저하없이 감소될 수 있다.According to the above-described transmitting device, the line load and the processing load can be reduced without degrading the quality.

도 1은 본 실시예에 따른 영상 분배 시스템의 블록도이고;
도 2는 본 실시예에 따른 영상 분배 시스템에 의해 수행되는 분배 처리의 개요를 도시하는 도면이고;
도 3은 본 실시예에 따른 영상 분배 시스템의 디바이스들의 기능 블록도이고;
도 4는 분배 리스트의 예시적인 데이터 구조를 도시하는 도면이고;
도 5는 판정 정보의 예시적인 데이터 구조를 도시하는 도면이고;
도 6은 본 실시예에서의 송신 처리의 흐름도이고;
도 7은 저장된 데이터 송신 처리의 흐름도이고;
도 8은 본 실시예에서의 리스트 생성 처리의 흐름도이고;
도 9는 본 실시예에서의 판정 정보 생성 처리의 흐름도이고;
도 10은 본 실시예에서의 콘텐츠 분배 처리의 시퀀스도이고;
도 11은 판정 정보에 기초하여 분배 리스트에 대해 판정을 행하는 예를 설명하기 위한 도면이고;
도 12는 예시적인 갱신된 판정 정보를 도시하는 도면이고;
도 13은 판정 정보에 기초하여 분배 리스트에 대해 판정을 행하는 예를 설명하기 위한 도면이고;
도 14는 변형예에 따른 영상 분배 시스템의 예시적인 구성을 도시하는 도면이고;
도 15는 변형예에 따른 영상 분배 시스템에 의해 수행되는 분배 처리의 개요를 도시하는 도면이며;
도 16은 본 실시예에 따른 송신 디바이스의 하드웨어 구성도이다.
1 is a block diagram of an image distribution system according to the present embodiment;
Fig. 2 is a diagram showing an outline of distribution processing performed by the image distribution system according to the present embodiment;
3 is a functional block diagram of devices of the image distribution system according to the present embodiment;
4 is a diagram illustrating an exemplary data structure of a distribution list;
5 is a diagram illustrating an exemplary data structure of decision information;
6 is a flowchart of transmission processing in the present embodiment;
7 is a flowchart of stored data transmission processing;
Fig. 8 is a flowchart of list generation processing in the present embodiment;
Fig. 9 is a flowchart of determination information generation processing in the present embodiment;
Fig. 10 is a sequence diagram of content distribution processing in the present embodiment;
Fig. 11 is a diagram for explaining an example of making a judgment on a distribution list based on judgment information;
12 is a diagram illustrating exemplary updated decision information;
Fig. 13 is a diagram for explaining an example of making a judgment on a distribution list based on judgment information;
14 is a diagram showing an exemplary configuration of an image distribution system according to a modification;
Fig. 15 is a diagram showing an outline of distribution processing performed by an image distribution system according to a modification;
16 is a hardware configuration diagram of a transmission device according to the present embodiment.

송신 디바이스의 바람직한 실시예들이 첨부 도면들과 함께 이하에서 상세히 설명될 것이다.Preferred embodiments of a transmitting device will be described in detail below in conjunction with the accompanying drawings.

종래의 적응형 스트리밍을 사용하는 영상 분배 시스템에서는, 고품질의 라이브 영상의 분배에 필요한 고품질의 영상 스트림(예시적인 송신 데이터)을 신뢰성있게 기록하기 위해 높은 송신 속도를 갖는 네트워크 라인이 준비될 필요가 있다.In a video distribution system using the conventional adaptive streaming, a network line having a high transmission speed needs to be prepared to reliably record a high-quality video stream (exemplary transmission data) necessary for distribution of high-quality live video. .

다수의 카메라들이 접속되는 대규모 영상 분배 시스템에서는, 다량의 카메라 영상이 끊임없이 송신된다. 따라서, 라인 부하 및 비용을 줄이기 위해, 각각의 카메라와 영상을 기록하는 서버 디바이스 사이에 송신 속도가 낮은 네트워크 라인을 사용하는 것이 바람직하다. 그러나, 송신 속도가 낮은 이러한 라인에서는 라이브 영상의 품질이 낮고, 이는 잠재적으로 모니터링 작업에 대한 문제를 야기한다.In a large-scale image distribution system in which a plurality of cameras are connected, a large amount of camera images are continuously transmitted. Therefore, in order to reduce line load and cost, it is preferable to use a network line with a low transmission speed between each camera and a server device for recording an image. However, live video quality is poor on these lines with low transmission rates, which potentially creates problems for monitoring tasks.

따라서, 본 실시예에서는 품질을 저하시키지 않고 라인 부하 및 처리 부하를 감소시킬 수 있는 영상 분배 시스템을 달성한다.Accordingly, the present embodiment achieves an image distribution system capable of reducing line load and processing load without degrading quality.

이하, 본 실시예를 적용할 수 있는 예시적인 송신 데이터에 대해 설명한다. 송신 데이터는 동화상 데이터 또는 센서 데이터와 같은, 시간적인 순서가 결정되어 있는 시계열 데이터를 포함한다.Hereinafter, exemplary transmission data to which the present embodiment can be applied will be described. The transmission data includes time series data whose temporal order is determined, such as moving image data or sensor data.

동화상 데이터는 카메라 또는 프레임 캡처와 같은 촬상 장치에 의해 촬영된다. 예를 들어, 동화상 데이터는 촬상 장치로부터 실시간으로 취득되어 분배될 콘텐츠로서 사용된다. 촬영된 후 저장 매체에 일시적으로 저장된 동화상 데이터는 분배될 콘텐츠로서 사용될 수 있다.The moving picture data is captured by an imaging device such as a camera or frame capture. For example, moving image data is acquired in real time from the imaging device and used as content to be distributed. The moving image data temporarily stored in the storage medium after being photographed can be used as content to be distributed.

센서 데이터는 센서(감지 디바이스)에 의해 감지된 값을 나타내고, 예를 들어, 데이터가 감지되는(샘플링되는) 시간의 정보를 포함한다. 센서는 임의의 디바이스일 수 있다. 센서는 예를 들어, 음성을 취득하도록 구성된 마이크로폰, 위치 정보를 취득하도록 구성된 GPS(global positioning system) 디바이스, 또는 감지될 주변 환경 또는 전자 디바이스의 온도, 속도, 압력 등을 주기적으로 또는 비주기적으로 감지하여, 그 감지된 값을 센서 데이터로서 출력하는 센서일 수 있다.The sensor data represents a value sensed by a sensor (sensing device) and includes, for example, information of a time at which the data is sensed (sampled). The sensor may be any device. The sensor periodically or aperiodically senses, for example, a microphone configured to acquire voice, a global positioning system (GPS) device configured to acquire location information, or the temperature, speed, pressure, etc. of the surrounding environment or electronic device to be sensed. Thus, it may be a sensor that outputs the sensed value as sensor data.

이하에서는 주로 송신 데이터가 동화상 데이터인 예에 대해 설명한다.An example in which the transmission data is moving picture data will be mainly described below.

도 1은 본 실시예에 따른 영상 분배 시스템의 예시적인 구성을 도시하는 블록도이다. 도 1에 도시된 바와 같이, 영상 분배 시스템은 송신 디바이스(100)(예시적인 송신 디바이스), 서버(200)(예시적인 서버 디바이스), 및 클라이언트(300)(예시적인 수신 디바이스)를 포함한다. 송신 디바이스(100) 및 서버(200)는 네트워크(401)를 통해 서로 접속된다. 서버(200) 및 클라이언트(300)는 네트워크(402)를 통해 서로 접속된다.1 is a block diagram showing an exemplary configuration of an image distribution system according to the present embodiment. As shown in FIG. 1 , the image distribution system includes a transmission device 100 (an exemplary transmitting device), a server 200 (an exemplary server device), and a client 300 (an exemplary receiving device). The transmission device 100 and the server 200 are connected to each other through a network 401 . The server 200 and the client 300 are connected to each other through a network 402 .

네트워크들(401 및 402)은 인터넷과 같은 임의의 네트워크들일 수 있다. 예를 들어, 네트워크들(401 및 402)은 각각 유선 또는 무선 네트워크일 수 있다. 네트워크들(401 및 402)은 하나의 통합된 네트워크로서 구성될 수 있다.Networks 401 and 402 may be any networks, such as the Internet. For example, networks 401 and 402 may each be a wired or wireless network. Networks 401 and 402 may be configured as one integrated network.

도 1에 도시된 통신 시스템의 구성은 예시일 뿐이며, 본 실시예는 이에 한정되지 않는다. 예를 들면, 복수의 송신 디바이스(100), 복수의 서버(200), 및 복수의 클라이언트(300)가 제공될 수 있다. 송신 디바이스(100), 서버(200), 및 클라이언트(300) 각각은 하나의 디바이스로서 물리적으로 구성될 수 있거나 복수의 디바이스로서 물리적으로 구성될 수 있다. 예를 들어, 서버(200)는 클라우드 환경에서 구축될 수 있다.The configuration of the communication system shown in FIG. 1 is only an example, and the present embodiment is not limited thereto. For example, a plurality of transmission devices 100 , a plurality of servers 200 , and a plurality of clients 300 may be provided. Each of the transmitting device 100 , the server 200 , and the client 300 may be physically configured as one device or may be physically configured as a plurality of devices. For example, the server 200 may be built in a cloud environment.

도 2는 본 실시예에 따른 영상 분배 시스템에 의해 수행되는 분배 처리의 개요를 도시하는 도면이다. 송신 디바이스(100)는 영상을 수신하고 수신된 영상을 인코딩한다. 송신 디바이스(100)는 H.264와 같은 표준에 따라 압축에 의해 영상을 인코딩한다. 인코딩된 영상은 예를 들어, I 픽처 및 P 픽처를 포함한다. I 픽처는 프레임내 예측에 의해 인코딩된 화상 데이터이고, 단독으로 재생될 수 있는 전체 스크린 범위를 포함한다. P 픽처는 I 픽처에 기초하여 프레임간 예측에 의해 인코딩된 화상 데이터이다. P 픽처는 단독으로 재생될 수 없지만 I 픽처와 조합하여 재생될 수 있다.Fig. 2 is a diagram showing an outline of distribution processing performed by the image distribution system according to the present embodiment. The transmitting device 100 receives an image and encodes the received image. The transmission device 100 encodes an image by compression according to a standard such as H.264. The encoded video includes, for example, I pictures and P pictures. An I picture is picture data encoded by intra-frame prediction, and includes the entire screen range that can be reproduced alone. A P picture is picture data encoded by inter-frame prediction based on an I picture. A P picture cannot be reproduced alone, but can be reproduced in combination with an I picture.

송신 디바이스(100)는 인코딩된 영상을 픽처마다 분할(프래그먼트화)한다. 다음으로, 송신 디바이스(100)는 분할된 픽처 부분(예를 들어, I 픽처들)을 서버(200)에 송신하고, 나머지 픽처 부분(예를 들어, P 픽처들)을 스토리지에 저장한다. 송신 디바이스(100)는 또한 서버(200)에 송신된 픽처들을 재생(로컬 재생), 백업 등을 위해 스토리지에 저장할 수 있다.The transmission device 100 divides (fragments) the encoded image for each picture. Next, the transmission device 100 transmits the divided picture part (eg, I pictures) to the server 200, and stores the remaining picture part (eg, P pictures) in storage. The transmission device 100 may also store the pictures transmitted to the server 200 in storage for playback (local playback), backup, and the like.

통상적으로, 서버(200)는 송신 디바이스(100)로부터 송신된 I 픽처들만을 클라이언트(300)에 분배한다. 클라이언트(300)는 예를 들어, 뷰어 애플리케이션을 사용하여 분배된 영상을 표시한다. 뷰어 애플리케이션은 예를 들어, 브라우저에 포함되고 브라우징을 위해 영상을 표시하도록 구성된다. I 픽처들은 일정한 간격(예를 들어, 1초 동안 몇개의 픽처 또는 몇 초 동안 하나의 픽처)으로 송신되고, 따라서 정지 화상(I 픽처)이 일정한 간격으로 갱신되는 영상(정지-모션 애니메이션 또는 프레임별 재생(간헐적인) 동화상)이 클라이언트(300) 상에 표시된다. 뷰어 애플리케이션은 예를 들어, HTML(Hyper Text Markup Language) 5용의 애플리케이션 프로그래밍 인터페이스로서 MSE(Media Source Extensions)를 사용하는 애플리케이션으로서 달성될 수 있다. 이것은 HTTP 다운로딩을 사용한 스트리밍 재생을 가능하게 한다.Typically, the server 200 distributes only the I pictures transmitted from the transmitting device 100 to the client 300 . The client 300 displays the distributed image using, for example, a viewer application. The viewer application is, for example, included in the browser and configured to display images for browsing. I pictures are transmitted at regular intervals (e.g., several pictures for 1 second or one picture for several seconds), and thus images (still-motion animation or frame-by-frame) in which still pictures (I pictures) are updated at regular intervals A playback (intermittent) moving image) is displayed on the client 300 . The viewer application may be achieved as an application using Media Source Extensions (MSE) as an application programming interface for, for example, Hyper Text Markup Language (HTML) 5 . This enables streaming playback using HTTP downloading.

클라이언트(300)를 조작하는 사용자 등에 의해 P 픽처의 표시가 요청될 때, 송신 디바이스(100)는 저장된 P 픽처를 판독하고 판독된 P 픽처를 서버(200)에 송신한다. 서버(200)는 송신된 P 픽처를 클라이언트(300)에 분배한다. 서버(200)는 송신된 P 픽처를 직접 분배할 수 있거나, 화상 데이터에 대해 변환 처리(예를 들어, 재압축) 이외의 가공 처리(예를 들어, 송신 패킷 포맷의 변경)에만 적용되는 P 픽처를 분배할 수 있다. 클라이언트(300)의 뷰어 애플리케이션은 이미 수신된 I 픽처 및 나중에 수신된 P 픽처를 합성하여 표시한다. 따라서, 클라이언트(300)는 더 부드러운 영상을 표시할 수 있다. 포워딩된 데이터(예를 들어, I 픽처)는 클라이언트(300) 내의 스토리지에 저장하여, 이 데이터를 예를 들어, 나중에 수신되는 P 픽처와의 합성에 사용할 수 있다. 즉, 포워딩된 데이터는 송신 디바이스(100) 및 서버(200)로부터 다시 송신될 필요가 없다. 이 방법은 P 픽처들을 포함하는 전체 영상 데이터가 다시 송신되는 방법과 비교하여 송신 데이터의 양의 감소를 달성할 수 있다.When display of the P picture is requested by a user operating the client 300 or the like, the transmission device 100 reads the stored P picture and transmits the read P picture to the server 200 . The server 200 distributes the transmitted P picture to the client 300 . The server 200 can directly distribute the transmitted P picture, or a P picture that is applied only to processing (eg, change of transmission packet format) other than conversion processing (eg, recompression) for image data. can be distributed. The viewer application of the client 300 synthesizes and displays the already received I picture and the later received P picture. Accordingly, the client 300 may display a smoother image. The forwarded data (eg, I pictures) can be stored in storage within the client 300 and used for compositing with, for example, P pictures that are received later. That is, the forwarded data does not need to be transmitted again from the transmitting device 100 and the server 200 . This method can achieve a reduction in the amount of transmission data compared to a method in which the entire image data including P pictures is transmitted again.

전술한 바와 같이, 예를 들어, 화상 데이터에 대한 재압축과 같은 변환 처리를 제공하지 않고, 서버(200)는 송신 디바이스(100)로부터 송신된 화상 데이터를, 직접 또는 송신 패킷 포맷만을 가공한 후에, 클라이언트(300)에 분배한다. 예를 들어, 서버(200)는 낮은 송신 속도로 분배하기 위해 품질을 감소시킨 영상으로 변환하는 처리를 실행할 필요가 없다. 따라서, 서버(200) 상의 처리 부하의 증가 및 화상 품질의 저하가 회피될 수 있다. 또한, 통신의 양은 정상 동작시 I 픽처들만을 분배함으로써 감소될 수 있다. 이러한 방식으로, 품질 저하없이 라인 부하 및 처리 부하가 감소될 수 있다.As described above, for example, without providing conversion processing such as recompression for image data, the server 200 processes the image data transmitted from the transmission device 100 directly or after processing only the transmission packet format. , distributed to the client 300 . For example, the server 200 does not need to execute a process of converting an image with reduced quality for distribution at a low transmission rate. Accordingly, an increase in the processing load on the server 200 and a decrease in image quality can be avoided. Also, the amount of communication can be reduced by distributing only I pictures during normal operation. In this way, the line load and processing load can be reduced without quality degradation.

I 픽처는 영상(동화상 데이터)에 포함된 부분 데이터이지만, 정지 화상으로서 취급될 수 있다. 예를 들어, 클라이언트(300)로 동작하는 브라우저(뷰어 애플리케이션)는 일부 경우에 동화상 데이터에 포함되는 I 픽처를 정지 화상 데이터로서 표시할 수 있다. 따라서, 예를 들어, JPEG(Joint Photographic Experts Group) 화상과 같은 정지 화상으로의 압축 처리를 실행하지 않고 I 픽처를 정지 화상 데이터로서 표시할 수 있다. I 픽처는 JPEG 포맷의 정지 화상의 것과 비교하여 데이터 크기가 작기 때문에(압축 효율이 높기 때문에), 라인 부하 및 처리 부하가 더욱 감소될 수 있다. 분배된 영상이 화상 인식에 사용될 때, I 픽처는 영상을 정지 화상으로 변환하지 않고 화상 인식을 위한 입력 데이터로서 사용될 수 있다.An I picture is partial data included in a video (moving picture data), but can be treated as a still picture. For example, a browser (viewer application) operating as the client 300 may, in some cases, display the I-picture included in the moving image data as still image data. Therefore, for example, I-pictures can be displayed as still image data without performing compression processing to still images such as JPEG (Joint Photographic Experts Group) images. Since the I picture has a small data size (because the compression efficiency is high) compared to that of a still picture of the JPEG format, the line load and processing load can be further reduced. When the distributed image is used for image recognition, the I-picture can be used as input data for image recognition without converting the image into a still image.

이하에서는 본 실시예에 따른 영상 분배 시스템의 디바이스들의 구성들에 대해 상세히 설명한다. 도 3은 본 실시예에 따른 영상 분배 시스템의 디바이스들의 예시적인 기능 구성들을 도시하는 블록도이다.Hereinafter, the configurations of the devices of the image distribution system according to the present embodiment will be described in detail. 3 is a block diagram illustrating exemplary functional configurations of devices of the image distribution system according to the present embodiment.

도 3에 도시된 바와 같이, 송신 디바이스(100)는 촬상 유닛(101), 스토리지(121), 인코딩 유닛(111), 분할 유닛(112), 데이터 송신 유닛(113), 스토리지 제어 유닛(114) 및 요청 수신 유닛(115)을 포함한다.3 , the transmission device 100 includes an imaging unit 101 , a storage 121 , an encoding unit 111 , a dividing unit 112 , a data transmission unit 113 , and a storage control unit 114 . and a request receiving unit 115 .

촬상 유닛(101)은 영상(동화상 데이터)를 촬영하고 출력한다. 촬상 유닛(101)은 예를 들어, CCD(charge coupled device) 또는 CMOS 화상 센서(CIS)와 같은 화상 센서, 또는 프레임 메모리, 프레임 그래버(frame grabber), 또는 스크린 캡처와 같은 프레임 버퍼 캡처에 의해 달성될 수 있다.The imaging unit 101 captures and outputs an image (moving image data). The imaging unit 101 is achieved, for example, by an image sensor such as a charge coupled device (CCD) or a CMOS image sensor (CIS), or a frame buffer capture such as a frame memory, frame grabber, or screen capture. can be

스토리지(121)는 송신 디바이스(100)에 의해 수행되는 다양한 종류의 처리에서 사용되는 다양한 종류의 데이터를 저장한다. 예를 들어, 스토리지(121)는 촬상 유닛(101)에 의해 촬영된 영상을 저장한다.The storage 121 stores various types of data used in various types of processing performed by the transmission device 100 . For example, the storage 121 stores an image captured by the imaging unit 101 .

인코딩 유닛(111)은 촬상 유닛(101)으로부터 입력된 영상을 인코딩한다. 인코딩 유닛(111)에 의한 인코딩은 임의의 방식, 예를 들어, H.264와 같은 표준에 따른 인코딩 방식에 의해 수행될 수 있다. 예를 들어, 인코딩 유닛(111)은 압축에 의해 영상을 인코딩하고, I 및 P 픽처들을 포함하는 영상을 출력한다. 인코딩된 영상의 픽처들은 송신될 복수의 송신 데이터에 대응한다.The encoding unit 111 encodes the image input from the imaging unit 101 . Encoding by the encoding unit 111 may be performed by any method, for example, an encoding method according to a standard such as H.264. For example, the encoding unit 111 encodes an image by compression, and outputs an image including I and P pictures. Pictures of the encoded image correspond to a plurality of transmission data to be transmitted.

분할 유닛(112)은 인코딩된 영상을 서버(200)에 송신될 데이터(제1 데이터)와 송신하지 않고 스토리지(121)에 저장될 데이터(제2 데이터)로 분할한다. 예를 들어, 분할 유닛(112)은 각각의 I 픽처가 서버(200)에 송신될 데이터(프래그먼트 데이터)가 되고 각각의 P 픽처가 스토리지(121)에 저장될 데이터(프래그먼트 데이터)가 되도록 인코딩된 영상을 픽처들로 분할한다. 분할 유닛(112)은 각각의 분할된 픽처가 하나의 파일(프래그먼트 파일)로서 제공되도록 영상을 분할할 수 있다. 분할 유닛(112)은 복수의 픽처가 하나의 파일에 포함되도록 스토리지(121)에 저장될 데이터로 분할할 수 있다.The dividing unit 112 divides the encoded image into data to be transmitted to the server 200 (first data) and data to be stored in the storage 121 without transmission (second data). For example, the dividing unit 112 encodes each I picture to be data to be transmitted to the server 200 (fragment data) and each P picture to be data to be stored in the storage 121 (fragment data). Divide the image into pictures. The dividing unit 112 may divide the image so that each divided picture is provided as one file (fragment file). The dividing unit 112 may divide the plurality of pictures into data to be stored in the storage 121 so as to be included in one file.

분할 유닛(112)에 의한 데이터 분할은 이 방법에 한정되지 않고 임의의 방법에 의해 수행될 수 있다. 예를 들어, 분할 유닛(112)은 인코딩된 영상을 복수의 I 픽처로부터 일정한 간격마다 선택된 I 픽처들, 및 다른 픽처들(나머지 I 픽처들 및 P 픽처들)로 분할할 수 있다. 대안적으로, 예를 들어, 분할 유닛(112)은 인코딩된 영상을 I 픽처들, 복수의 P 픽처들 중에서 일정한 간격마다 선택된 P 픽처들, 및 다른 픽처들(나머지 P 픽처들)로 분할할 수 있다. 대안적으로, 예를 들어, 분할 유닛(112)은 인코딩된 영상을 복수의 I 픽처 중에서 일정한 간격마다 선택된 I 픽처들, 복수의 P 픽처 중에서 일정한 간격마다 선택된 P 픽처들, 및 다른 픽처들(나머지 I 픽처들 및 P 픽처들)로 분할할 수 있다.The data division by the dividing unit 112 is not limited to this method and may be performed by any method. For example, the dividing unit 112 may divide the encoded image into I pictures selected at regular intervals from a plurality of I pictures, and other pictures (remaining I pictures and P pictures). Alternatively, for example, the dividing unit 112 may divide the encoded image into I pictures, P pictures selected at regular intervals from among a plurality of P pictures, and other pictures (remaining P pictures). have. Alternatively, for example, the dividing unit 112 divides the encoded image into I pictures selected at regular intervals from among a plurality of I pictures, P pictures selected at regular intervals from among a plurality of P pictures, and other pictures (remaining I pictures and P pictures).

서버(200)에 송신될 데이터는 서버(200)에 의해 직접 분배가능한 포맷으로 표현될 수 있다. 예를 들어, 분할 유닛(112)은 분할된 데이터를 프래그먼트화된 MP4(fMP4)와 같은 표준에 따른 포맷으로 변환할 수 있다.Data to be transmitted to the server 200 may be expressed in a format directly distributable by the server 200 . For example, the segmentation unit 112 may convert the segmented data into a format according to a standard such as fragmented MP4 (fMP4).

서버(200)에 송신될 데이터는 서버(200)에 의해 데이터가 분배되는 포맷으로의 변환에 사용될 수 있는 추가된 데이터(메타데이터)를 갖는 포맷으로 표현될 수 있다. 예를 들어, 분할 유닛(112)은 서버(200)가 fMP4와 같은 표준에 따른 포맷으로 변환을 수행할 수 있는 변환에 필요한 정보를 포함하는 메타데이터를 분할된 데이터에 추가할 수 있다. 변환에 필요한 정보는 예를 들어, 송신 디바이스(100)를 식별하기 위한 정보(예를 들어, IP 어드레스 및 포트 번호), 시간(예를 들어, 촬영된 일, 시, 분, 초), 및 시간 내에서의 화상의 위치(예를 들어, 선두로부터의 화상의 순서를 표시한 정보)를 포함한다.Data to be transmitted to the server 200 may be expressed in a format with added data (metadata) that may be used for conversion into a format in which the data is distributed by the server 200 . For example, the segmentation unit 112 may add metadata including information necessary for conversion by which the server 200 may perform conversion into a format conforming to a standard such as fMP4, to the segmented data. Information necessary for conversion includes, for example, information (eg, IP address and port number) for identifying the transmitting device 100, time (eg, day, hour, minute, second), and time It includes the position of the image in the . (for example, information indicating the order of the image from the head).

분할 유닛(112)은 네트워크(401)의 대역에 따라 서버(200)에 송신될 데이터의 크기 또는 인코딩량을 변경할 수 있다. 예를 들어, 분할 유닛(112)은 네트워크(401)의 할당된 대역 내에서 지연 등이 없이 송신될 수 있는 크기에 대응하는 데이터, 또는 네트워크(401)의 대역 내의 인코딩 비트 레이트를 갖는 데이터를, 서버(200)에 송신될 데이터로서 분할할 수 있다. 예를 들어, 네트워크(401)의 대역이 클 때, 분할 유닛(112)은 서버(200)에 송신될 데이터로서 모든 I 픽처들 및 일부 P 픽처들을 분할할 수 있고, 대역이 감소함에 따라, 서버(200)에 송신될 데이터로서 I 픽처들만 또는 I 픽처들 중 일부(예를 들어, 일정한 간격마다 I 픽처들을 씨닝함으로써)를 분할할 수 있다. 일부 P 픽처가 분배되어야 하는 경우, 인코딩은 예를 들어, 일본 특허 제6239472호에 개시된 방법에 의해 수행될 수 있다.The dividing unit 112 may change the size or encoding amount of data to be transmitted to the server 200 according to the band of the network 401 . For example, the dividing unit 112 may generate data corresponding to a size that can be transmitted without delay or the like within the allocated band of the network 401, or data having an encoding bit rate within the band of the network 401, It can be divided as data to be transmitted to the server 200 . For example, when the band of the network 401 is large, the dividing unit 112 may divide all I pictures and some P pictures as data to be transmitted to the server 200, and as the band decreases, the server As data to be transmitted to 200 , only I pictures or some of the I pictures (eg, by thinning the I pictures at regular intervals) may be divided. When some P pictures are to be distributed, encoding can be performed, for example, by the method disclosed in Japanese Patent No. 6239472.

분할 유닛(112)은 네트워크(401)의 대역 또는 클라이언트(300) 또는 서버(200)로부터의 요청에 따라 전술한 바와 같은 분할 방법을 동적으로 스위칭함으로써 서버(200)에 송신될 데이터의 크기 또는 인코딩량을 변경할 수 있다.The segmentation unit 112 dynamically switches the segmentation method as described above according to the bandwidth of the network 401 or a request from the client 300 or the server 200 to thereby encode the size or encoding of data to be transmitted to the server 200 . quantity can be changed.

인코딩 유닛(111)에 의해 인코딩된 데이터가 단순히 분할될 때, 각각의 분할된 데이터의 크기는 잠재적으로 동일하지 않다. 예를 들어, 인코딩 유닛(111)이 네트워크(401)의 대역에 따라 각 픽처의 인코딩량을 조정하는 기능을 가지고 있을 때, I 및 P 픽처들의 크기들은 서로 상이하다. 따라서, 예를 들어, 이러한 방식으로 인코딩된 픽처들 중 I 픽처가 서버(200)에 송신될 데이터로서 분할될 때, 분할된 I 픽처들의 크기들은 잠재적으로 서로 상이하다.When data encoded by the encoding unit 111 is simply divided, the size of each divided data is potentially unequal. For example, when the encoding unit 111 has a function of adjusting the encoding amount of each picture according to the band of the network 401, the sizes of I and P pictures are different from each other. Thus, for example, when an I picture among pictures encoded in this way is divided as data to be transmitted to the server 200, the sizes of the divided I pictures are potentially different from each other.

따라서, 인코딩 유닛(111)은 네트워크(401)의 대역에 따라 인코딩량을 조정하여, 분할된 데이터가 네트워크(401)의 할당된 대역 내에서 지연 등이 없이 송신될 수 있는 크기 또는 인코딩 비트 레이트를 갖게 할 수 있다. 예를 들어, 분할 유닛(112)이 I 픽처들만이 서버(200)에 송신되도록 영상을 분할할 때, 인코딩 유닛(111)은 I 픽처들이 네트워크(401)의 대역 내에서 지연 등이 없이 송신될 수 있는 일정한 크기를 갖거나 네트워크(401)의 대역 내의 인코딩 비트 레이트를 갖도록 영상을 인코딩할 수 있다.Accordingly, the encoding unit 111 adjusts the encoding amount according to the band of the network 401 so as to obtain a size or encoding bit rate at which the divided data can be transmitted without delay or the like within the allocated band of the network 401 . can have it For example, when the dividing unit 112 divides an image such that only I pictures are transmitted to the server 200 , the encoding unit 111 is configured such that the I pictures are transmitted without delay or the like within the band of the network 401 . The image may be encoded to have a certain size or to have an encoding bit rate within the band of the network 401 .

데이터 송신 유닛(113)은 데이터를 서버(200)와 같은 외부 디바이스에 송신한다. 예를 들어, 데이터 송신 유닛(113)은 분할 유닛(112)에 의해 분할된 데이터 중에서 서버(200)에 송신될 데이터(제1 데이터)를 서버(200)에 송신한다. (후술될) 요청 수신 유닛(115)에 의해 스토리지(121)에 저장된 데이터의 송신 요청이 수신될 때, 데이터 송신 유닛(113)은 요청된 데이터를 서버(200)에 송신한다.The data transmitting unit 113 transmits data to an external device such as the server 200 . For example, the data transmission unit 113 transmits to the server 200 data (first data) to be transmitted to the server 200 among the data divided by the division unit 112 . When a request to transmit data stored in the storage 121 is received by the request receiving unit 115 (to be described later), the data transmitting unit 113 transmits the requested data to the server 200 .

스토리지 제어 유닛(114)은 스토리지(121)로의 스토리지의 처리를 제어한다. 예를 들어, 스토리지 제어 유닛(114)은 분할 유닛(112)에 의해 분할된 데이터 중에서 서버(200)에 송신되지 않는 데이터를 스토리지(121)에 저장한다. 스토리지 제어 유닛(114)은 서버(200)에 송신된 데이터(제1 데이터)를 스토리지(121)에 저장할 수 있다. 이 경우, 스토리지 제어 유닛(114)은 송신된 데이터(제1 데이터)가 송신되었거나 제2 데이터가 송신되지 않았다는 것을 표시하는 메타데이터를 사용함으로써 저장된 데이터를 관리할 수 있다. 스토리지 제어 유닛(114)은 미리 결정된 조건에 따라 스토리지(121)에 저장된 데이터를 삭제할 수 있다. 예를 들어, 스토리지 제어 유닛(114)은 일정한 지속기간 동안 저장된 데이터를 삭제할 수 있다.The storage control unit 114 controls the processing of storage to the storage 121 . For example, the storage control unit 114 stores data not transmitted to the server 200 among the data divided by the division unit 112 in the storage 121 . The storage control unit 114 may store the data (first data) transmitted to the server 200 in the storage 121 . In this case, the storage control unit 114 may manage the stored data by using metadata indicating that the transmitted data (first data) has been transmitted or that the second data has not been transmitted. The storage control unit 114 may delete data stored in the storage 121 according to a predetermined condition. For example, the storage control unit 114 may delete stored data for a certain duration.

요청 수신 유닛(115)은 서버(200)로부터 스토리지(121)에 저장된 데이터의 송신 요청을 수신한다. 요청이 서버(200) 이외의 제어 서버 등을 통해 클라이언트(300)로부터 송신될 때, 요청 수신 유닛(115)은 이러한 제어 서버로부터 스토리지(121)에 저장된 데이터의 송신 요청을 수신할 수 있다.The request receiving unit 115 receives a transmission request of data stored in the storage 121 from the server 200 . When a request is transmitted from the client 300 through a control server other than the server 200 , the request receiving unit 115 may receive a transmission request of data stored in the storage 121 from this control server.

전술한 컴포넌트들(인코딩 유닛(111), 분할 유닛(112), 데이터 송신 유닛(113), 스토리지 제어 유닛(114), 및 요청 수신 유닛(115))은 예를 들어, 하나 이상의 프로세서에 의해 각각 달성된다. 예를 들어, 각각의 컴포넌트는 중앙 처리 장치(CPU)와 같은 프로세서에 의해 실행되는 컴퓨터 프로그램에 의해, 즉, 소프트웨어에 의해 달성될 수 있다. 컴포넌트는 전용 집적 회로(IC)와 같은 프로세서에 의해, 즉, 하드웨어에 의해 달성될 수 있다. 컴포넌트는 소프트웨어 및 하드웨어에 의해 달성될 수 있다. 복수의 프로세서가 사용되는 경우, 각각의 프로세서는 컴포넌트들 중 하나를 달성할 수 있거나, 컴포넌트들 중 2개 이상을 달성할 수 있다.The above-described components (encoding unit 111 , partitioning unit 112 , data transmitting unit 113 , storage control unit 114 , and request receiving unit 115 ) are each performed by, for example, one or more processors. is achieved For example, each component may be accomplished by a computer program executed by a processor such as a central processing unit (CPU), ie, by software. A component may be accomplished by a processor, such as a dedicated integrated circuit (IC), ie, by hardware. A component may be achieved by software and hardware. When multiple processors are used, each processor may achieve one of the components, or may achieve two or more of the components.

송신 디바이스(100)의 기능들은 물리적으로 또는 논리적으로 서로 상이한 복수의 디바이스에 분배될 수 있다. 예를 들어, 기능들은 촬상 유닛(101) 및 인코딩 유닛(111)을 포함하는 디바이스(도 2에서의 영상 입력 및 인코더), 및 나머지 컴포넌트들(도 2에서의 프래그먼트화 및 스토리지)을 포함하는 디바이스에 분배될 수 있다. 이 경우, 예를 들어, 인코딩 유닛(111)에 의해 인코딩된 데이터는 네트워크 또는 동축 케이블과 같은 통신 경로를 통해 후자의 디바이스에 입력된다. 후자의 디바이스는 통신 경로를 통해 인코딩된 데이터를 취득할 수 있다.Functions of the transmission device 100 may be distributed to a plurality of devices that are physically or logically different from each other. For example, the functions may include a device including an imaging unit 101 and an encoding unit 111 (image input and encoder in FIG. 2 ), and a device including the remaining components (fragmentation and storage in FIG. 2 ). can be distributed to In this case, for example, data encoded by the encoding unit 111 is input to the latter device through a communication path such as a network or a coaxial cable. The latter device may obtain the encoded data via the communication path.

이하에서는 서버(200)의 구성에 대해 설명한다. 서버(200)는 네트워크(402)를 통해 분배 리스트 및 판정 정보를 클라이언트(300)에 분배한다. 분배 리스트는 분배된 데이터(이하, 콘텐츠라고도 칭함)와 관련된 정보가 기입되는 리스트이다. 통상적으로, 콘텐츠 분배기는 콘텐츠의 취득처 및 비트 레이트와 같은 메타데이터를 분배 리스트에 기입한다. 콘텐츠 취득자는 분배 리스트를 취득하고 분석하여 취득될 콘텐츠를 특정한다.Hereinafter, the configuration of the server 200 will be described. The server 200 distributes the distribution list and decision information to the clients 300 via the network 402 . The distribution list is a list in which information related to distributed data (hereinafter also referred to as content) is written. Typically, the content distributor writes metadata such as the content's acquisition destination and bit rate to the distribution list. The content acquirer acquires and analyzes the distribution list to specify the content to be acquired.

분배 리스트에 기입된 콘텐츠는 송신될 수 있는 콘텐츠뿐만 아니라, 송신될 준비가 되어 있지 않은 콘텐츠 및 송신이 허가되지 않은 콘텐츠를 포함한다. 판정 정보는 수신 디바이스(클라이언트(300))가 분배 리스트에 포함되는 콘텐츠의 송신을 요청할지를 판정하는 정보이다.The contents listed in the distribution list include not only contents that can be transmitted, but also contents that are not ready to be transmitted and contents for which transmission is not permitted. The determination information is information for determining whether the receiving device (client 300) requests transmission of the content included in the distribution list.

도 3에 도시한 바와 같이, 서버(200)는 검출 유닛(201), 리스트 생성 유닛(211), 판정 정보 생성 유닛(212), 리스트 송신 유닛(213), 판정 정보 송신 유닛(214), 요청 송수신 유닛(215), 분배 유닛(216), 데이터 수신 유닛(217), 스토리지 제어 유닛(218), 임시 스토리지(221), 및 스토리지(222)를 포함한다.As shown in FIG. 3 , the server 200 includes a detection unit 201 , a list generation unit 211 , a determination information generation unit 212 , a list transmission unit 213 , a determination information transmission unit 214 , a request a transceiver unit 215 , a distribution unit 216 , a data receiving unit 217 , a storage control unit 218 , a temporary storage 221 , and a storage 222 .

검출 유닛(201)은 콘텐츠가 송신될 준비가 되어 있는 것을 검출한다. 예를 들어, 검출 유닛(201)은 콘텐츠가 콘텐츠 제공 디바이스(예를 들어, 송신 디바이스(100))로부터 제공될 때 콘텐츠가 송신될 준비가 된 것으로 판정한다. 검출 유닛(201)은 콘텐츠가 저장되어 있는 스토리지 영역(예를 들어, 임시 스토리지(221))을 모니터링하고 콘텐츠가 저장되어 있을 때 콘텐츠가 송신될 준비가 된 것으로 판정할 수 있다.The detection unit 201 detects that the content is ready to be transmitted. For example, the detection unit 201 determines that the content is ready to be transmitted when the content is provided from the content providing device (eg, the transmission device 100 ). The detection unit 201 may monitor a storage area in which the content is stored (eg, the temporary storage 221 ) and determine that the content is ready to be transmitted when the content is stored.

리스트 생성 유닛(211)은 분배 리스트를 생성한다. 리스트 생성 유닛(211)은 예를 들어, 클라이언트(300)에 의해 분배 리스트를 생성하여 송신하는 것을 요청받았을 때 분배 리스트를 생성한다. 분배 리스트를 생성하기 위한 계기는 이에 한정되지 않고, 임의의 계기일 수 있다. 예를 들어, 리스트 생성 유닛(211)은 일정한 시간이 경과할 때마다, 다음 지속기간에 송신될 콘텐츠의 분배 리스트를 생성할 수 있다. 리스트 생성 유닛(211)은 제공 디바이스에 의해 콘텐츠가 제공될 때 또는 분배 리스트를 생성하도록 지시받았을 때 분배 리스트를 생성할 수 있다.The list generating unit 211 generates a distribution list. The list generating unit 211 generates the distribution list when requested by the client 300 to generate and transmit the distribution list, for example. The trigger for generating the distribution list is not limited thereto, and may be any trigger. For example, the list generating unit 211 may generate a distribution list of content to be transmitted in the next duration whenever a certain time elapses. The list generating unit 211 may generate the distribution list when the content is provided by the providing device or when instructed to generate the distribution list.

도 4는 분배 리스트의 예시적인 데이터 구조를 도시하는 도면이다. 도 4에 도시한 바와 같이, 분배 리스트는 콘텐츠를 식별하기 위한 식별 정보를 포함한다. 도 3은 콘텐츠의 URL(uniform resource locator)이 식별 정보로서 사용되는 예를 도시한다. 식별 정보는 콘텐츠가 식별될 수 있는 URL 이외의 임의의 정보일 수 있다. 분배 리스트는 식별 정보 이외의 정보를 포함할 수 있다. 본 실시예에서는, 예를 들어, (픽처와 같은) 각각의 분할된 데이터의 URL을 포함하는 분배 리스트가 생성된다.4 is a diagram illustrating an exemplary data structure of a distribution list. As shown in Fig. 4, the distribution list includes identification information for identifying content. 3 shows an example in which a uniform resource locator (URL) of content is used as identification information. The identification information may be any information other than a URL by which the content can be identified. The distribution list may include information other than identification information. In this embodiment, for example, a distribution list including the URL of each divided data (such as a picture) is generated.

도 3에 도시한 바와 같이, 판정 정보 생성 유닛(212)은 판정 정보를 생성한다. 예를 들어, 콘텐츠가 송신될 준비가 되어 있을 때에는, 판정 정보 생성 유닛(212)은 콘텐츠가 송신될 준비가 되어 있는 것을 표시하는 판정 정보를 생성하고, 또는 콘텐츠가 송신될 준비가 되어 있지 않을 때에는, 판정 정보 생성 유닛(212)은 콘텐츠가 송신될 준비가 되어 있지 않다는 것을 표시하는 판정 정보를 생성한다. 콘텐츠가 송신될 준비가 되어 있는지를 표시하는 상황이 변경된 경우, 판정 정보 생성 유닛(212)은 변경된 상황에 따라 갱신된 판정 정보를 생성한다.As shown in FIG. 3 , the determination information generating unit 212 generates determination information. For example, when the content is ready to be transmitted, the determination information generating unit 212 generates determination information indicating that the content is ready to be transmitted, or when the content is not ready to be transmitted , the decision information generating unit 212 generates decision information indicating that the content is not ready to be transmitted. When the situation indicating whether the content is ready to be transmitted has changed, the determination information generating unit 212 generates updated determination information according to the changed situation.

판정 정보 생성 유닛(212)은 예를 들어, 클라이언트(300)에 의해 판정 정보를 생성하여 송신할 것을 요청받았을 때 판정 정보를 생성한다. 리스트 생성 유닛(211)에 의해 분배 리스트가 생성될 때, 판정 정보 생성 유닛(212)은 그 상태에서 판정 정보를 생성할 수 있다. 판정 정보를 생성하기 위한 계기는 이것에 한정되지 않고, 임의의 트리거일 수 있다. 예를 들어, 일정한 시간이 경과할 때마다, 판정 정보 생성 유닛(212)은 예를 들어, 검출 유닛(201)을 통해, 콘텐츠가 송신될 준비가 되어 있는지를 검출하고, 검출 결과에 따라 갱신된 판정 정보를 생성할 수 있다.The decision information generating unit 212 generates the decision information when requested by the client 300 to generate and transmit the decision information, for example. When the distribution list is generated by the list generating unit 211 , the decision information generating unit 212 may generate decision information in that state. The trigger for generating the judgment information is not limited to this, and may be any trigger. For example, whenever a certain time elapses, the determination information generating unit 212 detects whether the content is ready to be transmitted, for example, via the detection unit 201 , and is updated according to the detection result. Decision information can be generated.

도 5는 판정 정보의 예시적인 데이터 구조를 도시하는 도면이다. 도 5의 판정 정보는 도 4의 분배 리스트에 기입된 4개의 콘텐츠가 송신될 준비가 되어 있는지를 판정하기 위한 예시적인 판정 정보이다. 예를 들어, 원은 콘텐츠가 송신될 준비가 되어 있다는 것을 표시하고, 엑스 표(cross)는 콘텐츠가 송신될 준비가 되어 있지 않다는 것을 표시한다. 도 5에 도시된 예에서는, 도 4의 4개의 URL에 대응하는 4개의 콘텐츠("ContentA_1", "ContentA_2", "ContentA_3", 및 "ContentA_4")에 대응하는 4개의 판정 정보(원 또는 엑스 표)가 도 4의 순서에 대응하는 순서로 특정된다.5 is a diagram illustrating an exemplary data structure of decision information. The decision information of Fig. 5 is exemplary decision information for judging whether the four contents written in the distribution list of Fig. 4 are ready to be transmitted. For example, a circle indicates that the content is ready to be transmitted, and a cross indicates that the content is not ready to be transmitted. In the example shown in FIG. 5, four determination information (circle or cross mark) corresponding to four contents ("ContentA_1", "ContentA_2", "ContentA_3", and "ContentA_4") corresponding to the four URLs in FIG. ) is specified in an order corresponding to the order in FIG. 4 .

도 5의 것 이외의 데이터 구조를 갖는 판정 정보는 판정 정보가 콘텐츠마다 특정될 수 있는 경우에 사용될 수 있다. 예를 들어, 판정 정보는 콘텐츠의 식별 정보와 연관될 수 있다. 판정 정보가 어느 분배 리스트에 대응하는지를 식별하기 위해, 판정 정보는 분배 리스트를 식별하기 위한 정보와 연관될 수 있다.Decision information having a data structure other than that of Fig. 5 can be used in the case where the decision information can be specified for each content. For example, the decision information may be associated with identification information of the content. To identify which distribution list the decision information corresponds to, the decision information may be associated with information for identifying the distribution list.

콘텐츠가 송신될 준비가 되어 있는 상태는 예를 들어, 분배될 콘텐츠가 서버(200)에 제공되었고 클라이언트(300)에 송신될 준비가 되어 있는 상태이다. 콘텐츠가 송신될 준비가 되어 있지 않은 상태는 예를 들어, 분배될 콘텐츠가 서버(200)에 제공되어 있지 않고 따라서 클라이언트(300)에 송신될 수 없는 상태이다. 서버(200)는 클라이언트(300)로부터의 요청에 따라 콘텐츠를 송신(풀-타입(pull-type) 송신)할 수 있거나, 클라이언트(300)로부터의 요청없이 콘텐츠를 송신(푸시-타입(push-type) 송신)할 수 있다.The state in which the content is ready to be transmitted is, for example, the state in which the content to be distributed has been provided to the server 200 and is ready to be transmitted to the client 300 . The state in which the content is not ready to be transmitted is, for example, a state in which the content to be distributed is not provided to the server 200 and thus cannot be transmitted to the client 300 . The server 200 may transmit the content (pull-type transmission) according to a request from the client 300 , or transmit the content without a request from the client 300 (push-type). type) can be sent).

서버(200)는 콘텐츠가 제공되어 있는지에 관계없이 콘텐츠가 송신될 준비가 되어 있는지를 특정할 수 있다. 예를 들어, 통신 부하를 감소시키기 위해, 서버(200)는 복수의 제공된 콘텐츠 중 일부 또는 전부에 대해, 콘텐츠가 송신될 준비가 되어 있지 않다는 것을 표시하는 판정 정보를 생성하여 이들 콘텐츠를 송신하지 않을 수 있다. 이러한 방식으로, 일부 경우에서 송신될 준비가 되어 있는 콘텐츠가 송신될 준비가 되어 있지 않게 된다.The server 200 may specify whether the content is ready to be transmitted regardless of whether the content is being presented. For example, in order to reduce the communication load, the server 200 generates, for some or all of the plurality of provided contents, determination information indicating that the contents are not ready to be transmitted, so as not to transmit these contents. can In this way, in some cases content that is ready to be transmitted is not ready to be transmitted.

판정 정보는 콘텐츠마다 하나 또는 복수개로서 제공될 수 있다. 예를 들어, 콘텐츠의 적어도 하나의 메타데이터가 판정 정보로서 사용될 수 있다. 메타데이터는 예를 들어, 콘텐츠의 범위를 표시하는 범위 정보, 콘텐츠의 데이터 길이, 및 콘텐츠의 종류이다. 범위 정보는 예를 들어, 콘텐츠로서 분배될 데이터의 일부의 범위를 특정하기 위한 정보이다. 범위 정보가 확인될 때에는, 확인된 범위 정보를 판정 정보로서 설정하고, 또는 범위 정보가 아직 확인되지 않았을 때에는, 범위 정보가 아직 확인되지 않았다는 것을 표시하는 미리 결정된 정보(미확인 정보)를 판정 정보로서 설정한다. 미확인 정보가 판정 정보로서 범위 정보에 설정되어 있을 때, 클라이언트(300)는 대응하는 콘텐츠가 송신될 준비가 되어 있지 않다고 판정할 수 있다. 이러한 방식으로, 메타데이터가 판정 정보로서 사용될 때, 이러한 데이터 포맷은 콘텐츠가 메타데이터에 기초하여 송신될 수 있는지를 판정하도록 설정하면 충분하다.The determination information may be provided as one or a plurality of pieces per content. For example, at least one metadata of the content may be used as decision information. The metadata is, for example, range information indicating the range of the content, the data length of the content, and the type of the content. The range information is, for example, information for specifying the range of a part of data to be distributed as content. When the range information is confirmed, the confirmed range information is set as the determination information, or when the range information has not yet been confirmed, predetermined information indicating that the range information has not yet been confirmed (unconfirmed information) is set as the determination information do. When the unconfirmed information is set in the range information as the determination information, the client 300 may determine that the corresponding content is not ready to be transmitted. In this way, when metadata is used as determination information, it is sufficient to set this data format to determine whether or not content can be transmitted based on the metadata.

도 3에 도시한 바와 같이, 리스트 송신 유닛(213)은 리스트 생성 유닛(211)에 의해 생성된 분배 리스트를 클라이언트(300)에 송신한다. 예를 들어, 리스트 송신 유닛(213)은 콘텐츠의 송신을 시작하기 전에 미리 분배 리스트를 클라이언트(300)에 송신한다. 판정 정보 송신 유닛(214)은 판정 정보 생성 유닛(212)에 의해 생성된 판정 정보를 클라이언트(300)에 송신한다.As shown in FIG. 3 , the list sending unit 213 transmits the distribution list generated by the list generating unit 211 to the client 300 . For example, the list sending unit 213 transmits the distribution list to the client 300 in advance before starting the transmission of the content. The decision information sending unit 214 transmits the decision information generated by the decision information generating unit 212 to the client 300 .

요청 송수신 유닛(215)은 다양한 요청을 송수신한다. 예를 들면, 요청 송수신 유닛(215)은 클라이언트(300)로부터, 분배 리스트의 송신 요청, 판정 정보의 송신 요청, 및 콘텐츠 송신 요청을 수신한다. 요청 송수신 유닛(215)은 스토리지(121)에 저장된 콘텐츠의 송신 요청을 송신 디바이스(100)에 송신한다.The request transmitting/receiving unit 215 transmits/receives various requests. For example, the request transmission/reception unit 215 receives, from the client 300 , a transmission request of a distribution list, a transmission request of determination information, and a content transmission request. The request transmission/reception unit 215 transmits a transmission request of the content stored in the storage 121 to the transmission device 100 .

분배 유닛(216)은 요청된 콘텐츠를 송신 요청을 송신한 클라이언트(300)에 송신한다. 푸시-타입 송신이 채용되는 경우, 분배 유닛(216)은 클라이언트(300)로부터의 요청없이 콘텐츠를 송신할 수 있다.The distribution unit 216 transmits the requested content to the client 300 that has sent the transmission request. When push-type transmission is employed, the distribution unit 216 may transmit the content without a request from the client 300 .

데이터 수신 유닛(217)은 송신 디바이스(100)로부터 송신된 데이터를 수신한다. 예를 들어, 데이터 수신 유닛(217)은 서버(200)에 송신될 데이터로서 분할된 데이터를 수신한다. 스토리지(121)에 저장되어 있는 데이터의 송신 요청이 송신되면, 데이터 수신 유닛(217)은 송신 요청에 응답하여 송신 디바이스(100)에 의해 송신된 데이터를 수신한다.The data receiving unit 217 receives data transmitted from the transmitting device 100 . For example, the data receiving unit 217 receives divided data as data to be transmitted to the server 200 . When the transmission request of the data stored in the storage 121 is transmitted, the data receiving unit 217 receives the data transmitted by the transmission device 100 in response to the transmission request.

스토리지 제어 유닛(218)은 임시 스토리지(221) 및 스토리지(222)에서의 스토리지 처리를 제어한다. 송신 디바이스(100)로부터 송신된 데이터 및 송신 디바이스(100)로부터 송신된 데이터를 서버(200)에 의해 데이터가 분배될 포맷으로 변환함으로써 획득된 데이터가 스토리지(222)에 저장되고 그 다음에 분배되는 경우, 스토리지(222)에 데이터를 저장하는 처리 속도가 분배 속도를 따라가지 못하는 것, 및 스토리지(222)에의 기입 처리가 일시적으로 동결(freeze)되는 것과 같은 기입 처리 이상이 발생하고, 일부 경우에 분배가 정상적으로 수행될 수 없다. 따라서, 스토리지 제어 유닛(218)은 송신 디바이스(100)로부터 송신된 데이터를, 전술한 바와 같은 기입 처리 이상이 발생하지 않는 저장 매체로서 임시 스토리지(221)에 저장한다. 분배 유닛(216)은 임시 스토리지(221)로부터 데이터를 판독하고, 데이터가 임시 스토리지(221)에 저장되어 있을 때 클라이언트(300)에 데이터를 분배한다. 이 경우, 송신 디바이스(100)로부터 송신된 데이터는 최종적으로 스토리지(222)에 저장된다. 따라서, 분배 유닛(216)은 클라이언트(300)로부터의 요청에 응답하여 스토리지(222)로부터 분배가 수행되는 것처럼 동작할 수 있다. 구체적으로, 임시 스토리지(221)에 저장되어 있는 데이터는 스토리지(222)에 저장되어 있는 데이터에 대한 요청에 응답하여 반환될 수 있다. 이러한 기능은 (예를 들어, 데이터베이스, 파일, 또는 심볼 링크를 사용함으로써) 서버(200) 상에 이러한 파일들의 연관을 기록하고 분배시 그 연관을 참조함으로써 달성될 수 있다.Storage control unit 218 controls storage processing in temporary storage 221 and storage 222 . Data obtained by converting the data transmitted from the transmission device 100 and the data transmitted from the transmission device 100 into a format in which the data is to be distributed by the server 200 is stored in the storage 222 and then distributed. In this case, write processing abnormalities such as the processing speed of storing data in the storage 222 do not keep up with the distribution speed, and the writing processing in the storage 222 being temporarily frozen, occur, and in some cases Distribution cannot be performed normally. Accordingly, the storage control unit 218 stores the data transmitted from the transmission device 100 in the temporary storage 221 as a storage medium in which the above-described write processing abnormality does not occur. The distribution unit 216 reads data from the temporary storage 221 and distributes the data to the client 300 when the data is stored in the temporary storage 221 . In this case, data transmitted from the transmission device 100 is finally stored in the storage 222 . Accordingly, the dispensing unit 216 may operate as if dispensing is performed from the storage 222 in response to a request from the client 300 . Specifically, data stored in the temporary storage 221 may be returned in response to a request for data stored in the storage 222 . This functionality may be accomplished by recording the association of these files on the server 200 (eg, by using a database, file, or symbolic link) and referencing the association in distribution.

다음으로, 스토리지 제어 유닛(218)은 임시 스토리지(221)에 저장된 데이터를 스토리지(222)에 기입하는 처리(기입 처리)를 수행한다. 기입 처리에서는, 스토리지 제어 유닛(218)이 임시 스토리지(221)에 저장된 복수의 데이터를 하나의 데이터로 병합하고 그 병합된 데이터를 스토리지(222)에 저장할 수 있다. 예를 들어, 스토리지 제어 유닛(218)은 일정한 지속기간 내에 촬영된 복수의 데이터를 데이터가 하나의 파일에 포함되도록 병합하고, 병합된 파일(병합 파일)을 스토리지(222)에 기입할 수 있다. 따라서, 스토리지(222)에 저장되는 파일들의 수가 예를 들어, 운영 체제에 의해 허용되는 수를 초과하여 데이터가 더 이상 저장될 수 없게 되는 실패를 회피할 수 있다.Next, the storage control unit 218 performs processing (write processing) of writing the data stored in the temporary storage 221 to the storage 222 . In the write processing, the storage control unit 218 may merge a plurality of data stored in the temporary storage 221 into one data and store the merged data in the storage 222 . For example, the storage control unit 218 may merge a plurality of data captured within a predetermined duration so that the data is included in one file, and write the merged file (merged file) to the storage 222 . Thus, it is possible to avoid a failure in which the number of files stored in storage 222 exceeds the number allowed by, for example, the operating system, and data can no longer be stored.

복수의 데이터가 하나의 데이터로 병합되어 스토리지(222)에 저장되고, 그 후 병합된 데이터에 포함된 데이터의 송신 요청이 클라이언트(300)로부터 수신될 때, 병합된 데이터 내의 데이터를 특정하는 기능이 필요하다. 따라서, 예를 들면, 리스트 생성 유닛(211)은 분배 리스트가 데이터를 특정하기 위한 특정 정보를 포함하도록 분배 리스트를 갱신할 수 있다. 예를 들어, 리스트 생성 유닛(211)은 병합 파일 내의 데이터의 위치를 표시하는 (선두로부터의 바이트 오프셋과 같은) 특정 정보가 데이터의 (URL과 같은) 식별 정보와 연관되어 있는 분배 리스트를 작성하고, 그 분배 리스트를 클라이언트(300)에 전송한다.A plurality of data is merged into one data and stored in the storage 222 , and then, when a transmission request of data included in the merged data is received from the client 300 , the function of specifying data in the merged data is necessary. Thus, for example, the list generating unit 211 may update the distribution list so that the distribution list includes specific information for specifying data. For example, the list generating unit 211 creates a distribution list in which specific information (such as a byte offset from the beginning) indicating the location of data in the merge file is associated with identification information (such as a URL) of the data, and , and transmits the distribution list to the client 300 .

갱신된 분배 리스트를 참조하고 데이터의 송신을 요청하는 경우, 클라이언트(300)는 요청된 데이터의 식별 정보 및 그와 연관된 특정 정보를 특정한다. 예를 들어, 클라이언트(300)는 데이터의 식별 정보를 표시하는 URL에 특정 정보를 추가함으로써 획득된 정보를 사용하여 데이터를 요청한다. 클라이언트(300)는 특정 정보를 포함하는 헤더(예를 들어, HTTP 확장 헤더)를 갖는 송신 요청을 통해 데이터를 요청할 수 있다.When referring to the updated distribution list and requesting transmission of data, the client 300 specifies identification information of the requested data and specific information associated therewith. For example, the client 300 requests data using information obtained by adding specific information to a URL indicating identification information of the data. The client 300 may request data through a transmission request having a header (eg, HTTP extension header) including specific information.

이 경우에 요청된 파일 명칭은 분할 전의 원래의 파일 명칭일 수 있다. 이것은 데이터가 클라이언트(300) 상에 이미 수신되어 캐싱(cache)되어 있는지의 판정을 용이하게 하고 취득된 데이터가 다시 취득되는 것을 방지한다. 이 경우, 서버(200)는 원래의 분할된 파일들(프래그먼트 파일들)을 병합함으로써 획득된 데이터(병합 파일)를 특정할 필요가 있다. 이것은 프래그먼트 파일들에 대한 병합 파일의 정보가 미리 클라이언트(300)에 송신된 특정 정보로서 송신되고, 클라이언트(300)에 의한 요청 시에 HTTP 확장 헤더에 기입되는 방법 (1), 또는 서버(200)가 요청에 대한 응답 시에 요청된 프래그먼트 파일 명칭들로부터 병합 파일을 특정하는 방법 (2)에 의해 달성될 수 있다. 방법 (2)는 예를 들어, (2-1) 병합 파일이 (예를 들어, 데이터베이스, 파일, 심볼 링크를 사용함으로써) 작성될 때 프래그먼트 파일들과의 연관을 기록하거나, (2-2) 명명 규칙에 따라 특정을 자동으로 달성함으로써(도 4에 도시된 예에서, ContentA_1 내지 ContentA_4에 대한 병합 파일 명칭은 ContentsA임) 수행될 수 있다.In this case, the requested file name may be the original file name before division. This facilitates the determination of whether data has already been received and cached on the client 300 and prevents the acquired data from being acquired again. In this case, the server 200 needs to specify the data (merged file) obtained by merging the original divided files (fragment files). This is the method (1) in which the information of the merge file for the fragment files is transmitted as specific information transmitted to the client 300 in advance, and written in the HTTP extension header upon request by the client 300, or the server 200 can be achieved by the method (2) of specifying the merge file from the requested fragment file names in response to the request. Method (2) records association with fragment files, for example (2-1) when a merge file is created (eg, by using a database, file, symbolic link), or (2-2) This can be done by automatically achieving the specification according to the naming convention (in the example shown in Fig. 4, the merge file names for ContentA_1 to ContentA_4 are ContentsA).

서버(200)는 클라이언트(300)로부터 송신된 특정 정보를 사용하여 병합된 데이터로부터 원하는 데이터를 특정하고, 그 특정된 데이터를 요청이 송신된 클라이언트(300)에 분배한다.The server 200 specifies desired data from the merged data using the specific information transmitted from the client 300 , and distributes the specified data to the client 300 to which the request is sent.

스토리지 제어 유닛(218)은 미리 결정된 조건에 따라 스토리지(222)에 저장된 데이터를 삭제할 수 있다. 예를 들어, 스토리지 제어 유닛(218)은 일정한 지속기간 동안 저장된 데이터를 삭제할 수 있다. 스토리지 제어 유닛(218)은 일정한 시간이 경과할 때마다 단계적으로 데이터를 삭제할 수 있다. 예를 들어, 스토리지 제어 유닛(218)은 미리 결정된 지속기간(예를 들어, 1일)이 경과했을 때 스토리지(222) 내의 모든 또는 일부 P 픽처를 삭제하고, 그 후 (제1 지속기간과 동일하거나 상이한) 미리 결정된 지속기간이 경과할 때마다 단계적으로 씨닝함으로써 스토리지(222) 내의 P 픽처들 및 I 픽처들을 삭제한다. 이러한 처리를 통해, 예를 들어, 장기간 기록을 위해 스토리지량을 감소시킬 필요가 있을 때 품질을 저하시킨 영상으로의 변환 처리를 실행하지 않고, 시간 경과와 함께 간헐성을 증가시킨 영상을 획득할 수 있다. P 픽처들의 단계적인 삭제는 예를 들어, 일본 특허 제6239472호에 개시된 인코딩 방법에 의해 수행될 수 있다.The storage control unit 218 may delete data stored in the storage 222 according to a predetermined condition. For example, the storage control unit 218 may delete stored data for a certain duration. The storage control unit 218 may delete data in stages whenever a predetermined time elapses. For example, the storage control unit 218 deletes all or some P pictures in the storage 222 when a predetermined duration (eg, 1 day) has elapsed, and thereafter (equal to the first duration) or different) deletes the P pictures and I pictures in the storage 222 by progressively thinning each time a predetermined duration elapses. Through this processing, for example, when it is necessary to reduce the amount of storage for long-term recording, it is possible to obtain an image with increased intermittency with time without executing conversion processing into an image with reduced quality. . Stepwise deletion of P pictures may be performed by, for example, the encoding method disclosed in Japanese Patent No. 6239472.

예를 들어, 스토리지 제어 유닛(218)은 송신된 데이터를 우선하여 삭제할 수 있다. 이 경우, 스토리지 제어 유닛(218)은 데이터가 송신되었는지를 표시하는 메타데이터를 사용하여 데이터가 송신되었는지를 판정할 수 있다. 또한, 스토리지 제어 유닛(218)은 삭제 처리시 참조될 다른 메타데이터를 미리 준비할 수 있다. 이 메타데이터는 예를 들어, 데이터가 어느 픽처에 대응하는지를 판정하기 위한 데이터이다. 보다 구체적으로, 메타데이터는 예를 들어, 시간(예를 들어, 촬영된 일, 시, 분, 및 초), 그 시간 내에서의 화상의 위치(예를 들어, 선두로부터의 순서를 표시하는 정보), 파일의 명칭, 및 파일의 선두로부터의 바이트 오프셋을 포함한다.For example, the storage control unit 218 may preferentially delete transmitted data. In this case, the storage control unit 218 may determine whether the data has been transmitted using metadata indicating whether the data has been transmitted. Also, the storage control unit 218 may prepare in advance other metadata to be referenced in the deletion process. This metadata is, for example, data for determining which picture the data corresponds to. More specifically, the metadata includes, for example, information indicating the time (eg, day, hour, minute, and second when it was taken), the position of the image within that time (eg, order from the beginning). ), the name of the file, and the byte offset from the beginning of the file.

임시 스토리지(221)는 수신된 데이터를 일시적으로 저장한다. 예를 들어, 임시 스토리지(221)는 DRAM(dynamic random access memory)과 같은 일시적 메모리에 의해 달성될 수 있다.The temporary storage 221 temporarily stores the received data. For example, the temporary storage 221 may be achieved by a temporary memory such as dynamic random access memory (DRAM).

스토리지(222)는 서버(200)에 의해 사용될 다양한 종류의 데이터를 저장한다. 예를 들어, 스토리지(222)는 분배될 콘텐츠, 생성된 분배 리스트, 및 생성된 판정 정보를 저장한다. 스토리지(222)는 메모리 카드, 랜덤 액세스 메모리(RAM), 하드 디스크 드라이브(HDD), 또는 광 디스크와 같은 임의의 전형적으로 사용되는 저장 매체에 의해 달성될 수 있다.The storage 222 stores various types of data to be used by the server 200 . For example, the storage 222 stores the content to be distributed, the generated distribution list, and the generated decision information. Storage 222 may be accomplished by any typically used storage medium, such as a memory card, random access memory (RAM), hard disk drive (HDD), or optical disk.

전술된 바와 같은 기입 처리 이상이 발생하지 않을 때에는, 어떠한 임시 스토리지(221)도 제공되지 않을 수 있다.When the above-described write processing abnormality does not occur, no temporary storage 221 may be provided.

전술한 컴포넌트들(검출 유닛(201), 리스트 생성 유닛(211), 판정 정보 생성 유닛(212), 리스트 송신 유닛(213), 판정 정보 송신 유닛(214), 요청 송수신 유닛(215), 분배 유닛(216), 데이터 수신 유닛(217), 및 스토리지 제어 유닛(218)) 각각은 예를 들어, 하나 이상의 프로세서에 의해 달성된다. 예를 들어, 각각의 컴포넌트는 CPU와 같은 프로세서에 의해 실행되는 컴퓨터 프로그램에 의해, 즉, 소프트웨어에 의해 달성될 수 있다. 컴포넌트는 전용 IC와 같은 프로세서에 의해, 즉, 하드웨어에 의해 달성될 수 있다. 컴포넌트는 소프트웨어 및 하드웨어에 의해 달성될 수 있다. 복수의 프로세서가 사용되는 경우, 각각의 프로세서는 컴포넌트들 중 하나를 달성할 수 있거나 또는 컴포넌트들 중 2개 이상을 달성할 수 있다.The above-mentioned components (detection unit 201, list generating unit 211, decision information generating unit 212, list sending unit 213, decision information sending unit 214, request sending/receiving unit 215, distribution unit Each of 216 , data receiving unit 217 , and storage control unit 218 ) is accomplished, for example, by one or more processors. For example, each component may be achieved by a computer program executed by a processor such as a CPU, ie, by software. A component may be achieved by a processor such as a dedicated IC, ie, by hardware. A component may be achieved by software and hardware. When multiple processors are used, each processor may achieve one of the components or may achieve two or more of the components.

서버(200)의 기능들은 물리적으로 또는 논리적으로 서로 상이한 복수의 디바이스에 분배될 수 있다. 예를 들어, 기능들은 분배 리스트를 송신하도록 구성된 서버 디바이스 및 콘텐츠를 송신하도록 구성된 서버 디바이스에 분배될 수 있다. 대안적으로, 예를 들어, 기능들은 송신 디바이스(100)로부터 데이터를 수신하고, 임시 스토리지(221) 및 스토리지(222)에 데이터를 저장하도록 구성된 서버 디바이스, 및 임시 스토리지(221) 및 스토리지(222)로부터 데이터를 판독하고 데이터를 분배하도록 구성된 서버 디바이스에 분배될 수 있다.The functions of the server 200 may be physically or logically distributed to a plurality of devices different from each other. For example, the functions may be distributed to a server device configured to transmit a distribution list and a server device configured to transmit content. Alternatively, for example, the functions receive data from the transmitting device 100 and a server device configured to store the data in the temporary storage 221 and the storage 222 , and the temporary storage 221 and the storage 222 . ) and distributed to a server device configured to distribute the data.

다음은 클라이언트(300)의 기능들에 대해 설명한다. 도 3에 도시한 바와 같이, 클라이언트(300)는 리스트 수신 유닛(311), 판정 정보 수신 유닛(312), 판정 유닛(313), 요청 송신 유닛(314), 데이터 수신 유닛(315), 재생 유닛(316) 및 스토리지(321)를 포함한다.The following describes the functions of the client 300 . As shown in FIG. 3 , the client 300 includes a list receiving unit 311 , a decision information receiving unit 312 , a determining unit 313 , a request sending unit 314 , a data receiving unit 315 , and a reproducing unit. 316 and storage 321 .

리스트 수신 유닛(311)은 서버(200)로부터 분배 리스트를 수신한다. 판정 정보 수신 유닛(312)은 서버(200)로부터 판정 정보를 수신한다.The list receiving unit 311 receives the distribution list from the server 200 . The determination information receiving unit 312 receives determination information from the server 200 .

판정 유닛(313)은 분배 리스트 및 판정 정보에 기초하여 송신에 요청될 콘텐츠를 판정한다. 예를 들어, 판정 유닛(313)은 도 4에 도시된 분배 리스트에 URL들이 기재되어 있는 콘텐츠들 중에서 도 5에 도시한 바와 같이 판정 정보로서 원이 설정된 콘텐츠를, 송신에 요청될 콘텐츠로서 판정한다. 전술한 범위 정보가 판정 정보로서 사용될 때, 판정 유닛(313)은 예를 들어, 범위 정보에 미확인 정보가 설정되어 있지 않은 콘텐츠를, 송신에 요청될 콘텐츠로서 판정한다. 복수의 판정 정보가 사용되는 경우, 판정 유닛(313)은 판정 정보의 조합에 따라 송신에 요청될 콘텐츠를 판정할 수 있다. 예를 들어, 모든 판정 정보가 대응하는 콘텐츠들이 송신될 준비가 되어 있다는 것을 표시할 때, 판정 유닛(313)은 대응하는 콘텐츠를 송신에 요청될 콘텐츠로서 판정한다.The determination unit 313 determines the content to be requested for transmission based on the distribution list and the determination information. For example, the judging unit 313 judges, among the contents whose URLs are described in the distribution list shown in FIG. 4 , the content whose circle is set as the determination information as shown in FIG. 5 as the content to be requested for transmission . When the above-described range information is used as the determination information, the determination unit 313 determines, for example, content for which unconfirmed information is not set in the range information, as the content to be requested for transmission. When a plurality of determination information is used, the determination unit 313 may determine the content to be requested for transmission according to the combination of determination information. For example, when all the determination information indicates that the corresponding contents are ready to be transmitted, the determination unit 313 determines the corresponding contents as the contents to be requested for transmission.

요청 송신 유닛(314)은 송신에 요청될 것으로 판정된 콘텐츠의 송신 요청을 서버(200)에 송신한다. 데이터 수신 유닛(315)은 서버(200)로부터, 요청 송신 유닛(314)에 의해 송신된 송신 요청에 따라 송신된 콘텐츠를 수신한다. 재생 유닛(316)은 수신된 콘텐츠를 재생한다.The request sending unit 314 transmits to the server 200 a transmission request of the content determined to be requested for transmission. The data receiving unit 315 receives, from the server 200 , the content transmitted according to the transmission request sent by the request sending unit 314 . The playback unit 316 plays the received content.

스토리지(321)는 클라이언트(300)에 의해 사용될 다양한 종류의 데이터를 저장한다. 예를 들어, 스토리지(321)는 송신된 분배 리스트, 송신된 판정 정보, 및 분배된 콘텐츠를 저장한다.The storage 321 stores various types of data to be used by the client 300 . For example, the storage 321 stores the transmitted distribution list, the transmitted determination information, and the distributed content.

전술한 컴포넌트들(리스트 수신 유닛(311), 판정 정보 수신 유닛(312), 판정 유닛(313), 요청 송신 유닛(314), 데이터 수신 유닛(315), 및 재생 유닛(316))은 각각, 예를 들어, 하나 이상의 프로세서에 의해 달성된다. 예를 들어, 각각의 컴포넌트는 CPU와 같은 프로세서에 의해 실행되는 컴퓨터 프로그램에 의해, 즉, 소프트웨어에 의해 달성될 수 있다. 컴포넌트는 전용 IC와 같은 프로세서에 의해, 즉, 하드웨어에 의해 달성될 수 있다. 컴포넌트는 소프트웨어 및 하드웨어에 의해 달성될 수 있다. 복수의 프로세서가 사용되는 경우, 각각의 프로세서는 컴포넌트들 중 하나를 달성할 수 있거나 또는 컴포넌트들 중 2개 이상을 달성할 수 있다.The above-described components (list receiving unit 311, determination information receiving unit 312, determination unit 313, request transmitting unit 314, data receiving unit 315, and reproducing unit 316) are each, This is accomplished, for example, by one or more processors. For example, each component may be achieved by a computer program executed by a processor such as a CPU, ie, by software. A component may be achieved by a processor such as a dedicated IC, ie, by hardware. A component may be achieved by software and hardware. When multiple processors are used, each processor may achieve one of the components or may achieve two or more of the components.

전술한 바와 같은 분배 리스트 및 판정 정보가 사용되는 경우, 서버(200)는 예를 들어, 갱신이 있을 때마다 분배 리스트를 작성하고 송신할 필요가 없어 진다. 클라이언트(300)는 판정 정보를 참조함으로써 갱신된 부분을 더 쉽게 분석할 수 있다. 구체적으로, 분배 리스트를 다시 취득 및 분석하지 않고 최신의 분배 리스트와 등가인 정보를 효율적으로 취득 및 분석할 수 있다.When the distribution list and determination information as described above are used, the server 200 does not need to create and transmit the distribution list every time there is an update, for example. The client 300 may more easily analyze the updated part by referring to the judgment information. Specifically, it is possible to efficiently acquire and analyze information equivalent to the latest distribution list without acquiring and analyzing the distribution list again.

분배 리스트는 예를 들어, 판정 정보를 사용하지 않고 데이터 갱신이 있을 때마다 작성 및 송신될 수 있다. 이 경우, 판정 정보에 관련된 기능들(예를 들어, 판정 정보 생성 유닛(212), 판정 정보 송신 유닛(214), 및 판정 정보 수신 유닛(312))은 제공될 필요가 없다. 예를 들어, 푸시-타입 송신이 채용되는 경우, 서버(200)는 분배 리스트를 사용하지 않고 클라이언트(300)에 영상을 분배할 수 있다.The distribution list can be created and transmitted whenever there is a data update without using decision information, for example. In this case, the functions related to the decision information (eg, the decision information generating unit 212 , the decision information transmitting unit 214 , and the decision information receiving unit 312 ) need not be provided. For example, when push-type transmission is employed, the server 200 may distribute the image to the client 300 without using a distribution list.

이하에서는, 본 실시예에 따른 송신 디바이스(100)에 의해 수행되는 데이터 송신 처리에 대해 설명한다. 도 6은 본 실시예에서의 예시적인 송신 처리를 도시하는 흐름도이다.Hereinafter, data transmission processing performed by the transmission device 100 according to the present embodiment will be described. 6 is a flowchart showing exemplary transmission processing in the present embodiment.

촬상 유닛(101)은 분배될 영상을 촬영한다(단계 S101). 인코딩 유닛(111)은 촬상 유닛(101)으로부터 입력된 영상을 인코딩한다(단계 S102). 분할 유닛(112)은 영상을 서버(200)에 송신될 데이터 및 스토리지(121)에 저장될 데이터로 분할한다. 예를 들어, 분할 유닛(112)은 입력된 영상을 I 픽처 프래그먼트 및 P 픽처 프래그먼트로 분할한다(단계 S103). 데이터 송신 유닛(113)은 I 픽처 프래그먼트를 서버(200)에 송신한다(단계 S104). 스토리지 제어 유닛(114)은 P 픽처 프래그먼트를 스토리지(121)에 저장한다(단계 S105).The imaging unit 101 takes an image to be distributed (step S101). The encoding unit 111 encodes the image input from the imaging unit 101 (step S102). The dividing unit 112 divides the image into data to be transmitted to the server 200 and data to be stored in the storage 121 . For example, the dividing unit 112 divides the input image into I-picture fragments and P-picture fragments (step S103). The data transmission unit 113 transmits the I-picture fragment to the server 200 (step S104). The storage control unit 114 stores the P picture fragment in the storage 121 (step S105).

다음은 스토리지(121)에 저장된 데이터를 송신하는 처리에 대해 설명한다. 도 7은 스토리지(121)에 저장된 데이터를 송신하는 예시적인 처리를 도시하는 흐름도이다.The following describes a process for transmitting data stored in the storage 121 . 7 is a flowchart illustrating an exemplary process for transmitting data stored in storage 121 .

요청 수신 유닛(115)은 서버(200)(또는 제어 서버)로부터, 스토리지(121)에 저장된 데이터의 송신 요청을 수신한다(단계 S201). P 픽처들이 스토리지(121)에 저장되어 있을 때, 요청 수신 유닛(115)은 저장된 P 픽처들 중 임의의 것의 송신 요청을 수신한다. 데이터 송신 유닛(113)은 요청된 P 픽처를 스토리지(121)로부터 판독하고, 판독된 P 픽처를 서버(200)에 송신한다(단계 S202).The request receiving unit 115 receives, from the server 200 (or the control server), a request for transmission of data stored in the storage 121 (step S201). When the P pictures are stored in the storage 121 , the request receiving unit 115 receives a request to transmit any of the stored P pictures. The data transmission unit 113 reads the requested P picture from the storage 121, and transmits the read P picture to the server 200 (step S202).

이하에서는, 이와 같이 구성된 본 실시예에 따른 서버(200)에 의해 수행되는 리스트 생성 처리에 대해 설명한다. 리스트 생성 처리시, 서버(200)는 분배 리스트를 생성한다. 도 8은 본 실시예에서의 예시적인 리스트 생성 처리를 도시하는 흐름도이다.Hereinafter, list generation processing performed by the server 200 according to the present embodiment configured as described above will be described. In the list generation process, the server 200 creates a distribution list. Fig. 8 is a flowchart showing an exemplary list generation process in the present embodiment.

서버(200)의 리스트 생성 유닛(211)은 예를 들어, 클라이언트(300)로부터의 요청에 따라 분배 리스트를 생성한다(단계 S301). 리스트 생성 유닛(211)은 생성된 분배 리스트를, 예를 들어, 스토리지(222)에 저장한다(단계 S302).The list generating unit 211 of the server 200 generates, for example, a distribution list according to a request from the client 300 (step S301). The list generating unit 211 stores the generated distribution list, for example, in the storage 222 (step S302).

예를 들어, 분배될 콘텐츠들은 ContentA_1, ContentA_2, ContentA_3, 및 ContentA_4의 시간적으로 연속적인 콘텐츠들이고, ContentA_1 및 ContentA_3은 분배가능하다. 이 경우, 리스트 생성 유닛(211)은 ContentA_1, ContentA_2, ContentA_3, 및 ContentA_4를 분배하기 위한 분배 리스트를 생성한다. 전술한 도 4는 이 경우에 생성된 예시적인 분배 리스트를 도시한다.For example, the contents to be distributed are temporally continuous contents of ContentA_1, ContentA_2, ContentA_3, and ContentA_4, and ContentA_1 and ContentA_3 are distributable. In this case, the list generating unit 211 generates a distribution list for distributing ContentA_1, ContentA_2, ContentA_3, and ContentA_4. 4 above shows an exemplary distribution list created in this case.

이하에서는 본 실시예에 따른 서버(200)에 의해 수행되는 판정 정보 생성 처리에 대해 설명한다. 판정 정보 생성 처리시, 서버(200)는 판정 정보를 생성한다. 판정 정보 생성 처리는 예를 들어, 클라이언트(300)로부터 판정 정보의 송신 요청이 송신될 때 실행된다. 도 9는 본 실시예에서의 예시적인 판정 정보 생성 처리를 도시하는 흐름도이다.Hereinafter, determination information generation processing performed by the server 200 according to the present embodiment will be described. In the decision information generation process, the server 200 generates decision information. Determination information generation processing is executed when, for example, a request for transmission of determination information is transmitted from the client 300 . Fig. 9 is a flowchart showing exemplary determination information generation processing in the present embodiment.

서버(200)의 판정 정보 생성 유닛(212)은 판정 정보가 분배될 콘텐츠에 대해 생성되었는지를 판정한다(단계 S401). 판정 정보가 생성되지 않았을 경우(단계 S401에서 아니오), 판정 정보 생성 유닛(212)은 콘텐츠에 대한 판정 정보를 생성한다(단계 S402). 전술한 도 5는 도 8을 참조하여 설명된 예(ContentA_1 및 ContentA_3이 분배가능한 예)에서 생성된 예시적인 판정 정보를 도시한다.The determination information generating unit 212 of the server 200 determines whether determination information has been generated for the content to be distributed (step S401). When the determination information has not been generated (NO in step S401), the determination information generating unit 212 generates determination information for the content (step S402). The above-mentioned FIG. 5 shows exemplary determination information generated in the example described with reference to FIG. 8 (the example in which ContentA_1 and ContentA_3 are distributable).

판정 정보를 생성한 후에 또는 판정 정보가 생성되었을 경우(단계 S401에서 예), 판정 정보 생성 유닛(212)은 생성된 판정 정보를 갱신할지를 판정한다(단계 S403). 예를 들어, 검출 유닛(201)으로부터, 콘텐츠가 송신될 준비가 되어 있다는 것을 표시하는 검출 결과를 수신했을 경우, 판정 정보 생성 유닛(212)은 판정 정보가 갱신되어야 한다고 판정한다.After generating the determination information or when the determination information has been generated (YES in step S401), the determination information generating unit 212 determines whether to update the generated determination information (step S403). For example, upon receiving, from the detection unit 201 , a detection result indicating that the content is ready to be transmitted, the determination information generating unit 212 determines that the determination information should be updated.

판정 정보가 갱신되어야 한다고 판정된 경우(단계 S403의 예), 판정 정보 생성 유닛(212)은 판정 정보를 갱신한다(단계 S404). 판정 정보를 갱신한 후에 또는 판정 정보가 갱신되지 않을 것이라고 판정한 경우(단계 S403에서 아니오), 판정 정보 생성 유닛(212)은 판정 정보 생성 처리를 종료한다.When it is determined that the determination information should be updated (YES in step S403), the determination information generating unit 212 updates the determination information (step S404). After updating the decision information or when it is determined that the decision information will not be updated (NO in step S403), the decision information generating unit 212 ends the decision information generating process.

서버(200)는 생성된 분배 리스트 및 생성된 판정 정보를 네트워크(402)를 통해 분배가능한 상태로 유지한다. 클라이언트(300)는 서버(200)에 액세스하여 분배 리스트 및 판정 정보를 취득할 수 있다.The server 200 maintains the generated distribution list and the generated determination information in a distributable state through the network 402 . The client 300 may access the server 200 to obtain the distribution list and determination information.

이하에서는 본 실시예에 따른 통신 시스템에 의해 수행되는 콘텐츠 분배 처리에 대해 설명한다. 도 10은 본 실시예에서의 예시적인 콘텐츠 분배 처리를 도시하는 시퀀스도이다.Hereinafter, content distribution processing performed by the communication system according to the present embodiment will be described. Fig. 10 is a sequence diagram showing exemplary content distribution processing in the present embodiment.

서버(200)의 리스트 생성 유닛(211)은 분배 리스트를 생성한다(단계 S501). 이 처리는 예를 들면, 전술한 리스트 생성 처리에 대응한다. 서버(200)의 리스트 송신 유닛(213)은 예를 들어, 클라이언트(300)로부터의 요청에 따라 분배 리스트를 클라이언트(300)에 송신한다(단계 S502).The list generating unit 211 of the server 200 generates a distribution list (step S501). This processing corresponds to, for example, the list generation processing described above. The list sending unit 213 of the server 200 transmits, for example, the distribution list to the client 300 according to a request from the client 300 (step S502).

서버(200)의 판정 정보 생성 유닛(212)은 판정 정보를 생성한다(단계 S503). 이 처리는 예를 들면, 전술한 판정 정보 생성 처리에 대응한다. 서버(200)의 판정 정보 송신 유닛(214)은 예를 들어, 클라이언트(300)로부터의 요청에 따라 판정 정보를 클라이언트(300)에 송신한다(단계 S504).The determination information generating unit 212 of the server 200 generates determination information (step S503). This processing corresponds, for example, to the above-described determination information generation processing. The determination information sending unit 214 of the server 200 transmits the determination information to the client 300 according to a request from, for example, the client 300 (step S504).

클라이언트(300)의 리스트 수신 유닛(311) 및 판정 정보 수신 유닛(312)은 분배 리스트 및 판정 정보를 각각 수신한다. 그 후, 클라이언트(300)의 판정 유닛(313)은 분배 리스트 및 이와 같이 수신된 판정 정보에 기초하여 송신에 요청될 콘텐츠를 판정한다(단계 S505). 예를 들어, 도 4에 도시된 분배 리스트가 수신된 경우, 판정 유닛(313)은 수신된 분배 리스트를 분석하여 ContentA_1 내지 ContentA_4를 취득하기 위한 URL들을 획득한다. 판정 유닛(313)은 또한, 수신된 판정 정보를 분석하여 분배 리스트에 기입된 콘텐츠들 중에서 송신될 준비가 되어 있는 콘텐츠를 판정한다.The list receiving unit 311 and the decision information receiving unit 312 of the client 300 receive the distribution list and the decision information, respectively. Then, the determination unit 313 of the client 300 determines the content to be requested for transmission based on the distribution list and thus received determination information (step S505). For example, when the distribution list shown in Fig. 4 is received, the determination unit 313 analyzes the received distribution list to obtain URLs for obtaining ContentA_1 to ContentA_4. The determination unit 313 also analyzes the received determination information to determine content ready to be transmitted among the contents written in the distribution list.

도 11은 도 5에 도시된 판정 정보에 기초하여 도 4에 도시된 분배 리스트에 대해 판정을 행하는 예를 설명하기 위한 도면이다. 도 11에 도시한 바와 같이, 판정 유닛(313)은 분배 리스트에 기입된 ContentA_1을 취득하기 위한 URL과 ContentA_1에 대응하는 판정 정보를 조합함으로써 ContentA_1이 송신(액세스)될 준비가 되어 있다고 판정할 수 있다. 마찬가지로, 판정 유닛(313)은 ContentA_2가 송신(액세스)될 준비가 되어 있지 않다고 판정할 수 있다.FIG. 11 is a diagram for explaining an example in which judgment is performed on the distribution list shown in FIG. 4 based on the judgment information shown in FIG. 5; FIG. 11 , the determination unit 313 can determine that ContentA_1 is ready to be transmitted (accessed) by combining the URL for obtaining ContentA_1 written in the distribution list and determination information corresponding to ContentA_1 . Similarly, the determination unit 313 may determine that ContentA_2 is not ready to be transmitted (accessed).

도 10에 도시한 바와 같이, 요청 송신 유닛(314)은 송신을 요청하는 것으로 판정된 콘텐츠의 송신 요청을 서버(200)에 송신한다(단계 S506). 서버(200)의 분배 유닛(216)은 요청된 콘텐츠를 클라이언트(300)에 송신한다(단계 S507). 클라이언트(300)의 데이터 수신 유닛(315)은 콘텐츠를 수신하고, 그 재생 유닛(316)은 수신된 콘텐츠를 재생한다(단계 S508).As shown in Fig. 10, the request sending unit 314 transmits a transmission request of the content determined to request transmission to the server 200 (step S506). The distribution unit 216 of the server 200 transmits the requested content to the client 300 (step S507). The data receiving unit 315 of the client 300 receives the content, and the reproducing unit 316 plays the received content (step S508).

서버(200)로부터 직접 분배 가능한 포맷으로 표현된 콘텐츠가 송신 디바이스(100)로부터 송신되면, 분배 유닛(216)은 송신 디바이스(100)로부터 송신된 콘텐츠를 변환없이 클라이언트(300)에 직접 송신한다. 콘텐츠가 서버(200)에 의해 분배되는 포맷으로 콘텐츠가 변환될 수 있는 메타데이터를 추가적으로 포함하는 포맷으로 콘텐츠가 송신될 때, 분배 유닛(216)은 송신된 콘텐츠를 메타데이터에 따라 분배가능 포맷으로 변환하고, 변환된 콘텐츠를 클라이언트(300)에 송신한다.When the content expressed in a format directly distributable from the server 200 is transmitted from the transmission device 100 , the distribution unit 216 directly transmits the content transmitted from the transmission device 100 to the client 300 without conversion. When the content is transmitted in a format additionally including metadata in which the content can be converted into a format distributed by the server 200, the distribution unit 216 converts the transmitted content into a distributable format according to the metadata. and transmits the converted content to the client 300 .

그 후, 예를 들어, ContentA_2가 분배 가능하게 되었다. 이 경우, 서버(200)의 검출 유닛(201)은 ContentA_2가 분배 가능하게 되었다는 것을 검출한다. 판정 정보 생성 유닛(212)은 검출 결과에 따라 갱신된 판정 정보를 생성한다(단계 S509).After that, for example, ContentA_2 became distributable. In this case, the detection unit 201 of the server 200 detects that ContentA_2 has become distributable. The decision information generating unit 212 generates updated decision information according to the detection result (step S509).

도 12는 예시적인 갱신된 판정 정보를 도시하는 도면이다. 도 12에 도시한 바와 같이, 판정 정보 생성 유닛(212)은 ContentA_2에 대응하는 판정 정보를 엑스 표에서 원으로 갱신한다. 갱신된 판정 정보는 네트워크(402)를 통해 분배가능한 상태로 유지된다.12 is a diagram illustrating exemplary updated decision information. As shown in Fig. 12 , the decision information generating unit 212 updates the decision information corresponding to ContentA_2 from the X table to the circle. The updated decision information remains distributable via the network 402 .

도 10에 도시된 바와 같이, 서버(200)의 판정 정보 송신 유닛(214)은 예를 들어, 클라이언트(300)로부터의 요청에 따라, 갱신된 판정 정보를 클라이언트(300)에 송신한다(단계 S510). 다음의 단계들 S511 내지 S514는 단계들 S505 내지 S508과 동일하다.As shown in FIG. 10 , the determination information sending unit 214 of the server 200 transmits the updated determination information to the client 300 , for example, according to a request from the client 300 (step S510 ). ). The following steps S511 to S514 are the same as steps S505 to S508.

도 13은 도 12에 도시된 판정 정보에 기초하여 도 4에 도시된 분배 리스트에 대해 판정을 행하는 예를 설명하는 도면이다. 도 13에 도시된 바와 같이, 판정 유닛(313)은 ContentA_2가 송신(액세스)될 준비가 되어 있다고 판정할 수 있다.Fig. 13 is a view for explaining an example of making a judgment on the distribution list shown in Fig. 4 based on the judgment information shown in Fig. 12; 13 , the determination unit 313 may determine that ContentA_2 is ready to be transmitted (accessed).

이러한 방식으로, ContentA_2가 분배 가능하게 되었을 때, 클라이언트(300)는 분배 리스트를 다시 취득하지 않고 이미 수신된 분배 리스트에 갱신된 판정 정보를 적용하는 것만으로 각각의 콘텐츠의 최신 상태를 획득할 수 있다.In this way, when ContentA_2 becomes distributable, the client 300 can obtain the latest status of each content only by applying the updated judgment information to the distribution list already received without acquiring the distribution list again. .

본 실시예는 예를 들어, 구동 레코더에 의해 촬영된 영상을 모니터링하는 시스템에 적용가능하다. 본 실시예가 적용가능한 시스템은 이 시스템으로 한정되지 않는다. 예를 들어, 본 실시예는 센서에 의해 획득된 센서 데이터를 분배하고 모니터링하는 시스템, 및 이동체에 장착된 촬상 장치 등에 의해 획득된 동화상 데이터를 분배하고 모니터링하는 시스템에 적용될 수 있다. 이동체는 예를 들어, 사람, 로봇, 차량(자동차, 이륜차, 또는 전철), 트럭, 비행할 수 있는 물체(유인 비행기, 무인 비행기(예를 들어, 무인 항공기(UAV), 또는 드론)), 또는 퍼스널 모빌리티이다. 이동체는 예를 들어, 사람에 의한 운전 조작을 통해 주행하는 이동체, 또는 사람에 의한 운전 조작없이 자동으로 주행(자동 운전)할 수 있는 이동체이다.This embodiment is applicable, for example, to a system for monitoring an image captured by a driving recorder. The system to which this embodiment is applicable is not limited to this system. For example, the present embodiment can be applied to a system for distributing and monitoring sensor data acquired by a sensor, and a system for distributing and monitoring moving image data acquired by an imaging device mounted on a moving object or the like. A moving object may be, for example, a person, robot, vehicle (car, two-wheeled vehicle, or electric train), truck, object capable of flying (manned airplane, unmanned aerial vehicle (eg, unmanned aerial vehicle (UAV), or drone)), or It is personal mobility. The moving object is, for example, a moving object that travels through a driving operation by a human, or a moving object that can be automatically driven (automatic driving) without a driving operation by a human.

본 실시예는 예를 들어, 기기 모니터링 제어 시스템의 스크린(인간 머신 인터페이스(HMI))의 조작 이력을 모니터링하는 모니터링 시스템에도 적용가능하다. 스크린 조작 이력은 예를 들어, 디스플레이 디바이스 상에 표시되는 스크린을 촬영하고 기록하는 기능에 의해 획득될 수 있다. 이러한 방식으로 획득된 화상 데이터는 송신 디바이스(100)에 의해 촬영된 영상 대신에 사용될 수 있다.The present embodiment is also applicable to, for example, a monitoring system that monitors an operation history of a screen (human machine interface (HMI)) of a device monitoring control system. The screen operation history may be obtained, for example, by a function of photographing and recording a screen displayed on the display device. The image data obtained in this way may be used instead of the image captured by the transmitting device 100 .

기기 모니터링 제어 시스템에서는, 통상적으로, 다수의 모니터링 스크린이 사용되고, 따라서, 스크린 조작 이력의 모니터링 시스템은 일부 경우에 다수의 모니터링 스크린의 화상들을 나란히 배열하여 모니터링할 필요가 있다. 통상적으로, 이렇게 다수의 영상을 병렬로 표시하는 처리는 높은 처리 부하를 갖지만, 본 실시예에서는 분할된 데이터(예를 들어, I 픽처들)만이 표시될 수 있고, 따라서 처리 부하의 증가가 감소될 수 있다.In the device monitoring control system, usually, a plurality of monitoring screens are used, and therefore, the monitoring system of the screen operation history needs to monitor the images of the plurality of monitoring screens by arranging them side by side in some cases. Usually, such a process of displaying a large number of images in parallel has a high processing load, but in this embodiment only divided data (eg, I pictures) can be displayed, so that an increase in processing load can be reduced. can

제1 변형예1st modification

네트워크(401)는 복수의 통신 라인을 포함할 수 있고, 분할 유닛(112)에 의해 분할된 데이터의 일부(예를 들어, I 픽처들)는 통신 라인들의 임의의 (통신 라인(401A))을 통해 서버(200)에 송신될 수 있고, 나머지 데이터(예를 들어, P 픽처들)는 통신 라인들 중 다른 통신 라인(통신 라인(401B))을 통해 서버(200)에 송신될 수 있다. 도 14는 이와 같이 구성된 제1 변형예에 따른 영상 분배 시스템의 예시적인 구성을 도시하는 도면이다. 예를 들어, 데이터 송신 유닛(113)은 라이브 스트림에 의해 통신 라인(401A)을 통해 I 픽처들을 분배할 수 있고, 선택적 타이밍에서 통신 라인(401B)을 통해 P 픽처들을 송신할 수 있다.The network 401 may include a plurality of communication lines, and a portion of the data (eg, I pictures) divided by the dividing unit 112 can be connected to any of the communication lines (communication line 401A). may be transmitted to the server 200 through the communication line, and the remaining data (eg, P pictures) may be transmitted to the server 200 through another communication line (communication line 401B) among the communication lines. 14 is a diagram showing an exemplary configuration of the image distribution system according to the first modified example configured as described above. For example, the data transmitting unit 113 may distribute I pictures via the communication line 401A by a live stream, and may transmit P pictures via the communication line 401B at selective timing.

제2 변형예2nd modification

분할된 데이터는 서버(200)에 송신되지 않고 송신 디바이스(100) 내의 스토리지(121)에 분할된 방식으로 저장될 수 있다. 따라서, 예를 들어, 필요한 픽처들(예를 들어, I 픽처들)만이 스토리지(121)로부터 판독되어 표시될 수 있다. P 픽처들을 포함하는 모든 픽처를 표시하는 방법보다 I 픽처들만을 표시하는 방법에 의해 처리 부하를 감소시킬 수 있다. 따라서, 예를 들어, 처리 용량이 제한된 클라이언트(300) 등은 복수의 송신 디바이스(100)의 스토리지(121)로부터 I 픽처들만을 판독하고, I 픽처들을 병렬로 표시할 수 있다. 또한, 나머지 P 픽처 등은 필요에 따라 단계적으로 판독하여 움직이는 표시를 달성할 수 있다.The divided data may not be transmitted to the server 200 and may be stored in the storage 121 in the transmission device 100 in a divided manner. Thus, for example, only necessary pictures (eg, I pictures) can be read from the storage 121 and displayed. The processing load can be reduced by the method of displaying only I pictures rather than the method of displaying all pictures including P pictures. Accordingly, for example, the client 300 or the like having limited processing capacity may read only I pictures from the storage 121 of the plurality of transmission devices 100 and display the I pictures in parallel. In addition, the remaining P pictures and the like can be read out step by step as necessary to achieve a moving display.

이 경우, 서버(200)의 스토리지 제어 유닛(218)과 유사하게, 스토리지 제어 유닛(114)은 일정한 지속기간 동안 저장되어 있던 데이터를 삭제하거나 일정한 시간이 경과할 때마다 단계적으로 데이터를 삭제할 수 있다. 예를 들어, 저장 용량이 불충분할 때, I 픽처들 및 P 픽처들을 포함하는 모든 데이터를 연대순으로 삭제하는 것 대신에 씨닝된 방식으로 표시될 수 있는 데이터로서 P 픽처들만을 삭제하고 I 픽처들을 유지할 수 있으며, 이로써 데이터의 장기간 저장 및 저용량 소비를 달성한다.In this case, similar to the storage control unit 218 of the server 200, the storage control unit 114 may delete data stored for a predetermined duration or delete data in stages whenever a predetermined time elapses. . For example, when the storage capacity is insufficient, instead of chronologically deleting all data including I pictures and P pictures, delete only P pictures and keep I pictures as data that can be displayed in a thinned manner can achieve long-term storage and low-capacity consumption of data.

제3 변형예3rd modification

영상이 픽처들로 분할되어 분배될 때, 분배 리스트의 크기는 잠재적으로 증가한다. 따라서, 리스트 생성 유닛(211)은 계층 구조의 복수의 파일을 사용하여 분배 리스트를 작성할 수 있다. 예를 들어, 리스트 생성 유닛(211)은 년, 월, 일, 시간 등의 단위로 분배 리스트들을 계층적으로 구성할 수 있다. 예를 들어, 최하위 계층에서의 분배 리스트는 소정 범위의 시간으로 분할된 각각의 프래그먼트 데이터의 식별 정보를 포함한다. 다음 상위의 분배 리스트는 특정 날에 포함된 시간에 대응하는 적어도 하나의 분배 리스트를 식별하기 위한 정보를 포함한다. 다음 상위의 분배 리스트는 특정 월에 포함된 하루에 대응하는 적어도 하나의 분배 리스트를 식별하기 위한 정보를 포함한다. 다음 상위의 분배 리스트는 특정 년에 포함된 월에 대응하는 적어도 하나의 분배 리스트를 식별하기 위한 정보를 포함한다.When an image is divided into pictures and distributed, the size of the distribution list potentially increases. Accordingly, the list generating unit 211 can create a distribution list using a plurality of files in a hierarchical structure. For example, the list generating unit 211 may hierarchically configure distribution lists in units of year, month, day, hour, and the like. For example, the distribution list in the lowest layer includes identification information of each fragment data divided into a predetermined range of time. The next higher distribution list includes information for identifying at least one distribution list corresponding to a time included in a specific day. The next higher distribution list includes information for identifying at least one distribution list corresponding to a day included in a specific month. The next higher distribution list includes information for identifying at least one distribution list corresponding to a month included in a specific year.

제4 변형예4th modification

도 15는 제4 변형예에 따른 영상 분배 시스템에 의해 수행되는 분배 처리의 개요를 도시하는 도면이다. 본 변형예에 따른 영상 분배 시스템은 제어 서버(510) 및 웹 서버(520)를 추가로 포함한다. 본 변형예에서, 서버(200)는 영상(화상)를 분배하는 웹 서버로서 구성된다.Fig. 15 is a diagram showing the outline of distribution processing performed by the image distribution system according to the fourth modification. The image distribution system according to the present modification further includes a control server 510 and a web server 520 . In this modification, the server 200 is configured as a web server that distributes images (images).

제어 서버(510)는 제어 유닛(511)을 포함한다. 제어 유닛(511)은 클라이언트(300)로부터 송신된 요청에 따라 송신 디바이스(100)를 제어한다. 예를 들어, 클라이언트(300)는 픽처들이 분할되고 그들의 일부만(예를 들어, I 픽처들만)이 송신되거나 모든 픽처들이 송신되는지를 표시하는 송신 요청을 제어 서버(510)에 송신한다. 송신 요청에 따라, 제어 서버(510)의 제어 유닛(511)은 픽처들의 일부를 분할된 방식으로 서버(200)에 송신(업로드)하거나 모든 픽처를 서버(200)에 송신할지를 표시하는 제어 신호를 송신 디바이스(100)에 송신한다.The control server 510 includes a control unit 511 . The control unit 511 controls the transmission device 100 according to the request transmitted from the client 300 . For example, the client 300 sends a transmit request to the control server 510 indicating whether the pictures are split and only some of them (eg, only I pictures) are transmitted or all pictures are transmitted. In response to the transmission request, the control unit 511 of the control server 510 transmits (uploads) some of the pictures to the server 200 in a divided manner or sends a control signal indicating whether to transmit all pictures to the server 200 It transmits to the transmission device 100 .

송신 디바이스(100)는 제어 서버(510)로부터 송신된 제어 신호에 따라 스위칭 방식으로 동작하며, 본 실시예에서 전술한 바와 같이 분할된 일부 화상만을 서버(200)에 송신하거나 모든 픽처를 서버(200)에 송신한다.The transmitting device 100 operates in a switching method according to the control signal transmitted from the control server 510 , and transmits only some of the divided images to the server 200 or all pictures to the server 200 as described above in this embodiment. ) is sent to

캡처 스트림 송신(업로드 송신)에서, 서버(200)에 송신될 데이터(제1 데이터)로서 분할된 데이터는 서버(200)에 송신된다. 캡처 파일 저장(파일 출력)시, 스토리지(121)에 저장될 데이터(제2 데이터)로서 분할된 데이터는 서버(200)에 송신되지 않지만 저장된다. 도 15에 도시한 바와 같이, 저장된 데이터는 서버(200)에 오프라인에서 복사될 수 있다.In capture stream transmission (upload transmission), data divided as data to be transmitted to the server 200 (first data) is transmitted to the server 200 . When the capture file is saved (file output), the divided data as data to be stored in the storage 121 (second data) is not transmitted to the server 200 but is stored. As shown in FIG. 15 , the stored data may be copied offline to the server 200 .

서버(200)는 데이터 수신 유닛(217)에 의해 수신된 데이터를 필요에 따라 분배 가능한 포맷으로 변환(스트림 변환)하고, 변환된 데이터를 스토리지(222)에 저장한다. 오프라인에서 복사된 데이터는 모두 한꺼번에 변환(배치 변환)되어 스토리지(222)에 저장될 수 있다.The server 200 converts the data received by the data receiving unit 217 into a distributable format as needed (stream conversion), and stores the converted data in the storage 222 . All data copied offline may be converted (batch conversion) at once and stored in the storage 222 .

스토리지(222)는 분배 가능한 포맷의 픽처(프래그먼트 파일), 분배 리스트 등을 저장한다. 서버(200)는 스토리지(222)에 저장된 픽처를 분배하는 영상 서버로서 기능한다. 전술한 바와 같이, 데이터 수신 유닛(217)에 의해 수신된 데이터는 임시 스토리지(221)에 저장될 수 있고, 임시 스토리지(221)에 저장된 데이터는 분배 유닛(216)에 의해 분배될 수 있다.The storage 222 stores a picture in a distributable format (a fragment file), a distribution list, and the like. The server 200 functions as an image server that distributes pictures stored in the storage 222 . As described above, the data received by the data receiving unit 217 may be stored in the temporary storage 221 , and the data stored in the temporary storage 221 may be distributed by the distribution unit 216 .

클라이언트(300)는 뷰어가 제공된 웹 브라우저를 포함한다. 웹 브라우저에는 영상을 재생하는 영상 플레이어가 제공된다. 영상 플레이어는 예를 들어, HTML5와 호환되는 애플리케이션으로서 달성된다.The client 300 includes a web browser provided with a viewer. The web browser is provided with an image player for playing an image. The video player is achieved, for example, as an application compatible with HTML5.

웹 서버(520)는 영상 서버로서의 기능을 이외의 기능을 갖는 서버 디바이스이다. 예를 들어, 웹 서버(520)는 영상 분배 시스템과 상이한 외부 시스템을 위한 사용자 인터페이스(UI)를 제공하기 위한 서버 디바이스이다.The web server 520 is a server device having functions other than a function as an image server. For example, the web server 520 is a server device for providing a user interface (UI) for an external system different from the image distribution system.

이러한 방식으로, 전술한 실시예에 따른 영상 분배 시스템은 예를 들어, 인터넷 상에서 사용되는 웹 시스템으로서 달성될 수 있다.In this way, the image distribution system according to the above-described embodiment can be achieved as a web system used on the Internet, for example.

전술한 바와 같이, 본 실시예에 따른 영상 분배 시스템에서는, 품질 저하없이 라인 부하 및 처리 부하를 줄일 수 있다.As described above, in the image distribution system according to the present embodiment, the line load and the processing load can be reduced without degrading the quality.

이하에서는 도 16을 참조하여 본 실시예에 따른 송신 디바이스의 하드웨어 구성에 대해 설명한다. 도 16은 본 실시예에 따른 송신 디바이스의 예시적인 하드웨어 구성을 도시하는 설명도이다.Hereinafter, a hardware configuration of the transmission device according to the present embodiment will be described with reference to FIG. 16 . 16 is an explanatory diagram showing an exemplary hardware configuration of the transmission device according to the present embodiment.

본 실시예에 따른 송신 디바이스는 CPU(51)와 같은 제어 디바이스, ROM(read only memory)(52) 및 RAM(53)과 같은 저장 디바이스들, 통신을 수행하기 위해 네트워크와 접속된 통신 I/F(54), 및 이들 컴포넌트들을 접속하는 버스(61)를 포함한다.The transmission device according to the present embodiment includes a control device such as a CPU 51, storage devices such as a read only memory (ROM) 52 and a RAM 53, and a communication I/F connected to a network to perform communication. 54, and a bus 61 connecting these components.

본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 미리 ROM(52) 등에 포함되어 제공된다.A computer program to be executed by the transmitting device according to the present embodiment is included in the ROM 52 or the like in advance and provided.

본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 CD-ROM(compact disc read only memory), FD(flexible disk), CD-R(compact disc recordable), 또는 DVD(digital versatile disc)와 같은 컴퓨터 판독가능 기록 매체 상에 설치가능한 또는 실행가능한 포맷의 파일로서 기록될 수 있고, 컴퓨터 프로그램 제품으로서 제공될 수 있다.The computer program to be executed by the transmitting device according to the present embodiment is a computer readable medium such as a compact disc read only memory (CD-ROM), a flexible disk (FD), a compact disc recordable (CD-R), or a digital versatile disc (DVD). It may be recorded as a file in an installable or executable format on a possible recording medium, and may be provided as a computer program product.

본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 인터넷과 같은 네트워크와 접속된 컴퓨터 상에 저장될 수 있고, 네트워크를 통해 다운로드함으로써 제공될 수 있다. 본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 인터넷과 같은 네트워크를 통해 제공되거나 분배될 수 있다.The computer program to be executed by the transmitting device according to the present embodiment may be stored on a computer connected to a network such as the Internet, and may be provided by downloading through the network. The computer program to be executed by the transmitting device according to the present embodiment may be provided or distributed via a network such as the Internet.

본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 컴퓨터로 하여금 전술한 송신 디바이스의 각각의 컴포넌트로서 기능하게 할 수 있다. 컴퓨터는 CPU(51)가 컴퓨터 프로그램을 컴퓨터 판독가능 저장 매체로부터 메인 저장 디바이스 상으로 판독하고 컴퓨터 프로그램을 실행함으로써 달성될 수 있다.The computer program to be executed by the transmitting device according to the present embodiment may cause the computer to function as each component of the above-described transmitting device. The computer can be achieved by the CPU 51 reading the computer program from the computer-readable storage medium onto the main storage device and executing the computer program.

특정 실시예들이 설명되었지만, 이들 실시예는 단지 예로서 제시된 것이고, 본 발명의 범위를 제한하려는 것은 아니다. 실제로, 본 명세서에 설명된 신규의 실시예들은 각종 다른 형태로 구현될 수 있고; 또한, 본 명세서에 설명된 실시예들의 형태에서의 각종 생략, 대체 및 변경은 본 발명의 사상을 벗어나지 않고 행해질 수 있다. 첨부의 특허청구범위 및 그 등가물들은 본 발명의 범주 및 사상에 속하는 것으로서 그러한 형태 또는 변형을 망라하는 것으로 의도된다.Although specific embodiments have been described, these examples are presented by way of example only and are not intended to limit the scope of the invention. Indeed, the novel embodiments described herein may be embodied in a variety of different forms; In addition, various omissions, substitutions, and changes in the form of the embodiments described herein may be made without departing from the spirit of the present invention. It is intended that the appended claims and their equivalents cover such forms or modifications as fall within the scope and spirit of the present invention.

Claims (21)

송신 디바이스로서,
송신될 복수의 송신 데이터를 제1 데이터 및 제2 데이터로 분할하고;
상기 송신 데이터를 수신 디바이스에 분배하도록 구성된 서버 디바이스에 상기 제1 데이터를 제1 기간 동안 송신하고;
상기 제2 데이터 및 상기 제2 데이터가 상기 서버 디바이스에 송신되지 않았다는 것을 표시하는 메타데이터를 스토리지에 저장하고;
상기 수신 디바이스 또는 상기 서버 디바이스로부터, 상기 메타데이터를 사용함으로써 상기 서버 디바이스에 송신되지 않았다고 판정된 상기 제2 데이터의 송신 요청을 수신하고;
상기 제1 기간 이후인 제2 기간 동안, 상기 송신 요청에 따라 상기 제2 데이터를 상기 서버 디바이스에 송신하도록 구성되는 하나 이상의 프로세서를 포함하는 송신 디바이스.
A transmitting device, comprising:
dividing a plurality of transmission data to be transmitted into first data and second data;
transmit the first data during a first period to a server device configured to distribute the transmission data to a receiving device;
store in storage the second data and metadata indicating that the second data has not been transmitted to the server device;
receive, from the receiving device or the server device, a transmission request of the second data determined not to be transmitted to the server device by using the metadata;
and one or more processors configured to transmit the second data to the server device according to the transmission request during a second period of time after the first period.
제1항에 있어서,
상기 송신 데이터는 프레임내 예측에 의해 인코딩된 하나 이상의 화상 데이터 및 프레임간 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하는 동화상 데이터이고,
상기 제1 데이터는 상기 프레임내 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하고,
상기 제2 데이터는 상기 프레임간 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하는 송신 디바이스.
According to claim 1,
the transmission data is moving picture data including one or more picture data encoded by intra-frame prediction and one or more picture data encoded by inter-frame prediction;
the first data includes one or more picture data encoded by the intra-frame prediction;
and the second data includes one or more picture data encoded by the inter-frame prediction.
제1항에 있어서,
상기 송신 데이터는 프레임내 예측에 의해 인코딩된 하나 이상의 화상 데이터 및 프레임간 예측에 의해 인코딩된 복수의 화상 데이터를 포함하는 동화상 데이터이고,
상기 제1 데이터는 상기 프레임내 예측에 의해 인코딩된 하나 이상의 화상 데이터 및 상기 프레임간 예측에 의해 인코딩된 복수의 화상 데이터 중 일부를 포함하고,
상기 제2 데이터는 상기 프레임간 예측에 의해 인코딩된 복수의 화상 데이터 중 나머지 부분을 포함하는 송신 디바이스.
According to claim 1,
the transmission data is moving picture data including one or more picture data encoded by intra-frame prediction and a plurality of picture data encoded by inter-frame prediction;
The first data includes at least one picture data encoded by the intra-frame prediction and a part of a plurality of picture data encoded by the inter-frame prediction,
The second data includes a remaining portion of the plurality of image data encoded by the inter-frame prediction.
제1항에 있어서,
상기 송신 데이터는 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 및 프레임간 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하는 동화상 데이터이고,
상기 제1 데이터는 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중 일부를 포함하고,
상기 제2 데이터는 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중 나머지 부분, 및 상기 프레임간 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하는 송신 디바이스.
According to claim 1,
the transmission data is moving picture data including a plurality of picture data encoded by intra-frame prediction and one or more picture data encoded by inter-frame prediction;
The first data includes a part of a plurality of image data encoded by the intra-frame prediction,
The second data includes a remaining portion of the plurality of picture data encoded by the intra-frame prediction, and one or more picture data encoded by the inter-frame prediction.
제1항에 있어서,
상기 송신 데이터는 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 및 프레임간 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하는 동화상 데이터이고,
상기 제1 데이터는 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중 일부를 포함하고,
상기 프로세서들은 상기 송신 데이터가 송신될 네트워크의 대역에 따라 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중에서 상기 제1 데이터에 포함될 복수의 화상 데이터 중 일부를 변경하는 송신 디바이스.
According to claim 1,
the transmission data is moving picture data including a plurality of picture data encoded by intra-frame prediction and one or more picture data encoded by inter-frame prediction;
The first data includes a part of a plurality of image data encoded by the intra-frame prediction,
and the processors change a part of a plurality of image data to be included in the first data among a plurality of image data encoded by the intra-frame prediction according to a band of a network in which the transmission data is to be transmitted.
제1항에 있어서,
상기 송신 데이터는 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 및 프레임간 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하는 동화상 데이터이고,
상기 제1 데이터는 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중 일부를 포함하고,
상기 프로세서들은 상기 수신 디바이스 또는 상기 서버 디바이스로부터의 요청에 따라 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중에서 상기 제1 데이터에 포함될 복수의 화상 데이터 중 일부를 변경하는 송신 디바이스.
According to claim 1,
the transmission data is moving picture data including a plurality of picture data encoded by intra-frame prediction and one or more picture data encoded by inter-frame prediction;
The first data includes a part of a plurality of image data encoded by the intra-frame prediction,
and the processors change a part of a plurality of image data to be included in the first data among a plurality of image data encoded by the intra-frame prediction according to a request from the receiving device or the server device.
제1항에 있어서,
상기 프로세서들은 인코더를 포함하는 디바이스로부터, 상기 인코더에 의해 인코딩된 상기 송신 데이터를 수신하는 송신 디바이스.
According to claim 1,
and the processors receive, from a device comprising an encoder, the transmit data encoded by the encoder.
제2항에 있어서,
상기 프로세서들은 상기 송신 데이터가 송신될 네트워크의 대역에 따라 인코딩량이 상이하도록 상기 제1 데이터를 인코딩하는 송신 디바이스.
3. The method of claim 2,
and the processors encode the first data so that an encoding amount is different according to a band of a network in which the transmission data is to be transmitted.
제1항에 있어서,
상기 프로세서들은 상기 송신 데이터가 송신될 네트워크의 대역에 따라 상기 제1 데이터의 크기를 변경하는 송신 디바이스.
According to claim 1,
and the processors change the size of the first data according to a band of a network to which the transmission data is to be transmitted.
제1항에 있어서,
상기 프로세서들은 미리 결정된 조건에 따라 상기 스토리지에 저장된 상기 제2 데이터를 삭제하는 송신 디바이스.
According to claim 1,
and the processors delete the second data stored in the storage according to a predetermined condition.
제1항에 있어서,
상기 프로세서들은 상기 제1 데이터 및 상기 제2 데이터를 상기 서버 디바이스에 의해 분배될 데이터의 포맷으로 변환하는 송신 디바이스.
According to claim 1,
and the processors convert the first data and the second data into a format of data to be distributed by the server device.
제1항에 있어서,
상기 프로세서들은 상기 제1 데이터 및 상기 제2 데이터에, 상기 서버 디바이스에 의해 분배될 데이터의 포맷으로 변환하기 위한 메타데이터를 추가하는 송신 디바이스.
According to claim 1,
and the processors add, to the first data and the second data, metadata for converting into a format of data to be distributed by the server device.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 송신 방법으로서,
송신될 복수의 송신 데이터를 제1 데이터 및 제2 데이터로 분할하는 단계;
상기 송신 데이터를 수신 디바이스에 분배하도록 구성된 서버 디바이스에 상기 제1 데이터를 제1 기간 동안 송신하는 단계;
상기 제2 데이터 및 상기 제2 데이터가 상기 서버 디바이스에 송신되지 않았다는 것을 표시하는 메타데이터를 스토리지에 저장하는 단계;
상기 수신 디바이스 또는 상기 서버 디바이스로부터, 상기 메타데이터를 사용함으로써 상기 서버 디바이스에 송신되지 않았다고 판정된 상기 제2 데이터의 송신 요청을 수신하는 단계; 및
상기 제1 기간 이후인 제2 기간 동안, 상기 송신 요청에 따라 상기 제2 데이터를 상기 서버 디바이스에 송신하는 단계를 포함하는 송신 방법.
A transmission method comprising:
dividing a plurality of transmission data to be transmitted into first data and second data;
transmitting the first data for a first period to a server device configured to distribute the transmission data to a receiving device;
storing the second data and metadata indicating that the second data has not been transmitted to the server device in storage;
receiving, from the receiving device or the server device, a transmission request of the second data determined not to be transmitted to the server device by using the metadata; and
and transmitting the second data to the server device according to the transmission request during a second period after the first period.
프로그램된 명령어들을 포함하는 컴퓨터 프로그램을 기록한 비일시적 컴퓨터 판독가능 기록 매체로서,
상기 명령어들은 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금:
송신될 복수의 송신 데이터를 제1 데이터 및 제2 데이터로 분할하고;
상기 송신 데이터를 수신 디바이스에 분배하도록 구성된 서버 디바이스에 상기 제1 데이터를 제1 기간 동안 송신하고;
상기 제2 데이터 및 상기 제2 데이터가 상기 서버 디바이스에 송신되지 않았다는 것을 표시하는 메타데이터를 스토리지에 저장하고;
상기 수신 디바이스 또는 상기 서버 디바이스로부터, 상기 메타데이터를 사용함으로써 상기 서버 디바이스에 송신되지 않았다고 판정된 상기 제2 데이터의 송신 요청을 수신하고;
상기 제1 기간 이후인 제2 기간 동안, 상기 송신 요청에 따라 상기 제2 데이터를 상기 서버 디바이스에 송신하게 하는, 비일시적 컴퓨터 판독가능 기록 매체.
A non-transitory computer-readable recording medium storing a computer program including programmed instructions, comprising:
The instructions, when executed by a computer, cause the computer to:
dividing a plurality of transmission data to be transmitted into first data and second data;
transmit the first data during a first period to a server device configured to distribute the transmission data to a receiving device;
store in storage the second data and metadata indicating that the second data has not been transmitted to the server device;
receive, from the receiving device or the server device, a transmission request of the second data determined not to be transmitted to the server device by using the metadata;
and transmit the second data to the server device according to the transmission request during a second period after the first period.
KR1020200023471A 2020-02-26 2020-02-26 Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium KR102291293B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200023471A KR102291293B1 (en) 2020-02-26 2020-02-26 Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023471A KR102291293B1 (en) 2020-02-26 2020-02-26 Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium

Publications (1)

Publication Number Publication Date
KR102291293B1 true KR102291293B1 (en) 2021-08-20

Family

ID=77466467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023471A KR102291293B1 (en) 2020-02-26 2020-02-26 Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium

Country Status (1)

Country Link
KR (1) KR102291293B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060114080A (en) * 2005-04-27 2006-11-06 삼성전자주식회사 System and method of providing multimedia streaming service
KR100919313B1 (en) * 2001-09-18 2009-10-01 소니 가부시끼 가이샤 Transmission apparatus, transmission method, content delivery system, content delivery method, and recording medium where program in recorded
KR20110041409A (en) * 2009-10-15 2011-04-21 소니 주식회사 Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server
KR20110051336A (en) * 2009-11-10 2011-05-18 주식회사 노매드커넥션 Encoding system and method of moving picture
KR20150132372A (en) * 2013-03-15 2015-11-25 퀄컴 인코포레이티드 Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919313B1 (en) * 2001-09-18 2009-10-01 소니 가부시끼 가이샤 Transmission apparatus, transmission method, content delivery system, content delivery method, and recording medium where program in recorded
KR20060114080A (en) * 2005-04-27 2006-11-06 삼성전자주식회사 System and method of providing multimedia streaming service
KR20110041409A (en) * 2009-10-15 2011-04-21 소니 주식회사 Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server
KR20110051336A (en) * 2009-11-10 2011-05-18 주식회사 노매드커넥션 Encoding system and method of moving picture
KR20150132372A (en) * 2013-03-15 2015-11-25 퀄컴 인코포레이티드 Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames

Similar Documents

Publication Publication Date Title
US20230224487A1 (en) Transmission device, communication system, transmission method, and computer program product
US9106934B2 (en) Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol
US9832492B2 (en) Distribution of adaptive bit rate video streaming via hyper-text transfer protocol
US20150201197A1 (en) Streaming multiple encodings with virtual stream identifiers
US20110037864A1 (en) Method and apparatus for live capture image
JP2018182447A (en) Video distribution apparatus, video distribution method, and program
US11463651B2 (en) Video frame-based media stream bandwidth reduction
US11438545B2 (en) Video image-based media stream bandwidth reduction
TWI731579B (en) Transmission device, communication system, transmission method, and computer program product
KR102291293B1 (en) Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium
KR102602898B1 (en) Server device, information processing method, and non-transitory computer readable recording medium
CN113315997B (en) Transmission device, server device, transmission method, and program
JP7302076B2 (en) Transmission device, server device, transmission method and program
KR102613872B1 (en) Server device, communication system, and non-transitory computer readable recording medium
CN111800649A (en) Method and device for storing video and method and device for generating video
KR20230013461A (en) Video storing apparatus, video monitoring apparatus and method performed in the same
JP2020150321A (en) Moving image distribution device and moving image distribution method and program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant