KR102613872B1 - 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체 - Google Patents

서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR102613872B1
KR102613872B1 KR1020210023793A KR20210023793A KR102613872B1 KR 102613872 B1 KR102613872 B1 KR 102613872B1 KR 1020210023793 A KR1020210023793 A KR 1020210023793A KR 20210023793 A KR20210023793 A KR 20210023793A KR 102613872 B1 KR102613872 B1 KR 102613872B1
Authority
KR
South Korea
Prior art keywords
data
transmission
unit
server device
transmitted
Prior art date
Application number
KR1020210023793A
Other languages
English (en)
Other versions
KR20210130093A (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 가부시끼가이샤 도시바
Publication of KR20210130093A publication Critical patent/KR20210130093A/ko
Application granted granted Critical
Publication of KR102613872B1 publication Critical patent/KR102613872B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • 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/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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
    • 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/234381Processing 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 temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

실시예에 따르면, 서버 디바이스는 데이터 수신 유닛, 분할 유닛, 송신 유닛, 저장 제어 유닛, 및 요청 수신 유닛을 포함한다. 데이터 수신 유닛은 송신 디바이스로부터 복수의 송신 데이터를 수신한다. 분할 유닛은 복수의 송신 데이터를 제1 데이터와 제2 데이터로 분할한다. 송신 유닛은 제1 데이터를, 수신 디바이스에 송신 데이터를 전달하는 외부 서버 디바이스에 송신한다. 저장 제어 유닛은 제2 데이터를 저장 유닛에 저장한다. 요청 수신 유닛은 수신 디바이스 또는 외부 서버 디바이스로부터 제2 데이터에 대한 송신 요청을 수신한다. 송신 유닛은 또한 송신 요청에 응답하여 제2 데이터를 외부 서버 디바이스에 송신한다.

Description

서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체{SERVER DEVICE, COMMUNICATION SYSTEM, AND NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM}
본 출원은 2020년 4월 21일자로 출원된 일본 특허 출원 제2020-075376호에 기초하고 그로부터 우선권의 이익을 주장하고; 그 전체 내용은 본 명세서에 참고로 포함된다.
본 명세서에 설명된 실시예들은 일반적으로 서버 디바이스, 통신 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다.
HLS(HTTP Live Streaming) 및 MPEG-DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP)와 같은 적응적 스트리밍(adaptive streaming)은 예를 들어, 카메라에 의해 촬영된 비디오(동화상 데이터)를 전달 및 모니터링하는 시스템(비디오 전달 시스템 및 비디오 모니터링 시스템)에 적용될 수 있다.
그러나, 종래 기술에서는, 데이터(비디오 등)를 송신하기 위한 네트워크 회선 상의 부하와 시스템 상의 처리 부하가 증가할 위험이 있다. 예를 들어, 접속된 카메라들의 수가 증가함에 따라, 카메라들로부터 비디오를 송신하기 위한 네트워크 회선 상의 부하 및 비디오를 기록 및 전달하는 서버 상의 처리 부하가 증가할 수 있다.
실시예에 따르면, 서버 디바이스는 데이터 수신 유닛, 분할 유닛, 송신 유닛, 저장 제어 유닛, 및 요청 수신 유닛을 포함한다. 데이터 수신 유닛은 송신 디바이스로부터 복수의 송신 데이터를 수신한다. 분할 유닛은 복수의 송신 데이터를 제1 데이터와 제2 데이터로 분할한다. 송신 유닛은 제1 데이터를, 수신 디바이스에 송신 데이터를 전달하는 외부 서버 디바이스에 송신한다. 저장 제어 유닛은 제2 데이터를 저장 유닛에 저장한다. 요청 수신 유닛은 수신 디바이스 또는 외부 서버 디바이스로부터 제2 데이터에 대한 송신 요청을 수신한다. 송신 유닛은 또한 송신 요청에 응답하여 제2 데이터를 외부 서버 디바이스에 송신한다.
도 1은 본 실시예에 따른 비디오 전달 시스템의 블록도이고;
도 2는 본 실시예의 비디오 전달 시스템에 의한 전달 처리의 개요를 도시하는 도면이고;
도 3은 본 실시예의 송신 디바이스의 기능 블록도이고;
도 4는 본 실시예의 에지 서버의 기능 블록도이고;
도 5는 전달 리스트의 데이터 구조의 일례를 도시하는 도면이고;
도 6은 판정 정보의 데이터 구조의 일례를 도시하는 도면이고;
도 7은 본 실시예의 센터 서버의 기능 블록도이고;
도 8은 본 실시예에 따른 클라이언트의 기능 블록도이고;
도 9는 본 실시예에 따른 송신 처리의 흐름도이고;
도 10은 저장된 데이터의 송신 처리의 흐름도이고;
도 11은 에지 서버에 의한 송신 처리의 흐름도이고;
도 12는 본 실시예에 따른 리스트 생성 처리의 흐름도이고;
도 13은 본 실시예에 따른 판정 정보 생성 처리의 흐름도이고;
도 14는 본 실시예에서의 콘텐츠 전달 처리의 시퀀스도이고;
도 15는 판정 정보를 사용하여 전달 리스트를 판정하는 일례를 도시하는 도면이고;
도 16은 갱신된 판정 정보의 일례를 도시하는 도면이고;
도 17은 판정 정보를 사용하여 전달 리스트를 판정하는 일례를 도시하는 도면이고;
도 18은 변형예에 따른 송신 처리의 흐름도이고;
도 19는 변형예의 비디오 전달 시스템의 구성예를 도시하는 도면이고;
도 20은 변형예의 비디오 전달 시스템에 의한 전달 처리의 개요를 도시하는 도면이고;
도 21은 변형예의 비디오 전달 시스템에 의한 전달 처리의 개요를 도시하는 도면이고;
도 22는 본 실시예에 따른 송신 디바이스의 하드웨어 구성도이다.
이하, 본 발명에 따른 송신 디바이스의 바람직한 실시예에 대해서 첨부 도면들을 참조하여 상세하게 설명할 것이다.
적응적 스트리밍을 사용하는 종래의 비디오 전달 시스템에서는, 고품질 라이브 비디오 전달에 필요한 고품질 비디오 스트림(송신 데이터의 일례)을 신뢰성있게 기록하기 위해 송신 레이트가 높은 네트워크 회선을 준비할 필요가 있다.
한편, 다수의 카메라가 접속되어 있는 대규모 비디오 전달 시스템에서는, 다량의 카메라 비디오가 항상 송신된다. 따라서, 회선 부하 또는 비용을 줄이기 위해서는, 카메라와 비디오를 기록하는 서버 디바이스 사이에 송신 레이트가 낮은 네트워크 회선을 사용하는 것이 바람직하다. 그러나, 송신 레이트가 낮은 회선에서는, 라이브 비디오의 품질이 낮을 것이며, 이는 모니터링 작업에 지장을 줄 수 있다.
따라서, 본 실시예에서는, 품질을 저하시키지 않고 회선 부하 또는 처리 부하를 줄일 수 있는 비디오 전달 시스템이 실현된다.
여기서, 본 실시예가 적용될 수 있는 송신 데이터의 일례에 대해서 설명할 것이다. 송신 데이터는 동화상 데이터 및 센서 데이터와 같은, 시간 순서가 정의된 시계열 데이터를 포함한다.
동화상 데이터는, 예를 들어, 카메라 및 프레임 캡처 등의 촬영 디바이스에 의해 촬영된 데이터이다. 동화상 데이터는, 예를 들어, 촬영 디바이스로부터 실시간으로 취득되고, 전달될 콘텐츠로서 사용된다. 촬영된 후에 저장 매체에 일단 저장된 동화상 데이터는 전달될 콘텐츠로서 사용될 수 있다.
센서 데이터는 센서(검출 디바이스)에 의해 검출된 값을 나타내는 데이터이고, 예를 들어, 데이터가 검출(샘플링)된 시간에 관한 정보를 포함한다. 센서는 임의의 디바이스일 수 있다. 예를 들어, 음성을 취득하는 마이크로폰, 위치 정보를 취득하는 GPS(Global Positioning System) 디바이스, 및 검출될 주변 환경, 전자 디바이스의 온도, 속도, 압력 등을 정기적으로 또는 부정기적으로 검출하고 그것을 센서 데이터로서 출력하는 센서가 사용될 수 있다.
이하에서는, 동화상 데이터를 송신 데이터로서 주로 사용하는 일례에 대해서 설명할 것이다.
도 1은 본 실시예에 따른 비디오 전달 시스템의 구성의 일례를 도시하는 블록도이다. 도 1에 도시한 바와 같이, 비디오 전달 시스템은 송신 디바이스(100)(송신 디바이스의 일례), 에지 서버(200a)(서버 디바이스 및 제2 서버 디바이스의 일례), 센터 서버(200b)(외부 서버 디바이스 및 제1 서버 디바이스의 일례), 및 클라이언트들(300a 및 300b)(수신 디바이스의 일례)을 포함한다. 송신 디바이스(100)와 에지 서버(200a)는 네트워크(401)에 의해 접속된다. 에지 서버(200a)와 클라이언트(300a)는 네트워크(402)에 의해 접속된다. 에지 서버(200a)와 센터 서버(200b)는 네트워크(403)에 의해 접속된다. 센터 서버(200b)와 클라이언트(300b)는 네트워크(404)에 의해 접속된다.
에지 서버(200a)는 단말기(송신 디바이스(100))에 물리적으로 근접하거나 또는 논리적으로 근접한 위치에 배치된 서버에 대응한다. 센터 서버(200b)는 에지 서버(200a)보다 높은 서버에 대응하고, 예를 들어, 에지 서버(200a)로부터 데이터를 수집 및 처리하는 디바이스이다.
네트워크들(401 내지 404)은 인터넷과 같은 임의의 네트워크일 수 있다. 예를 들어, 네트워크들(401 내지 404)은 유선 네트워크 또는 무선 네트워크일 수 있다. 또한, 네트워크들(401 내지 404) 중 일부 또는 전부는 하나의 통합 네트워크로서 구성될 수 있다.
도 1에 도시된 통신 시스템의 구성은 일례이며, 이에 한정되지 않는다. 예를 들어, 복수의 송신 디바이스(100), 에지 서버들(200a), 센터 서버들(200b), 및 클라이언트들(300a 및 300b)이 제공될 수 있다. 예를 들어, 복수의 에지 서버(200a)는 송신 디바이스(100)에 물리적으로 근접한 위치들에 전달 및 배치되고, 하나 이상의 센터 서버(200b)는 전달 및 배치된 복수의 에지 서버(200a)로부터 데이터를 수집하도록 구성될 수 있다. 또한, 송신 디바이스(100), 에지 서버(200a), 센터 서버(200b), 및 클라이언트들(300a 및 300b) 각각은 하나의 디바이스에 의해 물리적으로 구성될 수 있거나, 복수의 디바이스에 의해 물리적으로 구성될 수 있다. 예를 들어, 센터 서버(200b)는 클라우드 환경 상에서 구축될 수 있다. 예를 들어, 에지 서버(200a)는 통신 사업자와 같은 중앙 베이스에 중앙 집중화될 수 있거나, 또는 지역 베이스 및 최종 사용자의 시설에서 전달될 수 있다.
또한, 클라이언트들(300a 및 300b)은 에지 서버(200a) 및 센터 서버(200b) 양쪽 모두에 접속될 수 있다. 비디오 전달 시스템은 클라이언트(300a)를 포함하지 않을 수 있고, 센터 서버(200b)에 접속된 클라이언트(300b)만을 포함할 수 있다. 클라이언트들(300a 및 300b)을 구별할 필요가 없을 때, 간단히 클라이언트(300)라고 한다.
도 2는 본 실시예의 비디오 전달 시스템에 의한 전달 처리의 개요를 도시하는 도면이다. 송신 디바이스(100)는 비디오를 입력하고 입력된 비디오를 인코딩(코딩)한다. 송신 디바이스(100)는 H.264와 같은 규격에 따라 비디오를 압축 및 인코딩한다. 인코딩된 비디오는 예를 들어, I 픽처와 P 픽처를 포함한다. I 픽처는 인트라-프레임 예측에 의해 인코딩된 화상 데이터이고, 독립적으로 재생될 수 있는 풀-스크린 범위를 포함한다. P 픽처는 I 픽처에 기초하여 인터-프레임 예측에 의해 인코딩된 화상 데이터이다. P 픽처는 단독으로 재생될 수 없지만, I 픽처와 조합하여 재생될 수 있다.
송신 디바이스(100)는 인코딩된 화상들을 픽처들로 분할(프래그먼트화)한다. 그 후, 송신 디바이스(100)는 분할된 픽처의 일부(예를 들어, I 픽처)를 에지 서버(200a)에 송신하고, 나머지(예를 들어, P 픽처)를 저장 유닛에 저장한다. 송신 디바이스(100)는 또한 에지 서버(200a)에 송신된 픽처를 플레이백(로컬 재생), 백업 등을 위해 저장 유닛에 저장할 수 있다.
클라이언트(300) 등을 조작하는 사용자가 센터 서버(200b) 및 에지 서버(200a)를 통해 P 픽처의 표시를 요청할 때, 송신 디바이스(100)는 저장된 P 픽처를 판독하고 P 픽처를 에지 서버(200a)에 송신한다.
에지 서버(200a)는 송신 디바이스(100)와 동일한 방법에 의해 송신 디바이스(100)로부터 센터 서버(200b)에 송신되는 데이터(픽처들)를 송신하는 기능을 갖는다. 에지 서버(200a)는 송신 디바이스(100)를 가상화하는 기능을 갖는 디바이스로서 바꿔 말할 수 있다.
예를 들어, 에지 서버(200a)는 송신 디바이스(100)로부터 송신된 비디오를 각각의 픽처로 분할(프래그먼트화)한다. 그 후, 에지 서버(200a)는 분할된 픽처들의 일부(예를 들어, I 픽처)를 센터 서버(200b)에 송신하고, 나머지(예를 들어, P 픽처)를 저장 유닛에 저장한다. 에지 서버(200a)는 센터 서버(200b)에 송신된 픽처를 플레이백(로컬 재생), 백업 등을 위해 저장 유닛에 저장할 수도 있다는 점에 유의한다.
통상적으로, 센터 서버(200b)는 에지 서버(200a)로부터 클라이언트(300b)에 송신된 I 픽처만을 전달한다. 클라이언트(300b)는 예를 들어, 뷰어 애플리케이션을 사용하여 전달된 비디오를 표시한다. 뷰어 애플리케이션은, 예를 들어, 비디오를 표시 및 열람하기 위한 브라우저에 포함된 애플리케이션이다. I 픽처들이 규칙적인 간격으로(예를 들어, 초당 수개의 화상 또는 몇 초마다 하나의 화상) 송신되기 때문에, 정지 화상(I 픽처)이 규칙적인 간격으로 갱신되는 비디오(파라-파라-만화, 프레임별(간헐적) 비디오)가 클라이언트(300b) 상에 표시된다. 뷰어 애플리케이션은, 예를 들어, HTML(Hyper Text Markup Language) 5를 위한 애플리케이션 프로그래밍 인터페이스인 MSE(Media Source Extensions)를 사용하는 애플리케이션으로서 실현될 수 있다. 이것은 HTTP 다운로드를 사용한 스트리밍 재생을 가능하게 한다.
전술한 바와 같이, P 픽처의 표시가 요청될 때, 송신 디바이스(100)는 저장된 P 픽처를 판독하고 P 픽처를 에지 서버(200a)에 송신한다. 에지 서버(200a)는 수신된 P 픽처를 센터 서버(200b)에 송신한다. 센터 서버(200b)는 송신된 P 픽처를 클라이언트(300b)에 전달한다. 센터 서버(200b)는 송신된 P 픽처를 그대로 전달하거나, 또는 화상 데이터에 대한 변환 처리(재압축 등) 이외의 처리(송신 패킷 포맷의 변경 등)만이 적용되는 P 픽처를 전달할 수 있다. 클라이언트(300b)의 뷰어 애플리케이션은 이미 수신된 I 픽처 및 나중에 수신된 P 픽처를 합성 및 표시한다. 그 결과, 클라이언트(300b)는 보다 매끄러운 화상을 표시할 수 있다. 송신된 데이터(예를 들어, I 픽처)가 클라이언트(300b)의 저장 유닛에 저장되면, 나중에 수신된 P 픽처와의 합성에 사용될 수 있다. 즉, 송신 디바이스(100), 에지 서버(200a), 및 센터 서버(200b)로부터 송신된 데이터를 다시 송신할 필요가 없다. 따라서, 송신 데이터의 양은 P 픽처를 포함하는 모든 비디오 데이터를 재송신하는 방법과 비교하여 감소될 수 있다.
전술한 바와 같이, 센터 서버(200b)는 화상 데이터에 재압축과 같은 변환 처리를 적용하지 않고, 에지 서버(200a)로부터 송신된 화상 데이터를 그대로 또는 송신 패킷 포맷만을 처리함으로써 클라이언트(300b)에 전달한다. 예를 들어, 센터 서버(200b)는 낮은 송신 레이트에서 전달을 가능하게 하기 위해 품질을 감소시킨 비디오로 변환하는 처리를 수행할 필요가 없다. 따라서, 센터 서버(200b)의 처리 부하의 증가와 화상 품질의 저하를 피할 수 있다. 또한, 정상 상태에서, I 픽처만이 전달되기 때문에, 통신량이 억제될 수 있다. 이러한 방식으로, 품질을 저하시키지 않고 회선 부하 및 처리 부하를 줄일 수 있다.
I 픽처는 비디오를 구성하는 데이터(동화상 데이터)의 일부이지만, 정지 화상으로서 취급될 수 있다는 점에 유의한다. 예를 들어, 클라이언트(300b) 상에서 동작하는 브라우저(뷰어 애플리케이션)는 동화상 데이터에 포함되는 I 픽처를 정지 화상 데이터로서 표시할 수 있다. 따라서, I 픽처는 JPEG(Joint Photographic Experts Group)와 같은 정지 화상에 대해 압축 처리를 수행하지 않고 정지 화상 데이터로서 표시될 수 있다. JPEG 포맷 정지 화상들과 비교하여, I 픽처는 더 작은 데이터 크기(더 높은 압축 효율)를 갖기 때문에, 회선 부하 및 처리 부하를 더 줄일 수 있다. 또한, 전달된 비디오가 화상 인식에 사용될 때에도, I 픽처는 비디오를 정지 화상으로 변환하지 않고 화상 인식을 위한 입력 데이터로서 사용될 수 있다.
도 2에서는 센터 서버(200b)로부터 클라이언트(300b)로 비디오를 전달하는 예만을 도시하고 있지만, 에지 서버(200a)로부터 클라이언트(300a)로의 비디오의 전달도 동일한 절차에 의해 실현될 수 있다.
다음으로, 본 실시예의 비디오 전달 시스템의 각각의 디바이스의 구성의 세부사항들에 대해 설명할 것이다. 도 3은 본 실시예의 송신 디바이스(100)의 기능 구성의 일례를 도시하는 블록도이다.
도 3에 도시된 바와 같이, 송신 디바이스(100)는 촬영 유닛(101), 저장 유닛(121), 인코딩 유닛(111), 분할 유닛(112), 데이터 송신 유닛(113), 저장 제어 유닛(114), 및 요청 수신 유닛(115)을 포함한다.
촬영 유닛(101)은 비디오(동화상 데이터)를 촬영 및 출력한다. 촬영 유닛(101)은 예를 들어, CCD(Charge Coupled Device) 및 CIS(CMOS image sensor)와 같은 촬영 소자, 또는 프레임 메모리, 프레임 그래버(frame grabber), 및 스크린 캡처와 같은 프레임 버퍼 캡처에 의해 실현될 수 있다.
저장 유닛(121)은 송신 디바이스(100)에 의한 각종 처리에서 사용되는 각종 데이터를 저장한다. 예를 들어, 저장 유닛(121)은 촬영 유닛(101)에 의해 촬영된 비디오를 저장한다.
인코딩 유닛(111)은 촬영 유닛(101)으로부터 입력된 비디오를 인코딩한다. 인코딩 유닛(111)에 의한 인코딩 방법은 임의의 방법일 수 있고, 예를 들어, H.264와 같은 규격에 따른 인코딩 방법이 적용될 수 있다. 인코딩 유닛(111)은 예를 들어, 비디오를 압축 및 인코딩하고, I 픽처와 P 픽처를 포함하는 비디오를 출력한다. 인코딩된 비디오의 각각의 픽처는 송신될 복수의 송신 데이터에 대응한다.
분할 유닛(112)은 인코딩된 비디오를, 에지 서버(200a)에 송신될 데이터(제1 데이터)와, 송신없이 저장 유닛(121)에 저장될 데이터(제2 데이터)로 분할한다. 예를 들어, 분할 유닛(112)은 I 픽처가 에지 서버(200a)에 송신될 데이터(프래그먼트 데이터)가 되고, P 픽처가 저장 유닛(121)에 저장될 데이터(프래그먼트 데이터)가 되도록, 각 픽처마다 인코딩된 화상을 분할한다. 분할 유닛(112)은 분할된 픽처들 각각이 하나의 파일(프래그먼트 파일)이 되도록 비디오를 분할할 수 있다. 저장 유닛(121)에 저장된 데이터에 관하여, 분할 유닛(112)은 복수의 픽처가 하나의 파일에 포함되도록 데이터를 분할할 수 있다.
분할 유닛(112)에 의해 데이터를 분할하는 방법은 이에 한정되지 않으며, 임의의 방법이 사용될 수 있다. 예를 들어, 분할 유닛(112)은 인코딩된 비디오를 고정된 수로 복수의 I 픽처 중에서 선택된 I 픽처와 다른 픽처(나머지 I 픽처 및 P 픽처)로 분할할 수 있다. 또한, 예를 들어, 분할 유닛(112)은 인코딩된 비디오를 I 픽처 및 복수의 P 픽처로부터 고정된 수로 선택된 P 픽처와 다른 픽처들(나머지 P 픽처)로 분할할 수 있다. 또한, 예를 들어, 분할 유닛(112)은 인코딩된 비디오를 복수의 I 픽처로부터 고정된 수로 선택된 I 픽처, 복수의 P 픽처로부터 고정된 수로 선택된 P 픽처, 및 다른 픽처들(나머지 I 픽처 및 P 픽처)로 분할할 수 있다.
에지 서버(200a)로 송신된 데이터는 에지 서버(200a)가 그대로 전달할 수 있는 포맷으로 표현될 수 있다. 예를 들어, 분할 유닛(112)은 포맷이 프래그먼트화된 MP4(fMP4)와 같은 규격에 따르도록 분할된 데이터를 변환할 수 있다.
에지 서버(200a)로 송신된 데이터는 에지 서버(200a)에 의해 전달된 포맷으로 변환될 수 있는 데이터(메타데이터)가 추가되는 포맷으로 표현될 수 있다. 예를 들어, 분할 유닛(112)은 에지 서버(200a)가 데이터를 fMP4와 같은 규격에 따른 포맷으로 변환할 수 있도록 변환에 필요한 정보를 포함하는 메타데이터를 분할된 데이터에 추가할 수 있다. 변환에 필요한 정보는, 예를 들어, 송신 디바이스(100)를 식별하는 정보(IP 어드레스, 포트 번호 등), 시간(예를 들어, 화상의 날짜, 시간, 분, 및 초), 및 시간 내의 화상의 위치(예를 들어, 선두로부터의 번호를 나타내는 정보)를 포함한다.
분할 유닛(112)은 네트워크(401)의 대역에 따라 에지 서버(200a)로 송신되는 데이터의 크기 또는 인코딩량을 변경할 수 있다. 예를 들어, 분할 유닛(112)은 지연 등이 발생하지 않고 네트워크(401)의 할당된 대역 내에서 송신될 수 있는 크기에 대응하는 데이터, 또는 네트워크(401)의 대역 내에서 인코딩 비트 레이트를 갖는 데이터를 에지 서버(200a)로 송신될 데이터로서 분할할 수 있다. 예를 들어, 네트워크(401)의 대역이 큰 경우에, 분할 유닛(112)은 I 픽처 및 P 픽처의 일부를 에지 서버(200a)에 송신될 데이터로서 분할하고, 대역이 작아짐에 따라, I 픽처만 또는 I 픽처의 일부(예를 들어, I 픽처들을 고정된 수로 씨닝함)를 에지 서버(200a)에 송신될 데이터로서 분할한다. P 픽처를 부분적으로 전달하기 위한 인코딩 방법으로서, 예를 들어, 일본 특허 제6239472호에 기재된 방법이 사용될 수 있다.
분할 유닛(112)은 네트워크(401)의 대역 또는 클라이언트(300) 또는 에지 서버(200a)로부터의 요청에 따라 전술한 바와 같은 분할 방법을 동적으로 스위칭함으로써 에지 서버(200a)로 송신하는 데이터의 크기 또는 인코딩량을 변경할 수 있다.
인코딩 유닛(111)에 의해 인코딩된 데이터가 단순히 분할되면, 분할된 데이터의 크기는 일치하지 않을 수 있다. 예를 들어, 인코딩 유닛(111)이 네트워크(401)의 대역에 따라 각각의 화상의 인코딩량을 조정하는 기능을 갖는 경우, 각각의 I 픽처의 크기와 각각의 P 픽처의 크기는 서로 상이할 수 있다. 따라서, 이러한 방식으로 인코딩된 각각의 픽처 중에서, 예를 들어, I 픽처가 에지 서버(200a)에 송신될 데이터로서 분할되면, 분할된 I 픽처들 각각의 크기도 서로 상이할 수 있다.
따라서, 인코딩 유닛(111)은 분할된 데이터의 크기 또는 인코딩 비트 레이트가 지연 등이 발생하지 않고 할당된 네트워크(401)의 대역 내에서 송신될 수 있는 크기 또는 인코딩 비트 레이트가 되도록 네트워크(401)의 대역에 따라 인코딩량을 조정할 수 있다. 예를 들어, 분할 유닛(112)이 I 픽처만이 에지 서버(200a)에 송신되도록 비디오를 분할하면, 인코딩 유닛(111)은 I 픽처의 크기가 지연없이 네트워크(401)의 대역 내에서 송신될 수 있는 특정 크기가 되거나, 또는 네트워크(401)의 대역 내의 인코딩 비트 레이트가 되도록 비디오를 인코딩할 수 있다.
데이터 송신 유닛(113)은 에지 서버(200a)와 같은 외부 디바이스에 데이터를 송신한다. 예를 들어, 데이터 송신 유닛(113)은 분할 유닛(112)에 의해 분할된 데이터 중에서 에지 서버(200a)에 송신될 데이터(제1 데이터)를 에지 서버(200a)에 송신한다. 또한, 데이터 송신 유닛(113)이 요청 수신 유닛(115)(후술함)에 의해 저장 유닛(121)에 저장된 데이터 송신 요청을 수신한 경우에, 데이터 송신 유닛(113)은 요청한 데이터를 에지 서버(200a)에 송신한다.
저장 제어 유닛(114)은 저장 유닛(121)에 대한 저장 처리를 제어한다. 저장 제어 유닛(114)은, 예를 들어, 분할 유닛(112)에 의해 분할된 데이터 중에서 에지 서버(200a)에 송신되지 않는 데이터를 저장 유닛(121)에 저장한다. 저장 제어 유닛(114)은 에지 서버(200a)에 송신된 데이터(제1 데이터)를 저장 유닛(121)에 저장할 수 있다. 이때, 저장 제어 유닛(114)은 송신된 데이터(제1 데이터)가 송신되었거나 또는 제2 데이터가 송신되지 않았다는 것을 나타내는 메타데이터를 사용하여 저장된 데이터를 관리할 수 있다. 저장 제어 유닛(114)은 미리 결정된 조건에 따라 저장 유닛(121)에 저장된 데이터를 삭제할 수 있다. 예를 들어, 저장 제어 유닛(114)은 데이터가 저장되고나서 특정 기간이 경과한 데이터를 삭제할 수 있다.
요청 수신 유닛(115)은 에지 서버(200a)로부터 저장 유닛(121)에 저장된 데이터의 송신 요청을 수신한다. 요청이 에지 서버(200a) 이외의 제어 서버 등을 통해 클라이언트(300)로부터 송신되는 구성의 경우에, 요청 수신 유닛(115)은 그러한 제어 서버로부터 저장 유닛(121)에 저장된 데이터에 대한 송신 요청을 수신할 수 있다.
상기 유닛들(인코딩 유닛(111), 분할 유닛(112), 데이터 송신 유닛(113), 저장 제어 유닛(114), 및 요청 수신 유닛(115)) 각각은, 예를 들어, 하나 이상의 프로세서에 의해 실현된다. 예를 들어, 유닛들 각각은 CPU(central processing unit)와 같은 프로세서로 하여금 프로그램을 실행하게 하는 것에 의해, 즉 소프트웨어에 의해 실현될 수 있다. 유닛들 각각은 전용 집적 회로(IC), 즉, 하드웨어와 같은 프로세서에 의해 실현될 수 있다. 유닛들 각각은 소프트웨어와 하드웨어를 조합하여 사용함으로써 실현될 수 있다. 복수의 프로세서를 사용할 때, 각각의 프로세서는 유닛들 중 하나 또는 유닛들 중 2개 이상을 실현할 수 있다.
송신 디바이스(100)의 각각의 기능은 물리적으로 또는 논리적으로 상이한 복수의 디바이스에 전달될 수 있다는 점에 유의한다. 예를 들어, 촬영 유닛(101)과 인코딩 유닛(111)을 포함하는 디바이스(도 2의 비디오 입력 및 인코더)와 나머지 각각의 유닛을 포함하는 디바이스(도 2의 프래그먼트화 및 저장 유닛)로 분할될 수 있다. 이 경우, 인코딩 유닛(111)에 의해 인코딩된 데이터는 예를 들어, 네트워크 또는 동축 케이블과 같은 통신 경로에 의해 후자의 디바이스에 입력된다. 후자의 디바이스는 통신 경로를 통해 인코딩된 데이터를 취득하도록 구성될 수 있다.
다음으로, 에지 서버(200a)의 구성에 대해서 설명할 것이다. 에지 서버(200a)는 전달 리스트 및 판정 정보를 네트워크(402)를 통해 클라이언트(300a)에 전달한다. 전달 리스트는 전달될 데이터(이하, 콘텐츠라고도 함)에 관한 정보를 기술한 리스트이다. 통상적으로, 콘텐츠 전달자(content deliverer)는 콘텐츠 취득처 및 비트 레이트와 같은 메타데이터를 전달 리스트에 기술한다. 콘텐츠 취득자는 전달 리스트를 취득 및 분석함으로써 취득될 콘텐츠를 특정할 수 있다.
전달 리스트에 기술된 콘텐츠는 송신될 수 있는 콘텐츠뿐만 아니라, 송신될 수 없는 콘텐츠, 송신을 허용하지 않는 콘텐츠 등을 포함할 수 있다. 판정 정보는 수신 디바이스(클라이언트(300a))가 전달 리스트에 포함된 콘텐츠의 송신을 요청할지의 여부를 판정하기 위한 정보이다.
도 4는 본 실시예의 에지 서버(200a)의 기능 구성의 일례를 도시하는 블록도이다. 도 4에 도시된 바와 같이, 에지 서버(200a)는 서버 처리 유닛(240a)과 송신 처리 유닛(250a)을 포함한다. 서버 처리 유닛(240a)은 송신 디바이스(100)로부터 수신된 데이터를 클라이언트(300a)에 전달하는 서버로서의 기능에 대응한다. 송신 처리 유닛(250a)은 송신 디바이스(100)로부터 수신된 데이터를 센터 서버(200b)에 추가로 송신하는 기능이다. 송신 디바이스(100)의 데이터 송신처는 에지 서버(200a)이지만, 송신 처리 유닛(250a)의 데이터 송신처는 센터 서버(200b)이다. 즉, 송신 처리 유닛(250a)은 센터 서버(200b)에 대해 송신 디바이스(100)를 가상화한 디바이스로서 기능한다.
서버 처리 유닛(240a)은 검출 유닛(201), 리스트 생성 유닛(211), 판정 정보 생성 유닛(212), 리스트 송신 유닛(213), 판정 정보 송신 유닛(214), 요청 송수신 유닛(215), 전달 유닛(216), 데이터 수신 유닛(217), 저장 제어 유닛(218), 일시 저장 유닛(221), 및 저장 유닛(222)을 포함한다.
검출 유닛(201)은 콘텐츠가 송신될 수 있다는 것을 검출한다. 예를 들어, 검출 유닛(201)은 콘텐츠가 콘텐츠를 제공하는 제공 디바이스(예를 들어, 송신 디바이스(100))에 의해 제공될 때 콘텐츠가 송신될 수 있다고 판정한다. 검출 유닛(201)은 콘텐츠가 저장되는 저장 영역(예를 들어, 임시 저장 유닛(221))을 모니터링할 수 있고, 콘텐츠가 저장될 때 콘텐츠가 송신될 수 있다고 판정할 수 있다.
리스트 생성 유닛(211)은 전달 리스트를 생성한다. 리스트 생성 유닛(211)은 예를 들어, 클라이언트(300a)가 전달 리스트를 생성 및 송신하도록 요청할 때 전달 리스트를 생성한다. 전달 리스트를 생성하기 위한 트리거는 이에 한정되지 않으며, 임의의 트리거일 수 있다. 예를 들어, 리스트 생성 유닛(211)은 특정 기간이 경과할 때마다 다음 기간에 송신될 콘텐츠의 전달 리스트를 발생할 수 있다. 리스트 생성 유닛(211)은 콘텐츠가 제공 디바이스에 의해 제공될 때 또는 생성이 지시될 때 전달 리스트를 생성할 수 있다.
도 5는 전달 리스트의 데이터 구조의 일례를 도시하는 도면이다. 도 5에 도시된 바와 같이, 전달 리스트는 콘텐츠를 식별하는 식별 정보를 포함한다. 도 5는 콘텐츠의 URL(Uniform Resource Locator)을 식별 정보로서 사용하는 일례를 나타낸 도시한다. 식별 정보로서, 콘텐츠가 식별될 수 있는 한 URL 이외의 정보가 사용될 수 있다. 전달 리스트는 식별 정보 이외의 정보를 포함할 수 있다. 본 실시예에서는, 예를 들어, 분할된 데이터(픽처 등)마다 URL을 포함하는 전달 리스트가 작성된다.
도 4로 되돌아가면, 판정 정보 생성 유닛(212)은 판정 정보를 생성한다. 예를 들어, 판정 정보 생성 유닛(212)은 콘텐츠가 송신될 수 있을 때 콘텐츠가 송신될 수 있다는 것을 나타내는 판정 정보를 생성하고, 콘텐츠가 송신될 수 없을 때 콘텐츠가 송신될 수 없다는 것을 나타내는 판정 정보를 생성한다. 또한, 콘텐츠가 송신될 수 있는지의 여부를 나타내는 상황이 변경될 때, 판정 정보 생성 유닛(212)은 변경된 상황에 대응하도록 갱신된 판정 정보를 생성한다.
판정 정보 생성 유닛(212)은 예를 들어, 클라이언트(300a)가 판정 정보가 생성 및 송신되도록 요청할 때 판정 정보를 생성한다. 리스트 생성 유닛(211)에 의해 전달 리스트가 생성될 때, 판정 정보 생성 유닛(212)은 그 시간에 판정 정보를 생성할 수 있다. 판정 정보를 생성하기 위한 트리거는 이에 한정되지 않으며, 임의의 트리거일 수 있다. 예를 들어, 판정 정보 생성 유닛(212)은 예를 들어, 특정 기간이 경과할 때마다 검출 유닛(201)을 사용하여 콘텐츠가 송신될 수 있는지의 여부를 검출할 수 있고, 검출 결과에 따라 갱신된 판정 정보를 생성할 수 있다.
도 6은 판정 정보의 데이터 구조의 일례를 도시하는 도면이다. 도 6의 판정 정보는 도 5의 전달 리스트에 기재된 4개의 콘텐츠가 송신될 수 있는지의 여부를 판정하기 위한 판정 정보의 일례이다. 예를 들어, "o"는 콘텐츠가 송신될 수 있다는 것을 나타내고, "x"는 콘텐츠가 송신될 수 없다는 것을 나타낸다. 도 6의 예에서는, 도 5의 4개의 URL에 대응하는 4개의 콘텐츠("ContentA_1", "ContentA_2", "ContentA_3", 및 "ContentA_4")에 대응하는 4개의 판정 정보("o" 또는 "x")가 대응하는 순서로 지정되어 있다.
각각의 콘텐츠에 대한 판정 정보를 지정할 수 있는 방법이라면, 도 6 이외의 데이터 구조의 판정 정보가 사용될 수 있다. 예를 들어, 콘텐츠 식별 정보는 판정 정보와 연관될 수 있다. 어느 전달 리스트에 판정 정보가 대응하는지를 식별할 수 있도록 하기 위해, 전달 리스트를 식별하기 위한 정보를 판정 정보와 연관시킬 수 있다.
콘텐츠가 송신될 수 있다는 것은 예를 들어, 전달될 콘텐츠가 에지 서버(200a)에 제공되고 클라이언트(300a)로 송신될 수 있는 상태이다. 콘텐츠가 송신될 수 없다는 것은 예를 들어, 전달될 콘텐츠가 에지 서버(200a)에 아직 제공되지 않았고 클라이언트(300a)로 송신될 수 없는 상태이다. 에지 서버(200a)는 클라이언트(300a)로부터의 요청에 응답하여 콘텐츠를 송신(풀 타입 송신(pull type transmission))할 수 있거나, 또는 클라이언트(300a)로부터의 요청없이 콘텐츠를 송신(푸시 타입 송신(push type transmission))할 수 있다.
콘텐츠가 제공되는지의 여부에 관계없이, 에지 서버(200a)는 콘텐츠가 송신될 수 있는지의 여부를 지정할 수 있다. 예를 들어, 통신 부하를 줄이기 위해, 송신이 가능하지 않다는 것을 나타내는 판정 정보가 제공된 복수의 콘텐츠 중 일부 또는 전부에 대해 생성될 수 있고, 이러한 콘텐츠들은 송신되지 않을 수 있다. 이러한 방식으로, 송신될 수 있는 콘텐츠는 그 후에 송신가능하지 않을 수 있다.
판정 정보는 각각의 콘텐츠마다 하나이거나 복수개일 수 있다. 예를 들어, 콘텐츠의 하나 이상의 메타데이터가 판정 정보로서 사용될 수 있다. 메타데이터는 예를 들어, 콘텐츠의 범위, 콘텐츠의 데이터 길이, 콘텐츠의 타입 등을 나타내는 범위 정보이다. 범위 정보는 예를 들어, 특정 데이터 중에서 콘텐츠로서 전달될 데이터의 범위를 지정하는 정보이다. 범위 정보가 확정될 때, 확정된 범위 정보가 판정 정보로서 설정되고, 범위 정보가 미확정될 때, 범위 정보가 미확정되었다는 것을 나타내는 미리 결정된 정보(미확정된 정보)가 판정 정보로서 설정된다. 미확정된 정보가 범위 정보에 판정 정보로서 설정될 때, 클라이언트(300a)는 대응하는 콘텐츠가 송신될 수 없다고 판정할 수 있다. 이러한 방식으로, 메타데이터가 판정 정보로서 사용될 때, 메타데이터에 기초하여 콘텐츠가 송신될 수 있는지의 여부를 판정할 수 있는 데이터 포맷을 정의하는 것으로 충분하다.
도 4로 되돌아가면, 리스트 송신 유닛(213)은 리스트 생성 유닛(211)에 의해 생성된 전달 리스트를 클라이언트(300a)에 송신한다. 예를 들어, 리스트 송신 유닛(213)은 콘텐츠의 송신을 시작하기 전에 미리 클라이언트(300a)에 전달 리스트를 송신한다. 판정 정보 송신 유닛(214)은 판정 정보 생성 유닛(212)에 의해 생성된 판정 정보를 클라이언트(300a)에 송신한다.
요청 송수신 유닛(215)은 각종 요청을 송수신한다. 예를 들어, 요청 송수신 유닛(215)은 클라이언트(300a)로부터 전달 리스트 송신 요청, 판정 정보 송신 요청, 및 콘텐츠 송신 요청을 수신한다. 또한, 요청 송수신 유닛(215)은 저장 유닛(121)에 저장된 콘텐츠에 대한 송신 요청을 송신 디바이스(100)에 송신한다.
전달 유닛(216)은 요청된 콘텐츠를 송신 요청을 송신한 클라이언트(300a)에 송신한다. 푸시 타입 송신이 채택될 때, 전달 유닛(216)은 클라이언트(300a)로부터의 요청없이 콘텐츠를 송신할 수 있다.
데이터 수신 유닛(217)은 송신 디바이스(100)로부터 송신된 데이터를 수신한다. 예를 들어, 데이터 수신 유닛(217)은 분할된 데이터를 에지 서버(200a)에 송신되는 데이터로서 수신한다. 저장 유닛(121)에 저장된 데이터에 대한 송신 요청을 송신하면, 데이터 수신 유닛(217)은 송신 요청에 응답하여 송신 디바이스(100)에 의해 송신된 데이터를 수신한다.
저장 제어 유닛(218)은 일시 저장 유닛(221) 및 저장 유닛(222)에 대한 저장 처리를 제어한다. 송신 디바이스(100)로부터 송신된 데이터 및 에지 서버(200a)에 의해 전달될 포맷으로 변환된 송신 디바이스(100)로부터 송신된 데이터가 저장 유닛(222)에 저장되고나서 전달되도록 구성될 때, 저장 유닛(222)에 데이터를 저장하는 처리는 전달 속도를 따라가지 못할 수 있고, 저장 유닛(222)에 데이터를 기입하는 처리는 일시적으로 동결되는 등으로 인해, 기입 처리의 이상을 초래할 수 있고, 이는 정상적인 전달을 막을 수 있다. 따라서, 저장 제어 유닛(218)은 송신 디바이스(100)로부터 송신된 데이터를, 전술한 기입 처리의 이상을 일으키지 않는 저장 매체인 일시 저장 유닛(221)에 저장한다. 데이터가 임시 저장 유닛(221)에 저장되는 경우에, 전달 유닛(216)은 임시 저장 유닛(221)으로부터 데이터를 판독하고 그 데이터를 클라이언트(300a)에 전달한다. 이때, 송신 디바이스(100)로부터 송신된 데이터는 최종적으로 저장 유닛(222)에 저장된다. 따라서, 전달 유닛(216)은 클라이언트(300a)로부터의 요청에 응답하여 저장 유닛(222)으로부터 전달된 것처럼 동작할 수 있다. 즉, 일시 저장 유닛(221)에 저장된 데이터는 저장 유닛(222)에 저장된 데이터에 대한 요청에 응답하여 반환될 수 있다. 이러한 기능은 이 파일들의 연관을 에지 서버(200a) 상에 기록(데이터베이스, 파일, 심벌 링크 등)하고 전달시에 그것을 참조함으로써 실현될 수 있다.
그 후, 저장 제어 유닛(218)은 일시 저장 유닛(221)에 저장된 데이터를 저장 유닛(222)에 기입하는 처리(기입 처리)를 수행한다. 기입 처리에서, 저장 제어 유닛(218)은 일시 저장 유닛(221)에 저장된 복수의 데이터를 하나의 데이터로 결합하고, 그 결합된 데이터를 저장 유닛(222)에 저장할 수 있다. 예를 들어, 저장 제어 유닛(218)은 특정 기간 내에 촬영된 복수의 데이터를 하나의 파일에 포함되도록 결합하고, 그 결합된 파일을 저장 유닛(222)에 기입할 수 있다. 그 결과, 저장 유닛(222)에 저장된 파일들의 수가, 예를 들어, 오퍼레이팅 시스템의 허용량을 초과하기 때문에, 데이터가 저장될 수 없는 문제를 회피할 수 있다.
복수의 데이터를 하나의 데이터로 결합하고 그 결합된 데이터를 저장 유닛(222)에 저장한 후에, 결합된 데이터에 포함된 데이터에 대한 송신 요청이 클라이언트(300a)로부터 수신될 때, 결합된 데이터로부터 대응하는 데이터를 특정하는 기능이 필요하게 된다. 따라서, 리스트 생성 유닛(211)은, 예를 들어, 대응하는 데이터를 특정하기 위한 특정 정보를 포함하도록 전달 리스트를 갱신할 수 있다. 리스트 생성 유닛(211)은 조합된 파일 내에서의 데이터의 위치를 나타내는 특정 정보(선두로부터의 바이트 오프셋 등)가 데이터의 식별 정보(URL 등)와 연관시킨 전달 리스트를 작성하고, 생성된 전달 리스트를 클라이언트(300a)에 송신한다.
클라이언트(300a)가 갱신된 전달 리스트를 참조하여 데이터의 송신을 요청하는 경우에, 클라이언트(300a)는 요청된 데이터의 식별 정보와 함께 연관된 특정 정보를 지정한다. 예를 들어, 클라이언트(300a)는 특정 정보를 데이터의 식별 정보를 나타내는 URL에 추가함으로써 데이터를 요청한다. 클라이언트(300a)는 헤더(예를 들어, HTTP 확장 헤더)에 특정 정보를 포함하는 송신 요청에 의해 데이터를 요청할 수 있다.
이 때 요청된 파일명은 분할 전의 원래의 파일명일 수 있다. 이것은 데이터가 클라이언트(300a) 상에 이미 수신되고 캐시되었는지를 판정하는 것을 용이하게 하고, 취득된 데이터의 재취득을 억제할 수 있다. 이 경우, 에지 서버(200a)는 원래의 분할된 파일(프래그먼트 파일)로부터 조합된 데이터(조합된 파일)를 특정할 필요가 있다. 이 목적을 위해, (1) 프래그먼트 파일에 대한 조합된 파일의 정보가 클라이언트(300a)에 송신될 특정 정보로서 미리 송신되고, 클라이언트(300a)가 요청시에 이를 HTTP 확장 헤더에서 기술하고, (2) 에지 서버(200a)가 요청된 프래그먼트 파일명으로부터의 요청에 응답할 때 조합된 파일을 스스로 특정하는 방법들이 있다. (2)와 관련하여, (2-1) 조합된 파일을 작성할 때 프래그먼트 파일과의 연관성을 기록하고(데이터베이스, 파일, 심벌 링크 등), (2-2) 명명 규칙에 의해 자체-해결을 설정하는(예를 들어, 도 5의 예에서, ContentsA_1 내지 ContentsA_4의 조합된 파일명은 ContentsA임) 것을 생각할 수 있다.
에지 서버(200a)는 클라이언트(300a)로부터 송신된 특정 정보를 사용하여 조합된 데이터로부터의 대응하는 데이터를 특정하고, 그 특정된 데이터를 요청하는 클라이언트(300a)에 전달한다.
저장 제어 유닛(218)은 미리 결정된 조건에 따라 저장 유닛(222)에 저장된 데이터를 삭제할 수 있다. 예를 들어, 저장 제어 유닛(218)은 데이터가 저장되고나서 특정 기간이 경과한 데이터를 삭제할 수 있다. 저장 제어 유닛(218)은 특정 기간이 경과할 때마다 단계적으로 데이터를 삭제할 수 있다. 예를 들어, 저장 제어 유닛(218)은 미리 결정된 기간(예를 들어, 1일)이 경과한 후에 저장 유닛(222)으로부터 P 픽처의 전부 또는 일부를 삭제하고, 그 후, 미리 결정된 기간(제1 기간과 동일하거나 상이할 수 있음)이 경과할 때마다 단계적으로 P 픽처 또는 I 픽처를 씨닝하기 위해 저장 유닛(222)으로부터 P 픽처 또는 I 픽처를 추가로 삭제한다. 이러한 처리에 의해, 장기간 기록에 대한 저장 용량을 삭감하고 싶을 때, 예를 들어, 화상을 품질이 저하된 비디오로 변환하는 처리를 수행하지 않고, 시간의 경과에 따라 간헐도가 증가하는 비디오를 획득할 수 있다. P 픽처의 단계적인 삭제에 대해서는, 예를 들어, 일본 특허 제6239472호에 기재된 인코딩 방법이 사용될 수 있다.
또한, 저장 제어 유닛(218)은 예를 들어, 송신된 데이터를 우선적으로 삭제할 수 있다. 이 때, 저장 제어 유닛(218)은 데이터가 송신되었는지의 여부를 나타내는 메타데이터를 사용하여 데이터가 송신되었는지의 여부를 판정할 수 있다. 또한, 저장 제어 유닛(218)은 삭제 처리에서의 참조를 위해 다른 메타데이터를 미리 준비할 수 있다. 이러한 메타데이터는 예를 들어, 어느 데이터가 어느 픽처에 대응하는지를 판정할 수 있는 데이터이다. 보다 구체적으로는, 메타데이터는, 예를 들어, 시간(화상의 날짜, 시간, 분, 및 초 등), 시간 내에서의 화상의 위치(예를 들어, 선두부터 번호를 나타내는 정보), 파일명, 및 파일의 선두부터의 바이트 오프셋을 포함한다.
일시 저장 유닛(221)은 수신한 데이터를 일시적으로 저장한다. 예를 들어, 임시 저장 유닛(221)은 DRAM(Dynamic Random Access Memory) 등의 휘발성 메모리에 의해 구성될 수 있다.
저장 유닛(222)은 에지 서버(200a)에 의해 사용되는 각종 데이터를 저장한다. 예를 들어, 저장 유닛(222)은 전달될 콘텐츠, 생성된 전달 리스트, 및 생성된 판정 정보를 저장한다. 저장 유닛(222)은 메모리 카드, RAM(Random Access Memory), HDD(Hard Disk Drive), 및 광 디스크와 같은 임의의 통상적으로 사용되는 저장 매체에 의해 구성될 수 있다.
전술한 기록 처리의 이상이 발생하지 않으면, 일시 저장 유닛(221)은 제공되지 않을 수 있다는 점에 유의한다.
송신 처리 유닛(250a)은 저장 유닛(121), 분할 유닛(112), 데이터 송신 유닛(113), 저장 제어 유닛(114), 요청 수신 유닛(115)을 포함한다. 전술한 바와 같이, 송신 처리 유닛(250a)은 송신 디바이스(100)에 제공된 기능들 중에서 촬영 유닛(101) 및 인코딩 유닛(111) 이외의 기능들을 갖는다. 송신 처리 유닛(250a)은 촬영 유닛(101) 및 인코딩 유닛(111)에 대응하는 기능들을 추가로 포함할 수 있다.
송신 처리 유닛(250a)은 인코딩 유닛(111)에 의해 인코딩된 비디오 대신에 촬영 유닛(101)에 의해 촬영되고 송신 디바이스(100)로부터 송신된 비디오를 사용한다. 또한, 송신 처리 유닛(250a)에서, 센터 서버(200b)는 데이터 송신처 및 요청 수신원으로서 기능한다. 다른 기능들은 송신 디바이스(100)와 동일하기 때문에, 동일한 참조 번호들이 주어지고 그 설명은 생략될 것이다.
예를 들어, 송신 처리 유닛(250a)은 인코딩 유닛(111)에 의해 인코딩된 비디오 대신에, 송신 디바이스(100)로부터 송신되어 저장 유닛(222)에 저장된 비디오를 분할 유닛(112)에 입력한다. 분할 유닛(112)은 입력 비디오(이미 인코딩된 비디오)를, 센터 서버(200b)에 송신될 데이터(제1 데이터)와 송신하지 않고 저장 유닛(121)에 저장된 데이터(제2 데이터)로 분할한다.
상기 유닛들(분할 유닛(112), 데이터 송신 유닛(113), 저장 제어 유닛(114), 요청 수신 유닛(115), 검출 유닛(201), 리스트 생성 유닛(211), 판정 정보 생성 유닛(212), 리스트 송신 유닛(213), 판정 정보 송신 유닛(214), 요청 송수신 유닛(215), 전달 유닛(216), 데이터 수신 유닛(217), 및 저장 제어 유닛(218)) 각각은 예를 들어, 1개 또는 복수의 프로세서에 의해 실현된다. 예를 들어, 상기 유닛들 각각은 CPU 등의 프로세서가 프로그램을 실행하게 함으로써, 즉 소프트웨어에 의해 실현될 수 있다. 상기 유닛들 각각은 전용 IC 등의 프로세서에 의해, 즉, 하드웨어에 의해 실현될 수 있다. 유닛들 각각은 소프트웨어와 하드웨어를 조합하여 사용함으로써 실현될 수 있다. 복수의 프로세서를 사용할 때, 각각의 프로세서는 유닛들 중 하나 또는 유닛들 중 2개 이상을 실현할 수 있다.
에지 서버(200a)의 각각의 기능은 복수의 물리적으로 또는 논리적으로 상이한 디바이스에 전달될 수 있다는 점에 유의한다. 예를 들어, 전달 리스트를 송신하는 서버 디바이스와 콘텐츠를 송신하는 서버 디바이스로 분할될 수 있다. 또한, 예를 들어, 송신 디바이스(100)로부터 데이터를 수신하고 이 데이터를 일시 저장 유닛(221) 및 저장 유닛(222)에 저장하는 서버 디바이스와, 일시 저장 유닛(221) 및 저장 유닛(222)으로부터 데이터를 판독하고 이 데이터를 전달하는 서버 디바이스로 분할될 수 있다.
다음으로, 센터 서버(200b)의 기능이 설명될 것이다. 센터 서버(200b)는 에지 서버(200a)의 서버 처리 유닛(240a)에 대응하는 기능을 갖는 서버이다. 도 7은 본 실시예의 센터 서버(200b)의 기능 구성의 일례를 도시하는 블록도이다.
센터 서버(200b)는 송신 디바이스(100) 대신에 에지 서버(200a)로부터 비디오를 수신하고 클라이언트(300a) 대신에 클라이언트(300b)에 비디오를 전달한다는 점에서 에지 서버(200a)와 다르다. 즉, 센터 서버(200b)는 데이터 수신원이 송신 디바이스(100) 대신에 에지 서버(200a)이고 데이터 송신처가 클라이언트(300a) 대신에 클라이언트(300b)인 것을 제외하고 서버 처리 유닛(240a)과 동일한 기능을 갖는다. 따라서, 도 4와 동일한 참조 번호들이 할당되고, 그 상세한 설명은 생략될 것이다.
다음으로, 클라이언트(300)의 기능이 설명될 것이다. 이하에서는, 클라이언트(300a)가 일례로서 설명될 것이다. 클라이언트(300b)는 접속처가 에지 서버(200a)로부터 센터 서버(200b)로 대체되는 것을 제외하고 클라이언트(300a)와 동일한 기능들을 갖는다.
도 8에 도시된 바와 같이, 클라이언트(300a)는 리스트 수신 유닛(311), 판정 정보 수신 유닛(312), 판정 유닛(313), 요청 송신 유닛(314), 데이터 수신 유닛(315), 재생 유닛(316), 및 저장 유닛(321)을 포함한다.
리스트 수신 유닛(311)은 에지 서버(200a)로부터 전달 리스트를 수신한다. 판정 정보 수신 유닛(312)은 에지 서버(200a)로부터 판정 정보를 수신한다.
판정 유닛(313)은 전달 리스트 및 판정 정보에 기초하여, 송신이 요청되는 콘텐츠를 판정한다. 예를 들어, 판정 유닛(313)은 도 5에 도시한 전달 리스트에 URL이 기술된 콘텐츠 중에서 도 6에 도시한 바와 같이, "o"가 판정 정보로서 설정된 콘텐츠를 송신을 요청한 콘텐츠로서 판정한다. 상술한 범위 정보가 판정 정보로서 사용되는 경우에, 판정 유닛(313)은 예를 들어, 범위 정보에 미확정된 정보가 설정되어 있지 않은 콘텐츠를 송신이 요청된 콘텐츠로서 판정한다. 복수의 판정 정보가 사용되는 경우에, 판정 유닛(313)은 복수의 판정 정보의 조합에 따라 송신이 요청되는 콘텐츠를 판정할 수 있다. 예를 들어, 모든 판정 정보가 콘텐츠가 송신될 수 있다는 것을 나타내는 경우에, 판정 유닛(313)은 대응하는 콘텐츠가 송신이 요청되는 콘텐츠인 것으로 판정한다.
요청 송신 유닛(314)은 송신을 요청한다고 판정된 콘텐츠에 대한 송신 요청을 에지 서버(200a)에 송신한다. 데이터 수신 유닛(315)은 에지 서버(200a)로부터 요청 송신 유닛(314)에 의해 송신된 송신 요청에 응답하여 송신된 콘텐츠를 수신한다. 재생 유닛(316)은 수신된 콘텐츠를 재생한다.
저장 유닛(321)은 클라이언트(300a)에 의해 사용되는 각종 데이터를 저장한다. 예를 들어, 저장 유닛(321)은 송신된 전달 리스트, 송신된 판정 정보, 및 전달된 콘텐츠를 저장한다.
상기 유닛들(리스트 수신 유닛(311), 판정 정보 수신 유닛(312), 판정 유닛(313), 요청 송신 유닛(314), 데이터 수신 유닛(315), 및 재생 유닛(316)) 각각은 예를 들어, 1개 또는 복수의 프로세서에 의해 실현된다. 예를 들어, 상기 유닛들 각각은 CPU 등의 프로세서가 프로그램을 실행하게 함으로써, 즉 소프트웨어에 의해 실현될 수 있다. 상기 유닛들 각각은 전용 IC 등의 프로세서에 의해, 즉, 하드웨어에 의해 실현될 수 있다. 유닛들 각각은 소프트웨어와 하드웨어를 조합하여 사용함으로써 실현될 수 있다. 복수의 프로세서를 사용할 때, 각각의 프로세서는 유닛들 중 하나 또는 유닛들 중 2개 이상을 실현할 수 있다.
상술한 바와 같이 전달 리스트와 판정 정보를 사용함으로써, 에지 서버(200a)는 예를 들어, 갱신이 있을 때마다 전달 리스트를 작성하여 송신할 필요가 없다. 또한, 클라이언트(300a)는 판정 정보를 참조함으로써 갱신된 부분을 보다 쉽게 분석할 수 있다. 즉, 전달 리스트를 재취득하고 재분석하지 않고, 최근 전달 리스트와 같은 정보를 효율적으로 취득 및 해석할 수 있다.
판정 정보를 사용하지 않고, 예를 들어, 데이터가 갱신될 때마다 전달 리스트가 작성 및 송신될 수 있다는 점에 유의한다. 이 경우, 판정 정보에 관한 기능들(판정 정보 생성 유닛(212), 판정 정보 송신 유닛(214), 판정 정보 수신 유닛(312) 등)이 제공되지 않을 수 있다. 또한, 예를 들어, 푸시 타입 송신이 채택될 때, 에지 서버(200a)는 전달 리스트를 사용하지 않고 비디오를 클라이언트(300a)에 전달할 수 있다.
다음으로, 본 실시예에 따른 송신 디바이스(100)에 의한 데이터 송신 처리에 대해서 설명할 것이다. 도 9는 본 실시예에서의 송신 처리의 일례를 도시하는 흐름도이다.
촬영 유닛(101)은 전달될 비디오를 촬영한다(단계 S101). 인코딩 유닛(111)은 촬영 유닛(101)으로부터 입력된 비디오를 인코딩한다(단계 S102). 분할 유닛(112)은, 에지 서버(200a)에 송신될 데이터와 저장 유닛(121)에 저장될 데이터를 분할한다. 예를 들어, 분할 유닛(112)은 입력된 비디오를 I 픽처의 프래그먼트와 P 픽처의 프래그먼트로 분할한다(단계 S103). 데이터 송신 유닛(113)은 I 픽처의 프래그먼트를 에지 서버(200a)에 송신한다(단계 S104). 저장 제어 유닛(114)은 P 픽처의 프래그먼트를 저장 유닛(121)에 저장한다(단계 S105).
다음으로, 저장 유닛(121)에 저장된 데이터의 송신 처리에 대해서 설명할 것이다. 도 10은 저장 유닛(121)에 저장된 데이터의 송신 처리의 일례를 도시하는 흐름도이다.
요청 수신 유닛(115)은 에지 서버(200a)(또는 제어 서버)로부터 저장 유닛(121)에 저장된 데이터에 대한 송신 요청을 수신한다(단계 S201). P 픽처가 저장 유닛(121)에 저장되는 경우, 요청 수신 유닛(115)은 저장된 P 픽처들 중 임의의 P 픽처의 송신 요청을 수신한다. 데이터 송신 유닛(113)은 요청된 P 픽처를 저장 유닛(121)으로부터 판독하고 그 P 픽처를 에지 서버(200a)에 송신한다(단계 S202).
다음으로, 이러한 방식으로 구성된 본 실시예에 따른 에지 서버(200a)에 의한 리스트 생성 처리에 대해서 설명할 것이다. 리스트 생성 처리는 에지 서버(200a)가 전달 리스트를 생성하는 처리이다. 센터 서버(200b)의 리스트 생성 유닛(211)은 또한 동일한 절차에 의해 전달 리스트를 생성할 수 있다. 도 11은 본 실시예에서의 리스트 생성 처리의 일례를 도시하는 흐름도이다.
에지 서버(200a)의 리스트 생성 유닛(211)은 예를 들어, 클라이언트(300a)로부터의 요청에 응답하여 전달 리스트를 생성한다(단계 S301). 리스트 생성 유닛(211)은 생성된 전달 리스트를, 예를 들어, 저장 유닛(222)에 저장한다(단계 S302).
일례로서, 시간적으로 연속하는 콘텐츠들인 ContentA_1, ContentA_2, ContentA_3, 및 ContentA_4가 전달될 콘텐츠들로서 존재하고, ContentA_1과 ContentA_3이 전달될 수 있다고 가정한다. 이 경우, 리스트 생성 유닛(211)은 ContentA_1, ContentA_2, ContentA_3, 및 ContentA_4를 전달하기 위한 전달 리스트를 생성한다. 상술한 도 4는 이 때 생성된 전달 리스트의 일례를 도시한다.
다음으로, 본 실시예에 따른 에지 서버(200a)에 의한 판정 정보 생성 처리에 대해 설명할 것이다. 판정 정보 생성 처리는 에지 서버(200a)가 판정 정보를 생성하는 처리이다. 센터 서버(200b)의 판정 정보 생성 유닛(212)은 또한 동일한 절차에 의해 판정 정보를 생성할 수 있다. 판정 정보 생성 처리는 예를 들어, 클라이언트(300a)가 판정 정보의 송신을 요청할 때 실행된다. 도 12는 본 실시예에서의 판정 정보 생성 처리의 일례를 도시하는 흐름도이다.
에지 서버(200a)의 판정 정보 생성 유닛(212)은 전달될 콘텐츠에 대하여 판정 정보가 생성되었는지의 여부를 판정한다(단계 S401). 판정 정보가 생성되지 않았다면(단계 S401: 아니오), 판정 정보 생성 유닛(212)은 콘텐츠에 대한 판정 정보를 생성한다(단계 S402). 상술한 도 6은 도 11에서 설명된 예에서 생성된 판정 정보의 예(ContentA_1과 ContentA_3이 전달될 수 있는 예)를 도시한다.
판정 정보가 생성된 후, 및 판정 정보가 이미 생성되었을 때(단계 S401: 예), 판정 정보 생성 유닛(212)은 생성된 판정 정보를 갱신할지의 여부를 판정한다(단계 S403). 예를 들어, 판정 정보 생성 유닛(212)은 콘텐츠가 송신될 수 있다는 것을 나타내는 검출 결과가 검출 유닛(201)으로부터 수신될 때, 판정 정보가 갱신되었다고 판정한다.
판정 정보가 갱신되어야 한다고 판정되면(단계 S403: 예), 판정 정보 생성 유닛(212)은 판정 정보를 갱신한다(단계 S404). 판정 정보를 갱신한 후, 및 판정 정보가 갱신되지 않았다고 판정될 때(단계 S403: 아니오), 판정 정보 생성 처리는 종료된다.
에지 서버(200a)는 생성된 전달 리스트 및 판정 정보를 네트워크(402)를 통해 전달에 이용가능하게 한다. 클라이언트(300a)는 에지 서버(200a)에 액세스하여 전달 리스트 및 판정 정보를 취득할 수 있다.
다음으로, 본 실시예에 따른 통신 시스템에 의한 콘텐츠 전달 처리에 대해서 설명할 것이다. 도 13은 본 실시예에서의 콘텐츠 전달 처리의 일례를 도시하는 시퀀스도이다. 도 13은 에지 서버(200a)가 콘텐츠를 클라이언트(300a)에 전달하는 일례를 설명한다. 센터 서버(200b)가 콘텐츠를 클라이언트(300b)에 전달할 때 동일한 절차가 적용될 수 있다.
에지 서버(200a)의 리스트 생성 유닛(211)은 전달 리스트를 생성한다(단계 S501). 이러한 처리는, 예를 들어, 상술한 리스트 생성 처리에 대응한다. 에지 서버(200a)의 리스트 송신 유닛(213)은 예를 들어, 클라이언트(300a)로부터의 요청에 응답하여 전달 리스트를 클라이언트(300a)에 송신한다(단계 S502).
에지 서버(200a)의 판정 정보 생성 유닛(212)은 판정 정보를 생성한다(단계 S503). 이러한 처리는 예를 들어, 상술한 판정 정보 생성 처리에 대응한다. 에지 서버(200a)의 판정 정보 송신 유닛(214)은 예를 들어, 클라이언트(300a)로부터의 요청에 응답하여 판정 정보를 클라이언트(300a)에 송신한다(단계 S504).
클라이언트(300a)의 리스트 수신 유닛(311)은 전달 리스트를 수신하고, 판정 정보 수신 유닛(312)은 판정 정보를 수신한다. 그 후, 클라이언트(300a)의 판정 유닛(313)은 수신된 전달 리스트 및 판정 정보를 사용하여 송신이 요청되는 콘텐츠를 판정한다(단계 S505). 예를 들어, 도 5에 도시된 전달 리스트가 수신된 경우, 판정 유닛(313)은 수신된 전달 리스트를 분석하여 ContentA_1 내지 ContentA_4를 취득하기 위한 URL들을 획득한다. 또한, 판정 유닛(313)은 수신된 판정 정보를 분석하고, 전달 리스트에 기술된 콘텐츠 중에서 송신될 수 있는 콘텐츠를 판정한다.
도 14는 도 6에 도시된 판정 정보를 사용하여 도 5에 도시된 전달 리스트를 판정하는 일례를 도시하는 도면이다. 도 14에 도시된 바와 같이, 전달 리스트에 기술된 ContentA_1을 취득하기 위한 URL과 ContentA_1에 대응하는 판정 정보를 조합함으로써, 판정 유닛(313)은 ContentA_1이 송신(액세스)될 수 있다고 판정할 수 있다. 유사하게, 판정 유닛(313)은 ContentA_2가 송신(액세스 불가능)될 수 없다고 판정할 수 있다.
도 13으로 되돌아가면, 요청 송신 유닛(314)은 송신을 요청한다고 판정된 콘텐츠에 대한 송신 요청을 에지 서버(200a)에 송신한다(단계 S506). 에지 서버(200a)의 전달 유닛(216)은 요청된 콘텐츠를 클라이언트(300a)에 송신한다(단계 S507). 클라이언트(300a)의 데이터 수신 유닛(315)은 콘텐츠를 수신하고, 재생 유닛(316)은 수신된 콘텐츠를 재생한다(단계 S508).
에지 서버(200a)에 의해 그대로 전달될 수 있는 포맷으로 표현된 콘텐츠가 송신 디바이스(100)로부터 송신되는 경우, 전달 유닛(216)은 송신 디바이스(100)로부터 송신된 콘텐츠를 변환하지 않고 콘텐츠를 클라이언트(300a)에 직접 송신한다. 콘텐츠가 에지 서버(200a)에 의해 전달되는 포맷으로 변환될 수 있는 메타데이터가 추가되는 포맷으로 송신되는 경우, 전달 유닛(216)은 송신된 콘텐츠를 메타데이터에 따라 전달될 수 있는 포맷으로 변환하고, 변환된 콘텐츠를 클라이언트(300a)에 송신한다.
그 후, ContentA_2가 전달 준비가 되었다고 가정한다. 이때, 에지 서버(200a)의 검출 유닛(201)은 ContentA_2가 전달 준비된 것을 검출한다. 판정 정보 생성 유닛(212)은 검출 결과에 따라 갱신된 판정 정보를 생성한다(단계 S509).
도 15는 갱신된 판정 정보의 일례를 도시하는 도면이다. 도 15에 도시한 바와 같이, 판정 정보 생성 유닛(212)은 ContentA_2에 대응하는 판정 정보를 "x"에서 "o"으로 갱신한다. 갱신된 판정 정보는 네트워크(402)를 통해 전달될 준비가 된다.
도 13으로 되돌아가면, 에지 서버(200a)의 판정 정보 송신 유닛(214)은 예를 들어, 클라이언트(300a)로부터의 요청에 응답하여 갱신된 판정 정보를 클라이언트(300a)에 송신한다(단계 S510). 후속 단계들 S511 내지 S514는 단계들 S505 내지 S508과 동일하다.
도 16은 도 15에 도시된 판정 정보를 사용하여 도 5에 도시된 전달 리스트를 판정하는 일례를 도시하는 도면이다. 도 16에 도시된 바와 같이, 판정 유닛(313)은 ContentA_2가 송신 가능한(액세스 가능한) 상태에 있다고 판정할 수 있다.
이러한 방식으로, ContentA_2가 전달 준비가 될 때, 클라이언트(300a)는 전달 리스트를 재취득하지 않고, 단지 갱신된 판정 정보를 이미 수신된 전달 리스트에 적용함으로써 각각의 콘텐츠의 최신 상태를 획득할 수 있다.
다음으로, 에지 서버(200a)에 의한 데이터 송신 처리에 대해서 설명할 것이다. 도 17은 에지 서버(200a)에 의한 송신 처리의 일례를 도시하는 흐름도이다.
분할 유닛(112)은 저장 유닛(222)에 저장된 데이터(비디오)를 센터 서버(200b)에 송신될 데이터와 저장 유닛(121)에 저장된 데이터로 분할한다. 예를 들어, 분할 유닛(112)은 입력된 비디오를 I 픽처의 프래그먼트와 P 픽처의 프래그먼트로 분할한다(단계 S601). 데이터 송신 유닛(113)은 I 픽처의 프래그먼트를 센터 서버(200b)에 송신한다(단계 S602). 저장 제어 유닛(114)은 P 픽처의 프래그먼트를 저장 유닛(121)에 저장한다(단계 S603).
본 실시예는 예를 들어, 드라이브 레코더에 의해 촬영된 비디오를 모니터링하기 위한 시스템에 적용될 수 있다. 적용가능한 시스템들은 이에 제한되지 않는다. 예를 들어, 센서에 의해 획득된 센서 데이터를 전달 및 모니터링하는 시스템, 및 이동체에 탑재된 촬영 디바이스 등에 의해 획득된 동화상 데이터를 전달 및 모니터링하는 시스템에 적용될 수 있다. 이동체는 예를 들어, 사람, 로봇, 차량(자동차, 오토바이, 열차 등), 트롤리(trolley), 비행가능한 물체(유인 비행체, 무인 비행체(예를 들어, UAV), 드론), 및 개인 모빌리티 등을 포함한다. 또한, 이동체는 예를 들어, 사람에 의한 운전 조작을 통해 주행하는 이동체와, 사람에 의한 운전 조작없이 자동으로 주행(자동적으로 운전)할 수 있는 이동체이다.
본 실시예는 또한 예를 들어, 디바이스의 모니터링 및 제어 시스템의 화면(Human Machine Interface(HMI))의 조작 이력을 모니터링하는 모니터링 시스템에 적용될 수 있다. 화면의 조작 이력은 예를 들어, 표시 디바이스에 표시되는 화면을 촬영 및 기록하는 기능에 의해 획득될 수 있다. 이렇게 획득된 화상 데이터는 송신 디바이스(100)에 의해 촬영된 비디오 대신에 사용될 수 있다.
다수의 모니터링 화면이 일반적으로 디바이스의 모니터링 및 제어 시스템에서 사용되기 때문에, 화면의 조작 이력의 모니터링 시스템은 다수의 모니터링 화면 화상을 나란히 모니터링하는 것이 필요할 수 있다. 일반적으로, 이러한 방식으로 다수의 비디오를 병렬로 표시하는 처리는 처리 부하를 증가시키지만, 본 실시예에서는, 분할된 데이터(예를 들어, I 픽처)만이 표시될 수 있기 때문에, 처리 부하의 증가가 억제될 수 있다.
본 실시예에서, 송신 디바이스(100)로부터 송신된 데이터는 에지 서버(200a)를 통해 센터 서버(200b)에 송신된다. 따라서, 예를 들어, 송신 디바이스(100)의 전원이 턴오프되더라도, 또는 송신 디바이스(100)가 이동되어 오프라인되더라도, 데이터가 에지 서버(200a)에 이미 송신되었다면, 에지 서버(200a)는 송신 디바이스(100)를 대신하여 데이터를 송신할 수 있다.
예를 들어, 송신 디바이스(100) 및 에지 서버(200a)는 5세대 이동 통신 시스템(5G) 또는 무선 LAN과 같은 고속 네트워크(401)에 의해 접속될 수 있고, 에지 서버(200a)와 센터 서버(200b)는 네트워크(401)보다 느린 네트워크(403)에 의해 접속될 수 있다. 그러한 구성에 의해, 데이터는 고속 네트워크(401) 상의 에지 서버(200a)에 지속적으로 업로드되고, 예를 들어, 네트워크(403)의 사용률이 낮을 때, 에지 서버(200a)로부터 센터 서버(200b)로 데이터를 송신하는 것과 같은 제어를 수행할 수 있다.
이동체에 의해 획득된 데이터를 모니터링하는 시스템에 적용될 때, 복수의 에지 서버(200a)는 이동체의 이동 범위에 전달 및 배치될 수 있다. 예를 들어, 복수의 에지 서버(200a)는 복수의 교통 신호등, 복수의 전신주, 복수의 차고, 복수의 무선국 등에 배치될 수 있다. 이 경우에, 센터 서버(200b)는 예를 들어, 텔레매틱스 서비스의 센터 서버일 수 있다.
복수의 에지 서버(200a)가 전달 및 배치되는 구성은 예를 들어, 발전소에 포함된 각각의 디바이스의 센서 데이터를 모니터링하기 위한 시스템에 적용될 수 있다. 이러한 시스템에서, 예를 들어, 센서 데이터를 수집하기 위한 에지 서버들(200a)은 복수의 제어실 각각에 전달 및 배치된다. 센터 서버(200b)는 예를 들어, 사무실에 제공된다. 데이터 다이오드는 각각의 에지 서버(200a)로부터 센터 서버(200b)로의 단 하나의 송신만을 허용하도록 구성될 수 있다.
복수의 에지 서버(200a)가 전달 및 배치되는 구성에서, 하나의 송신 디바이스(100)에 의해 획득된 데이터는 복수의 에지 서버(200a)를 통해 센터 서버(200b)에 송신될 수 있다. 본 실시예에서, 각각의 에지 서버(200a)는 송신 디바이스(100)를 가상화하도록 동작하기 때문에, 센터 서버(200b)로부터 데이터가 하나의 송신 디바이스(100)로부터 송신되는 것으로 보인다. 따라서, 예를 들어, 각 에지 서버(200a) 사이에서 데이터를 동기시키는 기능이 불필요하다. 또한, 센터 서버(200b)는 예를 들어, 복수의 에지 서버(200a)를 구별 및 처리하는 기능을 필요로 하지 않는다.
변형예 1
상기 실시예에서, 송신 디바이스(100)로부터 송신된 데이터는 에지 서버(200a)를 통해 센터 서버(200b)에 송신된다. 데이터는 에지 서버(200a)를 거치지 않고 송신 디바이스(100)로부터 센터 서버(200b)로 송신될 수 있다.
예를 들어, 송신 디바이스(100)는 센터 서버(200b)로부터의 요청 또는 미리 결정된 송신 조건에 응답하여 에지 서버(200a)를 거치지 않고 데이터를 센터 서버(200b)에 송신한다.
예를 들어, 센터 서버(200b)는 요청 및 데이터가 직접 송신 및 수신될 수 있도록 송신 디바이스(100)에 접속된다. 센터 서버(200b)(요청 송수신 유닛(215))는 예를 들어, I 픽처를 센터 서버(200b)에 직접 송신하고, 또한 P 픽처를 에지 서버(200a)에 송신하라는 요청을 송신 디바이스(100)에 송신한다. 송신 디바이스(100)는 이러한 요청에 따라 I 픽처를 센터 서버(200b)에 송신하고 P 픽처를 에지 서버(200a)에 송신한다.
미리 결정된 송신 조건은 예를 들어, 에지 서버(200a)와 센터 서버(200b) 사이의 네트워크 접속 형태이다. 송신 디바이스(100)는 예를 들어, 분할된 픽처들의 일부(예를 들어, I 픽처)만을 상대적으로 저속인 네트워크에 접속된 서버에 송신하고, 나머지 픽처들(예를 들어, P 픽처)을 상대적으로 고속인 네트워크에 접속된 서버에 송신한다.
보다 구체적으로, 네트워크 접속 형태는 다음과 같이 정의될 수 있다.
(N1) 고속 네트워크(401)(5G, 무선 LAN 등)로 에지 서버(200a)에 접속하고, 네트워크(401)보다 느린 네트워크(403)로 센터 서버(200b)에 접속한다.
(N2) 고속 LTE(Long Term Evolution)로 에지 서버(200a)에 접속하고, 저속 LTE로 센터 서버(200b)에 접속한다.
5G-준수 네트워크로 에지 서버(200a)와 센터 서버(200b) 양쪽에 접속할 때, 5G에 의해 정의되는 슬라이스는 송신 조건일 수 있다. 예를 들어, 더 낮은 속도로 데이터를 송신하는 슬라이스가 센터 서버(200b)와의 통신에 사용될 때, 송신 디바이스(100)는 분할된 픽처들의 일부(예를 들어, I 픽처)만을 이러한 슬라이스를 사용하여 센터 서버(200b)에 송신할 수 있다.
데이터가 송신 디바이스(100)로부터 센터 서버(200b)로 직접 전송될 수 있는 구성의 경우에, 송신 디바이스(100)로부터 직접 송신된 데이터와 에지 서버(200a)를 통해 송신 디바이스(100)로부터 송신된 데이터가 중복될 수 있다. 본 실시예에서, 에지 서버(200a)는 송신 디바이스(100)를 가상화하도록 데이터를 송신한다. 따라서, 센터 서버(200b)는 중복된 데이터가 송신 디바이스(100)로부터 송신되는 상황과 상황이 동일하다는 것을 인식한다.
따라서, 센터 서버(200b)가 중복된 데이터가 송신 디바이스(100)로부터 송신될 때 처리를 실행하는 기능을 갖는 경우, 예를 들어, 송신 디바이스(100)로부터 송신된 데이터를 에지 서버(200a)로부터 송신된 데이터와 매칭시키는 기능을 가질 필요가 없다. 중복된 데이터가 송신 디바이스(100)로부터 송신될 때 처리를 실행하는 기능은 중복된 데이터 중 하나를 폐기하는 기능 및 중복된 데이터 양쪽을 저장하는 기능과 같은, 종래에 사용되는 임의의 기능일 수 있다.
도 18은 본 변형예에서의 송신 디바이스(100)에 의한 송신 처리의 일례를 도시하는 흐름도이다. 도 18은 I 픽처와 P 픽처가 분할 및 송신되는 예를 설명하지만, 데이터 분할 방법은 상술한 바와 같이 이에 한정되지 않는다.
단계 S701 내지 S703은 상술한 실시예의 송신 디바이스(100)에 의한 송신 처리를 도시하는 도 9의 단계 S101 내지 S103과 동일하다.
본 변형예에서, 데이터 송신 유닛(113)은 I 픽처의 프래그먼트가 송신되는 송신처를 결정한다(단계 S704). 예를 들어, 센터 서버(200b)가 I 픽처의 송신을 요청하는 경우, 데이터 송신 유닛(113)은 센터 서버(200b)가 송신처인 것으로 결정한다. 데이터 송신 유닛(113)은 요청에 따라서가 아니라, 송신 조건에 따라 송신처를 결정할 수 있다. 예를 들어, 데이터 송신 유닛(113)은 I 픽처의 송신처로서 더 느린 네트워크에 의해 접속된 서버를 결정할 수 있다.
데이터 송신 유닛(113)은 I 픽처의 프래그먼트를 결정된 송신처의 서버에 송신한다(단계 S705). 저장 제어 유닛(114)은 P 픽처의 프래그먼트를 저장 유닛(121)에 저장한다(단계 S706).
변형예 2
네트워크(401)는 복수의 통신 회선에 의해 구성될 수 있고, 복수의 통신 회선 중 하나(통신 회선(401A))에 의해 분할 유닛(112)에 의해 분할된 데이터의 일부(예를 들어, I 픽처)를 에지 서버(200a)에 송신하고, 복수의 통신 회선 중 다른 통신 회선(통신 회선(401B))에 의해 나머지 데이터(예를 들어, P 픽처)를 에지 서버(200a)에 송신하도록 구성될 수 있다. 도 19는 이러한 방식으로 구성된 변형예 2의 비디오 전달 시스템의 구성예를 도시하는 도면이다. 예를 들어, 데이터 송신 유닛(113)은 통신 회선(401A)에 의해 I 픽처를 라이브-스트리밍하고 임의의 타이밍에서 통신 회선(401B)에 의해 P 픽처를 송신할 수 있다.
에지 서버(200a)와 센터 서버(200b) 사이의 네트워크(403)는 네트워크(401)와 동일한 방법에 의해 복수의 통신 회선에 의해 구성될 수 있다.
변형예 3
분할된 데이터를 에지 서버(200a)에 송신하는 대신에, 분할된 데이터를 분할하여 송신 디바이스(100) 내의 저장 유닛(121)에 저장할 수 있다. 그 결과, 예를 들어, 저장 유닛(121)으로부터 필요한 픽처(예를 들어, I 픽처)만을 판독 및 표시할 수 있다. I 픽처만을 표시하는 방법은 P 픽처를 포함하는 모든 픽처를 표시하는 방법과 비교하여 처리 부하를 줄일 수 있다. 따라서, 예를 들어, 처리 용량이 제한된 클라이언트(300a) 등에 대해서도, 복수의 송신 디바이스(100)의 저장 유닛(121)으로부터 I 픽처만을 판독하고 이들을 병렬로 표시할 수 있다. 또한, 필요한 경우, 나머지 P 픽처 등을 단계적으로 판독하여 움직이는 표시를 만들 수 있다.
이 경우, 저장 제어 유닛(114)은 에지 서버(200a)의 저장 제어 유닛(218)의 경우에서와 같이, 저장되고나서 특정 기간이 경과한 데이터를 삭제할 수 있고, 특정 기간이 경과한 후에 데이터를 단계적으로 삭제할 수 있다. 예를 들어, 저장 용량이 불충분할 때, I 픽처와 P 픽처를 포함하는 모든 데이터를 연대순으로 삭제하는 대신에, P 픽처만을 삭제하고 I 픽처를 간헐적으로 표시될 수 있는 데이터로서 남길 수 있으며, 따라서 데이터의 장기간 저장 및 저용량 양쪽 모두가 달성될 수 있다.
변형예 4
비디오가 각각의 픽처마다 분할 및 전달되면, 전달 리스트의 크기가 증가할 수 있다. 따라서, 리스트 생성 유닛(211)은 계층적 구조를 갖는 복수의 파일로부터 전달 리스트를 생성할 수 있다. 예를 들어, 리스트 생성 유닛(211)은 년, 월, 일, 시간 등의 단위로 계층적으로 전달 리스트를 구성할 수 있다. 예를 들어, 하위 계층에서의 전달 리스트는 특정 시간 범위로 분할된 프래그먼트 데이터 각각의 식별 정보를 포함한다. 다음 상위의 전달 리스트는 하루에 포함된 시간에 대응하는 하나 이상의 전달 리스트를 식별하는 정보를 포함한다. 다음 상위의 전달 리스트는 한 달에 포함된 날들에 대응하는 하나 이상의 전달 리스트를 식별하는 정보를 포함한다. 다음 상위의 전달 리스트는 일년에 포함된 달들에 대응하는 하나 이상의 전달 리스트를 식별하는 정보를 포함한다.
변형예 5
도 20은 변형예 5의 비디오 전달 시스템에 의한 전달 처리의 개요를 도시하는 도면이다. 본 변형예의 비디오 전달 시스템은 제어 서버(510)와 웹 서버(520)를 추가로 포함한다. 본 변형예에서, 센터 서버(200b)는 비디오를 전달하는 웹 서버로서 구성된다.
제어 서버(510)는 제어 유닛(511)을 포함한다. 제어 유닛(511)은 클라이언트(300b)로부터 송신된 요청에 따라 에지 서버(200a)를 제어한다. 예를 들어, 클라이언트(300b)는 픽처를 분할하고 일부(예를 들어, I 픽처만) 또는 모든 픽처를 송신할지의 여부를 나타내는 송신 요청을 제어 서버(510)에 송신한다. 제어 서버(510)의 제어 유닛(511)은 송신 요청에 따라, 픽처들의 일부만을 분할하고, 이들을 센터 서버(200b)에 송신(업로드)할지, 또는 모든 픽처들을 센터 서버(200b)에 송신할지를 나타내는 제어 신호를 에지 서버(200a)에 송신한다.
에지 서버(200a)는 제어 서버(510)로부터 송신된 제어 신호에 따라, 상기 실시예에서와 같이 분할된 픽처들의 일부분만을 센터 서버(200b)에 송신하는 것, 또는 모든 픽처를 센터 서버(200b)에 송신하는 것 사이에서 스위칭함으로써 동작한다.
캡처 스트림 송신(업로드 송신)은 분할된 데이터가 에지 서버(200a) 또는 센터 서버(200b)에 송신될 데이터(제1 데이터)로서 송신되는 것을 의미한다. 캡처 파일 저장(파일 출력)은 분할된 데이터가 에지 서버(200a) 또는 센터 서버(200b)에 송신되지 않고 저장 유닛(121)에 저장될 데이터(제2 데이터)로서 저장되는 것을 의미한다. 도 20에 도시된 바와 같이, 저장된 데이터는 에지 서버(200a) 및 센터 서버(200b)에 오프라인으로 복사될 수 있다.
에지 서버(200a)와 센터 서버(200b)는 필요한 경우, 데이터 수신 유닛(217)에 의해 수신된 데이터를 전달가능한 포맷으로 변환하고(스트림 변환하고), 그것을 저장 유닛(222)에 저장한다. 오프라인으로 복사된 데이터는 일괄적으로 변환(일괄 변환)되어 저장 유닛(222)에 저장될 수 있다.
저장 유닛(222)은 전달가능한 포맷의 각각의 픽처(프래그먼트 파일), 전달 리스트 등을 저장한다. 센터 서버(200b)는 저장 유닛(222)에 저장된 픽처들을 전달하는 비디오 서버로서 기능한다. 상술한 바와 같이, 데이터 수신 유닛(217)에 의해 수신된 데이터는 일시 저장 유닛(221)에 저장될 수 있고, 일시 저장 유닛(221)에 저장된 데이터는 전달 유닛(216)에 의해 전달될 수 있다.
클라이언트(300b)는 뷰어를 갖는 웹 브라우저를 갖는다. 웹 브라우저는 비디오를 재생하는 비디오 플레이어를 갖는다. 비디오 플레이어는, 예를 들어, HTML5-준수 애플리케이션으로서 실현된다.
웹 서버(520)는 비디오 서버의 기능 이외의 기능을 갖는 서버 디바이스이다. 예를 들어, 웹 서버(520)는 비디오 전달 시스템과 상이한 외부 시스템을 위한 사용자 인터페이스(UI)를 제공하기 위한 서버 디바이스이다.
상술한 바와 같이, 상기 실시예의 비디오 전달 시스템은 예를 들어, 인터넷 상에서 사용되는 웹 시스템으로서 실현될 수 있다.
도 21은 변형예 5의 비디오 전달 시스템의 다른 예를 도시하는 도면이다. 도 21은 변형예 1에서와 같이 에지 서버(200a)를 거치지 않고 데이터가 송신 디바이스(100)로부터 센터 서버(200b)로 송신될 수 있도록 구성된 비디오 전달 시스템의 일례이다.
이러한 구성에서, 도 21에 도시한 바와 같이, 제어 서버(510)는 에지 서버(200a) 뿐만 아니라 송신 디바이스(100)에도 제어 신호를 송신할 수 있다. 또한, 송신 디바이스(100)의 데이터 송신 유닛(113)은 데이터를 에지 서버(200a) 뿐만 아니라 센터 서버(200b)에 직접 송신할 수 있다.
상술한 바와 같이, 본 실시예에 따른 비디오 전달 시스템에서는, 품질을 저하시키지 않고 회선 부하 및 처리 부하를 줄일 수 있다.
다음으로, 도 22를 참조하여, 본 실시예에 따른 송신 디바이스의 하드웨어 구성을 설명할 것이다. 도 22는 본 실시예에 따른 송신 디바이스의 하드웨어 구성예를 도시하는 설명도이다.
본 실시예에 따른 송신 디바이스는 CPU(51) 등의 제어 디바이스, ROM(Read Only Memory)(52) 또는 RAM(53) 등의 저장 디바이스, 통신을 위한 네트워크에 접속하는 통신 I/F(54), 및 각 유닛을 접속하는 버스(61)이다.
본 실시예에 따른 송신 디바이스에 의해 실행되는 프로그램은 ROM(52) 등에 미리 통합됨으로써 제공된다.
본 실시예에 따른 송신 디바이스에 의해 실행되는 프로그램은 CD-ROM(Compact Disk Read Only Memory), FD(flexible disk), CD-R(Compact Disk Recordable), 및 DVD(Digital Versatile Disk) 등의 컴퓨터 판독가능 기록 매체 상에 설치가능 포맷 또는 실행가능 포맷의 파일로 기록되고 컴퓨터 프로그램 제품으로서 제공되도록 구성될 수 있다.
또한, 본 실시예에 따른 송신 디바이스에 의해 실행되는 프로그램은 인터넷 등의 네트워크에 접속된 컴퓨터 상에 저장되고 네트워크를 통한 다운로딩에 의해 제공될 수 있다. 또한, 본 실시예에 따른 송신 디바이스에 의해 실행되는 프로그램은 인터넷 등의 네트워크를 통해 제공 또는 전달되도록 구성될 수 있다.
본 실시예에 따른 송신 디바이스에 의해 실행되는 프로그램은 컴퓨터를 전술한 송신 디바이스의 각각의 유닛으로서 기능시킬 수 있다. 이러한 컴퓨터는 CPU(51)에 의해, 메인 저장 디바이스 상에서 컴퓨터 판독가능한 저장 매체로부터 프로그램을 판독 및 실행할 수 있다.
특정 실시예들이 설명되었지만, 이러한 실시예들은 단지 예로서 제시된 것이고, 본 발명의 범위를 제한하려는 것은 아니다. 실제로, 본 명세서에 기술된 신규의 실시예들은 각종 다른 형태로 구현될 수 있고; 또한, 본 명세서에 기술된 실시예들의 형태에서의 각종 생략, 대체 및 변경이 본 발명의 사상을 벗어나지 않고 행해질 수 있다. 첨부된 청구항들 및 그들의 등가물은 발명의 범위 및 요지에 포함됨과 함께 형태 또는 변형들을 포함하도록 의도된다.

Claims (10)

  1. 서버 디바이스로서,
    송신 디바이스로부터 복수의 송신 데이터를 수신하는 데이터 수신 유닛 - 상기 송신 디바이스는 상기 서버 디바이스에 송신될 복수의 데이터를 복수의 분할된 데이터로 분할하고, 상기 송신 디바이스는 상기 복수의 분할된 데이터를 포함하는 상기 복수의 송신 데이터를 송신함 -;
    상기 복수의 송신 데이터를 제1 데이터와 제2 데이터로 분할하는 분할 유닛;
    상기 제1 데이터를, 수신 디바이스에 송신 데이터를 전달하는 외부 서버 디바이스에 송신하는 송신 유닛;
    상기 제2 데이터 및 상기 제2 데이터가 상기 외부 서버 디바이스에 송신되지 않았다는 것을 나타내는 메타데이터를 저장 유닛에 저장하는 저장 제어 유닛; 및
    상기 수신 디바이스 또는 상기 외부 서버 디바이스로부터 상기 제2 데이터에 대한 송신 요청을 수신하는 요청 수신 유닛을 포함하고,
    상기 송신 유닛은 또한 상기 송신 요청에 응답하여 상기 제2 데이터를 상기 외부 서버 디바이스에 송신하고,
    상기 저장 제어 유닛은 또한, 상기 메타데이터를 사용하여 상기 제2 데이터가 전달되었는지 여부를 판정하고, 전달된 상기 제2 데이터의 전부 또는 일부를 우선적으로 삭제하는 서버 디바이스.
  2. 제1항에 있어서,
    상기 송신 데이터는 동화상 데이터이고,
    제1 데이터는 인트라-프레임 예측에 의해 인코딩된 화상 데이터를 포함하는 서버 디바이스.
  3. 제2항에 있어서,
    상기 제2 데이터는 상기 제1 데이터에 기초하여 인터-프레임 예측에 의해 인코딩된 화상 데이터를 포함하는 서버 디바이스.
  4. 제2항에 있어서,
    상기 제1 데이터는 상기 인트라 프레임 예측에 의해 인코딩된 화상 데이터의 일부를 포함하고,
    상기 제2 데이터는 상기 인트라-프레임 예측에 의해 인코딩된 화상 데이터 중에서 상기 제1 데이터에 포함된 화상 데이터 이외의 화상 데이터, 및 상기 제1 데이터에 기초하여 인터-프레임 예측에 의해 인코딩된 화상 데이터를 포함하는 서버 디바이스.
  5. 제2항에 있어서,
    상기 제1 데이터는 상기 인트라-프레임 예측에 의해 인코딩된 화상 데이터의 일부를 포함하고,
    상기 분할 유닛은 상기 송신 데이터를 송신하는 네트워크의 대역에 따라, 상기 인트라-프레임 예측에 의해 인코딩된 화상 데이터 중에서 상기 제1 데이터에 포함된 화상 데이터를 변경하는 서버 디바이스.
  6. 제2항에 있어서,
    상기 제1 데이터는 상기 인트라-프레임 예측에 의해 인코딩된 화상 데이터의 일부를 포함하고,
    상기 분할 유닛은 상기 수신 디바이스 또는 상기 서버 디바이스로부터의 요청에 응답하여, 상기 인트라-프레임 예측에 의해 인코딩된 화상 데이터 중에서 상기 제1 데이터에 포함된 화상 데이터를 변경하는 서버 디바이스.
  7. 제1항에 있어서,
    상기 분할 유닛은 상기 송신 데이터를 송신하는 네트워크의 대역에 따라 상기 제1 데이터의 크기를 변경하는 서버 디바이스.
  8. 제1항에 있어서,
    상기 저장 제어 유닛은 미리 결정된 조건에 따라 상기 저장 유닛에 저장된 상기 제2 데이터를 삭제하는 서버 디바이스.
  9. 통신 시스템으로서,
    제1 서버 디바이스; 및
    제2 서버 디바이스를 포함하고,
    상기 제1 서버 디바이스는:
    복수의 송신 데이터의 일부인 제1 데이터 및 상기 복수의 송신 데이터 중 상기 제1 데이터 이외의 제2 데이터에 대한 송신 요청을 송신 디바이스에 송신하는 요청 송신 유닛 - 상기 송신 디바이스는 상기 제2 서버 디바이스에 송신될 복수의 데이터를 복수의 분할된 데이터로 분할하고, 상기 송신 디바이스는 상기 복수의 분할된 데이터를 포함하는 상기 복수의 송신 데이터를 송신함 -,
    상기 송신 요청에 응답하여 상기 송신 디바이스 또는 상기 제2 서버 디바이스로부터 송신된 상기 제1 데이터 및 상기 제2 데이터를 수신하는 제1 데이터 수신 유닛, 및
    상기 제1 데이터 및 상기 제2 데이터를 수신 디바이스에 전달하는 전달 유닛을 포함하고,
    상기 제2 서버 디바이스는:
    상기 제2 데이터 및 상기 제2 데이터가 상기 제1 서버 디바이스에 송신되지 않았다는 것을 나타내는 메타데이터를 저장 유닛에 저장하는 저장 제어 유닛;
    상기 송신 디바이스로부터 상기 제2 데이터를 수신하는 제2 데이터 수신 유닛, 및
    상기 제2 데이터를 상기 제1 서버 디바이스에 송신하는 송신 유닛을 포함하고,
    상기 저장 제어 유닛은 또한, 상기 메타데이터를 사용하여 상기 제2 데이터가 전달되었는지 여부를 판정하고, 전달된 상기 제2 데이터의 전부 또는 일부를 우선적으로 삭제하는 통신 시스템.
  10. 프로그래밍된 명령어들을 포함하는 컴퓨터 프로그램을 기록한 비일시적 컴퓨터 판독가능 기록 매체로서,
    상기 명령어들은, 서버 디바이스에 포함되는 컴퓨터로 하여금:
    송신 디바이스로부터 복수의 송신 데이터를 수신하는 데이터 수신 유닛 - 상기 송신 디바이스는 상기 서버 디바이스에 송신될 복수의 데이터를 복수의 분할된 데이터로 분할하고, 상기 송신 디바이스는 상기 복수의 분할된 데이터를 포함하는 상기 복수의 송신 데이터를 송신함 -;
    상기 복수의 송신 데이터를 제1 데이터와 제2 데이터로 분할하는 분할 유닛;
    상기 제1 데이터를, 수신 디바이스에 송신 데이터를 전달하는 외부 서버 디바이스에 송신하는 송신 유닛;
    상기 제2 데이터 및 상기 제2 데이터가 상기 외부 서버 디바이스에 송신되지 않았다는 것을 나타내는 메타데이터를 저장 유닛에 저장하는 저장 제어 유닛; 및
    상기 수신 디바이스 또는 상기 외부 서버 디바이스로부터 상기 제2 데이터에 대한 송신 요청을 수신하는 요청 수신 유닛으로 기능시키고,
    상기 송신 유닛은 또한 상기 송신 요청에 응답하여 상기 제2 데이터를 상기 외부 서버 디바이스에 송신하고,
    상기 저장 제어 유닛은 또한, 상기 메타데이터를 사용하여 상기 제2 데이터가 전달되었는지 여부를 판정하고, 전달된 상기 제2 데이터의 전부 또는 일부를 우선적으로 삭제하는, 비일시적 컴퓨터 판독가능 기록 매체.
KR1020210023793A 2020-04-21 2021-02-23 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체 KR102613872B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2020-075376 2020-04-21
JP2020075376A JP7438835B2 (ja) 2020-04-21 2020-04-21 サーバ装置、通信システム、プログラムおよび情報処理方法

Publications (2)

Publication Number Publication Date
KR20210130093A KR20210130093A (ko) 2021-10-29
KR102613872B1 true KR102613872B1 (ko) 2023-12-15

Family

ID=74666488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210023793A KR102613872B1 (ko) 2020-04-21 2021-02-23 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체

Country Status (5)

Country Link
US (1) US11895332B2 (ko)
EP (1) EP3902265A1 (ko)
JP (1) JP7438835B2 (ko)
KR (1) KR102613872B1 (ko)
CN (1) CN113542747A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130273945A1 (en) * 2012-04-13 2013-10-17 Sharp Laboratories Of America, Inc. Electronic devices for sending a message and buffering a bitstream

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4193069A (en) 1978-03-13 1980-03-11 American District Telegraph Company Latching alarm smoke detector
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
JP2003009117A (ja) * 2001-06-20 2003-01-10 Nec Eng Ltd 動画像のリアルタイム配信方法及び配信システム
JP2004110244A (ja) 2002-09-17 2004-04-08 Fuji Photo Film Co Ltd プリントシステムおよびプリント
JP2004282687A (ja) * 2003-01-23 2004-10-07 Toshiba Corp 符号化装置、復号化装置、通信システム、符号化方法および復号化方法
JP4447860B2 (ja) * 2003-06-30 2010-04-07 ソニー株式会社 ネットワークカメラ
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
KR20080102322A (ko) * 2004-01-28 2008-11-24 닛본 덴끼 가부시끼가이샤 컨텐츠의 배포 방법, 인코드 방법 및 수신 재생 방법과 장치 그리고 프로그램
KR20060114080A (ko) * 2005-04-27 2006-11-06 삼성전자주식회사 멀티미디어 스트리밍 서비스 시스템 및 방법
US20080072047A1 (en) * 2006-09-20 2008-03-20 Futurewei Technologies, Inc. Method and system for capwap intra-domain authentication using 802.11r
JP5026167B2 (ja) * 2007-07-02 2012-09-12 パナソニック株式会社 ストリーム伝送サーバおよびストリーム伝送システム
JP2009021894A (ja) * 2007-07-13 2009-01-29 Panasonic Corp 映像配信システム
JP2010288230A (ja) * 2009-06-15 2010-12-24 Tokai Paudekkusu:Kk 動画情報中継システム、及び動画情報中継プログラム
US8209730B2 (en) * 2009-06-22 2012-06-26 Sony Corporation Speculative video on demand
KR101087194B1 (ko) * 2009-11-10 2011-11-29 주식회사 노매드커넥션 동영상 인코딩 시스템 및 방법
GB2476271B (en) * 2009-12-17 2015-09-02 Skype Coding data streams
US20120030723A1 (en) * 2010-07-27 2012-02-02 Motorola, Inc. Method and apparatus for streaming video
US20130223537A1 (en) * 2010-09-24 2013-08-29 Gnzo Inc. Video Bit Stream Transmission System
JP5541364B2 (ja) * 2010-09-30 2014-07-09 富士通株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、画像復号プログラム、及び画像符号化プログラム
EP2727016A1 (en) * 2011-07-01 2014-05-07 Nokia Solutions and Networks Oy Data storage management in communications
US9537917B2 (en) * 2012-11-20 2017-01-03 Google Technology Holdings LLC Method and apparatus for streaming media content to client devices
US10979674B2 (en) * 2013-07-22 2021-04-13 Intellivision Cloud-based segregated video storage and retrieval for improved network scalability and throughput
JP6354262B2 (ja) * 2014-03-31 2018-07-11 株式会社Jvcケンウッド 映像符号化データ送信装置、映像符号化データ送信方法、映像符号化データ受信装置、映像符号化データ受信方法、及び映像符号化データ送受信システム
JP6239472B2 (ja) * 2014-09-19 2017-11-29 株式会社東芝 エンコード装置、デコード装置、ストリーミングシステム、および、ストリーミング方法
MX2018014493A (es) * 2016-05-25 2019-08-12 Arris Entpr Llc Particionamiento binario, ternario, cuaternario para jvet.
JP6238255B2 (ja) * 2016-05-25 2017-11-29 株式会社Nexpoint 監視カメラシステムによる監視方法及び動画分割装置
JP7052218B2 (ja) * 2017-05-19 2022-04-12 コニカミノルタ株式会社 エッジコンピューティングシステム、通信制御方法及び通信制御プログラム
EP3454566B1 (en) * 2017-09-11 2021-05-05 Tiledmedia B.V. Streaming frames of spatial elements to a client device
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data
JP2019092133A (ja) 2017-11-17 2019-06-13 株式会社東芝 送信装置、受信装置、通信システムおよびプログラム
JP7105675B2 (ja) 2018-11-02 2022-07-25 株式会社東芝 送信装置、サーバ装置、送信方法およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130273945A1 (en) * 2012-04-13 2013-10-17 Sharp Laboratories Of America, Inc. Electronic devices for sending a message and buffering a bitstream

Also Published As

Publication number Publication date
US11895332B2 (en) 2024-02-06
JP7438835B2 (ja) 2024-02-27
KR20210130093A (ko) 2021-10-29
EP3902265A1 (en) 2021-10-27
JP2021175026A (ja) 2021-11-01
US20210329295A1 (en) 2021-10-21
CN113542747A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
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
JP7105675B2 (ja) 送信装置、サーバ装置、送信方法およびプログラム
TWI760328B (zh) 動畫分割裝置及監視方法
US11570226B2 (en) Protocol conversion of a video stream
JP2018182447A (ja) 映像配信装置、映像配信方法及びプログラム
KR102613872B1 (ko) 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체
TWI731579B (zh) 傳輸裝置、通訊系統、傳輸方法及電腦程式產品
KR102602898B1 (ko) 서버 디바이스, 정보 처리 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
KR102291293B1 (ko) 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
JP7302076B2 (ja) 送信装置、サーバ装置、送信方法およびプログラム
CN113315997B (zh) 发送装置、服务器装置、发送方法以及程序
CN111800649A (zh) 存储视频的方法和装置以及生成视频的方法和装置
JP2020150321A (ja) 動画配信装置、動画配信方法及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant