KR101785845B1 - Device and method for dynamic display controller to provide a plurality of monitoring images - Google Patents
Device and method for dynamic display controller to provide a plurality of monitoring images Download PDFInfo
- Publication number
- KR101785845B1 KR101785845B1 KR1020160052286A KR20160052286A KR101785845B1 KR 101785845 B1 KR101785845 B1 KR 101785845B1 KR 1020160052286 A KR1020160052286 A KR 1020160052286A KR 20160052286 A KR20160052286 A KR 20160052286A KR 101785845 B1 KR101785845 B1 KR 101785845B1
- Authority
- KR
- South Korea
- Prior art keywords
- display
- objects
- user input
- response
- providing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- H04N5/232—
-
- H04N5/23203—
-
- H04N5/23206—
Abstract
일 실시예에 따르면 동적인 디스플레이 컨트롤러를 제공하는 중앙집중형 모니터링 시스템을 제작하는 도구가 제공될 수 있다. 일 실시예에 따른 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치는, 다중 선택에서 교차 범위를 얻기 위한 알고리즘을 실행하고, 코드를 재컴파일 하지 않는 경우, 보안 카메라와 UI 컴포넌트에 대한 작업 소스 목록을 업데이트하고, HTML5 캔버스 기반 WYSIWYG 에디터를 실행하여, 상기 캔버스의 컴포넌트가 업데이트될 때마다 프로젝트 파일을 업데이트하고, 상기 캔버스 위의 오브젝트를 위한 Z- index 알고리즘을 실행하고, 상기 보안 카메라로부터의 비디오 스트리밍이 가능한 디스플레이 컴포넌트를 실행할 수 있다.According to one embodiment, a tool for creating a centralized monitoring system that provides a dynamic display controller can be provided. A dynamic display controller support device for providing a plurality of monitoring images according to an embodiment may be configured to execute an algorithm for obtaining an intersecting range in multiple selection and to perform operations on a security camera and a UI component Updating a source list, executing an HTML5 canvas-based WYSIWYG editor, updating a project file each time the canvas component is updated, executing a Z-index algorithm for the object on the canvas, Video streaming enabled display components.
Description
이하, 모니터링 시스템을 지원하는 도구에 관한 기술이 제공된다.Hereinafter, techniques relating to tools for supporting the monitoring system are provided.
사용자가 중앙집중형 모니터링 시스템을 위한 디스플레이 제어기를 생성하거나, 편집할 수 있는 시스템에 관한 장치 및 방법이 미흡한 실정이다. 또한, 중앙집중형 모니터링 시스템에 대한 생성 또는 편집된 동적인 컨트롤러를 저장하는 문서 구조를 만드는 장치 및 방법이 미흡한 실정이다.There is a lack of a system and a method for a system in which a user can create or edit a display controller for a centralized monitoring system. Also, there is a lack of an apparatus and method for creating a document structure storing a dynamic controller created or edited for a centralized monitoring system.
종래 기술에서는 중앙집중형 모니터링 시스템을 위해 협업을 통한 제작 및 수정이 불가능하고, "What You See Is What You Get"이 가능한 동적인 디스플레이 컨트롤러 저작 도구를 만드는 것이 미흡한 실정이다.In the conventional technology, it is not possible to produce and modify through a collaboration for a centralized monitoring system, and it is insufficient to make a dynamic display controller authoring tool capable of "What You See Is What You Get".
사용자에게 저장, 불러오기, 수정 및 수정된 결과의 저장하는 기능을 가진 동적인 디스플레이 컨트롤러를 사용자에게 제공하는 장치 및 기술이 필요하다.What is needed is a device and technique that provides a user with a dynamic display controller with the ability to store, retrieve, modify, and store modified results to the user.
일 실시예에 따르면, 사용자가 중앙집중형 모니터링 시스템을 위한 디스플레이 제어기를 생성하거나, 편집할 수 있는 시스템을 서버를 통해 제공할 수 있다.According to one embodiment, a user may provide a system through a server that can create or edit a display controller for a centralized monitoring system.
일 실시예에 따르면, 중앙집중형 모니터링 시스템에 대한 생성 또는 편집된 동적인 컨트롤러를 저장하는 문서 구조를 제공할 수 있다.According to one embodiment, a document structure may be provided to store dynamic controllers created or edited for a centralized monitoring system.
일 실시예에 따르면, 사용자에게 제한이 없는 소스와 스크린 컨트롤러, 동적인 디스플레이, 패널, 버튼, 텍스트, 이미지를 포함한 동적 디스플레이 구성 요소를 저작을 위해 제공할 수 있다.According to one embodiment, a dynamic display component including a source and a screen controller, a dynamic display, a panel, a button, text, and an image can be provided for authoring without limitation to the user.
일 실시예에 따르면 위지위그(WYSIWYG, What You See Is What You Get)가 가능한 동적인 디스플레이 컨트롤러를 지원하는 저작 도구를 제공할 수 있다.According to one embodiment, a authoring tool supporting a dynamic display controller capable of WYSIWYG (What You See Is What You Get) can be provided.
일 실시예에 따르면 사용자에게 저장, 불러오기, 수정 및 수정된 결과의 저장하는 기능을 가진 동적인 디스플레이 컨트롤러를 제공할 수 있다.According to one embodiment, it is possible to provide a dynamic display controller having a function of storing, retrieving, modifying, and storing modified results to a user.
일 실시예에 따르면, 서버에 의해 구현되는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 서버에 대한 외부 단말의 제1 사용자의 접속을 허용하는 단계; 상기 제1 사용자로부터 스크린 제어 아이템(screen control item)과 연관된 제1 사용자 입력을 수신하는 단계; 및 상기 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region)에 디스플레이 객체를 생성하고, 제2 사용자로부터 수신되는 상기 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 상기 디스플레이 객체에 대응하는 소스 영상이 제공되도록 상기 디스플레이 객체를 설정하는 단계를 포함할 수 있다.According to an embodiment, a method of supporting a dynamic display controller for providing a plurality of monitoring images implemented by a server includes: allowing a first user of an external terminal to access the server; Receiving a first user input associated with a screen control item from the first user; And generating a display object in a canvas region in response to receiving the first user input associated with the screen control item and generating a display object from the security camera in response to a second user input associated with the display object received from the second user And setting the display object such that a source image corresponding to the display object is provided from a plurality of source images to be streamed.
상기 디스플레이 객체를 설정하는 단계는, 디스플레이 소스 객체를 생성하고, 상기 디스플레이 소스 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 상기 디스플레이 소스 객체에 대응하는 소스 영상을 선택하도록 상기 디스플레이 소스 객체를 설정하는 단계; 디스플레이 크기 객체를 상기 캔버스 영역에 생성하고, 상기 디스플레이 크기 객체 및 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여 상기 디스플레이 셀의 크기를 해당 디스플레이 크기 객체에 지정된 크기로 결정하도록 상기 디스플레이 크기 객체를 설정하는 단계; 및 디스플레이 셀을 상기 캔버스 영역에 생성하고, 상기 디스플레이 셀 및 상기 디스플레이 소스 객체와 연관된 제2 사용자 입력에 응답하여 상기 선택된 소스 영상을 상기 지정된 크기로 상기 디스플레이 셀 상에 표시하도록 상기 디스플레이 셀을 설정하는 단계를 포함할 수 있다.Wherein the step of setting the display object further comprises the steps of: creating a display source object, and generating a source image corresponding to the display source object from a plurality of source images streamed from a security camera in response to a second user input associated with the display source object Setting the display source object to select; Creating a display size object in the canvas region and setting the display size object to determine a size of the display cell in response to a second user input associated with the display size object and the display cell, step; And setting the display cell to display the selected source image on the display cell in the designated size in response to a second user input associated with the display cell and the display source object, Step < / RTI >
상기 디스플레이 셀을 설정하는 단계는, 복수의 디스플레이 셀들을 상기 캔버스 영역에 미리 정해진 간격으로 된 그리드 형태로 생성하는 단계; 및 상기 디스플레이 크기 객체 및 상기 복수의 디스플레이 셀들 중 하나의 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 상기 하나의 디스플레이 셀을 기준으로 상기 복수의 셀들 중 적어도 둘 이상의 셀들을 병합하도록 상기 복수의 디스플레이 셀들을 설정하는 단계를 포함할 수 있다.Wherein the setting of the display cell comprises: generating a plurality of display cells in a grid form at predetermined intervals in the canvas area; And a plurality of display cells, responsive to a second user input associated with the display size object and one of the plurality of display cells, for merging at least two of the plurality of cells with respect to the one display cell, And setting the cells.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 캔버스 영역에 디스플레이 크기 객체를 생성하는 단계; 및 상기 디스플레이 크기 객체와 연관된 제2 사용자 입력의 수신에 응답하여, 스트리밍되는 소스 영상으로부터 상기 디스플레이 크기 객체에 지정된 크기의 모니터링 영상을 생성하도록 상기 디스플레이 크기 객체를 설정하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller to provide a plurality of monitoring images, comprising: generating a display size object in the canvas area; And setting the display size object to generate a monitoring image of a size specified in the display size object from the streamed source image, in response to receiving a second user input associated with the display size object.
상기 디스플레이 객체를 설정하는 단계는, 상기 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여, 상기 캔버스 영역에 n x m 개의 디스플레이 셀들을 그리드 형태로 생성하는 단계를 포함할 수 있다.The step of configuring the display object may include generating n x m display cells in a grid form in the canvas area in response to receiving a first user input associated with the screen control item.
상기 디스플레이 객체를 설정하는 단계는, 디스플레이 크기 객체를 상기 캔버스 영역에 생성하고, 상기 디스플레이 크기 객체 및 상기 n x m 개의 디스플레이 셀들 중 하나의 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 상기 하나의 디스플레이 셀을 기준으로 상기 디스플레이 크기 객체에 대응하는 크기로 상기 n x m개의 디스플레이 셀들 중 둘 이상의 디스플레이 셀들을 병합하여 단일 디스플레이 셀을 생성하도록 상기 디스플레이 크기 객체를 설정하는 단계; 디스플레이 소스 객체를 상기 캔버스 영역에 생성하고, 상기 디스플레이 소스 객체 및 상기 단일 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 상기 디스플레이 소스 객체에 대응하는 소스 영상으로부터 상기 단일 디스플레이 셀의 높이 및 폭 중 적어도 하나에 매칭되면서 상기 소스 영상과 동일한 영상 비율을 가지는 모니터링 영상을 생성하도록 상기 디스플레이 소스 객체를 설정하는 단계; 및 상기 단일 디스플레이 셀의 적어도 일부에 상기 모니터링 영상을 제공하고, 상기 단일 디스플레이 셀의 나머지 부분에 검은 영상을 제공하도록 상기 단일 디스플레이 셀을 설정하는 단계를 더 포함할 수 있다.Wherein setting the display object comprises: generating a display size object in the canvas area; and responsive to a second user input associated with the display size object and one of the nxm display cells, Setting the display size object to merge two or more of the nxm display cells with a size corresponding to the display size object to generate a single display cell; Generating a display source object in the canvas region and generating at least one of a height and a width of the single display cell from a source image corresponding to the display source object in response to the display source object and a second user input associated with the single display cell Setting the display source object to generate a monitoring image having a same image ratio as the source image while being matched to one; And providing the monitoring image to at least a portion of the single display cell and setting the single display cell to provide a black image to the remaining portion of the single display cell.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 제1 사용자로부터 공통 제어 아이템과 연관된 제1 사용자 입력을 수신하는 단계; 상기 공통 제어 아이템과 연관된 제1 사용자 입력에 응답하여, 버튼, 이미지, 텍스트, 및 패널 중 적어도 하나를 캔버스 영역에 생성하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images includes receiving a first user input associated with a common control item from the first user; In response to the first user input associated with the common control item, generating at least one of the button, the image, the text, and the panel in the canvas area.
상기 접속을 허용하는 단계는, 상기 외부 단말의 웹 브라우저를 통해 HTTP(HyperText Transfer Protocol)에 기초하여, 상기 외부 단말과의 연결을 수립하는 단계; 및 상기 외부 단말로 위지위그 에디터(WYSIWYG editor)를 제공하는 단계를 포함할 수 있다.The step of allowing the connection includes: establishing a connection with the external terminal based on HTTP (HyperText Transfer Protocol) through a web browser of the external terminal; And providing a WYSIWYG editor to the external terminal.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 캔버스 영역의 배경과 연관된 제1 사용자 입력을 수신하는 단계; 상기 배경과 연관된 제1 사용자 입력에 기초하여 상기 복수의 셀들 주변의 배경 영역에 대해 배경 이미지 및 배경 색 중 적어도 하나를 결정하는 단계; 상기 배경 색이 결정된 경우에 응답하여, 상기 캔버스 영역의 배경을 상기 결정된 배경 색으로 제공하는 단계; 상기 배경 이미지가 결정된 경우에 응답하여, 상기 캔버스 영역의 배경에 상기 결정된 배경 이미지를 제공하는 단계; 및 상기 배경 색 및 상기 배경 이미지가 결정된 경우에 응답하여, 상기 배경 색으로 구성되는 상기 배경 영역에 상기 배경 이미지를 오버레이하여 제공하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller to provide a plurality of monitoring images, comprising: receiving a first user input associated with a background of the canvas region; Determining at least one of a background image and a background color for a background area around the plurality of cells based on a first user input associated with the background; Providing a background of the canvas area as the determined background color in response to determining the background color; In response to determining the background image, providing the determined background image to the background of the canvas area; And providing the background image overlaid on the background area, which is made up of the background color, in response to the determination of the background color and the background image.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 객체의 생성, 객체의 크기 변경, 객체의 그래픽 표현(graphic representation) 변경, 객체의 위치 변경, 및 둘 이상의 객체들의 병합(merge) 중 적어도 하나에 응답하여, 상기 캔버스 영역에 생성된 객체들을 포함하는 프로젝트 파일을 자동으로 업데이트하여 상기 서버에 저장하는 단계를 더 포함할 수 있다.A dynamic display controller support method for providing a plurality of monitoring images includes at least one of creating an object, resizing an object, changing a graphic representation of an object, changing an object position, and merging two or more objects And automatically updating the project file including the objects created in the canvas area in response to the one of the canvas area and storing the updated project file in the server.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 복수의 객체들에 대해 Z 인덱스를 지정하는 단계; 지정된 Z 인덱스에 기초하여 상기 복수의 객체들을 정렬하는 단계; 및 정렬된 순서에 따라 상기 복수의 객체들을 상기 캔버스 영역에 제공하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images includes: designating a Z index for a plurality of objects; Arranging the plurality of objects based on a specified Z index; And providing the plurality of objects to the canvas area in an ordered sequence.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 상기 둘 이상의 객체들을 선택하고, 상기 선택된 둘 이상의 객체들을 단일 객체로 변환하는 단계; 및 단일 객체와 연관된 제1 사용자 입력에 응답하여, 상기 단일 객체를 상기 단일 객체에 대응하는 둘 이상의 객체들로 변환하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images comprises selecting the two or more objects in response to a first user input associated with two or more of the plurality of objects, ; And converting the single object to two or more objects corresponding to the single object in response to a first user input associated with the single object.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 객체의 객체 타입에 따라 적어도 하나의 프로퍼티를 지정하는 단계; 복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 상기 둘 이상의 객체들을 선택하는 단계; 및 상기 선택된 둘 이상의 객체들에 공통적으로 지정된 프로퍼티(property)를 검색하며, 상기 공통적으로 지정된 프로퍼티를 표시하는 단계를 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images includes the steps of: specifying at least one property according to an object type of an object; Responsive to a first user input associated with two or more of the plurality of objects, selecting the two or more objects; And searching for a property commonly designated to the selected two or more objects, and displaying the commonly-designated property.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 선택된 둘 이상의 객체들에 지정된 프로퍼티들에 대응하는 이진 플래그들(binary flags)에 대해 이진 연산자(binary operator)를 적용하여 이진 조합(binary combination)을 생성하는 단계; 및 상기 이진 조합에 기초하여 상기 선택된 둘 이상의 객체들에 공통되는 프로퍼티에 대응하는 이진 값을 추출하는 단계를 포함할 수 있다.A method of supporting a dynamic display controller to provide a plurality of monitoring images comprises applying binary operators to binary flags corresponding to properties specified on the selected two or more objects to generate binary combinations combination; And extracting a binary value corresponding to a property common to the selected two or more objects based on the binary combination.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 선택된 둘 이상의 객체들에 공통적으로 지정된 프로퍼티가 존재하는 경우, 상기 공통적으로 지정된 프로퍼티와 연관된 제1 사용자 입력의 수신에 응답하여, 상기 공통적으로 지정된 프로퍼티를 상기 선택된 둘 이상의 객체들에 대해 일괄적으로 설정하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images, comprising the steps of: if a property commonly designated to two or more selected objects exists, in response to receiving a first user input associated with the commonly- To the selected two or more objects at the same time.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 미리 정해진 문서 서식에 따라 소스와 액션 리스트를 갱신하는 단계를 더 포함할 수 있다.The dynamic display controller support method for providing a plurality of monitoring images may further include updating the source and action list according to a predetermined document format.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 상기 둘 이상의 객체들을 선택하는 단계; 상기 둘 이상의 객체들 중 처음에 선택된 객체를 기준 객체로 지정하는 단계; 및 상기 기준 객체를 기초로 상기 선택된 둘 이상의 객체들 중 나머지 객체를 정렬하는 단계를 더 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images comprises: selecting the two or more objects in response to a first user input associated with two or more of the plurality of objects; Designating a first object selected from the two or more objects as a reference object; And sorting the remaining objects of the two or more selected objects based on the reference object.
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법은 상기 캔버스 영역에 더하여 메뉴 영역, 툴박스 영역, 및 프로퍼티 영역을 제공하는 단계를 더 포함하고, 상기 메뉴 영역은, 객체를 정렬시키는 동작을 실행하기 위한 아이템, 프로젝트를 동작시키기 위한 아이템, 동작을 수정하기 위한 아이템, 미리보기 동작을 실행하기 위한 아이템, 및 환경설정을 위한 아이템을 포함하고, 상기 툴박스 영역은, 생성될 객체의 타입을 지정하기 위한 아이템을 포함하며, 상기 캔버스 영역은, 생성된 객체가 배치되는 영역이며, 상기 프로퍼티 영역은, 상기 생성된 객체의 프로퍼티 및 상기 캔버스 영역의 프로퍼티를 변경하기 위한 아이템을 포함할 수 있다.A method of supporting a dynamic display controller for providing a plurality of monitoring images, the method further comprising providing a menu area, a tool box area, and a property area in addition to the canvas area, An item for operating the project, an item for modifying the operation, an item for executing the preview operation, and an item for setting the environment, and the toolbox area includes an item for specifying the type of the object to be created Wherein the canvas area is an area in which the created object is disposed, and the property area may include an item for changing a property of the created object and a property of the canvas area.
일 실시예에 따르면 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치는 제1 사용자의 외부 단말과 통신하는 통신부; 상기 통신부를 통해 상기 장치에 대한 상기 외부 단말의 상기 제1 사용자의 접속을 허용하고, 상기 통신부를 통해 상기 제1 사용자로부터 스크린 제어 아이템(screen control item)과 연관된 제1 사용자 입력을 수신하며, 상기 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region)에 디스플레이 객체를 생성하고, 제2 사용자로부터 수신되는 상기 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 상기 디스플레이 객체에 대응하는 소스 영상이 제공되도록 상기 디스플레이 객체를 설정하는 처리부를 포함할 수 있다.According to one embodiment, a dynamic display controller support apparatus for providing a plurality of monitoring images includes a communication unit for communicating with an external terminal of a first user; Allowing a connection of the first user of the external terminal to the device via the communication unit and receiving a first user input associated with a screen control item from the first user via the communication unit, Creating a display object in a canvas region in response to receiving a first user input associated with the screen control item and streaming the security object from the security camera in response to a second user input associated with the display object received from the second user And a processing unit configured to set the display object such that a source image corresponding to the display object is provided from a plurality of source images.
일 실시예에 따르면, 사용자들은 서버를 통해 협업하여 중앙집중형 모니터링 시스템을 제작 및 수정할 수 있게 해주는 저작 도구를 제공할 수 있다.According to one embodiment, users can provide authoring tools that allow them to collaborate through a server to create and modify a centralized monitoring system.
일 실시예에 따르면, 보안 카메라와 객체에 대한 작업 소스 목록을 업데이트 할 수 있고, 소스의 동작과 방법의 목록이 포함된 문서 구조를 통해, 재컴파일 없이 중앙집중형 모니터링 시스템을 수정할 수 있다.According to one embodiment, a list of working sources for security cameras and objects can be updated, and a centralized monitoring system can be modified without recompilation through a document structure that includes a list of operations and methods of the source.
일 실시예에 따르면 사용자는 위지위그 에디터를 통해 동적인 디스플레이를 용이하게 저작할 수 있다.According to one embodiment, a user can easily author a dynamic display via a wiggie editor.
일 실시예에 따르면, 사용자는 웹 브라우저를 통해 플랫폼의 제한 없이 위지위그 저작 도구를 사용할 수 있다.According to one embodiment, a user can use the Wii Wig authoring tool through a web browser without limitation of a platform.
도 1은 일 실시예에 따른 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치를 도시한 블록도이다.
도 2 내지 도 5는 일 실시예에 따른 HTML5 캔버스를 이용한 위지위그 에디터를 설명하기 위한 도면이다.
도 6 내지 도 8은 일 실시예에 따른 캔버스 영역의 배경을 변경하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 객체를 다중선택 하는 과정 및 그룹화와 그룹화 해제하는 과정을 설명하기 위한 도면이다.
도 10 및 도 11은 일 실시예에 따른 메뉴 인터페이스를 설명하기 위한 도면이다.
도 12 내지 도 14는 일 실시예에 따른 보안 카메라로부터의 스트리밍되는 영상을 제공하는 디스플레이 객체를 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법을 설명하기 위한 흐름도이다.1 is a block diagram illustrating a dynamic display controller support device for providing a plurality of monitoring images according to one embodiment.
FIGS. 2 to 5 are diagrams for explaining a wiggie editor using an HTML5 canvas according to an embodiment.
FIGS. 6 to 8 are views for explaining a process of changing the background of the canvas area according to an embodiment.
FIG. 9 is a diagram for explaining a process of multiple selection of objects and a process of grouping and ungrouping objects according to an embodiment.
10 and 11 are diagrams for explaining a menu interface according to an embodiment.
12 to 14 are views for explaining a display object providing a streamed image from a security camera according to an embodiment.
15 is a flowchart illustrating a dynamic display controller support method for providing a plurality of monitoring images according to an exemplary embodiment.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
본 명세서에서 설명되는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치(이하, 컨트롤러 지원 장치)는 복수의 모니터링 영상들을 동적으로 표시할 수 있는 디스플레이 컨트롤러를 제공하는 중앙집중형 모니터링 시스템을 저작하는 도구로서, 소프트웨어, 하드웨어, 및 소프트웨어 및 하드웨어의 결합으로 구현될 수 있다.A dynamic display controller supporting device (hereinafter referred to as a controller supporting device) for providing a plurality of monitoring images described in this specification includes a centralized monitoring system that provides a display controller capable of dynamically displaying a plurality of monitoring images, A combination of software, hardware, and software and hardware.
일 실시예에 따른 컨트롤러 지원 장치는 웹 브라우저를 통해 위지위그(WYSIWYG, What You See Is What You Get) 저작 도구를 제공할 수 있다. 컨트롤러 지원 장치는 동적인 디스플레이 컨트롤러를 포함하는 프로젝트 파일을 저작할 수 있다. 이 프로젝트 파일은 화면 크기와 화면 해상도를 변경하기 위한 객체를 포함할 수 있다. 컨트롤러 지원 장치는 제한이 없는 소스와 스크린 컨트롤러, 동적인 디스플레이, 패널, 버튼, 텍스트, 이미지를 포함한 동적 디스플레이 객체를 생성할 수 있다. 각 객체들은 크기와 위치, 물체의 모양에 제한이 없을 수 있다. 일 실시예에 따른 컨트롤러 지원 장치는 사용자가 보이는 대로 작업한 객체들의 수정이 있을 때마다 프로젝트 파일을 자동으로 업데이트 할 수 있다. 컨트롤러 지원 장치는 프로젝트 파일을 서버에 저장할 수 있고, 차후 수정을 위해 서버로부터 불러올 수도 있다. 이하에서는 컨트롤러 지원 장치에 대해 상세히 설명한다.The controller supporting apparatus according to an embodiment can provide a WYSIWYG (What You See Is What You Get) authoring tool through a web browser. A controller-enabled device can author a project file containing a dynamic display controller. This project file can contain objects for changing the screen size and screen resolution. Controller-enabled devices can create dynamic display objects, including unrestricted sources and screen controllers, dynamic displays, panels, buttons, text, and images. Each object may be unlimited in size, position, or shape of the object. The controller support device according to an exemplary embodiment may automatically update a project file whenever there is a modification of objects that the user has viewed as shown. The controller-supported device can save the project file to the server and can be called from the server for later modification. Hereinafter, the controller supporting apparatus will be described in detail.
도 1은 본 발명의 일 실시예에 따른 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치를 나타내는 블록도이다.1 is a block diagram illustrating a dynamic display controller support apparatus for providing a plurality of monitoring images according to an embodiment of the present invention.
일 실시예에 따른 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치(100, 이하, 컨트롤러 지원 장치)는 통신부(110), 처리부(120), 및 저장부(130)를 포함할 수 있다.A dynamic display controller support apparatus 100 (hereinafter referred to as a controller support apparatus) for providing a plurality of monitoring images according to an embodiment may include a
예를 들어, 컨트롤러 지원 장치(100)는 외부 단말로 위지위그 에디터 기능을 제공하는 서버일 수 있다.For example, the
통신부(110)는 제1 사용자의 외부 단말과 통신할 수 있다. 예를 들어, 통신부(110)는 유선 또는 무선을 통해 외부 단말과 통신할 수 있다. 외부 단말은 통신 가능한 전자 기기로서, 서버와 구별되는 기기를 나타낼 수 있다. 제1 사용자는 외부 단말을 통해 서버에 접속하여 위지위그 에디터 기능을 이용하는 사용자로서, 중앙집중형 모니터링 시스템을 저작하는 사용자를 나타낼 수 있다. 일 실시예에 따르면, 통신부(110)는 외부 단말의 웹 브라우저를 통해 HTTP(HyperText Transfer Protocol)에 기초하여, 외부 단말과의 연결을 수립할 수 있고, 처리부(120)의 제어에 따라 외부 단말로 위지위그 에디터(WYSIWYG editor)를 제공할 수 있다.The
처리부(120)는 다중 선택된 객체에서 공통되는 프로퍼티를 검색하기 위한 알고리즘을 실행할 수 있다. 예를 들면, 처리부(120)는 만일 사용자가 복수의 객체들을 선택하면, 선택된 복수의 객체들에서 공통되는 프로퍼티를 프로퍼티 영역으로 제공할 수 있다. 또한, 처리부(120)는 미리 정해진 문서 서식에 따라 소스와 액션 리스트를 갱신함으로써, 코드를 재컴파일할 필요가 없고 보안 카메라와 UI 객체(user interface object)에 대한 작업 소스 목록을 업데이트할 수 있다. 처리부(120)가 재컴파일이 필요 없도록, 소스의 동작과 방법의 목록이 포함된 문서 구조가 정의될 수 있다.The
또한, 처리부(120)는 외부 단말이 웹브라우저를 통해 서버와 접속되면, HTML5(HyperText Markup Language 5)로 구현된 캔버스 기반 위지위그 에디터를 실행하여 외부 단말로 제공할 수 있다. 처리부(120)는 캔버스 영역의 객체가 업데이트될 때마다 프로젝트 파일을 업데이트할 수 있다. 더 나아가, 처리부(120)는 캔버스 영역 내의 객체에 대해 Z 인덱스(Z index) 알고리즘을 실행할 수 있다. 아울러, 처리부(120)는 제1 사용자의 입력에 따라, 보안 카메라로부터의 비디오 스트리밍이 가능한 디스플레이 객체를 저작할 수 있다. 여기서, 처리부(120)는 저작이 완료된 중앙집중형 모니터링 시스템에서 셀 병합 기능 및 PIP(Picture In Picture) 기능이 수행되도록 디스플레이 객체들을 생성할 수 있다.When the external terminal is connected to the server through the web browser, the
일 실시예에 따르면 처리부(120)는 통신부(110)를 통해 장치(100)(예를 들어, 컨트롤러 지원 장치(100))에 대한 외부 단말의 제1 사용자의 접속을 허용하고, 통신부(110)를 통해 제1 사용자로부터 스크린 제어 아이템(screen control item)과 연관된 제1 사용자 입력을 수신하며, 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region)에 디스플레이 객체를 생성하고, 제2 사용자로부터 수신되는 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 디스플레이 객체에 대응하는 소스 영상이 제공되도록 디스플레이 객체를 설정할 수 있다.The
스크린 제어 아이템은 디스플레이 객체를 저작하기 위한 아이템이고, 캔버스 영역은 객체가 생성되는 영역이며, 디스플레이 객체는 저작이 완료된 후에 동적으로 디스플레이를 제2 사용자가 제어할 수 있도록 하는 객체를 나타낼 수 있고, 하기 도 5에서 상세히 설명한다. 제2 사용자는 저작이 완료된 후에 중앙집중형 모니터링 시스템을 이용하는 사용자를 나타낼 수 있다. 스크린 제어 아이템과 연관된 제1 사용자 입력은, 저작이 완료된 후에 스크린을 제어하기 위한 디스플레이 객체를 생성하기 위해 제1 사용자로부터 수신되는 스크린 제어 아이템에 대한 입력(예를 들어, 스크린 제어 아이템을 클릭하는 조작 등)을 나타낼 수 있다. 디스플레이 객체와 연관된 제2 사용자 입력은 저작이 완료된 이후에 제2 사용자로부터 수신되는 디스플레이 객체에 대한 입력(예를 들어, 디스플레이 객체를 클릭하는 조작 등)을 나타낼 수 있다. 보안 카메라는 영상을 촬영하여 중앙집중형 모니터링 시스템으로 촬영된 영상을 스트리밍을 통해 제공하는 카메라를 나타낼 수 있다. 소스 영상은 보안 카메라로부터 스트리밍되는 영상을 나타낼 수 있다.The screen control item is an item for authoring a display object, the canvas area is an area in which an object is created, the display object can represent an object that allows a second user to dynamically control the display after authoring is completed, This will be described in detail in FIG. The second user may indicate a user using the centralized monitoring system after authoring is completed. The first user input associated with the screen control item may include an input for a screen control item received from the first user to create a display object for controlling the screen after authoring is complete Etc.). The second user input associated with the display object may indicate an input (e.g., an operation to click on the display object, etc.) to the display object received from the second user after authoring is completed. The security camera may represent a camera that captures an image and provides the captured image through a centralized monitoring system through streaming. The source image may represent an image streamed from a security camera.
본 명세서에서 제1 사용자 입력은 제1 사용자에 의한 입력을 나타내고, 제2 사용자 입력은 제2 사용자에 의한 입력을 나타낼 수 있으며, 각 입력은 마우스 클릭, 키 입력, 마우스 드래그, 드래그앤드랍, 터치 및 기타 다양한 형태의 조작을 모두 포함할 수 있다. 다만, 상술한 입력의 종류들은 단순한 예시로서, 이로 한정하는 것은 아니다.Herein, the first user input represents an input by a first user, the second user input may represent an input by a second user, and each input may include a mouse click, a key input, a mouse drag, a drag and drop, And various other types of manipulations. However, the types of the above-described inputs are merely examples, and the present invention is not limited thereto.
저장부(130)는 처리부(120)가 상술한 동작들을 실행하도록 하는 명령어들을 포함하는 컴퓨터 프로그램을 저장할 수 있다. 또한, 저장부(130)는 중앙집중형 모니터링 시스템을 저작 및 제공하기 위한 데이터를 임시적으로 또는 반영구적으로 저장할 수도 있다. 예를 들어, 저장부(130)는 프로젝트 파일 등을 저장할 수 있고, 처리부(120)의 제어에 따라 업데이트할 수 있다.The
일 실시예에 따르면, 컨트롤러 지원 장치(100)의 처리부(120)는 객체의 객체 타입에 따라 적어도 하나의 프로퍼티를 지정할 수 있다. 처리부(120)는 복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 둘 이상의 객체들을 선택할 수 있다. 또한, 처리부(120)는 선택된 둘 이상의 객체들에 공통적으로 지정된 프로퍼티(property)를 검색하며, 공통적으로 지정된 프로퍼티를 표시할 수 있다. 둘 이상의 객체들에 공통적으로 지정된 프로퍼티를 검색하는 알고리즘은 하기 표 1에서, 둘 이상의 객체들을 선택하는 알고리즘은 하기 표 2에서 설명한다.According to one embodiment, the
하기 표 1은 일 실시예에 따른 컨트롤러 지원 장치(100)가 선택된 복수개의 객체들에서 공통되는 프로퍼티를 검색하기 위한 알고리즘을 슈도 코드(pseudo code)로 나타낼 수 있다. 하기 표 1에서 객체를 컴포넌트(component)라고 표현할 수 있다.Table 1 below shows an algorithm for searching a property common to a plurality of objects selected by the
input addedComponents
compute firstBit
set firstComponent to result of 1 left shift firstBit (1 << firstBit)
set propertiesToReturn to properties of firstComponent
for c in componentTypes
if addedComponents has c
set propertiesToReturn to intersection of properties of c and propertiesToReturn
return propertiesToReturnGetting the common properties in the selection
input addedComponents
compute firstBit
set firstComponent to result in 1 left shift firstBit (1 << firstBit)
set propertiesToReturn to properties of firstComponent
for c in componentTypes
if addedComponents has c
set propertiesToReturn to intersection of properties of c and propertiesToReturn
return propertiesToReturn
상술한 표 1과 같이, 처리부(120)는 선택된 둘 이상의 객체들에 지정된 프로퍼티들에 대응하는 이진 플래그들(binary flags)에 대해 이진 연산자(binary operator)를 적용하여 이진 조합(binary combination)(예를 들어, 표 1에서 addedComponents)을 생성할 수 있다. 또한, 처리부(120)는 이진 조합에 기초하여 선택된 둘 이상의 객체들에 공통되는 프로퍼티에 대응하는 이진 값(예를 들어, 표 1에서 propertiesToReturn)을 추출할 수 있다. 이진 플래그는 각각의 프로퍼티에 대해 고유하게 지정된 이진 값(binary value)을 나타낼 수 있다.As shown in Table 1, the
예를 들어, 처리부(120)는 선택된 객체들에 공통된 프로퍼티를 검색하기 위해 이진 조합 중 첫번째 비트(예를 들어, 표 1의 firstBit)를 확인할 수 있다. 그 후엔 처리부(120)는 선택된 복수의 객체들에 대해 각 프로퍼티에 대해 고유하게 지정된 이진 플래그가 존재하는 지를 순차적으로 반복하여 확인할 수 있다. 처리부(120)는 캔버스 영역의 선택 범위 안에서 선택된 객체들이 어떤 프로퍼티를 가지는지 확인할 수 있다. 처리부(120)는 선택된 객체들의 객체 타입을 찾을 때마다, 선택된 객체들이 공유하는 프로퍼티를 확인해 나갈 수 있다. 처리부(120)는 처음엔 공유 프로퍼티를 첫번째 객체 타입으로 결정할 수 있고, 그 후엔 다른 객체 타입을 선택 범위 안에서 찾을 때마다 검출해낼 수 있다.For example, processing
처리부(120)는 선택된 객체들에서 서로 중복되는 프로퍼티(예를 들어, 버튼 및 이미지에서의 폭, 높이 등의 값들)을 검출하여, 선택된 객체들의 공통된 프로퍼티를 한번에 조정할 수 있다. 예를 들어, 처리부(120)는 선택된 둘 이상의 객체들에 공통적으로 지정된 프로퍼티가 존재하는 경우, 공통적으로 지정된 프로퍼티와 연관된 제1 사용자 입력의 수신에 응답하여, 공통적으로 지정된 프로퍼티를 선택된 둘 이상의 객체들에 대해 일괄적으로 설정할 수 있다. 공통적으로 지정된 프로퍼티와 연관된 제1 사용자 입력은, 선택된 객체들에 공통되는 프로퍼티를 변경하는 제1 사용자의 입력을 나타낼 수 있다.The
하기 표 2는 일 실시예에 따른 컨트롤러 지원 장치(100)가 복수개의 객체를 선택하는 과정을 나타낸 슈도 코드일 수 있다.Table 2 below may be a pseudo code indicating a process of the
프로퍼티는 객체를 정의하는 정보로서, 예를 들어 배경색, 높이, 폭, 배경이미지, 객체 색상, 객체 형태 등의 다양한 정보를 나타낼 수 있다. 객체의 타입마다 지정되는 프로퍼티는 달라질 수 있으며, 예를 들어, 객체의 타입은 텍스트 객체, 버튼 객체, 사진 객체, 영상 객체, 및 디스플레이 객체 등이 있을 수 있다.A property is information defining an object, and can represent various information such as background color, height, width, background image, object color, object shape, and the like. For example, the type of an object may be a text object, a button object, a photo object, a video object, and a display object.
It?s updated whenever component is added/removed to/from the selection Initially addedComponents is initialized to the binary flag, which shows that none of the items are added to the selection.
Adding component to the selection:
input componentToAdd, addedComponents
set componentType to component type of the componentToAdd
for c in componentTypes
if c == componentType
set addedComponents to addedComponents | componentTypeBinaryFlag
increment componentTypeCounter to 1
break
Removing component from the selection:
input componentToRemove, addedComponents
set componentType to component type of the componentToRemove
for c in componentTypes
if c == componentType
decrement componentTypeCounter to 1
if componentTypeCounter == 0
set addedComponents to addedComponents & ~componentTypeBinaryFlag
breakaddedComponents - binary value which shows the types of components added to the selection.
It? S updated whenever component is added / removed to / from the selection. Initially addedComponents is initialized to the binary flag, which shows that none of the items are added to the selection.
Adding component to the selection:
input componentToAdd, addedComponents
set componentType to component type of the componentToAdd
for c in componentTypes
if c == componentType
set addedComponents to addedComponents | componentTypeBinaryFlag
increment componentTypeCounter to 1
break
Removing component from the selection:
input componentToRemove, addedComponents
set componentType to component type of the componentToRemove
for c in componentTypes
if c == componentType
decrement componentTypeCounter to 1
if componentTypeCounter == 0
set addedComponents to addedComponents & ~ componentTypeBinaryFlag
break
하기 표 3은 일 실시예에 따른 소스와 액션 목록을 시스템 재컴파일 없이 업데이트 하기 위해 정의된 문서 구조(document structure)를 나타낼 수 있다.Table 3 below may represent a document structure defined to update the source and action list according to one embodiment without system recompilation.
{
"server": "<server url>?,
"port": "<port number>?,
"actions": {
"<action name>": "<action definition>"
}
“sources": {
"<source name>": "<source URI>"
}
}
Routine to read sources and actions from document conforming to the said document structure:
input dataFile
initialize list of sources
initialize list of commands
for actions in dataFile.actions
add action to list of actions
for source in dataFile.sources
add source to list of sources
Document structure is developed as json object, containing list of sources and commands.
{
"server": "<server url> ?,
"port": "<port number>?"
"actions": {
"<action name>": "<action definition>"
}
"Sources": {
"<source name>": "<source URI>"
}
}
Routine to read sources and actions from document conforming to the said document structure:
input dataFile
initialize list of sources
initialize list of commands
for actions in dataFile.actions
add action to list of actions
for source in dataFile.sources
add source to list of sources
컨트롤러 지원 장치(100)는 UI 컴포넌트의 감시카메라 소스와 액션 리스트를 정의하기 위한 문서 서식(상술한 표 3 참조)을 제공할 수 있다. 컨트롤러 지원 장치(100)는 모든 소스와 액션을 개발된 서식에 따라 상술한 문서 안에 저장할 수 있다. 컨트롤러 지원 장치(100)는 동적인 디스플레이 컨트롤러를 포함하는 중앙집중형 모니터링 시스템을 개발하는 동안에는, 만들어진 형식대로 문서를 읽고 소스와 액션 리스트를 갱신하는 시스템 루틴을 제공할 수 있다.The
도 2 내지 도 5는 일 실시예에 따른 HTML5 캔버스를 이용한 위지위그 에디터를 설명하기 위한 도면이다.FIGS. 2 to 5 are diagrams for explaining a wiggie editor using an HTML5 canvas according to an embodiment.
도 2는 외부 단말(291, 292)의 사용자가 웹 브라우저(Web browser)를 통해 서버 내의 위지위그 에디터(210)를 사용하는 일례를 나타낼 수 있다.2 illustrates an example in which a user of the
도 2에 도시된 바와 같이, 컨트롤러 지원 장치(100)(예를 들어, 도 2에 도시된 서버)는 HTML5 캔버스를 포함한 웹 기술을 이용하여 위지위그 에디터(210)를 외부 단말(291, 292)로 제공할 수 있다. 상술한 위지위그 에디터(210)는 서버인 컨트롤러 지원 장치(100)에 배치되어 있으므로, 외부 단말(291, 292)의 제1 사용자는 다양한 플랫폼의 외부 단말(291, 292)(예를 들어, 윈도우 기반 PC, MAC 기반 PC, 리눅스 기반 PC 등)와 다양한 종류의 브라우저에서 상술한 위지위그 에디터(210)를 이용할 수 있다. 외부 단말(291, 292)은 예를 들어, HTTP를 통해 서버에 접속할 수 있다.2, the controller supporting apparatus 100 (for example, the server shown in FIG. 2) transmits the
또한, 컨트롤러 지원 장치(100)는 외부 단말(291, 292)의 제1 사용자가 어떠한 사항을 변경할 때 마다, 예를 들어 객체를 변경할 때마다 프로젝트 파일을 업데이트하는 위지위그 에디터(210)를 제공할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 객체의 생성, 객체의 크기 변경, 객체의 그래픽 표현(graphic representation) 변경, 객체의 위치 변경, 및 둘 이상의 객체들의 병합(merge) 중 적어도 하나에 응답하여, 캔버스 영역에 생성된 객체들을 포함하는 프로젝트 파일을 자동으로 업데이트하여 서버에 저장할 수 있다. 그래픽 표현은 객체가 외부 단말의 스크린을 통해 웹브라우저에 시각화되는 형태를 나타낼 수 있다.In addition, the
도 3은 위지위그 에디터의 웰컴 스크린(300)에 대한 일례를 나타낼 수 있다.FIG. 3 shows an example of the
도 3에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 제1 사용자가 처음 위지위그 에디터를 로딩하면 웰컴 스크린(300)을 외부 단말로 제공할 수 있다. 제1 사용자는 웰컴 스크린에선 기존 프로젝트를 불러오거나 새 프로젝트를 생성할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 "Load UI project" 버튼(310)과 연관된 제1 사용자 입력의 수신에 응답하여, 컨트롤러 지원 장치(100) 내에 저장된 기존 프로젝트를 불러올 수 있다. 컨트롤러 지원 장치(100)는 "New UI project" 버튼(320)과 연관된 제1 사용자 입력의 수신에 응답하여 새 프로젝트를 생성할 수 있다.As shown in FIG. 3, the
도 4는 컨트롤러 지원 장치(100)로부터 프로젝트를 로딩하는 일례를 나타낼 수 있다.FIG. 4 illustrates an example of loading a project from the
도 4에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 도 3에서 상술한 웰컴 스크린(300)에서 "Load UI Project" 버튼과 연관된 제1 사용자 입력(예를 들어, 해당 버튼을 선택)의 수신에 응답하여, 컨트롤러 지원 장치(100) 내에 있는 UI 프로젝트들의 리스트(400)로 재연결하여 외부 단말로 제공할 수 있다. 도 4에서는 예시적으로 "test_2015_11_09.json", "1117_test.json" 등과 같이 json의 확장자로 서버(예를 들어, 컨트롤러 지원 장치(100)) 내에 저장된 기존 프로젝트들의 리스트(400)를 제1 사용자에게 제공할 수 있다.4, the
도 5는 위지위그 에디터의 메인 스크린에 대한 일례를 나타낼 수 있다.5 shows an example of the main screen of the wiggie editor.
컨트롤러 지원 장치(100)는 도 3의 웰컴 스크린(300)에서 "New UI Project" 버튼과 연관된 제1 사용자 입력의 수신에 응답하여,
도 5에 도시된 바와 같이 위지위그 에디터의 에디터 페이지로 재연결하여 제1 사용자에게 메인 스크린(500)을 제공할 수 있다. 이때, 컨트롤러 지원 장치(100)는 외부 단말로 메뉴 영역(510), 툴박스 영역(520), 캔버스 영역(530), 프로퍼티 영역(540) 등을 포함하는 메인 스크린(500)을 제공할 수 있다. The
메뉴 영역(510)은 다음과 같은 메뉴 아이템을 포함할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 메뉴 영역(510)을 통해, UI 프로젝트를 동작시키기 위한 페이지(Page) 아이템, 동작을 수정하기 위한 에디트(Edit) 아이템, 객체를 정렬시키는 동작을 실행하기 위한 정렬(Alignment) 아이템, 저작된 프로젝트에 대한 미리보기 동작을 실행하기 위한 뷰(View) 아이템, UI 프로젝트의 환경 설정을 위한 설정(Setting) 아이템을 포함하는 메뉴를 제공할 수 있다.The
툴박스 영역(520)은 생성될 객체의 타입을 지정하기 위한 아이템을 제공할 수 있다. 객체의 타입은 버튼 객체, 이미지 객체, 텍스트 객체, 패널 객체, 디스플레이 셀, 디스플레이 크기 객체, 디스플레이 소스 객체 등과 같이 객체를 정의하는 다양한 분류를 나타낼 수 있다. 일 실시예에 따르면, 컨트롤러 지원 장치(100)는 툴박스 영역(520)을 통해 공통 제어 아이템(521)(예를 들어, "Button", "Image", "Text", "Panel" 등의 아이템) 및 스크린 제어 아이템(522)(예를 들어, "Display", "Screen control", "Source" 등의 아이템)을 제공할 수 있다.The
예를 들어, 컨트롤러 지원 장치(100)는 제1 사용자로부터 공통 제어 아이템(521)과 연관된 제1 사용자 입력을 수신할 수 있고, 공통 제어 아이템(521)과 연관된 제1 사용자 입력에 응답하여, 버튼, 이미지, 텍스트, 및 패널 중 적어도 하나를 캔버스 영역(530)에 생성할 수 있다.For example, the
또한, 컨트롤러 지원 장치(100)는 제1 사용자로부터 스크린 제어 아이템 (screen control item)(522)과 연관된 제1 사용자 입력을 수신할 수 있고, 스크린 제어 아이템(522)과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region) (530)에 디스플레이 객체를 생성할 수 있다. 디스플레이 객체는 보안 카메라로부터 스트리밍되는 소스 영상을 제2 사용자에게 제공하기 위한 객체로서, 예를 들어, 디스플레이 셀(예를 들어, "Display" 아이템에 대한 입력에 응답하여 생성됨), 디스플레이 크기 객체(예를 들어, "Screen control" 아이템에 대한 입력에 응답하여 생성됨), 및 디스플레이 소스 객체(예를 들어, "Source" 아이템에 대한 입력에 응답하여 생성됨) 등을 포함할 수 있다. 여기서, 컨트롤러 지원 장치(100)는 제2 사용자로부터 수신되는 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 디스플레이 객체에 대응하는 소스 영상이 제공되도록 디스플레이 객체를 설정할 수 있다.The
일 실시예에 따르면, 컨트롤러 지원 장치(100)는 디스플레이 소스 객체를 생성하고, 디스플레이 소스 객체와 연관된 제2 사용자 입력(예를 들어, 디스플레이 소스 객체를 클릭 또는 드래그하는 조작)에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 디스플레이 소스 객체에 대응하는 소스 영상(예를 들어, 상술한 디스플레이 소스 객체에 매핑된 소스 영상)을 선택하도록 디스플레이 소스 객체를 설정할 수 있다. 아울러, 컨트롤러 지원 장치(100)는 디스플레이 크기 객체를 캔버스 영역(530)에 생성하고, 디스플레이 크기 객체 및 디스플레이 셀과 연관된 제2 사용자 입력 (예를 들어, 디스플레이 크기 객체 및 디스플레이 셀을 순차적으로 클릭 또는 드래그앤드랍하는 조작 등)에 응답하여 디스플레이 셀의 크기를 해당 디스플레이 크기 객체에 지정된 크기로 결정하도록 디스플레이 크기 객체를 설정할 수 있다. 또한, 컨트롤러 지원 장치(100)는 디스플레이 셀을 캔버스 영역(530)에 생성하고, 디스플레이 셀 및 디스플레이 소스 객체와 연관된 제2 사용자 입력(예를 들어, 디스플레이 셀 및 디스플레이 소스 객체를 순차적으로 클릭 또는 드래그앤드랍하는 조작 등)에 응답하여 선택된 소스 영상을 지정된 크기로 디스플레이 셀 상에 표시하도록 디스플레이 셀을 설정할 수 있다. 디스플레이 객체의 생성 및 활용은 하기 도 12 내지 도 14에서 상세히 설명한다.According to one embodiment, the controller aided
캔버스 영역(530)은, 생성된 객체가 배치되는 영역을 나타낼 수 있다. 외부 단말의 제1 사용자는 컨트롤러 지원 장치(100)에 의해 제공되는 캔버스 영역(530) 내에 사용자가 UI인터페이스를 저작할 수 있다.The
프로퍼티 영역(540)은, 생성된 객체의 프로퍼티 및 캔버스 영역(530)의 프로퍼티를 변경하기 위한 아이템을 포함할 수 있다.The
도 6 내지 도 8은 본 발명의 일 실시예에 따른 UI 인터페이스의 배경 변경하는 과정을 설명하기 위한 도면이다.6 to 8 are views for explaining a process of changing the background of the UI interface according to an embodiment of the present invention.
도 6은 컨트롤러 지원 장치(100)가 프로퍼티 영역(540)에서 "Background color"라는 이름의 텍스트 박스(641)를 통해 배경 색을 컬러값을 지정하는 과정을 도시한다. 도 7은 컨트롤러 지원 장치(100)가 프로퍼티 영역(540)에서 배경 색을 팔레트(741)(예를 들어, 컬러 피커(Color-picker))를 통해 설정하는 과정을 도시한다. 도 7에서 컨트롤러 지원 장치(100)는 보여지는 컬러 피커에서 제1 사용자가 선택한 색상으로 배경 색을 결정할 수 있다.6 shows a process in which the
컨트롤러 지원 장치(100)는 제1 사용자가 캔버스 영역(530)의 배경 색을 변경하거나 배경 이미지(831)를 지정하도록 할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 캔버스 영역(530)의 배경과 연관된 제1 사용자 입력(예를 들어, 배경 색을 지정하는 조작 또는 배경 이미지(831)를 지정하는 조작)을 수신할 수 있다. 컨트롤러 지원 장치(100)는 배경과 연관된 제1 사용자 입력에 기초하여 복수의 셀들 주변의 배경 영역에 대해 배경 이미지(831) 및 배경 색 중 적어도 하나를 결정할 수 있다. 일 실시예에 따르면 컨트롤러 지원 장치(100)는 배경 색이 결정된 경우에 응답하여, 캔버스 영역(530)의 배경을 결정된 배경 색으로 제공할 수 있다. 다른 일 실시예에 따르면, 컨트롤러 지원 장치(100)는 배경 이미지(831)가 결정된 경우에 응답하여, 캔버스 영역(530)의 배경에 결정된 배경 이미지(831)를 제공할 수 있다. 또한, 컨트롤러 지원 장치(100)는 배경 색 및 배경 이미지(831)가 결정된 경우에 응답하여, 배경 색으로 구성되는 배경 영역에 배경 이미지(831)를 오버레이하여 제공할 수 있다. 따라서 배경 색을 먼저 지정한 후 배경 이미지(831)를 삽입하면 컨트롤러 지원 장치(100)는 삽입된 이미지만 제1 사용자 단말에서 표시되도록 제공할 수 있다. 컨트롤러 지원 장치(100)는 지정되었던 배경 이미지(831)가 삭제된 후에 배경 색이 드러나는 캔버스 영역(530)을 제공할 수 있다.The
컨트롤러 지원 장치(100)는 배경에 이미지를 삽입하거나 색을 변경하기 위해선 다음과 같은 작업을 할 수 있다. 컨트롤러 지원 장치(100)는 만약 툴박스 영역이 선택되어 있다면, 제1 사용자로부터 키보드의 "Esc" 버튼의 입력을 수신할 수 있다. 또한, 컨트롤러 지원 장치(100)는 캔버스의 빈 공간에 대한 클릭을 제1 사용자로부터 수신할 수 있고, 배경의 프로퍼티를 프로퍼티 영역을 통해 제1 사용자에게 제공할 수 있다. 컨트롤러 지원 장치(100)는 프로퍼티 영역(540)을 통해 제1 사용자로부터 배경 색에 대한 지정을 수신할 수 있다.The
도 8은 백그라운드 이미지가 설정될 때 "X" 버튼이 생성되는 일례를 나타낼 수 있다.8 shows an example in which an "X" button is generated when a background image is set.
일 실시예에 따르면, 컨트롤러 지원 장치(100)는 제1 사용자 입력에 기초하여 배경 이미지(831)를 설정할 수 있다. 컨트롤러 지원 장치(100)는 외부 단말의 제1 사용자가 선택한 외부 단말에 저장되거나 인터넷 주소 등을 통해 링크되는 이미지 파일을 수신할 수 있다. 이후 컨트롤러 지원 장치(100)는 제1 사용자로부터 캔버스 영역(530)에 대한 재클릭을 수신하면, 배경 이미지(831)를 변경하고 프로퍼티 영역의 배경 이미지 섹션(841)에 "X" 버튼을 제공할 수 있다. 여기서, 컨트롤러 지원 장치(100)는 "X" 버튼에 대한 제1 사용자 입력이 수신되는 경우에 응답하여 캔버스 영역(530)으로부터 배경 이미지(831)를 삭제할 수 있다.According to one embodiment, the controller aided
또한, 컨트롤러 지원 장치(100)는 생성된 객체의 프로퍼티를 설정할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 생성된 객체가 선택된 경우, 제1 사용자에게 해당 객체에 대한 프로퍼티를 프로퍼티 영역을 통해 제공할 수 있고, 프로퍼티 영역과 연관된 제1 사용자 입력의 수신에 응답하여 해당 객체의 프로퍼티를 설정할 수 있다.In addition, the
외부 단말은 제1 사용자의 조작에 기초하여, 생성된 객체의 프로퍼티를 변경하기 위해, 컨트롤러 지원 장치(100)에서 제공되는 캔버스 영역에 있는 객체를 선택하거나, 툴박스 영역에 있는 아이템을 선택하여 새 객체를 캔버스 영역에 생성한 후 선택할 수 있다. 컨트롤러 지원 장치(100)는 캔버스 영역에 있는 객체들 중 제1 사용자에 의해 선택된 객체 또는 제1 사용자에 의해 상술한 캔버스 영역에 생성된 객체의 프로퍼티와 관련된 정보를 프로퍼티 영역을 통해 제1 사용자에게 제공할 수 있다.The external terminal selects an object in the canvas area provided by the
예를 들면, 컨트롤러 지원 장치(100)는 캔버스 영역 내의 객체들 중 적어도 하나의 객체와 연관된 제1 사용자 입력(예를 들어, 제1 사용자가 외부 단말의 웹브라우저에 나타난 객체를 클릭)에 기초하여, 캔버스 영역 내의 객체를 선택할 수 있다. 캔버스 영역에 생성되어 있는 상태의 객체가 존재하지 않는 경우, 컨트롤러 지원 장치(100)는 툴 박스 영역에서 객체를 생성하기 위한 아이템과 연관된 제1 사용자 입력(예를 들어, 디스플레이 셀, 디스플레이 크기 객체, 및 디스플레이 소스 객체 중 적어도 하나를 생성하기 위한 스크린 제어 아이템을 클릭 또는 드래그앤드랍하는 제1 사용자의 조작)에 기초하여 객체를 선택할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 객체 타입과 동일한 이름의 아이템(예를 들어, 디스플레이 셀 타입에 대해서는 디스플레이 셀이라는 이름을 가지는 스크린 제어 아이템)을 제1 사용자에게 제공할 수 있다. 컨트롤러 지원 장치(100)는 선택된 객체를 외부 단말이 웹브라우저 상의 캔버스 영역에 그리도록 외부 단말을 제어할 수 있다.For example, the
또한, 컨트롤러 지원 장치(100)는 선택된 객체의 프로퍼티는 프로퍼티 영역을 통해 외부 단말로 제공할 수 있다. 이때, 컨트롤러 지원 장치(100)는 객체의 모든 변경된 사항을 실시간으로 프로퍼티 영역에 제공할 수 있다.In addition, the
도 9는 일 실시예에 따른 객체를 다중선택 하는 과정 및 그룹화와 그룹화 해제하는 과정을 설명하기 위한 도면이다.FIG. 9 is a diagram for explaining a process of multiple selection of objects and a process of grouping and ungrouping objects according to an embodiment.
다중선택은 둘 이상의 객체와 연관된 제1 사용자 입력에 기초하여, 컨트롤러 지원 장치(100)가 복수의 객체들(911, 912, 913)을 한번에 선택하는 동작을 나타낼 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 둘 이상의 객체들(911, 912, 913)과 연관된 제1 사용자 입력으로서, 캔버스 영역 내에 있는 복수의 객체들(911, 912, 913)을 ctrl 키를 클릭한 상태로 순차적으로 마우스로 클릭하는 입력에 응답하여, 순차적으로 클릭의 대상이 된 객체들(911, 912, 913)을 선택할 수 있다. 다른 예를 들어, 컨트롤러 지원 장치(100)는 둘 이상의 객체들(911, 912, 913)과 연관된 제1 사용자 입력으로서 마우스 클릭을 일정 시간 유지하면서 커서를 이동시키는 입력에 응답하여, 캔버스 영역 내에서 마우스 클릭의 시작 지점 및 종료 지점을 기준으로 형성되는 범위(예를 들어, 사각형의 범위)(920) 내의 객체들(911, 912, 913)을 선택할 수 있다.The multiple selection may indicate that the
도 9에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 복수의 객체들 중 둘 이상의 객체들(911, 912, 913)과 연관된 제1 사용자 입력(예를 들어, ctrl 키를 누른 상태로 객체들을 순차적으로 클릭하는 입력)에 응답하여, 둘 이상의 객체들(911, 912, 913)을 선택할 수 있다. 컨트롤러 지원 장치(100)는 둘 이상의 객체들(911, 912, 913) 중 처음에 선택된 객체(911)를 기준 객체로 지정할 수 있다. 컨트롤러 지원 장치(100)는 기준 객체(911)를 기초로 선택된 둘 이상의 객체들 중 나머지 객체(912, 913)를 정렬할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 복수의 객체들(911, 912, 913)을, 선택된 순서에 따라 다른 색상 등의 그래픽 표현을 객체에 적용하여 제1 사용자에게 제공함으로써, 제1 사용자에게 기준이 되는 객체를 인식시킬 수 있다.9, the
컨트롤러 지원 장치(100)는 프로퍼티 영역에 선택된 객체들(911, 912, 913)의 공통되는 프로퍼티를 제공할 수 있다. 예를 들어, 선택된 객체들(911, 912, 913)이 모두 버튼들이라면, 컨트롤러 지원 장치(100)는 프로퍼티 영역엔 버튼 객체의 모든 속성을 제공할 수 있다. 만약 다른 타입의 객체들이 같이 선택이 되어 있다면(예를 들면 텍스트 객체, 버튼 객체 그리고 사진 객체 등), 컨트롤러 지원 장치(100)는 프로퍼티 영역에 텍스트 객체, 버튼 객체, 사진 객체가 공통적으로 가지고 있는 프로퍼티를 제공할 수 있다.The
컨트롤러 지원 장치(100)는 다중으로 선택 된 객체들(911, 912, 913)에 대하여 일괄적으로 삭제, 이동, 정렬, 또는 그룹화 등의 동작을 적용 할 수 있다. 컨트롤러 지원 장치(100)는 복수의 객체들(911, 912, 913)을 다중 선택한 후 제1 사용자로부터 키보드의 Del 키에 대한 제1 사용자 입력이 수신된 경우에 응답하여, 다중 선택된 복수의 객체들을 삭제할 수 있다. 컨트롤러 지원 장치(100)는 다중 선택된 복수의 객체들(911, 912, 913)을 클릭하여 드래그하는 제1 사용자 입력에 응답하여, 선택된 복수의 객체들(911, 912, 913)을 이동시킬 수 있다. 컨트롤러 지원 장치(100)는 처음에 선택된 객체를 기준으로 하여, 정렬 동작을 수행할 수 있다. 컨트롤러 지원 장치(100)는 결과물로서, 선택된 정렬 타입에 따라 객체들(911, 912, 913)을 정렬시킬 수 있다. 정렬 동작은 예를 들어, 객체들(911, 912, 913) 간의 수평 간격을 일정하게 하는 수평 정렬, 객체들(911, 912, 913)의 수직 간격을 일정하게 하는 수직 정렬, 기준이 되는 객체(911)와 다른 객체들의 x 좌표 또는 y 좌표가 동일하도록 하는 정렬 등을 포함할 수 있다.The
또한, 도 9에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 마우스 클릭을 일정 시간 유지하면서 커서를 이동시키는 입력에 응답하여, 캔버스 영역 내에서 마우스 클릭의 시작 지점 및 종료 지점을 기준으로 형성되는 범위(예를 들어, 사각형의 범위)(920) 내의 객체들(911, 912, 913)을 선택할 수 있다.9, the
일 실시예에 따르면, 컨트롤러 지원 장치(100)는 복수의 객체들 중 둘 이상의 객체들(911, 912, 913)과 연관된 제1 사용자 입력에 응답하여, 둘 이상의 객체들(911, 912, 913)을 선택하고, 선택된 둘 이상의 객체들(911, 912, 913)을 단일 객체(930)로 변환할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 둘 이상의 객체들(911, 912, 913)을 단일 객체(930)로 변환함으로써, 둘 이상의 객체들(911, 912, 913)을 그룹화할 수 있다. 컨트롤러 지원 장치(100)는 사각형을 그리거나 Ctrl+ 마우스 클릭을 하는 제1 사용자 입력에 응답하여 복수의 객체들(911, 912, 913)을 선택할 수 있다. 복수의 객체들(911, 912, 913)이 선택된 상태에서, 컨트롤러 지원 장치(100)는 제1 조합 키(예를 들어, Ctrl+Alt+G)로 된 제1 사용자 입력에 응답하여 둘 이상의 객체들(911, 912, 913)을 그룹화할 수 있고, 그룹화 된 객체(930) 주위로 점선을 그래픽 표현을 제공할 수 있다. 도 9에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 그룹화 된 객체들(911, 912, 913)을 단일 객체(930)로서 관리할 수 있다.According to one embodiment, the
컨트롤러 지원 장치(100)는 단일 객체(930)와 연관된 제1 사용자 입력에 응답하여, 단일 객체(930)를 단일 객체에 대응하는 둘 이상의 객체들로 변환할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 단일 객체(930)와 연관된 제1 사용자 입력에 응답하여, 둘 이상의 객체들(911, 912, 913)이 그룹화된 단일 객체(930)를 선택할 수 있다. 컨트롤러 지원 장치(100)는 제2 조합 키(예를 들어, Ctrl+Alt+U)로 된 제1 사용자 입력에 응답하여 그룹화를 해제하고 점선의 그래픽 표현을 제거할 수 있다. 이후, 컨트롤러 지원 장치(100)는 그룹화가 해제된 둘 이상의 객체들을 개별 객체로서 관리할 수 있다.The
또한, 컨트롤러 지원 장치(100)는 객체와 연관된 제1 사용자 입력의 수신에 응답하여, 객체의 크기를 조절할 수 있다. 컨트롤러 지원 장치는 제1 사용자가 크기를 조정하고자 하는 객체에 대한 제1 사용자 입력을 수신하면, 해당 객체를 선택할 수 있다. 컨트롤러 지원 장치(100)는 도 9에 도시된 바와 같이 선택된 객체에 대해 4개의 작은 사각형으로 된 그래픽 객체를 각 객체의 모서리에 시각화하여 제1 사용자에게 제공할 수 있다. 컨트롤러 지원 장치(100)는 객체의 크기를 하나의 작은 사각형을 클릭 및 드래그하는 제1 사용자 입력에 응답하여 조절할 수 있다. In addition, the
도 10 및 도 11은 일 실시예에 따른 메뉴 인터페이스를 설명하기 위한 도면이다.10 and 11 are diagrams for explaining a menu interface according to an embodiment.
컨트롤러 지원 장치(100)는 제작된 UI 인터페이스를 가지는 중앙집중형 모니터링 시스템을 JSON 형식의 프로젝트 파일로 컨트롤러 지원 장치(100) 내에 저장할 수 있으며, 이 파일을 추후 불러올 수 있다. 하기에서는 도 10 및 도 11에 나타난 메뉴 아이템(510)의 예시를 설명한다.The
도 10는 페이지 아이템(1010)의 일례를 나타낼 수 있다. 도 10에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 프로젝트를 동작시키기 위한 페이지 아이템(1010) 중에서 "Save" 아이템과 연관된 제1 사용자 입력에 응답하여 UI 인터페이스를 가지는 중앙집중형 모니터링 시스템을 JSON 파일로 저장할 수 있다. 컨트롤러 지원 장치(100)는 제1 사용자 입력에 기초하여, UI 인터페이스를 가지는 중앙집중형 모니터링 시스템에 대한 프로젝트 파일의 이름을 결정할 수 있고, 컨트롤러 지원 장치(100) 내(예를 들어, 서버)에 저장할 수 있다.FIG. 10 may represent an example of a
아울러, 컨트롤러 지원 장치(100)는 도 10에 도시된 바와 같이 페이지 아이템(1010) 중에서 "Open" 아이템과 연관된 제1 사용자 입력에 응답하여 기존에 저장한 프로젝트 파일을 불러올 수 있다.In addition, the
도 11은 정렬 아이템(1110)의 일례를 나타낼 수 있다. 컨트롤러 지원 장치(100)는 정렬 아이템(1110) 중에서 "Size alignment" 아이템과 연관된 제1 사용자 입력에 응답하여, 복수 선택된 객체들의 크기를 동일하게 설정할 수 있고, "Horizontal alignment" 아이템과 연관된 제1 사용자 입력에 응답하여 복수 선택된 객체들의 수평 위치를 동일하게 설정할 수 있으며, "Vertical alignment" 아이템과 연관된 제1 사용자 입력에 응답하여 복수 선택된 객체들의 수직 위치를 동일하게 설정할 수 있고, "Horizontal interval alignment" 아이템과 연관된 제1 사용자 입력에 응답하여 복수 선택된 객체들의 수평 간격을 균등하게 설정할 수 있으며, "Vertical interval alignment" 아이템과 연관된 제1 사용자 입력에 응답하여 복수 선택된 객체들의 수직 간격을 균등하게 설정할 수 있다.FIG. 11 may show an example of an
sort list by z-index property
for o in objects
draw o on the canvasinput list of objects
sort list by z-index property
for o in objects
draw o on the canvas
상술한 표 4는 일 실시예에 따른 캔버스 영역 내의 객체에 관련된 Z 인덱스 알고리즘을 나타낼 수 있다. HTML5 캔버스는 객체를 그릴 때 Z 인덱스가 지원되지 않을 수 있다. 일 실시예에 따르면 Z 인덱스는 화면 상에 객체가 시각화되는 우선 순위를 나타낼 수 있고, 예를 들어, 객체의 일부가 중복되는 경우 높은 우선순위의 Z 인덱스를 가지는 객체가 중복되는 영역에서 시각화되고 낮은 우선순위의 Z 인덱스를 가지는 객체는 해당 중복되는 영역에서 가려질 수 있다. 컨트롤러 지원 장치(100)는 객체의 Z 인덱스 기능을 통해 외부 단말의 디스플레이에 변화가 적용될 수 있도록 알고리즘을 실행할 수 있다. 알고리즘은 상술한 표 4에 설명된 바와 같을 수 있다. 컨트롤러 지원 장치(100)는 Z 인덱스가 임의의 객체에 대해 변경될 때 마다, 모든 객체를 Z 인덱스를 기반으로 정렬하고 결과 값에 의해 객체를 그리도록 할 수 있다. 예를 들어, 컨트롤러 지원 장치(100)는 복수의 객체들에 대해 Z 인덱스를 지정하고, 지정된 Z 인덱스에 기초하여 복수의 객체들을 정렬하며, 정렬된 순서에 따라 복수의 객체들을 캔버스 영역에 제공할 수 있다.Table 4 above may represent a Z index algorithm associated with an object in the canvas region according to an embodiment. The HTML5 canvas may not support Z indexes when drawing objects. According to one embodiment, the Z index may represent a priority in which an object is visualized on the screen. For example, when a part of an object is overlapped, an object having a Z index with a high priority is visualized in an overlapped area, An object with a Z index of priority can be hidden in the overlapping area. The
도 12 내지 도 14는 일 실시예에 따른 보안 카메라로부터의 스트리밍되는 영상을 제공하는 디스플레이 객체를 설명하기 위한 도면이다.12 to 14 are views for explaining a display object providing a streamed image from a security camera according to an embodiment.
도 12는 디스플레이 객체들의 예시를 나타낼 수 있다. 디스플레이 객체는 디스플레이 소스 객체(1230) 디스플레이 크기 객체(1220), 및 디스플레이 셀(1210) 등을 포함할 수 있다. 컨트롤러 지원 장치(100)는 제1 사용자가 디스플레이 소스 객체(1230), 디스플레이 크기 객체(1220), 및 디스플레이 셀(1210) 등을 캔버스 영역(530)에 생성할 수 있도록 해주는 스크린 제어 아이템을 제공할 수 있다.Figure 12 may illustrate an example of display objects. The display object may include a
디스플레이 소스 객체(1230)는 컨트롤러 지원 장치(100)가 디스플레이 소스 객체(1230)와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 디스플레이 소스 객체(1230)에 대응하는 소스 영상을 선택하도록 설정된 객체를 나타낼 수 있다. 디스플레이 크기 객체(1220)는 컨트롤러 지원 장치(100)가 디스플레이 크기 객체(1220) 및 디스플레이 셀(1210)과 연관된 제2 사용자 입력에 응답하여 디스플레이 셀(1210)의 크기를 해당 디스플레이 크기 객체(1220)에 지정된 크기로 결정하도록 설정된 객체를 나타낼 수 있다. 디스플레이 셀(1210)은 컨트롤러 지원 장치(100)가 디스플레이 셀(1210) 및 디스플레이 소스 객체(1230)와 연관된 제2 사용자 입력에 응답하여 선택된 소스 영상을 지정된 크기로 디스플레이 셀(1210) 상에 표시하도록 설정된 객체를 나타낼 수 있다.The
도 12에 도시된 바와 같이, 컨트롤러 지원 장치(100)는 복수의 디스플레이 셀들(1211, 1212, 1213, 1214, 1215, 1216)을 캔버스 영역(530)에 미리 정해진 간격으로 된 그리드 형태로 생성할 수 있다. 다만, 디스플레이 셀들(1211, 1212, 1213, 1214, 1215, 1216)의 형태 및 배치를 도시된 바로 한정하는 것은 아니다. 컨트롤러 지원 장치(100)는 디스플레이 크기 객체(1220) 및 복수의 디스플레이 셀들(1211, 1212, 1213, 1214, 1215, 1216) 중 하나의 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 하나의 디스플레이 셀을 기준으로 복수의 셀들 중 적어도 둘 이상의 셀들을 병합하도록 복수의 디스플레이 셀들(1211, 1212, 1213, 1214, 1215, 1216)을 설정할 수 있다. 도 12에서는 예를 들어, 디스플레이 셀(1210)이 총 6개의 셀들(1211, 1212, 1213, 1214, 1215, 1216)로 구분될 수 있고, 디스플레이 크기 객체(1220)는 1 x 1 크기로 설정하는 객체, 2 x 2 크기로 설정하는 객체, 3 x 2 크기로 설정하는 객체 등이 예시적으로 도시되었으며, 디스플레이 소스 객체(1230)들은 CCTV 및 PC 화면 등이 소스 영상으로서 제공되는 것으로 도시될 수 있다.12, the
도 13은 디스플레이 셀 크기 변경의 예시를 도시할 수 있다.13 illustrates an example of a display cell size change.
일 실시예에 따르면, 컨트롤러 지원 장치(100)는 캔버스 영역에 디스플레이 크기 객체(1321)를 생성할 수 있고, 디스플레이 크기 객체(1321)와 연관된 제2 사용자 입력(1391)의 수신에 응답하여, 스트리밍되는 소스 영상으로부터 디스플레이 크기 객체(1321)에 지정된 크기의 모니터링 영상을 생성하도록 디스플레이 크기 객체(1321)를 설정할 수 있다. 컨트롤러 지원 장치(100)는 제2 사용자가 동적으로 소스 영상들의 크기를 조정할 수 있게 해주는 디스플레이 크기 객체(1321)를, 제1 사용자가 용이하게 생성할 수 있도록 지원할 수 있다.In accordance with one embodiment, the controller aided
예를 들어, 컨트롤러 지원 장치(100)는 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여, 캔버스 영역에 n x m 개(n 및 m은 각각 1이상의 정수임)의 디스플레이 셀들을 그리드 형태로 생성할 수 있다. 또한, 컨트롤러 지원 장치(100)는 디스플레이 크기 객체(1321)를 캔버스 영역에 생성하고, 디스플레이 크기 객체(1321) 및 n x m 개의 디스플레이 셀들 중 하나의 디스플레이 셀(1311)과 연관된 제2 사용자 입력(1392)에 응답하여, 하나의 디스플레이 셀(1311)을 기준으로 디스플레이 크기 객체(1321)에 대응하는 크기로 n x m개의 디스플레이 셀들 중 둘 이상의 디스플레이 셀들(예를 들어, 도 13에서는 (1,1)셀, (1,2)셀, (2,1)셀, (2,2)셀)을 병합하여 단일 디스플레이 셀(1319)을 생성하도록 디스플레이 크기 객체(1321)를 설정할 수 있다.For example, in response to receipt of a first user input associated with a screen control item, the
구체적으로, 컨트롤러 지원 장치(100)는 디스플레이 셀의 오른쪽 하단의 코너를 드래그하는 제2 사용자 입력에 응답하여 디스플레이 셀의 크기가 변경되도록 하거나, 디스플레이 크기 객체(1321)에 대한 제2 사용자 입력(1391)에 응답하여 디스플레이 셀의 크기가 변경될 수 있도록 중앙집중형 모니터링 시스템을 저작할 수 있다. 후자의 경우, 컨트롤러 지원 장치(100)에 의해 제작된 중앙집중형 모니터링 시스템은 제2 사용자의 디스플레이 크기 객체(1321)에 대한 입력(예를 들어, 특정 크기를 지시하는 디스플레이 크기 객체(1321)를 클릭)(1391)(예를 들어, 도 13에서는 2 x 2)에 응답하여, 디스플레이 셀의 크기를 선택할 수 있다. 디스플레이 셀의 크기는 도 13에 도시된 바와 같이, 선택된 크기로 변경될 수 있다. 상술한 바와 같이, 저작이 완료된 중앙집중형 모니터링 시스템에 있어서, 제2 사용자는 제1 사용자에 의해 저작된 디스플레이 크기 객체(1321) 및 디스플레이 셀(1311)에 대한 간단한 제2 사용자 입력을 통해서, 소스 영상이 디스플레이되는 디스플레이 셀을 동적으로 쉽고 빠르게 조정할 수 있다.Specifically, the
도 14는 디스플레이되는 소스 영상을 디스플레이 셀에 연결하는 예시를 나타낼 수 있다. Fig. 14 may show an example of connecting a source image to be displayed to a display cell.
컨트롤러 지원 장치(100)는 디스플레이 소스 객체(1431)를 캔버스 영역에 생성하고, 디스플레이 소스 객체(1431) 및 단일 디스플레이 셀(1411)과 연관된 제2 사용자 입력(1491, 1492)에 응답하여, 디스플레이 소스 객체(1431)에 대응하는 소스 영상으로부터 단일 디스플레이 셀(1411)의 높이 및 폭 중 적어도 하나에 매칭되면서 소스 영상과 동일한 영상 비율을 가지는 모니터링 영상(1419)을 생성하도록 디스플레이 소스 객체(1431)를 설정할 수 있다. 컨트롤러 지원 장치(100)는 단일 디스플레이 셀(1411)의 적어도 일부에 모니터링 영상(1419)을 제공하고, 단일 디스플레이 셀(1419)의 나머지 부분에 검은 영상을 제공하도록 단일 디스플레이 셀(1419)을 설정할 수 있다. 컨트롤러 지원 장치(100)는 모니터링 영상(1419)의 영상 비율을 소스 영상과 동일하게 유지함으로써, 영상의 확대 및 축소 시에 왜곡을 최소화할 수 있다.The
예를 들어, 컨트롤러 지원 장치(100)에 의해 저작된 중앙집중형 모니터링 시스템은 제2 사용자로부터 먼저 디스플레이 소스 객체들(1431) 중에서 소스 영상을 선택하는 입력(1491) 및, 소스 영상이 표시될 디스플레이 셀을 선택하는 입력(1492)을 수신할 수 있다. 컨트롤러 지원 장치(100)에 의해 저작된 중앙집중형 모니터링 시스템은 선택된 소스 영상을 선택된 디스플레이 셀(1411)에 표시할 수 있다. 또한, 컨트롤러 지원 장치(100)에 의해 저작된 중앙집중형 모니터링 시스템은 임의의 소스 영상에 대응하는 디스플레이 소스 객체(1431)를 드래그하여 디스플레이 셀(1411)에 드롭하는 제2 사용자 입력에 응답하여, 선택된 소스 영상을 선택된 디스플레이 셀에 제공할 수 있다. 다만, 디스플레이 셀(1411) 및 디스플레이 소스 객체(1431)에 대한 제2 사용자 입력을 상술한 바로 한정하는 것은 아니고, 제2 사용자 입력의 순서는 변경될 수 있고, 입력 형태는 터치, 제스쳐 등과 같은 다양한 형태를 포함할 수 있다.For example, the centralized monitoring system authored by the
도 15는 일 실시예에 따른 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법을 설명하기 위한 흐름도이다.15 is a flowchart illustrating a dynamic display controller support method for providing a plurality of monitoring images according to an exemplary embodiment.
우선, 단계(1510)에서는 컨트롤러 지원 장치는 처리부를 통해 서버에 대한 외부 단말의 제1 사용자의 접속을 허용할 수 있다.First, in
그리고 단계(1520)에서는 컨트롤러 지원 장치는 통신부를 통해 제1 사용자로부터 스크린 제어 아이템(screen control item)과 연관된 제1 사용자 입력을 수신할 수 있다.And in
이어서 단계(1530)에서는 컨트롤러 지원 장치는 처리부를 통해 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region)에 디스플레이 객체를 생성하고, 제2 사용자로부터 수신되는 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 디스플레이 객체에 대응하는 소스 영상이 제공되도록 디스플레이 객체를 설정할 수 있다.Subsequently, in
다만, 서버에 의해 구현되는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법의 동작들을 상술한 바로 한정하는 것은 아니고, 각 동작의 순서 및 세부 사항은 설계에 따라 변경될 수 있다. 또한, 디스플레이 컨트롤러 지원 방법의 동작은 상술한 도 1 내지 도 14의 컨트롤러 지원 장치의 동작들과 결합되어 수행될 수 있다.However, the operations of the dynamic display controller support method for providing a plurality of monitoring images implemented by the server are not limited to those described above, and the order and details of each operation may be changed according to the design. In addition, the operation of the display controller support method can be performed in combination with the operations of the controller support apparatus of Figs. 1 to 14 described above.
본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
100: 컨트롤러 지원 장치
110: 통신부
120: 처리부
130: 저장부100: Controller supported device
110:
120:
130:
Claims (20)
상기 서버에 대한 외부 단말의 제1 사용자의 접속을 허용하는 단계;
상기 제1 사용자로부터 디스플레이 셀, 디스플레이 크기 객체 및 디스플레이 소스 객체 중 적어도 하나를 생성하기 위한 스크린 제어 아이템(screen control item)과 연관된 제1 사용자 입력을 수신하는 단계; 및
상기 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region)에 상기 적어도 하나를 포함하는 디스플레이 객체를 생성하고, 상기 제1 사용자와 상이한 제2 사용자로부터 수신되는 상기 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 상기 디스플레이 객체에 대응하는 소스 영상이 제공되도록 상기 디스플레이 객체를 설정하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.A method of supporting a dynamic display controller for providing a plurality of monitoring images implemented by a server,
Allowing a first user of the external terminal to access the server;
Receiving a first user input associated with a screen control item for generating at least one of a display cell, a display size object and a display source object from the first user; And
In response to receiving a first user input associated with the screen control item, generating a display object comprising the at least one in a canvas region, wherein the display object received from a second user different from the first user Setting the display object such that a source image corresponding to the display object is provided among a plurality of source images streamed from a security camera in response to an associated second user input
The method comprising the steps of: providing a plurality of monitoring images;
상기 디스플레이 객체를 설정하는 단계는,
상기 디스플레이 소스 객체를 생성하고, 상기 디스플레이 소스 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 상기 디스플레이 소스 객체에 대응하는 소스 영상을 선택하도록 상기 디스플레이 소스 객체를 설정하는 단계;
상기 디스플레이 크기 객체를 상기 캔버스 영역에 생성하고, 상기 디스플레이 크기 객체 및 상기 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여 상기 디스플레이 셀의 크기를 해당 디스플레이 크기 객체에 지정된 크기로 결정하도록 상기 디스플레이 크기 객체를 설정하는 단계; 및
상기 디스플레이 셀을 상기 캔버스 영역에 생성하고, 상기 디스플레이 셀 및 상기 디스플레이 소스 객체와 연관된 제2 사용자 입력에 응답하여 상기 선택된 소스 영상을 상기 지정된 크기로 상기 디스플레이 셀 상에 표시하도록 상기 디스플레이 셀을 설정하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Wherein the setting of the display object comprises:
Setting the display source object to select a source image corresponding to the display source object from a plurality of source images streamed from a security camera in response to a second user input associated with the display source object ;
Creating a display size object in the canvas region and responsive to a second user input associated with the display size object and the display cell to convert the display size object to a size specified in the display size object, ; And
Setting the display cell to display the selected source image on the display cell in the designated size in response to a second user input associated with the display cell and the display source object, step
The method comprising the steps of: providing a plurality of monitoring images;
The method comprising the steps of: providing a plurality of monitoring images;
상기 디스플레이 셀을 설정하는 단계는,
복수의 디스플레이 셀들을 상기 캔버스 영역에 미리 정해진 간격으로 된 그리드 형태로 생성하는 단계; 및
상기 디스플레이 크기 객체 및 상기 복수의 디스플레이 셀들 중 하나의 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 상기 하나의 디스플레이 셀을 기준으로 상기 복수의 셀들 중 적어도 둘 이상의 셀들을 병합하도록 상기 복수의 디스플레이 셀들을 설정하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.3. The method of claim 2,
The step of setting the display cell includes:
Generating a plurality of display cells in a grid form at predetermined intervals in the canvas area; And
In response to a second user input associated with the display size object and one of the plurality of display cells, merges at least two of the plurality of cells with respect to the one display cell, ≪ / RTI >
The method comprising the steps of: providing a plurality of monitoring images;
상기 캔버스 영역에 상기 디스플레이 크기 객체를 생성하는 단계; 및
상기 디스플레이 크기 객체와 연관된 제2 사용자 입력의 수신에 응답하여, 스트리밍되는 소스 영상으로부터 상기 디스플레이 크기 객체에 지정된 크기의 모니터링 영상을 생성하도록 상기 디스플레이 크기 객체를 설정하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Creating the display size object in the canvas area; And
Setting the display size object to generate a monitoring image of a size specified in the display size object from the streamed source image in response to receiving a second user input associated with the display size object
The method comprising the steps of: providing a plurality of monitoring images;
상기 디스플레이 객체를 설정하는 단계는,
상기 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여, 상기 캔버스 영역에 n x m 개의 디스플레이 셀들을 그리드 형태로 생성하는 단계
를 포함하고,
상기 n 및 m은 각각 1이상의 정수인,
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Wherein the setting of the display object comprises:
In response to receiving a first user input associated with the screen control item, generating nxm display cells in a grid form in the canvas area
Lt; / RTI >
And n and m are each an integer of 1 or more,
A method of supporting a dynamic display controller to provide a plurality of monitoring images.
상기 디스플레이 객체를 설정하는 단계는,
상기 디스플레이 크기 객체를 상기 캔버스 영역에 생성하고, 상기 디스플레이 크기 객체 및 상기 n x m 개의 디스플레이 셀들 중 하나의 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 상기 하나의 디스플레이 셀을 기준으로 상기 디스플레이 크기 객체에 대응하는 크기로 상기 n x m개의 디스플레이 셀들 중 둘 이상의 디스플레이 셀들을 병합하여 단일 디스플레이 셀을 생성하도록 상기 디스플레이 크기 객체를 설정하는 단계;
상기 디스플레이 소스 객체를 상기 캔버스 영역에 생성하고, 상기 디스플레이 소스 객체 및 상기 단일 디스플레이 셀과 연관된 제2 사용자 입력에 응답하여, 상기 디스플레이 소스 객체에 대응하는 소스 영상으로부터 상기 단일 디스플레이 셀의 높이 및 폭 중 적어도 하나에 매칭되면서 상기 소스 영상과 동일한 영상 비율을 가지는 모니터링 영상을 생성하도록 상기 디스플레이 소스 객체를 설정하는 단계; 및
상기 단일 디스플레이 셀의 적어도 일부에 상기 모니터링 영상을 제공하고, 상기 단일 디스플레이 셀의 나머지 부분에 검은 영상을 제공하도록 상기 단일 디스플레이 셀을 설정하는 단계
를 더 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.6. The method of claim 5,
Wherein the setting of the display object comprises:
In response to a second user input associated with the display size object and one of the nxm display cells, generating a display size object in the canvas area, Setting the display size object to merge two or more display cells of the nxm display cells to a corresponding size to produce a single display cell;
In response to a second user input associated with the display source object and the single display cell, generating a display source object from the source image corresponding to the display source object, Setting the display source object to generate a monitoring image having a same image ratio as the source image while being matched to at least one; And
Setting the single display cell to provide the monitoring image to at least a portion of the single display cell and to provide a black image to the remaining portion of the single display cell
The method comprising the steps of: providing a plurality of monitoring images;
상기 제1 사용자로부터 공통 제어 아이템과 연관된 제1 사용자 입력을 수신하는 단계;
상기 공통 제어 아이템과 연관된 제1 사용자 입력에 응답하여, 버튼, 이미지, 텍스트, 및 패널 중 적어도 하나를 캔버스 영역에 생성하는 단계
를 더 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Receiving a first user input associated with a common control item from the first user;
Generating at least one of a button, an image, a text, and a panel in a canvas area in response to a first user input associated with the common control item
The method comprising the steps of: providing a plurality of monitoring images;
상기 접속을 허용하는 단계는,
상기 외부 단말의 웹 브라우저를 통해 HTTP(HyperText Transfer Protocol)에 기초하여, 상기 외부 단말과의 연결을 수립하는 단계; 및
상기 외부 단말로 위지위그 에디터(WYSIWYG editor)를 제공하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
The step of allowing the connection comprises:
Establishing a connection with the external terminal based on HTTP (HyperText Transfer Protocol) through a web browser of the external terminal; And
Providing a WYSIWYG editor to the external terminal;
The method comprising the steps of: providing a plurality of monitoring images;
상기 캔버스 영역의 배경과 연관된 제1 사용자 입력을 수신하는 단계;
상기 배경과 연관된 제1 사용자 입력에 기초하여 상기 복수의 셀들 주변의 배경 영역에 대해 배경 이미지 및 배경 색 중 적어도 하나를 결정하는 단계;
상기 배경 색이 결정된 경우에 응답하여, 상기 캔버스 영역의 배경을 상기 결정된 배경 색으로 제공하는 단계;
상기 배경 이미지가 결정된 경우에 응답하여, 상기 캔버스 영역의 배경에 상기 결정된 배경 이미지를 제공하는 단계; 및
상기 배경 색 및 상기 배경 이미지가 결정된 경우에 응답하여, 상기 배경 색으로 구성되는 상기 배경 영역에 상기 배경 이미지를 오버레이하여 제공하는 단계
를 더 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Receiving a first user input associated with a background of the canvas region;
Determining at least one of a background image and a background color for a background area around the plurality of cells based on a first user input associated with the background;
Providing a background of the canvas area as the determined background color in response to determining the background color;
In response to determining the background image, providing the determined background image to the background of the canvas area; And
In response to determining the background color and the background image, overlaying the background image on the background area,
The method comprising the steps of: providing a plurality of monitoring images;
객체의 생성, 객체의 크기 변경, 객체의 그래픽 표현(graphic representation) 변경, 객체의 위치 변경, 및 둘 이상의 객체들의 병합(merge) 중 적어도 하나에 응답하여, 상기 캔버스 영역에 생성된 객체들을 포함하는 프로젝트 파일을 자동으로 업데이트하여 상기 서버에 저장하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
In response to at least one of creating an object, resizing an object, changing a graphic representation of the object, repositioning the object, and merging two or more objects, Automatically updating the project file and storing it in the server
The method comprising the steps of: providing a plurality of monitoring images;
복수의 객체들에 대해 Z 인덱스를 지정하는 단계;
지정된 Z 인덱스에 기초하여 상기 복수의 객체들을 정렬하는 단계; 및
정렬된 순서에 따라 상기 복수의 객체들을 상기 캔버스 영역에 제공하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Specifying a Z index for a plurality of objects;
Arranging the plurality of objects based on a specified Z index; And
Providing the plurality of objects to the canvas area in an ordered order
The method comprising the steps of: providing a plurality of monitoring images;
복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 상기 둘 이상의 객체들을 선택하고, 상기 선택된 둘 이상의 객체들을 단일 객체로 변환하는 단계; 및
단일 객체와 연관된 제1 사용자 입력에 응답하여, 상기 단일 객체를 상기 단일 객체에 대응하는 둘 이상의 객체들로 변환하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Selecting the two or more objects in response to a first user input associated with two or more of the plurality of objects and converting the selected two or more objects into a single object; And
In response to a first user input associated with a single object, converting the single object into two or more objects corresponding to the single object
The method comprising the steps of: providing a plurality of monitoring images;
객체의 객체 타입에 따라 적어도 하나의 프로퍼티를 지정하는 단계;
복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 상기 둘 이상의 객체들을 선택하는 단계; 및
상기 선택된 둘 이상의 객체들에 공통적으로 지정된 프로퍼티(property)를 검색하며, 상기 공통적으로 지정된 프로퍼티를 표시하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Designating at least one property according to an object type of the object;
Responsive to a first user input associated with two or more of the plurality of objects, selecting the two or more objects; And
Searching for a property commonly designated to the selected two or more objects, and displaying the commonly-designated property
The method comprising the steps of: providing a plurality of monitoring images;
상기 선택된 둘 이상의 객체들에 지정된 프로퍼티들에 대응하는 이진 플래그들(binary flags)에 대해 이진 연산자(binary operator)를 적용하여 이진 조합(binary combination)을 생성하는 단계; 및
상기 이진 조합에 기초하여 상기 선택된 둘 이상의 객체들에 공통되는 프로퍼티에 대응하는 이진 값을 추출하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.14. The method of claim 13,
Generating a binary combination by applying a binary operator to binary flags corresponding to the properties specified for the selected two or more objects; And
Extracting a binary value corresponding to a property common to the selected two or more objects based on the binary combination
The method comprising the steps of: providing a plurality of monitoring images;
상기 선택된 둘 이상의 객체들에 공통적으로 지정된 프로퍼티가 존재하는 경우, 상기 공통적으로 지정된 프로퍼티와 연관된 제1 사용자 입력의 수신에 응답하여, 상기 공통적으로 지정된 프로퍼티를 상기 선택된 둘 이상의 객체들에 대해 일괄적으로 설정하는 단계
를 더 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.14. The method of claim 13,
In response to receiving a first user input associated with the commonly-assigned property, if there is a property commonly designated to the selected two or more objects, collectively assigning the commonly-assigned property to the selected two or more objects collectively Steps to set
The method comprising the steps of: providing a plurality of monitoring images;
미리 정해진 문서 서식에 따라 소스와 액션 리스트를 갱신하는 단계
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Updating the source and action list according to a predetermined document format
The method comprising the steps of: providing a plurality of monitoring images;
복수의 객체들 중 둘 이상의 객체들과 연관된 제1 사용자 입력에 응답하여, 상기 둘 이상의 객체들을 선택하는 단계;
상기 둘 이상의 객체들 중 처음에 선택된 객체를 기준 객체로 지정하는 단계; 및
상기 기준 객체를 기초로 상기 선택된 둘 이상의 객체들 중 나머지 객체를 정렬하는 단계,
를 더 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Responsive to a first user input associated with two or more of the plurality of objects, selecting the two or more objects;
Designating a first object selected from the two or more objects as a reference object; And
Arranging the remaining objects of the selected two or more objects on the basis of the reference object,
The method comprising the steps of: providing a plurality of monitoring images;
상기 캔버스 영역에 더하여 메뉴 영역, 툴박스 영역, 및 프로퍼티 영역을 제공하는 단계
를 더 포함하고,
상기 메뉴 영역은,
객체를 정렬시키는 동작을 실행하기 위한 아이템, 프로젝트를 동작시키기 위한 아이템, 동작을 수정하기 위한 아이템, 미리보기 동작을 실행하기 위한 아이템, 및 환경설정을 위한 아이템을 포함하고,
상기 툴박스 영역은,
생성될 객체의 타입을 지정하기 위한 아이템을 포함하며,
상기 캔버스 영역은,
생성된 객체가 배치되는 영역이며,
상기 프로퍼티 영역은,
상기 생성된 객체의 프로퍼티 및 상기 캔버스 영역의 프로퍼티를 변경하기 위한 아이템을 포함하는,
복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 방법.The method according to claim 1,
Providing a menu area, a tool box area, and a property area in addition to the canvas area
Further comprising:
Wherein the menu area comprises:
An item for executing an operation for arranging an object, an item for operating a project, an item for modifying an operation, an item for executing a preview operation, and an item for setting environment,
The toolbox area includes:
An item for designating the type of the object to be generated,
Wherein the canvas region comprises:
The area where the created object is placed,
Wherein the property area comprises:
And an item for changing a property of the created object and a property of the canvas area.
A method of supporting a dynamic display controller to provide a plurality of monitoring images.
제1 사용자의 외부 단말과 통신하는 통신부;
상기 통신부를 통해 상기 장치에 대한 상기 외부 단말의 상기 제1 사용자의 접속을 허용하고, 상기 통신부를 통해 상기 제1 사용자로부터 디스플레이 셀, 디스플레이 크기 객체 및 디스플레이 소스 객체 중 적어도 하나를 생성하기 위한 스크린 제어 아이템(screen control item)과 연관된 제1 사용자 입력을 수신하며, 상기 스크린 제어 아이템과 연관된 제1 사용자 입력의 수신에 응답하여 캔버스 영역(canvas region)에 상기 적어도 하나를 포함하는 디스플레이 객체를 생성하고, 상기 제1 사용자와 상이한 제2 사용자로부터 수신되는 상기 디스플레이 객체와 연관된 제2 사용자 입력에 응답하여 보안 카메라로부터 스트리밍되는 복수의 소스 영상들 중에서 상기 디스플레이 객체에 대응하는 소스 영상이 제공되도록 상기 디스플레이 객체를 설정하는 처리부
를 포함하는 복수의 모니터링 영상들을 제공하기 위한 동적인 디스플레이 컨트롤러 지원 장치.A dynamic display controller support device for providing a plurality of monitoring images,
A communication unit for communicating with an external terminal of the first user;
A screen control for allowing connection of the first user of the external terminal to the device via the communication unit and for generating at least one of a display cell, a display size object and a display source object from the first user via the communication unit; A method comprising: receiving a first user input associated with a screen control item, generating a display object comprising the at least one in a canvas region in response to receiving a first user input associated with the screen control item, The display object being adapted to provide a source image corresponding to the display object from a plurality of source images streamed from a security camera in response to a second user input associated with the display object received from a second user different from the first user, The processing unit
And a display controller for displaying the plurality of monitoring images.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160004943 | 2016-01-14 | ||
KR20160004943 | 2016-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170085414A KR20170085414A (en) | 2017-07-24 |
KR101785845B1 true KR101785845B1 (en) | 2017-10-13 |
Family
ID=59429064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160052286A KR101785845B1 (en) | 2016-01-14 | 2016-04-28 | Device and method for dynamic display controller to provide a plurality of monitoring images |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101785845B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100913796B1 (en) * | 2007-03-30 | 2009-08-26 | 한국기술산업 (주) | Method and apparatus for authoring web pages |
KR101357901B1 (en) * | 2011-10-12 | 2014-02-04 | (주)모션블루 | Method and appratus for providing realizable service in n-screen enviroment and recording media therefor |
KR101456507B1 (en) * | 2012-08-13 | 2014-10-31 | 인크로스 주식회사 | An authoring apparatus for applying n-screen to web application ui and the method for the same |
-
2016
- 2016-04-28 KR KR1020160052286A patent/KR101785845B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100913796B1 (en) * | 2007-03-30 | 2009-08-26 | 한국기술산업 (주) | Method and apparatus for authoring web pages |
KR101357901B1 (en) * | 2011-10-12 | 2014-02-04 | (주)모션블루 | Method and appratus for providing realizable service in n-screen enviroment and recording media therefor |
KR101456507B1 (en) * | 2012-08-13 | 2014-10-31 | 인크로스 주식회사 | An authoring apparatus for applying n-screen to web application ui and the method for the same |
Also Published As
Publication number | Publication date |
---|---|
KR20170085414A (en) | 2017-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210042012A1 (en) | Interactive presentation controls | |
US9720658B2 (en) | Application creation method and apparatus | |
US20190303269A1 (en) | Methods and systems for testing visual aspects of a web page | |
US20100042933A1 (en) | Region selection control for selecting browser rendered elements | |
US9105094B2 (en) | Image layers navigation | |
US20200097719A1 (en) | Converting a captured image of a layout to a structured document template | |
US20170109020A1 (en) | Interactive presentation system | |
WO2014002812A1 (en) | Terminal device, annotation method, computer system, and computer program | |
CN111679818A (en) | Method and system for editing display software | |
US9646362B2 (en) | Algorithm for improved zooming in data visualization components | |
CN112667235A (en) | Visual layout editing implementation method and device and electronic equipment | |
US20030037310A1 (en) | Visual programming tool and execution environment for developing computer software applications | |
CN113158619A (en) | Document processing method and device, computer readable storage medium and computer equipment | |
JP4148721B2 (en) | Shared terminal for conference support, information processing program, storage medium, information processing method, and conference support system | |
KR101785845B1 (en) | Device and method for dynamic display controller to provide a plurality of monitoring images | |
CN110020279A (en) | Page data processing method, device and storage medium | |
US10956497B1 (en) | Use of scalable vector graphics format to encapsulate building floorplan and metadata | |
JP6287498B2 (en) | Electronic whiteboard device, electronic whiteboard input support method, and program | |
US20170357412A1 (en) | Data creating device, data creating method, and data creating program | |
CN115509665B (en) | Method, device, medium and equipment for recording control in window | |
JP2014197256A (en) | Editing device, editing method, and program | |
US11966572B2 (en) | Commenting feature for graphic design systems | |
US11069091B2 (en) | Systems and methods for presentation of and interaction with immersive content | |
CN109804372B (en) | Emphasizing image portions in a presentation | |
JP6063153B2 (en) | Information processing apparatus, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |