KR20190138798A - 실시간 협업을 위한 라이브 잉크 프레즌스 - Google Patents
실시간 협업을 위한 라이브 잉크 프레즌스 Download PDFInfo
- Publication number
- KR20190138798A KR20190138798A KR1020197030147A KR20197030147A KR20190138798A KR 20190138798 A KR20190138798 A KR 20190138798A KR 1020197030147 A KR1020197030147 A KR 1020197030147A KR 20197030147 A KR20197030147 A KR 20197030147A KR 20190138798 A KR20190138798 A KR 20190138798A
- Authority
- KR
- South Korea
- Prior art keywords
- ink
- presence area
- area
- existing
- indicator
- Prior art date
Links
- 238000009877 rendering Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 4
- 239000000976 ink Substances 0.000 description 138
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000003570 air Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
Images
Classifications
-
- G06F17/242—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- G06F17/241—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/171—Editing, e.g. inserting or deleting by use of digital ink
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1822—Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
- Radar Systems Or Details Thereof (AREA)
- Processing Or Creating Images (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Geophysics And Detection Of Objects (AREA)
- Display Devices Of Pinball Game Machines (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Medicines Containing Plant Substances (AREA)
Abstract
라이브 잉크 프레즌스 표시자는 복수의 사용자가 디지털 잉크를 사용하여 애플리케이션 내에서 실시간 협업을 수행할 때 어떤 사용자가 어떤 콘텐츠를 생성했는지를 식별하기 위해 제공된다. 프레즌스 관리자는 사용자에 대한 프레즌스 영역 및 프레즌스 표시자를 렌더링하는 제안된 위치를 결정한다.
Description
노트북 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션 및 프레젠테이션 애플리케이션과 같은 콘텐츠 생성 애플리케이션은 콘텐츠를 생성하고 관리하는 데 유용한 툴이다. 이들 및 다른 콘텐츠 생성 애플리케이션은 펜 또는 스타일러스 (및 때때로 손가락 또는 다른 물체)를 사용하여 종이 위에 펜을 불러오는 방식으로 사용자가 콘텐츠를 입력하게 하고 애플리케이션 (및 그 안에 생성된 콘텐츠)과 상호작용하게 하는 "잉킹(inking)" 기능을 점점 더 많이 포함하고 있다.
복수의 사용자가 디지털 잉크("디지털 잉킹 환경")를 사용하는 애플리케이션 내에서 실시간 협업을 시작할 때, 어떤 사용자가 어떤 콘텐츠를 생성하였는지 식별하기가 어려울 수 있다.
잉킹 환경의 실시간 협업에서 사용자를 식별하는 것이 설명된다. (잉크 스트로크가 캔버스 인터페이스로 입력되는) 잉킹 환경에서 협업 가능 콘텐츠 생성 애플리케이션을 위한 시각적 "잉크 프레즌스" 표시자 특징이 제공된다.
잉크 프레즌스 특징은 누가 일부 콘텐츠를 잉킹했는지와 사용자가 드로잉 캔버스 상의 그 콘텐츠를 어디에 잉킹했는지에 대한 정보를 가진 "프레즌스 표시자" 형태의 시각적 표시자를 제공할 뿐만 아니라 캔버스 인터페이스의 어디에 프레즌스 표시자를 배치할지를 결정할 수 있다.
협업 가능 콘텐츠 생성 애플리케이션의 잉크 프레즌스 특징은 잉크 포인트가 그려지는 프레즌스 영역을 정의하고 들어오는 잉크 포인트가 동일한 프레즌스 영역의 일부인지 아니면 다른 프레즌스 영역인지를 판정하는 프레즌스 관리자 코드를 포함한다. 프레즌스 관리자 코드는 또한 각각의 프레즌스 영역에 대한 프레즌스 표시자의 위치를 결정하고, 프레즌스 표시자가 콘텐츠 생성 애플리케이션의 그래픽 사용자 인터페이스를 통해 사용자에게 디스플레이되도록 콘텐츠 생성 애플리케이션의 렌더러에 위치 정보를 제공한다.
프레즌스 표시자는 누군가가 스크린의 위치에서 잉킹하고 있음을 나타내는 데 도움이 되는 프레즌스 아이콘일 수 있다. 일 실시예에서, 프레즌스 표시자는 잉크 포인트를 따르지 않으며, 오히려, 프레즌스 표시자는 잉크 포인트와 별도로 이동한다. 프레즌스 표시자 위치는 정의 가능한 프레즌스 영역에 기초할 수 있고, 프레즌스 영역의 크기는 새로운 잉크 포인트가 소정 기준을 만족시키는 방식으로 증가함에 따라, 프레즌스 관리자는 그 프레즌스 영역에 대한 프레즌스 표시자의 위치를 조정할 수 있다.
이 요약은 아래의 상세한 설명에서 더 설명되는 개념의 선택을 단순화된 형태로 소개하기 위해 제공된다. 이 요약은 청구 대상의 주요 특징 또는 필수 특징을 식별하기 위한 것이 아니며 청구 대상의 범위를 제한하는 데 사용되는 것도 아니다.
도 1은 본 발명의 다양한 실시예가 수행될 수 있는 예시적인 동작 환경을 도시한다.
도 2는 잉크 프레즌스 특징을 가진 협업 가능 콘텐츠 생성 애플리케이션이 있는 예시적인 시스템을 도시한다.
도 3a-3b는 잉크 프레즌스 강화 잉킹을 제공하기 위한 예시적인 프로세스 흐름도를 도시한다.
도 4a 및 4b는 소정의 예시적인 구현예에 따른 잉크 프레즌스 특징에 의해 수행되는 예시적인 로직을 도시한다.
도 5a-5c는 협업 세션을 위한 잉크 프레즌스 특징의 예시적인 시나리오를 도시한다.
도 6은 협업 그룹의 구성원이 상이한 폼 팩터 디스플레이를 가진 잉크 프레즌스 특징의 예시적인 시나리오를 도시한다.
도 7은 본 명세서에 설명된 소정 실시예에서 사용될 수 있는 컴퓨팅 디바이스의 구성요소를 도시한다.
도 2는 잉크 프레즌스 특징을 가진 협업 가능 콘텐츠 생성 애플리케이션이 있는 예시적인 시스템을 도시한다.
도 3a-3b는 잉크 프레즌스 강화 잉킹을 제공하기 위한 예시적인 프로세스 흐름도를 도시한다.
도 4a 및 4b는 소정의 예시적인 구현예에 따른 잉크 프레즌스 특징에 의해 수행되는 예시적인 로직을 도시한다.
도 5a-5c는 협업 세션을 위한 잉크 프레즌스 특징의 예시적인 시나리오를 도시한다.
도 6은 협업 그룹의 구성원이 상이한 폼 팩터 디스플레이를 가진 잉크 프레즌스 특징의 예시적인 시나리오를 도시한다.
도 7은 본 명세서에 설명된 소정 실시예에서 사용될 수 있는 컴퓨팅 디바이스의 구성요소를 도시한다.
잉킹 환경의 실시간 협업에서 사용자를 식별하는 것이 설명된다. (잉크 스트로크가 캔버스 인터페이스로 입력되는) 잉킹 환경에서 협업 가능 콘텐츠 생성 애플리케이션을 위한 시각적 "잉크 프레즌스" 표시자 특징이 제공된다.
협업 공간에서 복수의 사용자를 구별하는 것은 어려울 수 있다. 일부 협업 잉킹 환경은 상이한 컬러 잉크를 이용하여 협업 워드 프로세싱 환경(예컨대, 마이크로소프트 워드의 추적-변경 기능 사용)에서 수행되는 것과 유사한 방식으로 상이한 사용자를 나타낸다. 그러나, 이는 복수의 사용자가 협업 공간에서 컬러링된 콘텐츠를 생성하는 능력을 제한할 수 있다. 또한, 캔버스 인터페이스는 캔버스의 어디에서나 효율적으로 자유 형식 잉킹을 허용하므로, 다른 사용자가 누군가의 기여에 놀라거나 간과할 수 있다. 잉크 프레즌스 특징은 누가 일부 콘텐츠를 잉킹했는지와 사용자가 드로잉 캔버스 상의 그 콘텐츠를 어디에 잉킹했는지에 대한 정보를 가진 "프레즌스 표시자" 형태의 시각적 표시자를 제공할 뿐만 아니라 캔버스 인터페이스의 어디에 프레즌스 표시자를 배치할지를 결정할 수 있다.
콘텐츠 생성 애플리케이션은 사용자가 정보를 구성할 수 있는 소프트웨어 애플리케이션이다. 본 명세서에서 사용되는 바와 같이, 콘텐츠 생성 애플리케이션은 사용자가 텍스트 및/또는 이미지 기반 콘텐츠를 디지털 형태로 생성할 수 있는 시각적 콘텐츠에 관한 것이다. "콘텐츠 생성 애플리케이션"이라는 용어는 일부 경우에 "콘텐츠 저작 애플리케이션", "생산성 애플리케이션" 또는 "콘텐츠 저작 도구"와 동의어일 수 있다. 설명된 시스템 및 기술이 콘텐츠가 저작되는 애플리케이션 및 도구에 중점을 두기 때문에, 이들 용어 간에 어떠한 구분도 의도되지 않으며 그러한 용어는 본 명세서에서 상호교환적으로 사용될 수 있다.
설명된 잉크 프레즌스 특징은 협업 및 "잉킹" 또는 "디지털 잉크"를 지원하는 콘텐츠 생성 애플리케이션에 적용할 수 있으며, 이는 스타일러스 또는 펜(또는 터치스크린이나 패드 또는 가능하게는 마우스 상의 사용자 손가락도)이 그 본래 형태로 필기를 캡처하는 데 사용되는 사용자 입력 모드를 지칭한다.
잉크 스트로크는 "마킹"의 좌표 및 속성을 나타내는 디지타이저가 캡처하는 속성 및 포인트 데이터 세트를 지칭한다. 이는 단일 펜으로 아래, 위, 또는 이동 시퀀스로 캡처되는 데이터 세트일 수 있다. 데이터 세트는 스트로크의 시작, 스트로크의 끝, 스트로크의 압력, 스트로크에 대한 (예를 들어, 펜의) 기울기(방위각으로도 지칭될 수 있음), 스트로크의 방향, 스트로크 경로상의 이산 좌표들 사이의 스트로크 시간 및 타이밍, 및 '잉크'의 컬러와 같은 파라미터를 포함할 수 있지만, 이에 한정되지는 않는다.
디지타이저는 일반적으로 아날로그 모션을 이산 좌표 값으로 변환하는 데 사용될 수 있는 그리드에 좌표 세트를 제공한다. 디지타이저는 손가락, 펜 또는 스타일러스(예를 들어, 사용자의 필기 또는 브러시 스트로크)의 움직임을 캡처할 수 있는 스크린 또는 표면 아래 또는 위에 놓일 수 있다. 디지타이저의 특징에 따라, 압력, 포인트 간 모션 속도 및 모션 방향과 같은 정보를 수집될 수 있다.
디지털 잉크를 사용하면, 위에서 언급한 파라미터(예컨대, 좌표, 압력 등)를 포함하는 잉크 스트로크의 데이터 구조(및 언어)로 인해, 실제 세계와 마찬가지로 잉킹된 단어 또는 잉킹된 그림의 모양을 쉽게 제어할 수 있다. 잉킹된 단어 및 잉킹된 그림은 잉크 스트로크의 형태를 유지함으로써 잉크 수정가능 포맷으로 되어있다.
협업 가능 콘텐츠 생성 애플리케이션에서 (및 협업이 아닌 시나리오에서도), 시맨틱 이벤트, 그리고 속성 및 포인트 데이터를 포함하는 연관된 메타데이터를 사용하여 잉크 스트로크가 정의될 수 있다. 시맨틱 이벤트는 시작, 계속, 종료, 취소, 삭제, 이동, 취합 등일 수 있다.
도 1은 본 발명의 다양한 실시예가 수행될 수 있는 예시적인 동작 환경을 도시하고, 도 2는 잉크 프레즌스 특징을 갖는 협업 가능 콘텐츠 생성 애플리케이션을 갖는 예시적인 시스템을 도시한다.
도 1을 참조하면, 예시적인 동작 환경(100)은 잉크 입력을 렌더링할 수 있는 렌더러(106)를 포함하는, 디지털 잉킹 능력을 갖는 콘텐츠 생성 애플리케이션(104)을 실행하는 사용자A용 컴퓨팅 디바이스(102)를 포함한다. 프레즌스 관리자(108)는 실시간 협업을 위한 라이브 잉크 프레즌스를 지원하기 위해 포함된다. 협업 서비스(112)를 실행하는 협업 서버(110)는 콘텐츠 생성 애플리케이션(104)에 대한 협업 기능을 지원하고 복수의 사용자들(예를 들어, 컴퓨팅 디바이스(114)의 사용자B, 컴퓨팅 디바이스(116)의 사용자C, 및 컴퓨팅 디바이스(118)의 사용자D) 간의 협업을 용이하게 할 수 있다. 협업 서비스(112)는 협업 세션의 사용자들 사이에 정보를 동기화할 수 있게 한다.
컴퓨팅 디바이스(102) (및 컴퓨팅 디바이스(114, 116, 118) 또는 협업 세션에 참여하는 데 사용되는 다른 컴퓨팅 디바이스)는 도 7과 관련하여 설명된 것과 같은 시스템(700)으로서 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스는 각각 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿, 개인 휴대 정보 단말기, 스마트폰, 스마트 텔레비전, 게임 콘솔, 착용형 디바이스 등과 같은 임의의 컴퓨팅 디바이스일 수 있지만, 이에 한정되지 않는다.
도 2를 참조하면, 사용자A(200)는 잉크 콘텐츠("잉크 입력" (202))를 콘텐츠 생성 애플리케이션(104)에 입력할 수 있다. 잉크 입력(202)은 잉크 스트로크(203)로서 디지타이저에 의해 처리될 수 있고 (예를 들어, 사용자의 잉크를 렌더링하는 객체(106A)를 사용하여) 렌더러(106)에 의해 그래픽 사용자 인터페이스(204)에 디스플레이하도록 렌더링될 수 있다. 협업 세션에서, 콘텐츠 생성 애플리케이션(104)은 협업 가능하고 네트워크(205)를 통해 협업 서비스(112)와 통신하여 잉크 스트로크(203)를 송신하고 다른 사용자로부터 잉크 정보(예를 들어, "협업(collab) 잉크"(206A))를 수신하는데 이는 그래픽 사용자 인터페이스(204)에서 디스플레이된 잉크(207)로서 (예를 들어, 객체(106A)를 사용하여) 렌더러(106)에 의해 렌더링될 수 있다. 잉크 정보는 적어도 잉크 스트로크를 위한 잉크 포인트 및 잉크 스트로크를 공유 잉킹 캔버스에 입력하는 사용자의 사용자 식별자를 포함할 수 있다. 잉크 포인트는 위치 및 기타 파라미터(예컨대, 압력, 컬러)를 나타내는 데이터 구조를 가질 수 있다. 설명된 구현예 중 일부에서, 잉크 포인트는 시맨틱 이벤트도 포함할 수 있다.
동작 환경에서의 구성요소(컴퓨팅 시스템, 스토리지 자원 등)은 네트워크(205)를 통해 서로 통신하거나 동작할 수 있다. 네트워크(205)는 셀룰러 네트워크(예를 들어, 무선 전화), 포인트-투-포인트 전화 접속 연결, 위성 네트워크, 인터넷, 근거리 통신 네트워크(LAN), 광역 통신 네트워크(WAN), Wi-Fi 네트워크, 애드혹 네트워크 또는 이들의 조합일 수 있지만, 이에 제한되지는 않는다. 이러한 네트워크는 허브, 브리지, 라우터, 스위치, 서버 및 게이트웨이와 같은 다양한 유형의 네트워크 요소를 연결하는 데 광범위하게 사용된다. 네트워크(205)는 인터넷과 같은 공공 네트워크 및/또는 안전한 기업 사설 네트워크와 같은 사설 네트워크를 포함하는 하나 이상의 연결된 네트워크(예를 들어, 다중 네트워크 환경)를 포함할 수 있다. 네트워크(205)에 대한 액세스는 당업자에게 이해될 하나 이상의 유선 또는 무선 액세스 네트워크를 통해 제공될 수 있다.
프레즌스 관리자(108)는 애플리케이션(104)에 의해 수신된 스트로크(예를 들어, 잉크 포인트, 시맨틱 이벤트, 파라미터)를 "듣고(listen)" 프레즌스 표시자(예를 들어, 프레즌스 아이콘)를 배치할 최적의 위치를 결정한다. 예를 들어, 프레즌스 관리자(108)는 잉크 정보(206A)로부터 시맨틱 이벤트(예컨대, 시작, 계속, 종료)에 대한 사용자 ID 및 잉크 정보(사용자ID, 협업 잉크(시맨틱 이벤트, 파라미터))의 입력(206)을 평가하고, 사용자 ID에 의해 식별된 사용자를 위한 프레즌스 영역을 결정하며, 잉크 프레즌스 표시자에 대한 위치를 제안한다. 이 제안된 위치(208)는 프레즌스 아이콘(209)을 표시하기 위해 렌더러(106)에 제공된다. 다양한 구현예에서, 프레즌스 아이콘(209)은 사용자의 프로필 사진, 이니셜, 이름, 랜덤으로 선택된 배경컬러 또는 이미지, 또는 사용자가 선택한 컬러 또는 이미지(또는 이들 항목의 임의의 조합)를 포함할 수 있다. 렌더러(106)는, 예를 들어, 프레즌스 표시자를 렌더링하는 객체(106B)를 사용하여 프레즌스 표시자를 렌더링하고 애니메이팅한다.
프레즌스 아이콘은 누군가가 스크린의 위치에 잉킹하고 있음을 나타내는 것을 지원한다. 프레즌스 아이콘은 "라이브" 잉크(공동 협력자로부터 실시간으로 나타나는 207로 표시될 수 있는 잉크)를 따라갈 필요는 없다. 오히려, 프레즌스 표시자에 대해 제안된 위치(208)는 렌더링되고 있는 잉킹(207)과 별도로 렌더링될 수 있다(예를 들어, 대응하는 프레즌스 아이콘(209)을 갖는 제안된 위치(208) 및 대응하는 표시된 잉크(207)를 갖는 협력 잉크(206) 참조). 프레즌스 아이콘은 잉크 전에, 잉크와 동시에, 또는 (덜 바람직하게는) 잉크가 시작된 후에 그래픽 사용자 인터페이스에 나타날 수 있다. 잉크 출현 로직은 예를 들어, 렌더러(106)를 위한 별개의 객체(106A 및 106B)를 가짐으로써 프레즌스 출현 로직과 분리된다. 잉킹 캔버스는 (타이핑을 위한 제한선과 반대로) 언제 어디서든 잉킹할 수 있게 하므로, 프레즌스 아이콘이, 반대쪽 끝에서 서로 교차하지만 응집력 사진을 형성하는 스트로크 상에 있을 수 있는 잉크 포인트를 따라가면 움직임이 산만해질 수 있다. 잉킹 로직과 프레즌스 출현 로직을 분리하면 프레즌스 아이콘이 캔버스에서 너무 많이 점핑하는 것을 방지할 수 있다.
프레즌스 관리자(108) 및/또는 렌더러(106) 및/또는 협업 서비스(112)와 같은 구성요소와의 통신은, 일부 경우에, 애플리케이션 프로그래밍 인터페이스(API)를 통해 수행될 수 있다. API는 다른 프로그램 코드 구성요소 또는 하드웨어 구성요소(이하 "API 호출 구성요소")가 하나 이상의 함수, 메소드, 프로시저, 데이터 구조, 클래스 및/또는 API 구현 구성요소가 제공하는 다른 서비스에 액세스하여 사용할 수 있도록 하는 프로그램 코드 구성요소 또는 하드웨어 구성요소(이하 "API 구현 구성요소")에 의해 구현된 인터페이스이다. API는 API 호출 구성요소와 API 구현 구성요소 사이에 전달되는 하나 이상의 파라미터를 정의할 수 있다. API는 일반적으로 둘 이상의 애플리케이션이 서로 통신할 수 있도록 하는 일련의 프로그래밍 명령어 및 표준이며, 인터넷을 통해 구현될 때에는, 일반적으로 HTTP(Hypertext Transfer Protocol) 요청 메시지 세트 및 REST(Representational State Transfer) 또는 SOAP(Simple Object Access Protocol) 아키텍처에 따른 응답 메시지를 위해 지정된 포맷 또는 구조로서 구현된다. 협업 서비스의 경우, 통신은 양방향이므로, HTTP/2, WebSocket 및 다른 양방향 프로토콜을 사용하여 구현될 수 있다.
도 3a 및 도 3b는 잉크 프레즌스 강화 잉크를 제공하기 위한 예시적인 프로세스 흐름도를 도시하고, 도 4a 및 도 4b는 소정의 예시적인 구현예에 따른 잉크 프레즌스 특징에 의해 수행되는 예시적인 로직을 도시하며, 도 5a-5c는 협업 세션을 위한 잉크 프레즌스 특징의 예시적인 시나리오를 도시한다. 도시된 시나리오에서, 제1 사용자(502)를 위한 콘텐츠 생성 애플리케이션(500)은 공유 캔버스(510)를 가진 상태에 있다. 도 5a에 도시되고 도 3a와 관련하여 설명된 바와 같이, 다수의 사용자의 참여는 선택적으로는 일반 프레즌스 표시자(520)를 사용하여 표현될 수 있다. 예를 들어, 도 3a를 참조하면, 프로세스(300)에서, 공유 잉킹 캔버스(예를 들어, 공유 캔버스(510))에 참여하는 임의의 사용자에 대한 사용자 식별자(들)는 제1 사용자의 컴퓨팅 디바이스에서 콘텐츠 생성 애플리케이션(500)을 위한 잉크 프레즌스 특징에 의해 수신될 수 있다(302). 잉크 프레즌스 특징은 수신된 사용자 식별자(들)와 관련된 사용자 정보를 획득할 수 있다(304). 이것은 예를 들어, 디렉토리 서비스와의 통신에 의해 달성될 수 있다. 일반 프레즌스 표시자(520)는 공유 캔버스(510)를 보는 사용자를 나타낼 수 있고, 반드시 공유 캔버스(510)에 잉킹하거나 또는 잉킹하게 될 사용자로 제한되는 것은 아니다.
예를 들어, 아이콘 형태의 일반 프레즌스 표시자(520)는 사이드바 또는 메뉴에서 렌더링될 수 있다(306). 공유 잉킹 캔버스(510)에 참여하는 각각의 사용자에 대한 사용자 정보 중 적어도 일부가 표시될 수 있다. 일반 아이콘(520)은 잉크 프레즌스 특징에 의해 생성되고 관리되는 것으로 설명되지만, 일반 아이콘(520)에 대한 프로세스(300)는 개별적으로 처리될 수 있다. 예를 들어, 프로세스(300)는 협업 가능 콘텐츠 생성 애플리케이션의 일부일 수 있다. 다른 경우에, 일반 아이콘(520)(및 프로세스(300))의 포함은 잉크 프레즌스 특징의 일부이지만, 프레즌스 표시자(208)의 위치를 결정하는 것과 동일한 특징에 의해 수행되지는 않는다.
도 5b 및 도 3b를 참조하면, 도시된 시나리오에서, 협업 참여자 중 하나는 자신의 사용자 디바이스(도시 생략)를 통해 공유 캔버스(510)에 콘텐츠를 잉킹해오고 있다. 콘텐츠 생성 애플리케이션(500)의 잉크 프레즌스 특징은 적어도 잉크 스트로크를 위한 잉크 포인트 및 잉크 스트로크를 공유 캔버스(410)에 입력하는 사용자의 사용자 식별자를 수신하고(310), 사용자를 위한 프레즌스 영역을 결정하며(312), 그 결정에 기초하여 렌더러에게 잉크 프레즌스 표시자의 위치를 제안할 수 있다(314). 렌더러는 프레즌스 관리자(예컨대, 108)로부터 정보를 수신한다. 정보는 아이콘을 어디에 배치할지 및 사용자를가 누구인지를 포함할 수 있다. 그런 다음 렌더러는 프레즌스 아이콘(522)이 나타나게 한다. 또한, 프레즌스 관리자(108)는 렌더러에게 프레즌스 아이콘의 위치를 업데이트하라고 통지할 뿐만 아니라 렌더러에게 이전 아이콘을 제거하라고 통지할 수 있다.
프레즌스 관리자(108) 또는 프레즌스 렌더러(예를 들어, 객체(106B))는 수신 된 사용자 식별자(들)와 연관된 사용자 정보를 획득할 수 있다. 이것은 예를 들어, 디렉토리 서비스와의 통신에 의해 달성될 수 있다. 예를 들어, (프레즌스 관리자가) 렌더러에게 제안된 위치(예를 들어, 도 2의 제안된 위치(208))에 프레즌스 아이콘을 그리라고 말할 때, 렌더러(예를 들어, 도 2의 객체(206B))는 사용자 정보가 이용 가능한지를 체크한다. 이용 가능하지 않으면, 렌더러는 랜덤으로 선택된 적절한 배경컬러로써 임시 아이콘을 제공하고, 렌더러는 사용자 정보(이름, 프로필 이미지 등)를 비동기적으로 가져오려고 시도한다. 일단 정보가 검색되면, 정보는 (동일한 세션에서) 임의의 미래의 사용자 정보 요청의 경우 렌더러에 의해 정보가 신속하게 검색될 수 있도록 캐시될 수 있다. 이 캐시는 사용자가 공유 캔버스 세션에서 사인 아웃할 때 소거될 수 있다. 일부 경우에, 전술한 일반 아이콘(520)에 대해서도 이 동일한 프로세스가 수행될 수 있다.
각각의 프레즌스 식별자는 자신의 고유한 식별자를 가질 수 있다. 예를 들어, 프레즌스 식별자 아이콘 자체에는 자신의 식별자 및 이와 연관된 사용자 ID가 있을 수 있다. 프레즌스 관리자는 제안된 위치와 함께 표시자 식별자 및 사용자 ID를 렌더러에 전달할 수 있다. 이 방법으로 스크린의 오른쪽 상단 모서리와 스크린의 왼쪽 하단 모서리에서 동시에 잉킹하고 있는 사용자는 서로 다른 두 개의 프레즌스 아이콘이 동일한 사용자에 대해 표시될 수 있다. 즉, 단일 사용자가 단일 페이지에 복수의 프레즌스 아이콘을 가질 수 있다.
프레즌스 영역은 특정 사용자가 입력하였던 잉크 스트로크 (및 다른 인접 콘텐츠)의 그룹화를 포함하는 디스플레이의 일부를 지칭한다. 프레즌스 영역은 콘텐츠의 근접성에 기초한다. 예를 들어, 프레즌스 영역은 수신된 잉크 포인트의 경계 박스에 기초할 수 있다. 경계 박스는 스트로크와 경계를 이루는 사각형 또는 기타 지정된 형상이다. 경계 박스는 무언가 주위의 가장 타이트한 정사각형으로 간주될 수 있다(그러나, 일부 구현예는 일부 구역을 추가할 수 있음). 서로 다른 두 명의 사용자가 동일한 구역에서 잉킹하고 있는 경우, 각 사용자마다 두 개의 프레즌스 영역이 있다. 일부 경우에, 새로운 잉크 포인트가 동일한 사용자에 속하는 두 개의 상이한 프레즌스 영역에 존재하는 경우가 발생하면, 프레즌스 관리자는 예를 들어, 각각의 프레즌스 영역에 추가되었던 마지막 스트로크(또는 이의 포인트)의 위치 또는 시간에 기초하여 최상의 프레즌스 영역을 선택할 수 있다. 정말로, 사용자를 위한 복수의 프레즌스 영역이 존재할 수 있으며 이들은 서로 겹치거나 가깝게 존재할 수 있다. 프레즌스 관리자는 그 프레즌스 영역 내에서 마지막 스트로크로부터의 거리에 기초하여, 잉크 분석의 결과에 기초하여, (프레즌스 영역이 스트로크를 소비한 마지막 프레즌스 영역이었던) 시간에 기초하여, 또는 이의 조합에 기초하여 (잉크 포인트를 할당하기 위해) 프레즌스 영역들 사이에서 결정할 수 있다.
잉크 포인트들 사이의 거리는 프레즌스 관리자가 콘텐츠가 동일한 프레즌스 영역에 있는지(따라서 아이콘이 제안된 위치에 머무를 수 있음) 여부를 판정하는 한 가지 방법이다. 그러나, 처리 대역폭이 잉크가 실시간으로 렌더링되는 데 걸리는 시간 내에 잉킹을 분석할 수 있을 만큼 충분히 큰 경우, 잉크 분석이 수행되어 잉크 스트로크의 그룹화를 결정할 수 있다. 예를 들어, 잉크 분석은 잉크 스트로크로부터 문자, 단어, 문장, 단락 및/또는 도면을 식별하는 데 사용될 수 있다. 잉크 분석은 잉크 스트로크의 특성(예를 들어, 무게, 방향, 압력, 컬러 등) 및 일부 경우에는 콘텍스트를 사용하여 스트로크의 그룹화를 결정할 수 있다.
프레즌스 관리자 코드(예를 들어, 프레즌스 관리자(108))는, 사용자의 컴퓨팅 디바이스에 의해 실행될 때, 사용자 식별자와 연관된 다른 잉크 스트로크가 공유 잉킹 캔버스에 있는지 여부를 판정하고, 새로운 잉크 스트로크(들)가 이전 잉크 스트로크 (및/또는 결정된 프레즌스 영역)로부터 사전결정된 거리 내에 있는지 여부를 판정하며, 마지막 스트로크가 입력된 이후의 시간을 결정할 수 있다. 단일 사용자로부터의 잉크 스트로크가 들어오면, (프레즌스 관리자의) 코드는 잉크 스트로크/포인트가 동일한 '프레즌스 영역'의 일부로 간주될 정도로 서로 가까이 있는지를 판정할 수 있다. 협업 가능 콘텐츠 생성 애플리케이션에 의해 수신된 잉크 스트로크는 적어도 시작 이벤트 및 종료 이벤트를 포함한다. 동일한 구역/영역에 도달하는 복수의 포인트가 있는 경우, 소정 실시예에서 사용자가 단어를 쓰는 동안 아이콘이 한 곳에 나타나야하기 때문에 프레즌스 아이콘은 움직이지 않는다. 프레즌스 관리자는 스트로크가 서로 매우 근접한지 (또는 잉크 분석을 사용하는지) 판정할 수 있으며, 아주 가까운 곳에 스트로크의 클러스터가 있기 때문에 하나의 프레즌스 아이콘만 필요하다.
일 구현예에서, 수신된 잉크 정보(예를 들어, 협업 잉크(206A))는 새로운 잉크 포인트가 x 또는 y 방향으로 기존의 프레즌스 영역으로부터 대략 소정 거리(예컨대, 1.5 인치)인 경우 특정 사용자에 대해 동일한 프레즌스 영역에 있는 것으로 간주된다. 사용자에 대한 기존의 프레즌스 영역이 없으면, 프레즌스 영역은 라이브 잉크 포인트의 경계 박스에 기초한다. 설명된 방안에 기초하여, (사용자 관점에서) 두 개의 '스크린의 상이한 구역'에서 동일한 사용자가 잉킹하는 경우, 각각의 프레즌스 영역에 대해 두 개의 프레즌스 아이콘이 나타나서 별개의 영역에 관심을 가지고 누가 잉킹하고 있는지를 나타낼 것이다.
예를 들어, 도 4a에 도시된 바와 같이, 잉크 정보(예를 들어, 도 2의 사용자ID 및 협업 잉크(206))가 (도 3b의 동작(310)에서와 같이) 수신될 때, 프레즌스 관리자(예를 들어, 108)는 임의의 다른 잉크 스트로크가 사용자 식별자와 연관되는지 여부를 판정할 수 있다(401). 그 사용자에 의해 이전에 수신된 다른 잉크 스트로크가 없다면, 프레즌스 관리자는 프레즌스 아이콘에 대해 제안된 위치가 잉크 스트로크의 제1 잉크 포인트로부터 결정된 거리 내에 있는 것으로 식별할 수 있다(402). 그 사용자에 의해 수신된 다른 잉크 스트로크가 있는 경우, 프레즌스 관리자는 잉크 포인트가 프레즌스 아이콘을 갖는 스트로크의 사전결정된 거리 내에 있는지 여부를 판정할 수 있다(403). 사전결정된 거리 내에 잉크 포인트가 있으면, 프레즌스 관리자는 렌더러를 위해 프레즌스 아이콘의 위치를 업데이트할 필요가 없다(404). 사전결정된 거리 내에 잉크 포인트가 없으면, 프레즌스 관리자는 프레즌스 아이콘에 대해 제안된 위치가 잉크 스트로크의 제1 잉크 포인트로부터 결정된 거리 내에 있는 것으로 식별할 수 있다(405).
동작(312 및 314)의 다른 예로서, 도 4b에 도시된 바와 같이, 잉크 스트로크가 수신될 때(예컨대, 동작(310) 이후), 프레즌스 관리자(예를 들어, 108)는 수신된 사용자 ID와 연관된 임의의 기존의 프레즌스 영역이 존재하는지 여부를 판정할 수 있다(410). 일부 경우에, 동작(410)은 프레즌스 표시자 식별자가 특정 사용자 식별자에 대해 저장되는지 여부를 식별함으로써 수행될 수 있다. 일부 경우에, 동작(410)은 사전결정된 시간 내에 수신되고 디스플레이되었던 특정 사용자 식별자와 연관된 임의의 잉크 포인트가 존재하는지 여부를 식별함으로써 수행될 수 있다. 일부 경우에, 이 단계들의 조합이 수행될 수 있다.
기존의 프레즌스 영역이 존재하지 않으면, 프레즌스 관리자는 새로운 프레즌스 영역을 생성한다(412). 새로운 프레즌스 영역을 생성하는 것(412)은 수신된 잉크 포인트의 경계 박스를 식별하는 것을 포함할 수 있다. 경계 박스는 새로운 프레즌스 영역을 정의할 수 있다. 제안된 위치를 결정한 후, 프레즌스 관리자는 렌더러와 통신하여 프레즌스 표시자를 제1 잉크 포인트로부터 소정의 사전결정된 거리에 배치한다(414). 기존의 프레즌스 영역이 존재하는 경우, 프레즌스 관리자는 새로운 잉크 포인트가 임의의 기존의 프레즌스 영역의 일부인지 여부를 판정한다(416). 몇몇 경우에, 동작(416)은 잉크 포인트가 기존의 프레즌스 영역 내의 하나 이상의 잉크 포인트들로부터 또는 그 기존의 프레즌스 영역에 대한 잉크 프레즌스 표시자로부터 사전결정된 거리 내에 있는지 여부를 판정하는 것을 포함한다. 몇몇 경우에, 동작(416)은 잉크 포인트가 이전 잉크 포인트와 관련되는지 여부를 판정하기 위해 잉크 분석을 수행하는 것을 포함하고, 잉크 분석은 문자, 단어, 문장, 단락 또는 도면 중 하나 이상을 식별한다. 몇몇 경우에, 동작(416)은 이들 프로세스의 조합이다.
새로운 잉크가 임의의 기존의 프레즌스 영역의 일부가 아닌 것으로 결정되면, 프레즌스 관리자는 새로운 프레즌스 영역을 생성하고(412), 제안된 위치를 결정한 후, 렌더러와 통신하여 제1 잉크 포인트로부터 소정의 사전결정된 거리에 프레즌스 표시자를 배치한다(414). 그러나, 새로운 잉크가 기존의 프레즌스 영역의 일부인 것으로 결정되면, 프레즌스 관리자는 잉크가 프레즌스 영역의 표시자로부터 사전결정된 거리 내에 있는지 여부를 판정할 수 있다(418). 프레즌스 관리자가 잉크가 프레즌스 영역의 표시자로부터 사전결정된 거리 내에 있지 않다고 판정하면, 프레즌스 관리자는 프레즌스 표시자의 위치를 업데이트(420)하고 렌더러에게 새로운 제안된 위치를 전달한다. 예를 들어, 프레즌스 표시자는 제안된 새로운 위치와 함께 해당 표시자 식별자 및 사용자 ID를 렌더러에 전달할 수 있다. 프레즌스 관리자가 잉크가 프레즌스 영역의 표시자로부터 사전결정된 거리 내에 있다고 판정하면, 프레즌스 표시자(422)의 위치를 변경하도록 업데이트되지 않는다.
도 5c를 참조하면, 도시된 시나리오에서, 수신된 잉크 스트로크에 기초하여, 프레즌스 아이콘(522)이 제1 위치(523)에서 제2 위치(524)로 이동하였다. 도 5c의 도면에 도시된 바와 같이, 누가 쓰고 있는지에 대한 추가 표시가 포함될 수 있다. 예를 들어, 일반 사용자의 프레즌스 아이콘(520A)은 적용된 시각적 표시자(예를 들어, 강조, 컬러 변화 등)를 가질 수 있고 또는 프레즌스 아이콘(520A) 상에 마커(526)가 디스플레이되어 공유 캔버스(510)를 보기만 할 뿐인 참여자와 반대로 능동 참여자가 누구인지를 용이하게 하도록 지원할 수 있다.
전술한 바와 같이, 프레즌스 관리자(예를 들어, 108)는 렌더러(예를 들어, 객체(106B))에 제안된 위치를 제공한다. 일부 구현예에서, 렌더러의 렌더링 코드는 디스플레이와 관련하여 아이콘 크기 또는 다른 요인들을 설명하기 위해 프레즌스 아이콘을 이동 시키거나 조정할 수 있다.
일 구현예에서, 프레즌스 표시자의 제안된 제1 프레즌스 위치는 프레즌스 영역에서 제1 포인트의 왼쪽 상단 모서리이다. 프레즌스 표시자의 제1 위치가 제1 포인트이므로 이후의 포인트 위치는 프레즌스 아이콘의 최적의 위치에 큰 영향을 주지 않는다. 일부 경우에, 특히 콘텍스트가 오른쪽에서 왼쪽으로 쓰인 언어가 사용됨을 나타내는 경우, 프레즌스 표시자의 제1 프레즌스 위치는 프레즌스 영역의 오른쪽 상단 모서리일 수 있다.
프레즌스 영역이 커지기 시작하면, 프레즌스 표시자에 대한 다른 위치가 선택될 수 있다. 특정 예로서, 특정 프레즌스 영역에 대한 새로운 잉크 포인트가 이전에 제안된 위치로부터 600 픽셀 떨어져 있으면, 프레즌스 표시자는 새로운 라이브 잉크 포인트에 더 가깝게 이동될 수 있다. 물론 다른 위치, 해상도 및 크기가 고려된다는 것을 이해해야 한다.
프레즌스 관리자는 또한 렌더러와 통신하여 조건이 제거 이벤트를 만족시킬 때 프레즌스 아이콘 (또는 다른 시각적 표시자)을 제거할 수 있다. 일부 구현예에서, 라이브 잉크 스트로크에 대해 종료 이벤트(예를 들어, "종료"의 시맨틱 이벤트)가 수신될 때, x 초(x는 초 단위를 나타내는 수치임) 동안 카운터가 시작될 수 있다. 카운터의 종료까지 그 프레즌스 영역에 새로운 포인트가 나타나지 않으면, 프레즌스 관리자는 조건이 제거 이벤트를 만족시키고 프레즌스 표시자가 제거되어야 한다고 결정할 수 있다. 프레즌스 관리자가 새로운 라이브 잉크 포인트를 수신하면, 카운터가 취소된다. 이것은 라이브 잉크 사용자가 그 영역에서 잉킹을 중지한 후 x 초 후에 프레즌스 표시자가 사라지는 것처럼 보이게 하는 것이다. 사전결정된 시간 동안 프레즌스 영역으로 들어오는 라이브 잉크 포인트가 없으면(종료 이벤트는 전혀 아님), 프레즌스 아이콘은 또한 스스로 제거할 수 있다(예를 들어, 프레즌스 관리자는 조건이 제거 이벤트를 만족시키는 것으로 결정할 수 있다). 일부 경우에, 프레즌스 관리자는 대응하는 표시자 식별자에 의해 식별된 프레즌스 아이콘을 제거하기 위한 커맨드과 함께 대응하는 표시자 식별자 및 사용자 ID를 렌더러에 전달함으로써 프레즌스 아이콘의 제거를 수행한다.
도 6은 협업 그룹의 구성원이 상이한 폼 팩터 디스플레이를 가진 잉크 프레즌스 특징의 예시적인 시나리오를 도시한다. 도 6을 참조하면, 제1 사용자(602A)는 하나의 콘텐츠 생성 애플리케이션(600A)을 사용하여 공유 캔버스 상에서 협업할 수 있고, 제2 사용자(604A)는 더 큰 뷰잉 캔버스를 갖는 다른 콘텐츠 생성 애플리케이션(600B)을 사용하여 공유 캔버스 상에서 협업할 수 있다. 제1 사용자, 제2 사용자 및 제3 사용자는 공유 캔버스에 그림으로 도시된다. 제3 사용자에 대한 프레즌스 아이콘(606)은 제1 사용자(602A)에 대한 콘텐츠 생성 애플리케이션(600A)의 뷰포트 및 제2 사용자(604)에 대한 콘텐츠 생성 애플리케이션(600B)의 뷰포트에 도시된다. 제2 사용자는 제1 사용자(602A)가 캔버스에 쓰고 있는 영역에 의해 제1 사용자(602A)의 프레즌스 아이콘(602)을 볼 수 있다. 그러나, 뷰포트의 크기의 차이로 인해, 제1 사용자는 제2 사용자의 기록(예를 들어, 콘텐츠(620))을 볼 수 없다. 콘텐츠 생성 애플리케이션(600A)의 렌더러는 제2 사용자(604A)의 프레즌스 아이콘(604)을 갖는 오프 스크린 표시자(610)에 의해 오프 스크린 위치를 나타낼 수 있다.
오프 스크린 표시자(610)는 누군가가 오프 스크린을 쓰고 있음을 나타내기 위해 스크린의 가장자리에 올 수 있다. 일부 경우에, 프레즌스 아이콘은 누군가가 지금 잉킹하고 있다고 표현하려고 나타날 수 있으며 사용자로 하여금 그 아이콘을 클릭하여 잉킹하고 있었던 곳으로 가게 할 수 있는 기능을 가질 수 있다. 프레즌스 관리자는 위치 정보를 제공하여 쓰기 위치로 이동하기 위한 동작을 용이하게 할 수 있다. 예를 들어, 프레즌스 아이콘의 선택(예를 들어, 탭)의 표시를 수신하는 것에 응답하여, 사용자는 라이브 잉크로 네비게이팅하는 옵션을 구비할 수 있다. 렌더러는, 일부 경우에, 보기 가능 영역 외부에 무언가가 기록되고 있음을 전달하기 위해 보기 가능 영역 내에 텍스트 또는 그래픽 정보를 제공할 수 있다. 이 메시지의 위치는 보기 가능 영역의 경계에 및/또는 일반 사용자 프레즌스 표시자(예를 들어, 도 5a의 520) 내에 또는 주변에 있을 수 있다.
도 7은 본 명세서에 설명된 소정 실시예에서 사용될 수 있는 컴퓨팅 디바이스의 구성요소를 도시한다.
도 7을 참조하면, 시스템(700)은 개인용 컴퓨터, 판독기, 모바일 디바이스, 개인 휴대 정보 단말기, 착용형 컴퓨터, 스마트폰, 태블릿, 랩톱 컴퓨터(노트북 또는 넷북), 게임 디바이스 또는 콘솔, 엔터테인먼트 디바이스, 하이브리드 컴퓨터, 데스크톱 컴퓨터, 스마트 텔레비전, 또는 전자 화이트보드 또는 대형 폼 팩터 터치스크린과 같은 컴퓨팅 디바이스를 나타낼 수 있지만, 이에 제한되지 않는다. 따라서, 시스템(700)과 관련하여 설명된 더 많거나 적은 요소들이 특정 컴퓨팅 디바이스를 구현하기 위해 통합될 수 있다.
시스템(700)은 저장 시스템(715)에 저장된 소프트웨어(710)의 명령어에 따라 데이터를 변환 또는 조작하기 위한 하나 이상의 프로세서의 처리 시스템(705)을 포함한다.
처리 시스템(705)의 프로세서의 예는 범용 중앙 처리 장치, 그래픽 처리 장치, 애플리케이션 특정 프로세서 및 로직 디바이스뿐만 아니라 임의의 다른 유형의 처리 디바이스, 이들의 조합 또는 변형을 포함한다. 처리 시스템(705)은 네트워크 연결 구성요소, 센서, 비디오 디스플레이 구성요소와 같은 하나 이상의 다른 구성요소와 함께 SoC(system-on-chip)이거나 그 안에 포함될 수 있다.
소프트웨어(710)는 프로그램 명령어로 구현될 수 있고, 다른 기능들 중에서, 일반적으로 시스템(700) 또는 특히 처리 시스템(705)에 의해 실행될 때, 시스템(700) 또는 처리 시스템(705)의 하나 이상의 프로세서에게 본 명세서에 설명된 바와 같이 동작하라고 지시할 수 있다.
소프트웨어(710)는 운영 체제(718) 및 본 명세서에 설명된 바와 같은 실시간 협업을 위한 잉크 프레즌스 특징을 포함하는 콘텐츠 생성 애플리케이션(720)과 같은 애플리케이션 프로그램을 포함할 수 있다. 디바이스 운영 체제는 일반적으로 컴퓨팅 디바이스에서 다양한 구성요소의 기능을 제어하고 조정하여 애플리케이션이 네트워킹 인터페이스와 같은 하위 레벨의 인터페이스와 더 쉽게 접속하는 방법을 제공한다. 운영 체제는 기본적으로 컴퓨팅 디바이스 및 네이티브 디바이스 운영 체제(OS) 위에서 실행되는 소프트웨어 가상화 계층 모두에서 구현될 수 있다. 도 7에는 도시되지 않지만 가상화된 OS 계층은 운영 체제 공간 내에서 각각 OS, 애플리케이션 프로그램 및 API를 포함하는 추가의 중첩 그룹으로 간주할 수 있다.
저장 시스템(715)은 처리 시스템(705)에 의해 판독가능하고, 콘텐츠 생성 애플리케이션(720)을 포함하는 소프트웨어(710)를 저장할 수 있는 임의의 컴퓨터 판독가능 저장 매체를 포함할 수 있다.
저장 시스템(715)은 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성 메모리, 제거가능 및 제거불가 매체를 포함할 수 있다. 저장 시스템(715)의 저장 매체의 예는 랜덤 액세스 메모리, 판독 전용 메모리, 자기 디스크, 광디스크, CD, DVD, 플래시 메모리, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장 디바이스, 또는 임의의 다른 적합한 저장 매체를 포함한다. 어떠한 경우에도 저장 매체는 일시적 전파 신호가 아니다.
저장 시스템(715)은 단일 저장 디바이스로서 구현될 수 있지만, 서로에 대해 같은 장소에 배치되거나 분산된 복수의 저장 디바이스 또는 서브 시스템에 걸쳐 구현될 수도 있다. 저장 시스템(715)은 처리 시스템(705)과 통신할 수 있는 제어기와 같은 추가 요소를 포함할 수 있다.
시스템은 사용자와 시스템(700) 사이의 통신을 가능하게 하는 입출력(I/O) 디바이스 및 구성요소를 포함할 수 있는 사용자 인터페이스 시스템(730)을 더 포함할 수 있다. 사용자 인터페이스 시스템(730)은 마우스, 트랙 패드, 키보드, 사용자로부터 터치 제스처를 수신하는 터치 디바이스, 스타일러스 또는 스크린과 연관된 디지타이저, 비터치 제스처 및 사용자에 의한 다른 모션을 검출하는 모션 입력 디바이스, 음성을 검출하는 마이크로폰, 및 다른 유형의 입력 디바이스와 사용자 입력을 수신할 수 있는 이와 연관된 처리 요소와 같은 입력 디바이스를 포함할 수 있다.
사용자 인터페이스 시스템(730)은 디스플레이 스크린(들), 스피커, 촉각 피드백을 위한 햅틱 디바이스, 및 다른 유형의 출력 디바이스와 같은 출력 디바이스도 포함할 수 있다. 소정 경우에, 입력 및 출력 디바이스는 이미지를 그리고 사용자로부터 터치 제스처 및 잉킹 입력을 수신하는 터치스크린 디스플레이와 같은 단일 디바이스 내에 결합될 수 있다. (디스플레이와 연관되거나 그 일부를 형성할 수 있는) 터치스크린은 터치의 프레즌스 및 위치를 검출하도록 구성된 입력 디바이스이다. 터치스크린은 저항성 터치스크린, 용량성 터치스크린, 표면 탄성파 터치스크린, 적외선 터치스크린, 광학 이미징 터치스크린, 분산 신호 터치스크린, 음향 펄스 인식 터치스크린일 수 있거나, 임의의 다른 터치스크린 기술을 이용할 수 있다. 일부 실시예에서, 터치스크린은 사용자로 하여금 하나 이상의 터치를 사용하여 디스플레이 상에 제시된 객체 또는 다른 정보와 상호작용하게 할 수 있는 투명 층으로서 디스플레이 상단에 통합된다.
시각적 출력은 그래픽 사용자 인터페이스 요소, 텍스트, 이미지, 비디오, 통지, 가상 버튼, 가상 키보드, 또는 시각적 형태로 그려질 수 있는 임의의 다른 유형의 정보를 나타내는 무수한 방식으로 디스플레이(도시 생략)에 도시될 수 있다.
사용자 인터페이스 시스템(730)은 다양한 사용자 입력 및 출력 디바이스의 지원시에 OS에 의해 실행되는 사용자 인터페이스 소프트웨어 및 관련 소프트웨어(예를 들어, 그래픽 칩 및 입력 디바이스용)도 포함할 수 있다. 관련 소프트웨어는 정의된 메커니즘을 사용하여 애플리케이션 프로그램으로 사용자 인터페이스 하드웨어 이벤트를 통신할 때 OS를 지원한다. 사용자 인터페이스 소프트웨어를 포함하는 사용자 인터페이스 시스템(730)은 그래픽 사용자 인터페이스, 자연적인 사용자 인터페이스 또는 임의의 다른 유형의 사용자 인터페이스를 지원할 수 있다. 예를 들어, 본 명세서에 설명된 콘텐츠 생성 애플리케이션(720)을 위한 잉크 프레즌스와의 캔버스 인터페이스는 사용자 인터페이스 시스템(730)을 통해 제시될 수 있다.
네트워크 인터페이스(740)는 하나 이상의 통신 네트워크(도시 생략)를 통해 다른 컴퓨팅 시스템과의 통신을 허용하는 통신 연결부 및 디바이스를 포함할 수 있다. 함께 시스템 간 통신을 가능하게 하는 연결부 및 디바이스의 예는 네트워크 인터페이스 카드, 안테나, 전력 증폭기, RF 회로, 송수신기 및 다른 통신 회로를 포함할 수 있다. 연결부 및 디바이스는 다른 컴퓨팅 시스템 또는 시스템의 네트워크와 통신을 교환하기 위해 (금속, 유리, 공기 또는 임의의 다른 적합한 통신 매체와 같은) 통신 매체를 통해 통신할 수 있다. 통신 인터페이스와의 전송은 OS에 의해 제어되는데, 필요한 경우 통신 이벤트를 애플리케이션에 알린다.
콘텐츠 생성 애플리케이션 및/또는 프레즌스 관리자 및/또는 렌더러와 관련하여 본 명세서에 설명된 소정 기술은 하나 이상의 하드웨어 프로세서에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소 및 데이터 구조를 포함한다.
이와 달리 또는 추가적으로, 본 명세서에 설명된 기능, 방법 및 프로세스는 적어도 부분적으로 하나 이상의 하드웨어 모듈(또는 로직 구성요소)에 의해 구현될 수 있다. 예를 들어, 하드웨어 모듈은 ASIC(application-specific integrated circuit) 칩, FPGA(field programmable gate array), SoC(system-on-a-chip) 시스템, CPLD(complex programmable logic devices) 및 현재 알려져 있거나 나중에 개발될 다른 프로그램가능 로직 디바이스를 포함할 수 있지만, 이에 제한되지 않는다. 하드웨어 모듈이 활성화되면, 하드웨어 모듈은 하드웨어 모듈에 포함된 기능, 방법 및 프로세스를 수행한다.
실시예는 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체와 같은 제조물로서 구현될 수 있다. 본 명세서에 설명된 소정 방법 및 프로세스는 하나 이상의 저장 매체에 저장될 수 있는 소프트웨어, 코드 및/또는 데이터로서 구현될 수 있다. 본 발명의 소정 실시예는 명령어 세트가 실행될 때 시스템으로 하여금 앞에서 논의된 방법 중 임의의 하나 이상을 수행하게 하는 컴퓨터 시스템 형태의 머신의 사용을 고려한다. 소정 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능 (및 처리 시스템에 의해 실행 가능)하고 컴퓨터 프로세스를 실행하는 명령어의 컴퓨터 프로그램을 인코딩하는 하나 이상의 컴퓨터 판독가능 저장 매체일 수 있다. 본 명세서에서 사용되는 "저장 매체", "컴퓨터 판독가능 저장 매체들" 또는 "컴퓨터 판독가능 저장 매체"라는 용어는 어떠한 경우에도 일시적 전파 신호로 구성되지 않는다는 것을 이해해야 한다.
청구대상은 구조적 특징 및/또는 동작에 특정한 언어로 설명되었지만, 첨부된 청구범위에 정의된 청구대상은 달리 정의되거나 거부되지 않는 한 전술한 특정 특징 또는 동작으로 반드시 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 전술한 특정 특징 및 동작은 청구범위를 구현하는 예로서 개시되며, 다른 균등한 특징 및 동작은 청구범위의 범주 내에 있는 것으로 의도된다.
Claims (15)
- 컴퓨팅 디바이스에서, 적어도 잉크 스트로크를 위한 잉크 포인트 및 상기 잉크 스트로크를 공유 잉킹 캔버스(shared inking canvas)에 입력하는 사용자의 사용자 식별자를 수신하는 단계와,
상기 컴퓨팅 디바이스에서, 상기 사용자에 대한 상기 공유 잉킹 캔버스 상의 프레즌스 영역(presence region)을 결정하는 단계와,
상기 컴퓨팅 디바이스에서, 상기 잉크 포인트 및 상기 프레즌스 영역에 기초하여 잉크 프레즌스 표시자에 대한 제안된 위치를 결정하는 단계와,
상기 컴퓨팅 디바이스에서, 상기 공유 잉킹 캔버스를 표시하는 그래픽 사용자 인터페이스에서 상기 잉크 프레즌스 표시자를 렌더링하는 단계를 포함하는
방법.
- 제1항에 있어서,
조건이 제거 이벤트를 만족시킨다는 결정에 응답하여 상기 그래픽 사용자 인터페이스로부터 상기 잉크 프레즌스 표시자를 제거하는 단계를 더 포함하는
방법.
- 제2항에 있어서,
상기 잉크 스트로크에 대한 종료 이벤트를 수신하는 것에 응답하여 카운터를 시작하는 단계를 더 포함하되,
상기 조건은 새로운 잉크 포인트가 수신되기 전에 상기 카운터가 사전결정된 시간에 도달할 때 상기 제거 이벤트를 만족시키는
방법.
- 제2항에 있어서,
상기 조건은 사전결정된 시간 내에 상기 프레즌스 영역에 대해 새로운 잉크 포인트가 수신되지 않을 때 상기 제거 이벤트를 만족시키는
방법.
- 제1항에 있어서,
상기 사용자에 대한 상기 공유 잉킹 캔버스 상의 상기 프레즌스 영역을 결정하는 단계는,
상기 컴퓨팅 디바이스에서, 상기 사용자 식별자와 연관된 임의의 기존의 프레즌스 영역이 존재하는지 여부를 판정하는 단계와,
기존의 프레즌스 영역이 존재하지 않는 것으로 판정되면, 새로운 프레즌스 영역을 생성하는 단계와,
기존의 프레즌스 영역이 존재하는 것으로 판정되면, 상기 컴퓨팅 디바이스에서, 상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있는지 여부를 판정하는 단계와,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있다고 판정되면, 상기 프레즌스 영역을 상기 기존의 프레즌스 영역으로서 식별하는 단계와,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 없는 것으로 판정되면, 상기 새로운 프레즌스 영역을 생성하는 단계
를 포함하는
방법.
- 제5항에 있어서,
상기 잉크 프레즌스 표시자에 대한 제안된 위치의 결정을 수행하는 단계는,
기존의 프레즌스 영역이 존재하지 않는 것으로 판정되면, 상기 새로운 프레즌스 영역의 상기 잉크 포인트로부터 소정의 사전결정된 거리에 상기 프레즌스 표시자를 더 배치하는 단계와,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있다고 판정되면, 상기 잉크 포인트가 상기 기존의 프레즌스 영역에 대한 상기 프레즌스 표시자로부터 사전결정된 거리 내에 있는지 여부를 판정하는 단계와,
상기 잉크 포인트가 상기 사전결정된 거리 내에 있다고 판정되면, 상기 잉크 프레즌스 표시자에 대한 제안된 위치를 업데이트하지 않는 단계와,
상기 잉크 포인트가 상기 사전결정된 거리 내에 있지 않다고 판정되면, 상기 잉크 프레즌스 표시자에 대한 제안된 위치를 상기 기존의 프레즌스 영역의 상기 잉크 포인트로부터 상기 소정의 사전결정된 거리가 되도록 업데이트하는 단계와,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 없는 것으로 판정되면, 상기 새로운 프레즌스 영역의 상기 잉크 포인트로부터 상기 소정의 사전결정된 거리에 상기 프레즌스 표시자를 더 배치하는 단계
를 포함하는
방법.
- 제1항에 있어서,
상기 잉크 포인트 및 상기 프레즌스 영역에 기초하여 상기 잉크 프레즌스 표시자에 대한 제안된 위치를 결정하는 단계는,
상기 잉크 프레즌스 표시자에 대한 제안된 위치를, 상기 프레즌스 영역에 대한 제1 수신 잉크 포인트로부터 소정의 사전결정된 거리에 있는 위치로서 제공하는 단계와,
상기 잉크 포인트가 상기 프레즌스 영역에 대한 상기 제1 수신 잉크 포인트 또는 상기 잉크 프레즌스 표시자의 사전결정된 거리 내에 있지 않을 때 상기 위치를 업데이트하는 단계를 포함하는
방법.
- 제1항에 있어서,
상기 잉크 프레즌스 표시자는 프레즌스 아이콘을 포함하고,
상기 프레즌스 아이콘은 사용자의 프로필 사진, 이니셜, 이름, 랜덤으로 선택된 배경 컬러 또는 이미지, 사용자가 선택한 컬러 또는 이미지, 또는 이들의 조합을 포함하는
방법.
- 제8항에 있어서,
디렉토리 서비스로부터 상기 프레즌스 아이콘에 대한 사용자 정보를 획득하는 단계를 더 포함하는
방법.
- 콘텐츠 생성 애플리케이션의 잉크 프레즌스 특징이 저장된 컴퓨터 판독가능 저장 매체로서,
상기 콘텐츠 생성 애플리케이션의 잉크 프레즌스 특징은,
컴퓨팅 디바이스에 의해 실행될 때, 잉크 포인트가 그려지고 있는 프레즌스 영역을 정의하고 들어오는 잉크 포인트가 동일한 프레즌스 영역의 일부인지 아니면 다른 프레즌스 영역인지를 판정하는 프레즌스 관리자 코드와,
렌더러 코드를 포함하되,
상기 프레즌스 관리자 코드는, 상기 컴퓨팅 디바이스에 의해 실행될 때, 각각의 프레즌스 영역에 대한 프레즌스 표시자의 위치를 결정하고, 상기 렌더러 코드가 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 프레즌스 표시자가 상기 콘텐츠 생성 애플리케이션의 그래픽 사용자 인터페이스를 통해 사용자에게 표시되도록 상기 콘텐츠 생성 애플리케이션의 렌더러에 상기 위치 정보를 제공하는
컴퓨터 판독가능 저장 매체.
- 제10항에 있어서,
상기 프레즌스 관리자 코드는, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스에게 적어도,
상기 컴퓨팅 디바이스에서, 상기 사용자 식별자와 연관된 임의의 기존의 프레즌스 영역이 존재하는지 여부를 판정하고,
기존의 프레즌스 영역이 존재하지 않는 것으로 판정되면, 새로운 프레즌스 영역을 생성하고 상기 새로운 프레즌스 영역에 대한 상기 프레즌스 표시자의 위치를 결정하며,
기존의 프레즌스 영역이 존재하는 것으로 판정되면, 상기 컴퓨팅 디바이스에서, 상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있는지 여부를 판정하고,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있다고 판정되면, 상기 기존의 프레즌스 영역에 대한 상기 프레즌스 표시자의 위치를 결정하며,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 없는 것으로 판정되면, 상기 새로운 프레즌스 영역을 생성하고 상기 새로운 프레즌스 영역에 대한 상기 프레즌스 표시자의 위치를 결정
하라고 지시하는 명령어를 포함하는
컴퓨터 판독가능 저장 매체.
- 제11항에 있어서,
상기 프레즌스 관리자 코드는, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스에게 또한,
상기 잉크 포인트로부터 소정의 사전결정된 거리에 상기 프레즌스 표시자를 배치함으로써 상기 새로운 프레즌스 영역에 대한 상기 프레즌스 표시자의 위치를 결정하고,
상기 잉크 포인트가 상기 기존의 프레즌스 영역에 대한 상기 프레즌스 표시자로부터 사전결정된 거리 내에 있는지 여부를 판정함으로써 상기 기존의 프레즌스 영역에 대한 상기 프레즌스 표시자의 위치를 결정하며,
상기 잉크 포인트가 상기 사전결정된 거리 내에 있다고 판정되면, 상기 잉크 프레즌스 표시자에 대한 제안된 위치를 업데이트하지 않고,
상기 잉크 포인트가 상기 사전결정된 거리 내에 있지 않다고 판정되면, 상기 잉크 프레즌스 표시자에 대한 제안된 위치를 상기 기존의 프레즌스 영역의 상기 잉크 포인트로부터 상기 소정의 사전결정된 거리가 되도록 업데이트
하라고 지시하는 명령어를 더 포함하는
컴퓨터 판독가능 저장 매체.
- 시스템으로서,
하나 이상의 하드웨어 프로세서와,
하나 이상의 저장 매체와,
통신 인터페이스와,
디스플레이와,
상기 하나 이상의 저장 매체 중 적어도 하나에 저장된 협업 가능 콘텐츠 생성 애플리케이션을 포함하되,
상기 협업 가능 콘텐츠 생성 애플리케이션은, 상기 하나 이상의 하드웨어 프로세서에 의해 실행될 때 상기 하나 이상의 하드웨어 프로세서에게 적어도,
상기 통신 인터페이스를 통해, 적어도 잉크 스트로크를 위한 잉크 포인트 및 상기 잉크 스트로크를 공유 잉킹 캔버스에 입력하는 사용자의 사용자 식별자를 수신하고,
상기 사용자에 대한 상기 공유 잉킹 캔버스 상의 프레즌스 영역을 결정하며,
상기 잉크 포인트 및 상기 프레즌스 영역에 기초하여 잉크 프레즌스 표시자에 대한 제안된 위치를 결정하고,
상기 공유 잉킹 캔버스를 표시하는 그래픽 사용자 인터페이스에서 상기 잉크 프레즌스 표시자를 상기 디스플레이에 렌더링
하라고 지시하는
시스템.
- 제13항에 있어서,
상기 하나 이상의 하드웨어 프로세서에게 상기 공유 잉킹 캔버스 상의 프레즌스 영역을 결정하라고 지시하는 상기 협업 가능 콘텐츠 생성 애플리케이션은 상기 하나 이상의 하드웨어 프로세서에게 적어도,
상기 사용자 식별자와 연관된 임의의 기존의 프레즌스 영역이 존재하는지 여부를 판정하고,
기존의 프레즌스 영역이 존재하지 않는 것으로 판정되면, 새로운 프레즌스 영역을 생성하며,
기존의 프레즌스 영역이 존재하는 것으로 판정되면, 상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있는지 여부를 판정하고,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 있다고 판정되면, 상기 프레즌스 영역을 상기 기존의 프레즌스 영역으로서 식별하며,
상기 잉크 포인트가 상기 기존의 프레즌스 영역과 관련이 없는 것으로 판정되면, 상기 새로운 프레즌스 영역을 생성
하라고 지시하는
시스템.
- 제13항에 있어서,
상기 하나 이상의 하드웨어 프로세서에게 상기 잉크 프레즌스 표시자에 대한 제안된 위치를 결정하라고 지시하는 상기 협업 가능 콘텐츠 생성 애플리케이션은 상기 하나 이상의 하드웨어 프로세서에게 적어도,
상기 잉크 프레즌스 표시자에 대한 제안된 위치를, 상기 프레즌스 영역에 대한 제1 수신 잉크 포인트로부터 소정의 사전결정된 거리에 있는 위치로서 제공하고,
상기 잉크 포인트가 상기 프레즌스 영역에 대한 상기 제1 수신 잉크 포인트 또는 상기 잉크 프레즌스 표시자의 사전결정된 거리 내에 있지 않을 때 상기 위치를 업데이트
하라고 지시하는
시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762485936P | 2017-04-15 | 2017-04-15 | |
US62/485,936 | 2017-04-15 | ||
US15/639,490 US10469274B2 (en) | 2017-04-15 | 2017-06-30 | Live ink presence for real-time collaboration |
US15/639,490 | 2017-06-30 | ||
PCT/US2018/026158 WO2018191092A1 (en) | 2017-04-15 | 2018-04-05 | Live ink presence for real-time collaboration |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190138798A true KR20190138798A (ko) | 2019-12-16 |
KR102702653B1 KR102702653B1 (ko) | 2024-09-03 |
Family
ID=63791035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197030147A KR102702653B1 (ko) | 2017-04-15 | 2018-04-05 | 실시간 협업을 위한 라이브 잉크 프레즌스 |
Country Status (18)
Country | Link |
---|---|
US (2) | US10469274B2 (ko) |
EP (1) | EP3610386A1 (ko) |
JP (1) | JP7140773B2 (ko) |
KR (1) | KR102702653B1 (ko) |
CN (1) | CN110506264A (ko) |
AU (1) | AU2018251560B2 (ko) |
BR (1) | BR112019019153A2 (ko) |
CA (1) | CA3056683A1 (ko) |
CL (1) | CL2019002827A1 (ko) |
CO (1) | CO2019010950A2 (ko) |
IL (1) | IL269869B2 (ko) |
MX (1) | MX2019012313A (ko) |
NZ (1) | NZ756875A (ko) |
PH (1) | PH12019550192A1 (ko) |
RU (1) | RU2768526C2 (ko) |
SG (1) | SG11201909171WA (ko) |
WO (1) | WO2018191092A1 (ko) |
ZA (1) | ZA201905872B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023106606A1 (ko) * | 2021-12-06 | 2023-06-15 | 삼성전자주식회사 | 전자 장치들 간의 공동 편집을 지원하는 클라우드 서버 및 그 동작 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10345957B2 (en) * | 2017-06-21 | 2019-07-09 | Microsoft Technology Licensing, Llc | Proximity selector |
US10867124B2 (en) * | 2018-03-26 | 2020-12-15 | Apple Inc. | Manual annotations using clustering, anchoring, and transformation |
WO2020235538A1 (ja) * | 2019-05-20 | 2020-11-26 | 株式会社ワコム | システム及びストロークデータの処理方法 |
JP2021026562A (ja) | 2019-08-06 | 2021-02-22 | シャープ株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048217A (ja) * | 2005-08-12 | 2007-02-22 | Ricoh Co Ltd | 手書き情報入力装置 |
JP2010026701A (ja) * | 2008-07-17 | 2010-02-04 | Hitachi Software Eng Co Ltd | 相互情報共有システム |
JP2010507836A (ja) * | 2006-10-24 | 2010-03-11 | ポリビジョン コーポレーション | 移動式プレゼンテーションシステムおよび移動式プレゼンテーションシステムにおいて使用する方法 |
US20150338938A1 (en) * | 2014-05-23 | 2015-11-26 | Microsoft Technology Licensing, Llc | Ink Modes |
KR20160086359A (ko) * | 2013-11-19 | 2016-07-19 | 가부시키가이샤 와코무 | 잉크 데이터의 생성, 잉크 데이터의 렌더링, 잉크 데이터의 조작, 및 잉크 데이터의 전달을 위한 방법 및 시스템 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7503493B2 (en) * | 1999-10-25 | 2009-03-17 | Silverbrook Research Pty Ltd | Method and system for digitizing freehand graphics with user-selected properties |
US7298903B2 (en) | 2001-06-28 | 2007-11-20 | Microsoft Corporation | Method and system for separating text and drawings in digital ink |
US6661409B2 (en) * | 2001-08-22 | 2003-12-09 | Motorola, Inc. | Automatically scrolling handwritten input user interface for personal digital assistants and the like |
US7158675B2 (en) | 2002-05-14 | 2007-01-02 | Microsoft Corporation | Interfacing with ink |
US7567239B2 (en) * | 2003-06-26 | 2009-07-28 | Motorola, Inc. | Method and system for message and note composition on small screen devices |
GB2413678B (en) | 2004-04-28 | 2008-04-23 | Hewlett Packard Development Co | Digital pen and paper |
US20060031755A1 (en) * | 2004-06-24 | 2006-02-09 | Avaya Technology Corp. | Sharing inking during multi-modal communication |
US7412389B2 (en) | 2005-03-02 | 2008-08-12 | Yang George L | Document animation system |
US7913162B2 (en) | 2005-12-20 | 2011-03-22 | Pitney Bowes Inc. | System and method for collaborative annotation using a digital pen |
US7996776B2 (en) | 2006-02-27 | 2011-08-09 | Microsoft Corporation | Shared telepointer |
US7698660B2 (en) * | 2006-11-13 | 2010-04-13 | Microsoft Corporation | Shared space for communicating information |
US8702505B2 (en) | 2007-03-30 | 2014-04-22 | Uranus International Limited | Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication |
US8438489B2 (en) | 2008-01-24 | 2013-05-07 | Paulo Barthelmess | System and method for document markup |
JP4385169B1 (ja) * | 2008-11-25 | 2009-12-16 | 健治 吉田 | 手書き入出力システム、手書き入力シート、情報入力システム、情報入力補助シート |
US9471192B2 (en) | 2011-05-23 | 2016-10-18 | Haworth, Inc. | Region dynamics for digital whiteboard |
EP2579588B1 (en) * | 2011-10-04 | 2019-12-04 | Ricoh Company, Ltd. | Collaborative meeting systems that enable parallel multi-user input to mark up screens |
US9479548B2 (en) * | 2012-05-23 | 2016-10-25 | Haworth, Inc. | Collaboration system with whiteboard access to global collaboration data |
JP2015533003A (ja) | 2012-10-26 | 2015-11-16 | ライブスクライブ インコーポレイテッド | スマートペンシステムとの複数ユーザコラボレーション |
US9519414B2 (en) * | 2012-12-11 | 2016-12-13 | Microsoft Technology Licensing Llc | Smart whiteboard interactions |
US20150116283A1 (en) | 2013-10-24 | 2015-04-30 | Livescribe Inc. | Paper Strip Presentation Of Grouped Content |
CN105653510A (zh) * | 2015-12-28 | 2016-06-08 | 智慧方舟科技有限公司 | 一种电子化作业的批改方法、装置和系统 |
US10229518B2 (en) * | 2017-04-10 | 2019-03-12 | Prysm, Inc. | Drag to undo/redo a digital ink canvas using a visible history palette |
US20180300302A1 (en) | 2017-04-15 | 2018-10-18 | Microsoft Technology Licensing, Llc | Real-Time Collaboration Live Ink |
-
2017
- 2017-06-30 US US15/639,490 patent/US10469274B2/en active Active
-
2018
- 2018-04-05 EP EP18724356.3A patent/EP3610386A1/en not_active Ceased
- 2018-04-05 KR KR1020197030147A patent/KR102702653B1/ko active IP Right Grant
- 2018-04-05 RU RU2019136513A patent/RU2768526C2/ru active
- 2018-04-05 MX MX2019012313A patent/MX2019012313A/es unknown
- 2018-04-05 CN CN201880025166.5A patent/CN110506264A/zh active Pending
- 2018-04-05 BR BR112019019153A patent/BR112019019153A2/pt unknown
- 2018-04-05 SG SG11201909171W patent/SG11201909171WA/en unknown
- 2018-04-05 AU AU2018251560A patent/AU2018251560B2/en active Active
- 2018-04-05 JP JP2019548673A patent/JP7140773B2/ja active Active
- 2018-04-05 WO PCT/US2018/026158 patent/WO2018191092A1/en active Application Filing
- 2018-04-05 NZ NZ756875A patent/NZ756875A/en unknown
- 2018-04-05 CA CA3056683A patent/CA3056683A1/en active Pending
- 2018-04-05 IL IL269869A patent/IL269869B2/en unknown
-
2019
- 2019-07-17 US US16/514,512 patent/US10855481B2/en active Active
- 2019-09-05 ZA ZA2019/05872A patent/ZA201905872B/en unknown
- 2019-09-14 PH PH12019550192A patent/PH12019550192A1/en unknown
- 2019-10-02 CO CONC2019/0010950A patent/CO2019010950A2/es unknown
- 2019-10-03 CL CL2019002827A patent/CL2019002827A1/es unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048217A (ja) * | 2005-08-12 | 2007-02-22 | Ricoh Co Ltd | 手書き情報入力装置 |
JP2010507836A (ja) * | 2006-10-24 | 2010-03-11 | ポリビジョン コーポレーション | 移動式プレゼンテーションシステムおよび移動式プレゼンテーションシステムにおいて使用する方法 |
JP2010026701A (ja) * | 2008-07-17 | 2010-02-04 | Hitachi Software Eng Co Ltd | 相互情報共有システム |
KR20160086359A (ko) * | 2013-11-19 | 2016-07-19 | 가부시키가이샤 와코무 | 잉크 데이터의 생성, 잉크 데이터의 렌더링, 잉크 데이터의 조작, 및 잉크 데이터의 전달을 위한 방법 및 시스템 |
US20150338938A1 (en) * | 2014-05-23 | 2015-11-26 | Microsoft Technology Licensing, Llc | Ink Modes |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023106606A1 (ko) * | 2021-12-06 | 2023-06-15 | 삼성전자주식회사 | 전자 장치들 간의 공동 편집을 지원하는 클라우드 서버 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
BR112019019153A2 (pt) | 2020-04-14 |
US20190372790A1 (en) | 2019-12-05 |
RU2019136513A3 (ko) | 2021-09-17 |
US10855481B2 (en) | 2020-12-01 |
RU2019136513A (ru) | 2021-05-17 |
EP3610386A1 (en) | 2020-02-19 |
CN110506264A (zh) | 2019-11-26 |
AU2018251560A1 (en) | 2019-09-26 |
IL269869B1 (en) | 2023-05-01 |
US20180302232A1 (en) | 2018-10-18 |
NZ756875A (en) | 2024-02-23 |
IL269869A (ko) | 2019-11-28 |
MX2019012313A (es) | 2020-01-27 |
CO2019010950A2 (es) | 2019-10-21 |
JP2020516983A (ja) | 2020-06-11 |
IL269869B2 (en) | 2023-09-01 |
AU2018251560B2 (en) | 2022-04-07 |
CL2019002827A1 (es) | 2020-03-06 |
ZA201905872B (en) | 2020-11-25 |
SG11201909171WA (en) | 2019-10-30 |
WO2018191092A1 (en) | 2018-10-18 |
US10469274B2 (en) | 2019-11-05 |
RU2768526C2 (ru) | 2022-03-24 |
KR102702653B1 (ko) | 2024-09-03 |
JP7140773B2 (ja) | 2022-09-21 |
CA3056683A1 (en) | 2018-10-18 |
PH12019550192A1 (en) | 2020-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102702653B1 (ko) | 실시간 협업을 위한 라이브 잉크 프레즌스 | |
US9360942B2 (en) | Cursor driven interface for layer control | |
CN111339032B (zh) | 管理具有多页面的文件夹的设备、方法和图形用户界面 | |
JP4973245B2 (ja) | 表示装置及びプログラム | |
US7996776B2 (en) | Shared telepointer | |
US10157593B2 (en) | Cross-platform rendering engine | |
JP2017523515A (ja) | アイコンサイズ変更 | |
CN105474160A (zh) | 高性能触摸拖放 | |
WO2019105191A1 (zh) | 多元素交互方法、装置、设备和存储介质 | |
US10691880B2 (en) | Ink in an electronic document | |
US20160182579A1 (en) | Method of establishing and managing messaging sessions based on user positions in a collaboration space and a collaboration system employing same | |
CN112948049B (zh) | 多内容并行显示的方法、装置、终端及存储介质 | |
JP2015095066A (ja) | 情報処理装置及び情報処理プログラム | |
US10970476B2 (en) | Augmenting digital ink strokes | |
US10514841B2 (en) | Multi-layered ink object | |
WO2018194853A1 (en) | Enhanced inking capabilities for content creation applications | |
US11269418B2 (en) | Proximity selector | |
JP6431336B2 (ja) | 共同ペインティングシステム、共同ペインティング端末装置、共同ペインティング管理装置、共同ペインティング端末プログラムおよび共同ペインティング管理プログラム | |
WO2024065097A1 (zh) | 板书内容展示方法、电子设备及存储介质 | |
CN115700450A (zh) | 白板应用的控制方法、装置及智能交互平板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |