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 PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims description 30
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 53
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 19
- 239000012634 fragment Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 11
- 238000003384 imaging method Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000000593 degrading effect Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing 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
Description
본 출원은 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
네트워크들(401 및 402)은 인터넷과 같은 임의의 네트워크들일 수 있다. 예를 들어, 네트워크들(401 및 402)은 각각 유선 또는 무선 네트워크일 수 있다. 네트워크들(401 및 402)은 하나의 통합된 네트워크로서 구성될 수 있다.
도 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
도 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
송신 디바이스(100)는 인코딩된 영상을 픽처마다 분할(프래그먼트화)한다. 다음으로, 송신 디바이스(100)는 분할된 픽처 부분(예를 들어, I 픽처들)을 서버(200)에 송신하고, 나머지 픽처 부분(예를 들어, P 픽처들)을 스토리지에 저장한다. 송신 디바이스(100)는 또한 서버(200)에 송신된 픽처들을 재생(로컬 재생), 백업 등을 위해 스토리지에 저장할 수 있다.The
통상적으로, 서버(200)는 송신 디바이스(100)로부터 송신된 I 픽처들만을 클라이언트(300)에 분배한다. 클라이언트(300)는 예를 들어, 뷰어 애플리케이션을 사용하여 분배된 영상을 표시한다. 뷰어 애플리케이션은 예를 들어, 브라우저에 포함되고 브라우징을 위해 영상을 표시하도록 구성된다. I 픽처들은 일정한 간격(예를 들어, 1초 동안 몇개의 픽처 또는 몇 초 동안 하나의 픽처)으로 송신되고, 따라서 정지 화상(I 픽처)이 일정한 간격으로 갱신되는 영상(정지-모션 애니메이션 또는 프레임별 재생(간헐적인) 동화상)이 클라이언트(300) 상에 표시된다. 뷰어 애플리케이션은 예를 들어, HTML(Hyper Text Markup Language) 5용의 애플리케이션 프로그래밍 인터페이스로서 MSE(Media Source Extensions)를 사용하는 애플리케이션으로서 달성될 수 있다. 이것은 HTTP 다운로딩을 사용한 스트리밍 재생을 가능하게 한다.Typically, the
클라이언트(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
전술한 바와 같이, 예를 들어, 화상 데이터에 대한 재압축과 같은 변환 처리를 제공하지 않고, 서버(200)는 송신 디바이스(100)로부터 송신된 화상 데이터를, 직접 또는 송신 패킷 포맷만을 가공한 후에, 클라이언트(300)에 분배한다. 예를 들어, 서버(200)는 낮은 송신 속도로 분배하기 위해 품질을 감소시킨 영상으로 변환하는 처리를 실행할 필요가 없다. 따라서, 서버(200) 상의 처리 부하의 증가 및 화상 품질의 저하가 회피될 수 있다. 또한, 통신의 양은 정상 동작시 I 픽처들만을 분배함으로써 감소될 수 있다. 이러한 방식으로, 품질 저하없이 라인 부하 및 처리 부하가 감소될 수 있다.As described above, for example, without providing conversion processing such as recompression for image data, the
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
이하에서는 본 실시예에 따른 영상 분배 시스템의 디바이스들의 구성들에 대해 상세히 설명한다. 도 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
촬상 유닛(101)은 영상(동화상 데이터)를 촬영하고 출력한다. 촬상 유닛(101)은 예를 들어, CCD(charge coupled device) 또는 CMOS 화상 센서(CIS)와 같은 화상 센서, 또는 프레임 메모리, 프레임 그래버(frame grabber), 또는 스크린 캡처와 같은 프레임 버퍼 캡처에 의해 달성될 수 있다.The
스토리지(121)는 송신 디바이스(100)에 의해 수행되는 다양한 종류의 처리에서 사용되는 다양한 종류의 데이터를 저장한다. 예를 들어, 스토리지(121)는 촬상 유닛(101)에 의해 촬영된 영상을 저장한다.The storage 121 stores various types of data used in various types of processing performed by the
인코딩 유닛(111)은 촬상 유닛(101)으로부터 입력된 영상을 인코딩한다. 인코딩 유닛(111)에 의한 인코딩은 임의의 방식, 예를 들어, H.264와 같은 표준에 따른 인코딩 방식에 의해 수행될 수 있다. 예를 들어, 인코딩 유닛(111)은 압축에 의해 영상을 인코딩하고, I 및 P 픽처들을 포함하는 영상을 출력한다. 인코딩된 영상의 픽처들은 송신될 복수의 송신 데이터에 대응한다.The encoding unit 111 encodes the image input from the
분할 유닛(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
서버(200)에 송신될 데이터는 서버(200)에 의해 데이터가 분배되는 포맷으로의 변환에 사용될 수 있는 추가된 데이터(메타데이터)를 갖는 포맷으로 표현될 수 있다. 예를 들어, 분할 유닛(112)은 서버(200)가 fMP4와 같은 표준에 따른 포맷으로 변환을 수행할 수 있는 변환에 필요한 정보를 포함하는 메타데이터를 분할된 데이터에 추가할 수 있다. 변환에 필요한 정보는 예를 들어, 송신 디바이스(100)를 식별하기 위한 정보(예를 들어, IP 어드레스 및 포트 번호), 시간(예를 들어, 촬영된 일, 시, 분, 초), 및 시간 내에서의 화상의 위치(예를 들어, 선두로부터의 화상의 순서를 표시한 정보)를 포함한다.Data to be transmitted to the
분할 유닛(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
분할 유닛(112)은 네트워크(401)의 대역 또는 클라이언트(300) 또는 서버(200)로부터의 요청에 따라 전술한 바와 같은 분할 방법을 동적으로 스위칭함으로써 서버(200)에 송신될 데이터의 크기 또는 인코딩량을 변경할 수 있다.The segmentation unit 112 dynamically switches the segmentation method as described above according to the bandwidth of the
인코딩 유닛(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
따라서, 인코딩 유닛(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
데이터 송신 유닛(113)은 데이터를 서버(200)와 같은 외부 디바이스에 송신한다. 예를 들어, 데이터 송신 유닛(113)은 분할 유닛(112)에 의해 분할된 데이터 중에서 서버(200)에 송신될 데이터(제1 데이터)를 서버(200)에 송신한다. (후술될) 요청 수신 유닛(115)에 의해 스토리지(121)에 저장된 데이터의 송신 요청이 수신될 때, 데이터 송신 유닛(113)은 요청된 데이터를 서버(200)에 송신한다.The
스토리지 제어 유닛(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
요청 수신 유닛(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
전술한 컴포넌트들(인코딩 유닛(111), 분할 유닛(112), 데이터 송신 유닛(113), 스토리지 제어 유닛(114), 및 요청 수신 유닛(115))은 예를 들어, 하나 이상의 프로세서에 의해 각각 달성된다. 예를 들어, 각각의 컴포넌트는 중앙 처리 장치(CPU)와 같은 프로세서에 의해 실행되는 컴퓨터 프로그램에 의해, 즉, 소프트웨어에 의해 달성될 수 있다. 컴포넌트는 전용 집적 회로(IC)와 같은 프로세서에 의해, 즉, 하드웨어에 의해 달성될 수 있다. 컴포넌트는 소프트웨어 및 하드웨어에 의해 달성될 수 있다. 복수의 프로세서가 사용되는 경우, 각각의 프로세서는 컴포넌트들 중 하나를 달성할 수 있거나, 컴포넌트들 중 2개 이상을 달성할 수 있다.The above-described components (encoding unit 111 , partitioning unit 112 ,
송신 디바이스(100)의 기능들은 물리적으로 또는 논리적으로 서로 상이한 복수의 디바이스에 분배될 수 있다. 예를 들어, 기능들은 촬상 유닛(101) 및 인코딩 유닛(111)을 포함하는 디바이스(도 2에서의 영상 입력 및 인코더), 및 나머지 컴포넌트들(도 2에서의 프래그먼트화 및 스토리지)을 포함하는 디바이스에 분배될 수 있다. 이 경우, 예를 들어, 인코딩 유닛(111)에 의해 인코딩된 데이터는 네트워크 또는 동축 케이블과 같은 통신 경로를 통해 후자의 디바이스에 입력된다. 후자의 디바이스는 통신 경로를 통해 인코딩된 데이터를 취득할 수 있다.Functions of the
이하에서는 서버(200)의 구성에 대해 설명한다. 서버(200)는 네트워크(402)를 통해 분배 리스트 및 판정 정보를 클라이언트(300)에 분배한다. 분배 리스트는 분배된 데이터(이하, 콘텐츠라고도 칭함)와 관련된 정보가 기입되는 리스트이다. 통상적으로, 콘텐츠 분배기는 콘텐츠의 취득처 및 비트 레이트와 같은 메타데이터를 분배 리스트에 기입한다. 콘텐츠 취득자는 분배 리스트를 취득하고 분석하여 취득될 콘텐츠를 특정한다.Hereinafter, the configuration of the
분배 리스트에 기입된 콘텐츠는 송신될 수 있는 콘텐츠뿐만 아니라, 송신될 준비가 되어 있지 않은 콘텐츠 및 송신이 허가되지 않은 콘텐츠를 포함한다. 판정 정보는 수신 디바이스(클라이언트(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
검출 유닛(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
도 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
도 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
서버(200)는 콘텐츠가 제공되어 있는지에 관계없이 콘텐츠가 송신될 준비가 되어 있는지를 특정할 수 있다. 예를 들어, 통신 부하를 감소시키기 위해, 서버(200)는 복수의 제공된 콘텐츠 중 일부 또는 전부에 대해, 콘텐츠가 송신될 준비가 되어 있지 않다는 것을 표시하는 판정 정보를 생성하여 이들 콘텐츠를 송신하지 않을 수 있다. 이러한 방식으로, 일부 경우에서 송신될 준비가 되어 있는 콘텐츠가 송신될 준비가 되어 있지 않게 된다.The
판정 정보는 콘텐츠마다 하나 또는 복수개로서 제공될 수 있다. 예를 들어, 콘텐츠의 적어도 하나의 메타데이터가 판정 정보로서 사용될 수 있다. 메타데이터는 예를 들어, 콘텐츠의 범위를 표시하는 범위 정보, 콘텐츠의 데이터 길이, 및 콘텐츠의 종류이다. 범위 정보는 예를 들어, 콘텐츠로서 분배될 데이터의 일부의 범위를 특정하기 위한 정보이다. 범위 정보가 확인될 때에는, 확인된 범위 정보를 판정 정보로서 설정하고, 또는 범위 정보가 아직 확인되지 않았을 때에는, 범위 정보가 아직 확인되지 않았다는 것을 표시하는 미리 결정된 정보(미확인 정보)를 판정 정보로서 설정한다. 미확인 정보가 판정 정보로서 범위 정보에 설정되어 있을 때, 클라이언트(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
도 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
요청 송수신 유닛(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
분배 유닛(216)은 요청된 콘텐츠를 송신 요청을 송신한 클라이언트(300)에 송신한다. 푸시-타입 송신이 채용되는 경우, 분배 유닛(216)은 클라이언트(300)로부터의 요청없이 콘텐츠를 송신할 수 있다.The
데이터 수신 유닛(217)은 송신 디바이스(100)로부터 송신된 데이터를 수신한다. 예를 들어, 데이터 수신 유닛(217)은 서버(200)에 송신될 데이터로서 분할된 데이터를 수신한다. 스토리지(121)에 저장되어 있는 데이터의 송신 요청이 송신되면, 데이터 수신 유닛(217)은 송신 요청에 응답하여 송신 디바이스(100)에 의해 송신된 데이터를 수신한다.The
스토리지 제어 유닛(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) 상에 이러한 파일들의 연관을 기록하고 분배시 그 연관을 참조함으로써 달성될 수 있다.
다음으로, 스토리지 제어 유닛(218)은 임시 스토리지(221)에 저장된 데이터를 스토리지(222)에 기입하는 처리(기입 처리)를 수행한다. 기입 처리에서는, 스토리지 제어 유닛(218)이 임시 스토리지(221)에 저장된 복수의 데이터를 하나의 데이터로 병합하고 그 병합된 데이터를 스토리지(222)에 저장할 수 있다. 예를 들어, 스토리지 제어 유닛(218)은 일정한 지속기간 내에 촬영된 복수의 데이터를 데이터가 하나의 파일에 포함되도록 병합하고, 병합된 파일(병합 파일)을 스토리지(222)에 기입할 수 있다. 따라서, 스토리지(222)에 저장되는 파일들의 수가 예를 들어, 운영 체제에 의해 허용되는 수를 초과하여 데이터가 더 이상 저장될 수 없게 되는 실패를 회피할 수 있다.Next, the
복수의 데이터가 하나의 데이터로 병합되어 스토리지(222)에 저장되고, 그 후 병합된 데이터에 포함된 데이터의 송신 요청이 클라이언트(300)로부터 수신될 때, 병합된 데이터 내의 데이터를 특정하는 기능이 필요하다. 따라서, 예를 들면, 리스트 생성 유닛(211)은 분배 리스트가 데이터를 특정하기 위한 특정 정보를 포함하도록 분배 리스트를 갱신할 수 있다. 예를 들어, 리스트 생성 유닛(211)은 병합 파일 내의 데이터의 위치를 표시하는 (선두로부터의 바이트 오프셋과 같은) 특정 정보가 데이터의 (URL과 같은) 식별 정보와 연관되어 있는 분배 리스트를 작성하고, 그 분배 리스트를 클라이언트(300)에 전송한다.A plurality of data is merged into one data and stored in the
갱신된 분배 리스트를 참조하고 데이터의 송신을 요청하는 경우, 클라이언트(300)는 요청된 데이터의 식별 정보 및 그와 연관된 특정 정보를 특정한다. 예를 들어, 클라이언트(300)는 데이터의 식별 정보를 표시하는 URL에 특정 정보를 추가함으로써 획득된 정보를 사용하여 데이터를 요청한다. 클라이언트(300)는 특정 정보를 포함하는 헤더(예를 들어, HTTP 확장 헤더)를 갖는 송신 요청을 통해 데이터를 요청할 수 있다.When referring to the updated distribution list and requesting transmission of data, the
이 경우에 요청된 파일 명칭은 분할 전의 원래의 파일 명칭일 수 있다. 이것은 데이터가 클라이언트(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
서버(200)는 클라이언트(300)로부터 송신된 특정 정보를 사용하여 병합된 데이터로부터 원하는 데이터를 특정하고, 그 특정된 데이터를 요청이 송신된 클라이언트(300)에 분배한다.The
스토리지 제어 유닛(218)은 미리 결정된 조건에 따라 스토리지(222)에 저장된 데이터를 삭제할 수 있다. 예를 들어, 스토리지 제어 유닛(218)은 일정한 지속기간 동안 저장된 데이터를 삭제할 수 있다. 스토리지 제어 유닛(218)은 일정한 시간이 경과할 때마다 단계적으로 데이터를 삭제할 수 있다. 예를 들어, 스토리지 제어 유닛(218)은 미리 결정된 지속기간(예를 들어, 1일)이 경과했을 때 스토리지(222) 내의 모든 또는 일부 P 픽처를 삭제하고, 그 후 (제1 지속기간과 동일하거나 상이한) 미리 결정된 지속기간이 경과할 때마다 단계적으로 씨닝함으로써 스토리지(222) 내의 P 픽처들 및 I 픽처들을 삭제한다. 이러한 처리를 통해, 예를 들어, 장기간 기록을 위해 스토리지량을 감소시킬 필요가 있을 때 품질을 저하시킨 영상으로의 변환 처리를 실행하지 않고, 시간 경과와 함께 간헐성을 증가시킨 영상을 획득할 수 있다. P 픽처들의 단계적인 삭제는 예를 들어, 일본 특허 제6239472호에 개시된 인코딩 방법에 의해 수행될 수 있다.The
예를 들어, 스토리지 제어 유닛(218)은 송신된 데이터를 우선하여 삭제할 수 있다. 이 경우, 스토리지 제어 유닛(218)은 데이터가 송신되었는지를 표시하는 메타데이터를 사용하여 데이터가 송신되었는지를 판정할 수 있다. 또한, 스토리지 제어 유닛(218)은 삭제 처리시 참조될 다른 메타데이터를 미리 준비할 수 있다. 이 메타데이터는 예를 들어, 데이터가 어느 픽처에 대응하는지를 판정하기 위한 데이터이다. 보다 구체적으로, 메타데이터는 예를 들어, 시간(예를 들어, 촬영된 일, 시, 분, 및 초), 그 시간 내에서의 화상의 위치(예를 들어, 선두로부터의 순서를 표시하는 정보), 파일의 명칭, 및 파일의 선두로부터의 바이트 오프셋을 포함한다.For example, the
임시 스토리지(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
전술된 바와 같은 기입 처리 이상이 발생하지 않을 때에는, 어떠한 임시 스토리지(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 ,
서버(200)의 기능들은 물리적으로 또는 논리적으로 서로 상이한 복수의 디바이스에 분배될 수 있다. 예를 들어, 기능들은 분배 리스트를 송신하도록 구성된 서버 디바이스 및 콘텐츠를 송신하도록 구성된 서버 디바이스에 분배될 수 있다. 대안적으로, 예를 들어, 기능들은 송신 디바이스(100)로부터 데이터를 수신하고, 임시 스토리지(221) 및 스토리지(222)에 데이터를 저장하도록 구성된 서버 디바이스, 및 임시 스토리지(221) 및 스토리지(222)로부터 데이터를 판독하고 데이터를 분배하도록 구성된 서버 디바이스에 분배될 수 있다.The functions of the
다음은 클라이언트(300)의 기능들에 대해 설명한다. 도 3에 도시한 바와 같이, 클라이언트(300)는 리스트 수신 유닛(311), 판정 정보 수신 유닛(312), 판정 유닛(313), 요청 송신 유닛(314), 데이터 수신 유닛(315), 재생 유닛(316) 및 스토리지(321)를 포함한다.The following describes the functions of the
리스트 수신 유닛(311)은 서버(200)로부터 분배 리스트를 수신한다. 판정 정보 수신 유닛(312)은 서버(200)로부터 판정 정보를 수신한다.The list receiving unit 311 receives the distribution list from the
판정 유닛(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
스토리지(321)는 클라이언트(300)에 의해 사용될 다양한 종류의 데이터를 저장한다. 예를 들어, 스토리지(321)는 송신된 분배 리스트, 송신된 판정 정보, 및 분배된 콘텐츠를 저장한다.The
전술한 컴포넌트들(리스트 수신 유닛(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,
전술한 바와 같은 분배 리스트 및 판정 정보가 사용되는 경우, 서버(200)는 예를 들어, 갱신이 있을 때마다 분배 리스트를 작성하고 송신할 필요가 없어 진다. 클라이언트(300)는 판정 정보를 참조함으로써 갱신된 부분을 더 쉽게 분석할 수 있다. 구체적으로, 분배 리스트를 다시 취득 및 분석하지 않고 최신의 분배 리스트와 등가인 정보를 효율적으로 취득 및 분석할 수 있다.When the distribution list and determination information as described above are used, the
분배 리스트는 예를 들어, 판정 정보를 사용하지 않고 데이터 갱신이 있을 때마다 작성 및 송신될 수 있다. 이 경우, 판정 정보에 관련된 기능들(예를 들어, 판정 정보 생성 유닛(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
이하에서는, 본 실시예에 따른 송신 디바이스(100)에 의해 수행되는 데이터 송신 처리에 대해 설명한다. 도 6은 본 실시예에서의 예시적인 송신 처리를 도시하는 흐름도이다.Hereinafter, data transmission processing performed by the
촬상 유닛(101)은 분배될 영상을 촬영한다(단계 S101). 인코딩 유닛(111)은 촬상 유닛(101)으로부터 입력된 영상을 인코딩한다(단계 S102). 분할 유닛(112)은 영상을 서버(200)에 송신될 데이터 및 스토리지(121)에 저장될 데이터로 분할한다. 예를 들어, 분할 유닛(112)은 입력된 영상을 I 픽처 프래그먼트 및 P 픽처 프래그먼트로 분할한다(단계 S103). 데이터 송신 유닛(113)은 I 픽처 프래그먼트를 서버(200)에 송신한다(단계 S104). 스토리지 제어 유닛(114)은 P 픽처 프래그먼트를 스토리지(121)에 저장한다(단계 S105).The
다음은 스토리지(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
이하에서는, 이와 같이 구성된 본 실시예에 따른 서버(200)에 의해 수행되는 리스트 생성 처리에 대해 설명한다. 리스트 생성 처리시, 서버(200)는 분배 리스트를 생성한다. 도 8은 본 실시예에서의 예시적인 리스트 생성 처리를 도시하는 흐름도이다.Hereinafter, list generation processing performed by the
서버(200)의 리스트 생성 유닛(211)은 예를 들어, 클라이언트(300)로부터의 요청에 따라 분배 리스트를 생성한다(단계 S301). 리스트 생성 유닛(211)은 생성된 분배 리스트를, 예를 들어, 스토리지(222)에 저장한다(단계 S302).The list generating unit 211 of the
예를 들어, 분배될 콘텐츠들은 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
서버(200)의 판정 정보 생성 유닛(212)은 판정 정보가 분배될 콘텐츠에 대해 생성되었는지를 판정한다(단계 S401). 판정 정보가 생성되지 않았을 경우(단계 S401에서 아니오), 판정 정보 생성 유닛(212)은 콘텐츠에 대한 판정 정보를 생성한다(단계 S402). 전술한 도 5는 도 8을 참조하여 설명된 예(ContentA_1 및 ContentA_3이 분배가능한 예)에서 생성된 예시적인 판정 정보를 도시한다.The determination information generating unit 212 of the
판정 정보를 생성한 후에 또는 판정 정보가 생성되었을 경우(단계 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
이하에서는 본 실시예에 따른 통신 시스템에 의해 수행되는 콘텐츠 분배 처리에 대해 설명한다. 도 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
서버(200)의 판정 정보 생성 유닛(212)은 판정 정보를 생성한다(단계 S503). 이 처리는 예를 들면, 전술한 판정 정보 생성 처리에 대응한다. 서버(200)의 판정 정보 송신 유닛(214)은 예를 들어, 클라이언트(300)로부터의 요청에 따라 판정 정보를 클라이언트(300)에 송신한다(단계 S504).The determination information generating unit 212 of the
클라이언트(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
도 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
서버(200)로부터 직접 분배 가능한 포맷으로 표현된 콘텐츠가 송신 디바이스(100)로부터 송신되면, 분배 유닛(216)은 송신 디바이스(100)로부터 송신된 콘텐츠를 변환없이 클라이언트(300)에 직접 송신한다. 콘텐츠가 서버(200)에 의해 분배되는 포맷으로 콘텐츠가 변환될 수 있는 메타데이터를 추가적으로 포함하는 포맷으로 콘텐츠가 송신될 때, 분배 유닛(216)은 송신된 콘텐츠를 메타데이터에 따라 분배가능 포맷으로 변환하고, 변환된 콘텐츠를 클라이언트(300)에 송신한다.When the content expressed in a format directly distributable from the
그 후, 예를 들어, 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
도 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
도 10에 도시된 바와 같이, 서버(200)의 판정 정보 송신 유닛(214)은 예를 들어, 클라이언트(300)로부터의 요청에 따라, 갱신된 판정 정보를 클라이언트(300)에 송신한다(단계 S510). 다음의 단계들 S511 내지 S514는 단계들 S505 내지 S508과 동일하다.As shown in FIG. 10 , the determination information sending unit 214 of the
도 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
본 실시예는 예를 들어, 구동 레코더에 의해 촬영된 영상을 모니터링하는 시스템에 적용가능하다. 본 실시예가 적용가능한 시스템은 이 시스템으로 한정되지 않는다. 예를 들어, 본 실시예는 센서에 의해 획득된 센서 데이터를 분배하고 모니터링하는 시스템, 및 이동체에 장착된 촬상 장치 등에 의해 획득된 동화상 데이터를 분배하고 모니터링하는 시스템에 적용될 수 있다. 이동체는 예를 들어, 사람, 로봇, 차량(자동차, 이륜차, 또는 전철), 트럭, 비행할 수 있는 물체(유인 비행기, 무인 비행기(예를 들어, 무인 항공기(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
기기 모니터링 제어 시스템에서는, 통상적으로, 다수의 모니터링 스크린이 사용되고, 따라서, 스크린 조작 이력의 모니터링 시스템은 일부 경우에 다수의 모니터링 스크린의 화상들을 나란히 배열하여 모니터링할 필요가 있다. 통상적으로, 이렇게 다수의 영상을 병렬로 표시하는 처리는 높은 처리 부하를 갖지만, 본 실시예에서는 분할된 데이터(예를 들어, 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
제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
이 경우, 서버(200)의 스토리지 제어 유닛(218)과 유사하게, 스토리지 제어 유닛(114)은 일정한 지속기간 동안 저장되어 있던 데이터를 삭제하거나 일정한 시간이 경과할 때마다 단계적으로 데이터를 삭제할 수 있다. 예를 들어, 저장 용량이 불충분할 때, I 픽처들 및 P 픽처들을 포함하는 모든 데이터를 연대순으로 삭제하는 것 대신에 씨닝된 방식으로 표시될 수 있는 데이터로서 P 픽처들만을 삭제하고 I 픽처들을 유지할 수 있으며, 이로써 데이터의 장기간 저장 및 저용량 소비를 달성한다.In this case, similar to the
제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
제어 서버(510)는 제어 유닛(511)을 포함한다. 제어 유닛(511)은 클라이언트(300)로부터 송신된 요청에 따라 송신 디바이스(100)를 제어한다. 예를 들어, 클라이언트(300)는 픽처들이 분할되고 그들의 일부만(예를 들어, I 픽처들만)이 송신되거나 모든 픽처들이 송신되는지를 표시하는 송신 요청을 제어 서버(510)에 송신한다. 송신 요청에 따라, 제어 서버(510)의 제어 유닛(511)은 픽처들의 일부를 분할된 방식으로 서버(200)에 송신(업로드)하거나 모든 픽처를 서버(200)에 송신할지를 표시하는 제어 신호를 송신 디바이스(100)에 송신한다.The
송신 디바이스(100)는 제어 서버(510)로부터 송신된 제어 신호에 따라 스위칭 방식으로 동작하며, 본 실시예에서 전술한 바와 같이 분할된 일부 화상만을 서버(200)에 송신하거나 모든 픽처를 서버(200)에 송신한다.The transmitting
캡처 스트림 송신(업로드 송신)에서, 서버(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
서버(200)는 데이터 수신 유닛(217)에 의해 수신된 데이터를 필요에 따라 분배 가능한 포맷으로 변환(스트림 변환)하고, 변환된 데이터를 스토리지(222)에 저장한다. 오프라인에서 복사된 데이터는 모두 한꺼번에 변환(배치 변환)되어 스토리지(222)에 저장될 수 있다.The
스토리지(222)는 분배 가능한 포맷의 픽처(프래그먼트 파일), 분배 리스트 등을 저장한다. 서버(200)는 스토리지(222)에 저장된 픽처를 분배하는 영상 서버로서 기능한다. 전술한 바와 같이, 데이터 수신 유닛(217)에 의해 수신된 데이터는 임시 스토리지(221)에 저장될 수 있고, 임시 스토리지(221)에 저장된 데이터는 분배 유닛(216)에 의해 분배될 수 있다.The
클라이언트(300)는 뷰어가 제공된 웹 브라우저를 포함한다. 웹 브라우저에는 영상을 재생하는 영상 플레이어가 제공된다. 영상 플레이어는 예를 들어, HTML5와 호환되는 애플리케이션으로서 달성된다.The
웹 서버(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
본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 미리 ROM(52) 등에 포함되어 제공된다.A computer program to be executed by the transmitting device according to the present embodiment is included in the
본 실시예에 따른 송신 디바이스에 의해 실행될 컴퓨터 프로그램은 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 데이터는 상기 프레임내 예측에 의해 인코딩된 하나 이상의 화상 데이터를 포함하고,
상기 제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 데이터는 상기 프레임내 예측에 의해 인코딩된 하나 이상의 화상 데이터 및 상기 프레임간 예측에 의해 인코딩된 복수의 화상 데이터 중 일부를 포함하고,
상기 제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 데이터는 상기 프레임내 예측에 의해 인코딩된 복수의 화상 데이터 중 일부를 포함하고,
상기 제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 데이터에 포함될 복수의 화상 데이터 중 일부를 변경하는 송신 디바이스.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 데이터에 포함될 복수의 화상 데이터 중 일부를 변경하는 송신 디바이스.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.
상기 프로세서들은 인코더를 포함하는 디바이스로부터, 상기 인코더에 의해 인코딩된 상기 송신 데이터를 수신하는 송신 디바이스.According to claim 1,
and the processors receive, from a device comprising an encoder, the transmit data encoded by the encoder.
상기 프로세서들은 상기 송신 데이터가 송신될 네트워크의 대역에 따라 인코딩량이 상이하도록 상기 제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 데이터의 크기를 변경하는 송신 디바이스.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.
상기 프로세서들은 미리 결정된 조건에 따라 상기 스토리지에 저장된 상기 제2 데이터를 삭제하는 송신 디바이스.According to claim 1,
and the processors delete the second data stored in the storage according to a predetermined condition.
상기 프로세서들은 상기 제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 데이터 및 상기 제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.
송신될 복수의 송신 데이터를 제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.
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)
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 |
-
2020
- 2020-02-26 KR KR1020200023471A patent/KR102291293B1/en active IP Right Grant
Patent Citations (5)
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 |