KR20190072558A - 캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것 - Google Patents

캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것 Download PDF

Info

Publication number
KR20190072558A
KR20190072558A KR1020197012952A KR20197012952A KR20190072558A KR 20190072558 A KR20190072558 A KR 20190072558A KR 1020197012952 A KR1020197012952 A KR 1020197012952A KR 20197012952 A KR20197012952 A KR 20197012952A KR 20190072558 A KR20190072558 A KR 20190072558A
Authority
KR
South Korea
Prior art keywords
application
specific metadata
image data
screen shot
session state
Prior art date
Application number
KR1020197012952A
Other languages
English (en)
Inventor
다니엘 게스트
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20190072558A publication Critical patent/KR20190072558A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)

Abstract

일 실시형태에서, UE는 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 캡처하라는 요청을 검출하고, 요청이 검출될 때 디스플레이 스크린 상에 출력되는 이미지 데이터의 적어도 일부에 기여하는 애플리케이션의 세션 상태의 특성들의 재생성을 용이하게 하도록 구성되는 애플리케이션-특정 메타데이터를 획득한다. UE는 요청에 응답하여 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 선택적으로 캡처하고, 그리고 획득된 애플리케이션-특정 메타데이터를 저장한다. 동일하거나 상이한 UE는 애플리케이션-특정 메타데이터 (및 캡처된 경우 선택적으로 스크린샷) 의 일부 또는 전부를 획득할 수 있고, 그리고 동일하거나 상이한 애플리케이션을 사용하여 특성들의 일부 또는 전부를 재생성할 수 있다.

Description

캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것
관련 출원들에 대한 상호참조
본 특허 출원은 2016 년 11 월 7 일자로 출원되고 발명의 명칭이 "ASSOCIATING A CAPTURED SCREENSHOT WITH APPLICATION-SPECIFIC METADATA THAT DEFINES A STATE OF AN APPLICATION CONTRIBUTING IMAGE DATA TO THE CAPTURED SCREENSHOT"인 미국 가출원 제 62/418,501 호의 이익을 주장하며, 이는 본 출원과 동일한 발명자에 의한 것으로 양수인에게 양도되어 그 전체가 참조로써 본원에 명확하게 원용된다.
배경기술
1. 개시 분야
실시형태는 캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것에 관한 것이다.
2. 관련 기술의 설명
디스플레이 기능을 가진 많은 사용자 장비 (UE) 는 스크린샷 캡처 기능을 지원한다. 예를 들어, 윈도우 운영 체제 (OS) 를 실행하는 컴퓨터 (예를 들어, 랩톱 컴퓨터, 데스크톱 컴퓨터) 는 사용자가 ALT 및 PrintScreen 키를 동시에 누르는 것에 응답하여 클립보드 메모리에 (예를 들어, 전체 디스플레이 스크린 영역 또는 구성 설정에 따른 특정 창 영역의) 스크린샷 이미지를 복사한다. 다른 예에서, iOS (예를 들어, iPhone, iPad, iPod Touch 등) 과 같은 모바일 운영 체제를 실행하는 UE들은 사용자가 홈 버튼과 전원 버튼을 동시에 누르는 것에 응답하여 포토 갤러리에 스크린샷 이미지를 복사한다.
사용자들은 다음에 한정되지 않지만 쇼핑 웹사이트에서 원하는 항목 보관, 구매 확인, 문자 채팅 대화의 특정 섹션, 비디오 프로그램의 특정 프레임 (예를 들어, TV, 유튜브 등), 지도 또는 내비게이션 경로의 특정 섹션, 전자책 또는 정보 웹사이트 (예를 들어, 위키피디아 등) 의 특정 텍스트 등을 포함하는 다양한 이유로 스크린샷을 캡처하고자 할 수 있다.
일 실시형태는, 사용자 장비 (UE) 를 동작시키는 방법에 관한 것으로, 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 캡처하라는 요청을 검출하는 단계, 요청이 검출될 때 디스플레이 스크린 상에 출력되는 이미지 데이터의 적어도 일 부분에 기여하는 애플리케이션의 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성되는 애플리케이션-특정 메타데이터를 획득하는 단계, 요청에 응답하여 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 선택적으로 캡처하는 단계, 및 획득된 애플리케이션-특정 메타데이터를 저장하는 단계를 포함한다.
다른 실시형태는 UE를 동작시키는 방법에 관한 것으로, 스크린샷 캡처 요청이 이슈되었을 때 디스플레이 프레임 내의 이미지 데이터에 기여한 제 1 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터를 획득하는 단계, 애플리케이션-특정 메타데이터에 의해 정의된 제 1 애플리케이션의 세션 상태를 로딩하라는 요청을 검출하는 단계, 및 애플리케이션-특정 메타데이터에 의해 정의된 세션 상태의 하나 이상의 특성들을 재생성하기 위해 애플리케이션-특정 메타데이터를, 요청에 응답하여 제 2 애플리케이션에 의해, 프로세싱하는 단계를 포함한다.
또 다른 실시형태는 UE에 관한 것으로, 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 캡처하라는 요청을 검출하고, 요청이 검출될 때 디스플레이 스크린 상에 출력되는 이미지 데이터의 적어도 일 부분에 기여하는 애플리케이션의 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성되는 애플리케이션-특정 메타데이터를 획득하고, 요청에 응답하여 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 선택적으로 캡처하고, 그리고 획득된 애플리케이션-특정 메타데이터를 저장하도록 구성되는 적어도 하나의 프로세서를 포함한다.
또 다른 실시형태는 UE에 관한 것으로, 스크린샷 캡처 요청이 이슈되었을 때 디스플레이 프레임 내의 이미지 데이터에 기여한 제 1 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터를 획득하고, 애플리케이션-특정 메타데이터에 의해 정의된 제 1 애플리케이션의 세션 상태를 로딩하라는 요청을 검출하고, 그리고 애플리케이션-특정 메타데이터에 의해 정의된 세션 상태의 하나 이상의 특성들을 재생성하기 위해 애플리케이션-특정 메타데이터를, 요청에 응답하여 제 2 애플리케이션에 의해, 프로세싱하도록 구성되는 적어도 하나의 프로세서를 포함한다.
본 개시의 한정이 아닌 오로지 예시를 위해서 제시되는 첨부 도면들과 관련하여 고려될 때 다음의 상세한 설명을 참조하여 더 잘 이해되는 것과 같이 본 개시의 실시형태들의 더 완전한 이해가 용이하게 획득될 것이다.
도 1 은 본 개시의 실시형태에 따른 무선 통신 시스템의 하이-레벨 시스템 아키텍처를 도시한다.
도 2 는 본 개시의 실시형태에 따른 사용자 장비 (UE) 의 예들을 도시한다.
도 3 은 본 개시의 실시형태에 따른 구조적 컴포넌트들을 포함하는 통신 디바이스를 도시한다.
도 4 는 UE 운영 환경에서의 스크린샷 캡처와 연관된 컴포넌트 상호작용의 예를 도시한다.
도 5 는 본 개시의 실시형태에 따른 스크린샷 캡처 절차를 도시한다.
도 6 은 본 개시의 실시형태에 따른 UE 운영 환경에서의 스크린샷 캡처와 연관된 컴포넌트 상호작용의 예를 도시한다.
도 7 은 본 개시의 실시형태에 따른 스크린샷 캡처의 시간에 애플리케이션 세션 상태의 하나 이상의 특성들을 재생성하는 프로세스를 도시한다.
도 8 은 본 개시의 실시형태에 따른 UE 운영 환경에서의 애플리케이션 세션 상태의 재생성과 연관된 컴포넌트 상호작용의 예를 도시한다.
도 9 는 본 개시의 실시형태에 따른 도 5 및 도 7의 프로세스의 예시적인 구현을 도시한다.
도 10 은 본 개시의 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성을 도시한다.
도 11 은 본 개시의 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성을 도시한다.
도 12a 는 본 개시의 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성을 도시한다.
도 12b 는 본 개시의 또 다른 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성을 도시한다.
도 13 은 본 개시의 다른 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성을 도시한다.
도 14 는 본 개시의 또 다른 실시형태에 따른 도 5 및 도 7의 프로세스의 예시적인 구현을 도시한다.
도 15a 는 본 개시의 실시형태에 따른 도 14의 프로세스의 예시적인 실행에 기초한 스크린샷+에 대한 애플리케이션-특정 메타데이터 생성을 도시한다.
도 15b 는 본 개시의 실시형태에 따른 도 14의 프로세스의 예시적인 실행에 기초하여 도 15a 와 관련하여 상술한 스크린샷+에 대한 애플리케이션 세션 상태 재생성 절차를 도시한다.
도 16a 는 본 개시의 실시형태에 따른 스크린샷+에 대한 애플리케이션-특정 메타데이터 생성을 도시한다.
도 16b 는 본 개시의 실시형태에 따라 도 16a 와 관련하여 상술한 스크린샷+에 대한 애플리케이션 세션 상태 재생성 절차를 도시한다.
본 개시의 양태들은, 본 개시의 특정 실시형태들에 관한 다음의 설명 및 관련 도면들에 개시된다. 대안적인 실시형태들은 본 개시의 범위로부터 일탈함없이 안출될 수도 있다. 부가적으로, 본 개시의 널리 공지된 엘리먼트들은, 본 개시의 관련 상세들을 불명료하게 하지 않도록 상세히 설명되지 않거나 생략될 것이다.
단어들 "예시적인" 및/또는 "예" 는 "예, 예증, 또는 예시로서 기능하는" 을 의미하도록 본 명세서에서 사용된다. "예시적인" 및/또는 "예" 로서 본 명세서에서 설명된 임의의 실시형태는 다른 실시형태들에 비해 반드시 선호되거나 유리한 것으로서 해석되는 것은 아니다. 유사하게, 용어 "본 개시의 실시형태들" 은 본 개시의 모든 실시형태들이 논의된 특징, 이점 또는 동작 모드를 포함할 것을 요구하지는 않는다.
추가로, 다수의 실시형태들은, 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들의 관점에서 설명된다. 본 명세서에서 설명된 다양한 액션들은, 특정 회로들 (예를 들어, 주문형 집적 회로들 (ASIC들)) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 이들 양자의 조합에 의해, 수행될 수 있음이 인식될 것이다. 부가적으로, 본 명세서에서 설명된 액션들의 이들 시퀀스는, 실행시 관련 프로세서로 하여금 본 명세서에서 설명된 기능을 수행하게 하는 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본 개시의 다양한 양태들은 다수의 상이한 형태들로 구현될 수도 있으며, 이들 형태들 모두는 청구된 청구물의 범위 내에 있는 것으로 고려되었다. 부가적으로, 본 명세서에서 설명된 실시형태들의 각각에 대해, 임의의 그러한 실시형태들의 대응하는 형태는, 예를 들어, 설명된 액션을 수행 "하도록 구성된 로직" 으로서 본 명세서에서 설명될 수도 있다.
본 명세서에서 사용자 장비 (UE) 로서 지칭되는 클라이언트 디바이스는 이동식 또는 고정식일 수도 있고, 유선 액세스 네트워크 및/또는 무선 액세스 네트워크 (RAN) 와 통신할 수도 있다. 본 명세서에서 사용된 바와 같이, 용어 "UE" 는 "액세스 단말기" 또는 "AT", "무선 디바이스", "가입자 디바이스", "가입자 단말기", "가입자국", "사용자 단말기" 또는 UT, "모바일 디바이스", "모바일 단말기", "이동국" 및 이들의 변형들로서 상호대체가능하게 지칭될 수도 있다. 일 실시형태에 있어서, UE들은 RAN 을 통해 코어 네트워크와 통신할 수 있고, 코어 네트워크를 경유하여, UE들은 인터넷과 같은 외부 네트워크들과 접속될 수 있다. 물론, 유선 액세스 네트워크들, (예를 들어, IEEE 802.11 등에 기초한) WiFi 네트워크들 등을 통한 것과 같이, 코어 네트워크 및/또는 인터넷에 접속시키는 다른 메커니즘들이 UE들에 대해 또한 가능하다. UE들은 셀룰러 전화기들, 개인용 디지털 보조기들 (PDA들), 페이저들, 랩탑 컴퓨터들, 데스크탑 컴퓨터들, PC 카드들, 컴팩트 플래시 디바이스들, 외부 또는 내부 모뎀들, 무선 또는 유선 전화들 등을 포함하지만 이에 한정되지 않는 다수의 타입들의 디바이스들 중의 임의의 디바이스에 의해 구현될 수 있다. UE들이 신호들을 RAN 으로 전송할 수 있는 통신 링크는 업링크 채널 (예를 들어, 역방향 트래픽 채널, 역방향 제어 채널, 액세스 채널 등) 로 칭해진다. RAN 이 신호들을 UE들로 전송할 수 있는 통신 링크는 다운링크 또는 순방향 링크 채널 (예를 들어, 페이징 채널, 제어 채널, 브로드캐스트 채널, 순방향 트래픽 채널 등) 로 칭해진다. UE들이 다른 UE들에게 신호들을 전송할 수 있는 통신 링크는 피어-투-피어 (P2P) 또는 디바이스-투-디바이스 (D2D) 채널이라고 불린다.
도 1 은 본 개시의 일 실시형태에 따른 무선 통신 시스템 (100) 의 하이-레벨 시스템 아키텍처를 예시한다. 무선 통신 시스템 (100) 은 UE들 1…N 을 포함한다. 예를 들어, 도 1 에 있어서, UE들 1…2 는 셀룰러 호출 전화들로서 예시되고, UE들 1…6 는 셀룰러 터치스크린 전화들 또는 스마트폰들로서 예시되고, UE N 은 데스크탑 컴퓨터 또는 PC 로서 예시된다.
도 1 을 참조하면, UE들 1…N 은, 에어 인터페이스들 (104, 106, 108) 로서 도 1 에 도시된 물리 통신 인터페이스 또는 계층 및/또는 직접 유선 접속을 통하여 액세스 네트워크 (예를 들어, RAN (120), 액세스 포인트 (125) 등) 와 통신하도록 구성된다. 에어 인터페이스들 (104 및 106) 는 주어진 셀룰러 통신 프로토콜 (예를 들어, CDMA, EVDO, eHRPD, GSM, EDGE, W-CDMA, 4G LTE, 5G LTE 등) 을 준수할 수 있는 한편, 에어 인터페이스 (108) 는 무선 IP 프로토콜 (예를 들어, IEEE 802.11) 을 준수할 수 있다. RAN (120) 은 에어 인터페이스들 (104 및 106) 과 같은 에어 인터페이스들을 통하여 UE들을 서빙하는 복수의 액세스 포인트들을 포함할 수도 있다. RAN (120) 에서의 액세스 포인트들은 액세스 노드들 또는 AN 들, 액세스 포인트들 또는 AP들, 기지국들 또는 BS들, 노드 B들, e노드 B들 등으로서 지칭될 수 있다. 이들 액세스 포인트들은 지상 액세스 포인트들 (또는 지상국들), 또는 위성 액세스 포인트들일 수 있다. RAN (120) 은, RAN (120) 에 의해 서빙된 UE들과 전적으로 RAN (120) 또는 상이한 RAN 에 의해 서빙된 다른 UE들과의 사이에서 회선-스위칭 (CS) 호출들을 브릿징하는 것을 포함하는 다양한 기능들을 수행할 수 있고 또한 인터넷 (175) 과 같은 외부 네트워크들과의 패킷-스위칭 (PS) 데이터의 교환을 중재할 수 있는 코어 네트워크 (140) 에 접속하도록 구성될 수도 있다.
인터넷 (175) 은, 일부 예들에 있어서, 다수의 라우팅 에이전트들 및 프로세싱 에이전트들 (편리성을 위해 도 1 에 도시 안됨) 을 포함한다. 도 1 에 있어서, UE N 은 인터넷 (175) 에 직접 접속 (즉, WiFi 또는 802.11 기반 네트워크의 이더넷 접속을 통한 것과 같이, 코어 네트워크 (140) 로부터 분리) 하는 것으로서 도시된다. 이에 의해, 인터넷 (175) 은 코어 네트워크 (140) 를 통해 UE들 1...N 사이에서 패킷-스위칭 데이터 통신을 브릿징하도록 기능할 수 있다. 또한, RAN (120) 으로부터 분리된 액세스 포인트 (125) 가 도 1에 도시된다. 액세스 포인트 (125) 는 (예를 들어, FiOS 와 같은 광학 통신 시스템, 케이블 모뎀 등을 통해) 코어 네트워크 (140) 와 독립적으로 인터넷 (175) 에 접속될 수도 있다. 에어 인터페이스 (108) 는, 일 예에 있어서 IEEE 802.11 과 같은 로컬 무선 접속을 통해 UE 5 또는 UE 6 을 서빙할 수도 있다. UE N 은, (예를 들어, 유선 및 무선 접속성의 양자 모두를 갖는 WiFi 라우터에 대한) 일 예에 있어서 액세스 포인트 (125) 자체에 대응할 수 있는 모뎀 또는 라우터로의 직접 접속과 같은, 인터넷 (175) 으로의 유선 접속을 갖는 데스크탑 컴퓨터로서 도시된다.
도 1 을 참조하면, 서버 (170) 는 인터넷 (175), 코어 네트워크 (140), 또는 그 양자 모두에 접속되는 것으로서 도시되어 있다. 서버 (170) 는 복수의 구조적으로 분리된 서버들로서 구현될 수 있거나, 또는 대안적으로, 단일 서버에 대응할 수도 있다. 서버 (170) 는 (예를 들어, 웹페이지를 호스팅하는) 웹 서버, 애플리케이션 다운로드 서버, 또는 VoIP (Voice-Over-Internet) 세션, PTT (Push-to-Talk) 세션, 그룹 통신 세션, 소셜 네트워킹 서비스 등과 같은 특정 통신 서비스(들)를 지원하는 애플리케이션 서버와 같은 임의의 유형의 서버에 대응할 수 있다.
도 1 을 참조하면, UE들 1...3은 D2D 네트워크 또는 D2D 그룹 (185) 의 일부로서 도시되고, UE들 1 및 3은 에어 인터페이스 (104) 를 통해 RAN (120) 에 접속된다. 일 실시형태에서, UE 2는 또한 UE들 1 및/또는 3에 의한 조정을 통해 RAN (120) 에 대한 간접 액세스를 획득할 수 있으며, 이에 따라 UE 2 와 UE 2 대신에 RAN (120) 과 통신하는 UE들 1 및 3 중 하나 (또는 그 이상) 로/로부터 데이터를 "홉"한다.
도 2 는 본 개시의 실시형태에 따른 UE (200) 를 도시한다. UE (200) 는 하나 이상의 프로세서들 (205) (예를 들어, 하나 이상의 ASIC들, 하나 이상의 디지털 신호 프로세서들 (DSP들) 등) 및 메모리 (210) (예를 들어, RAM, ROM, EEPROM, 플래시 카드들, 또는 컴퓨터 플랫폼들에 공통되는 임의의 메모리) 를 포함한다. 메모리 (210) 는 연관된 운영 체제를 통해 하나 이상의 프로세서들 (205) 에 의해 실행 가능한 복수의 애플리케이션 1...N 을 포함한다. 또한, UE (200) 는 하나 이상의 UI 입력 컴포넌트들 (215) (예를 들어, 키보드 및 마우스, 터치스크린, 마이크로폰, 볼륨 또는 전원 버튼과 같은 하나 이상의 버튼 등) 및 하나 이상의 UI 출력 컴포넌트 (220) (예를 들어, 스피커, 디스플레이 스크린, UE (200) 를 진동시키는 진동 디바이스 등) 를 포함한다.
UE (200) 는 유선 통신 인터페이스 (225) 및 무선 통신 인터페이스 (230) 를 더 포함한다. 일 실시형태에서, 유선 통신 인터페이스 (225) 는 주변 디바이스 (예를 들어, USB 접속, 미니 USB, Firewire 또는 조명 접속, 헤드폰 잭, 그래픽 포트, 직렬, VGA, HDMI, DVI 또는 DisplayPort, 오디오 포트 등) 및/또는 (예를 들어, 이더넷 케이블 또는 HDMI v1.4 또는 그 이상의 유선 액세스 네트워크의 브리지 역할을 할 수 있는 다른 유형의 케이블을 통해) 유선 액세스 네트워크에 대한 유선 로컬 접속을 지원하는데 사용될 수 있다. 다른 예시적인 실시형태에서, 무선 통신 인터페이스 (230) 는 로컬 무선 통신 프로토콜 (예를 들어, WLAN 또는 WiFi, WiFi 다이렉트, 블루투스, LTE-D, 미라캐스트 등) 에 따라 통신하기 위한 하나 이상의 무선 트랜시버를 포함한다. 무선 통신 인터페이스 (225) 는 또한 (예를 들어, CDMA, W-CDMA, 시간 분할 다중 액세스 (TDMA), 주파수 분할 다중 액세스 (FDMA), 직교 주파수 분할 멀티플렉싱 (OFDM), GSM, 또는 무선 통신 네트워크 또는 데이터 통신 네트워크에서 사용될 수 있는 다른 프로토콜을 통해) 셀룰러 RAN과 통신하기 위한 하나 이상의 무선 트랜시버를 포함할 수 있다. UE (200) 의 다양한 컴포넌트들 (205-230) 은 버스 (235) 를 통해 서로 통신할 수 있다.
도 2를 참조하면, UE (200) 는 다음에 한정되지 않지만 스마트 폰, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 착용형 디바이스 (예를 들어, 보수계 (pedometer), 스마트 시계 등) 등을 포함하는 임의의 유형의 UE에 대응할 수 있다. 도 2 에는 랩탑 (240) 및 터치스크린 디바이스 (255) (예를 들어, 스마트 폰, 태블릿 컴퓨터 등) 로서 도시된 UE (200) 의 두 가지 특정 구현예가 도시되어 있다. 랩탑 (240) 은 디스플레이 스크린 (245) 및 UI 영역 (250) (예를 들어, 키보드, 터치패드, 전원 버튼 등) 을 포함하며, 도시되지는 않았지만 랩탑 (240) 은 다양한 포트들은 물론 유선 및/또는 무선 트랜시버 (예를 들어, 이더넷 카드, WiFi 카드, 광대역 카드, 글로벌 위치 확인 시스템 (GPS) 안테나와 같은 위성 위치 시스템 (SPS) 안테나 등) 을 포함할 수 있다.
또한, 터치스크린 디바이스 (255) 는 당업계에 알려진 바와 같이, 다른 컴포넌트들 중에서도, 터치스크린 디스플레이 (260), 주변기기 버튼들 (265, 270, 275 및 280) (예를 들어, 전원 버튼, 볼륨 또는 진동 제어 버튼, 비행기 모드 토글 버튼 등), 및 적어도 하나의 전면-패널 버튼 (285) (예를 들어, 홈 버튼 등) 으로 구성된다. 터치스크린 디바이스 (255) 의 일부로서 명시적으로 도시되지는 않았지만, 터치스크린 디바이스 (255) 는 터치스크린 디바이스 (255) 의 외부 케이싱에 내장된 하나 이상의 외부 안테나들 및/또는 하나 이상의 통합 안테나들을 포함할 수 있으며, WiFi 안테나, 셀룰러 안테나, SPS 안테나 (예를 들어, GPS 안테나) 등을 포함하지만, 이에 한정되지 않는다.
도 3 은 본 개시의 일 실시형태에 따른 구조적 컴포넌트들을 포함하는 통신 디바이스 (300) 를 예시한다. 통신 디바이스 (300) 는 UE (200) 를 포함하지만 이에 한정되지 않는 상기 언급된 통신 디바이스들 중 임의의 디바이스에 대응할 수 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 를 포함한다. 일 예에 있어서, 통신 디바이스 (300) 가 무선 통신 디바이스 (예를 들어, UE (200)) 에 대응한다면, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는 무선 트랜시버 및 관련 하드웨어 (예를 들어, RF 안테나, 모뎀, 변조기 및/또는 복조기 등) 와 같은 무선 통신 인터페이스 (예를 들어, 블루투스, WiFi, WiFi 다이렉트, LTE 다이렉트 등) 를 포함할 수 있다. 다른 예에 있어서, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는 유선 통신 인터페이스 (예를 들어, 직렬 접속, USB, 파이어와이어 또는 라이트닝 접속, 인터넷 (175) 이 액세스될 수 있는 이더넷 접속 등) 에 대응할 수 있다. 추가의 예에 있어서, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는 통신 디바이스 (300) 가 그의 로컬 환경을 모니터링할 수 있게 하는 센서류 또는 측정 하드웨어 (예를 들어, 가속도계, 온도 센서, 광 센서, 로컬 RF 신호들을 모니터링하기 위한 안테나 등) 를 포함할 수 있다. 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는 또한, 실행될 경우, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 의 관련 하드웨어가 그의 수신 및/또는 송신 기능(들)을 수행하게 하는 소프트웨어를 포함할 수 있다. 하지만, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는 그의 기능성을 달성하도록 구조적 하드웨어에 적어도 부분적으로 의존한다. 더욱이, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 는, 기본 기능이 수신 또는 송신 기능에 대응하는 한, "수신" 및 "송신" 이외의 언어에 의해 관련될 수도 있다. 예를 들어, 획득하는 것, 포착하는 것, 취출하는 것, 측정하는 것 등과 같은 기능들이, 수신 기능들의 특정 타입들인 것으로서, 특정 맥락들에서 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 에 의해 수행될 수도 있다. 다른 예에 있어서, 전송하는 것, 전달하는 것, 운반하는 것, 포워딩하는 것 등과 같은 기능들이, 송신 기능들의 특정 타입들인 것으로서, 특정 맥락들에서 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 에 의해 수행될 수도 있다. 수신 및/또는 송신 기능들의 다른 타입들에 대응하는 다른 기능들이 또한, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 에 의해 수행될 수도 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 를 더 포함한다. 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 에 의해 수행될 수 있는 프로세싱의 타입의 예시적 구현들은, 결정들을 수행하는 것, 접속들을 확립하는 것, 상이한 정보 옵션들 사이에서 선택들을 행하는 것, 데이터에 관련된 평가들을 수행하는 것, 통신 디바이스 (300) 에 커플링된 센서들과 상호작용하여 측정 동작들을 수행하는 것, 하나의 포맷으로부터 다른 포맷으로 (예를 들어, .wmv 대 .avi 등과 같은 상이한 프로토콜들 사이에서) 정보를 변환하는 것 등을 포함하지만, 이들로 한정되지 않는다. 예를 들어, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는 범용 프로세서, DSP, ASIC, 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합 (예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 그러한 다른 구성물) 으로서 구현될 수도 있다. 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는 또한, 실행될 경우, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 의 관련 하드웨어가 그의 프로세싱 기능(들)을 수행하게 하는 소프트웨어를 포함할 수 있다. 하지만, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는 그의 기능성을 달성하도록 구조적 하드웨어에 적어도 부분적으로 의존한다. 더욱이, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는, 기본 기능이 프로세싱 기능에 대응하는 한, "프로세싱" 이외의 언어에 의해 관련될 수도 있다. 예를 들어, 평가하는 것, 결정하는 것, 계산하는 것, 식별하는 것 등과 같은 기능들이, 프로세싱 기능들의 특정 타입들인 것으로서, 특정 맥락들에서 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 에 의해 수행될 수도 있다. 프로세싱 기능들의 다른 타입들에 대응하는 다른 기능들이 또한, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 에 의해 수행될 수도 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 저장하도록 구성된 메모리 (315) 를 더 포함한다. 일 예에 있어서, 정보를 저장하도록 구성된 메모리 (315) 는 적어도 비일시적 메모리 및 관련 하드웨어 (예를 들어, 메모리 제어기 등) 를 포함할 수 있다. 예를 들어, 정보를 저장하도록 구성된 메모리 (315) 에 포함된 비일시적 메모리는 RAM, 플래시 메모리, ROM, 소거가능한 프로그래밍가능 ROM (EPROM), EEPROM, 레지스터들, 하드 디스크, 착탈가능한 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 대응할 수 있다. 정보를 저장하도록 구성된 메모리 (315) 는 또한, 실행될 경우, 정보를 저장하도록 구성된 메모리 (315) 의 관련 하드웨어가 그의 저장 기능(들)을 수행하게 하는 소프트웨어를 포함할 수 있다. 하지만, 정보를 저장하도록 구성된 메모리 (315) 는 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 저장하도록 구성된 메모리 (315) 는 그의 기능성을 달성하도록 구조적 하드웨어에 적어도 부분적으로 의존한다. 더욱이, 정보를 저장하도록 구성된 메모리 (315) 는, 기본 기능이 저장 기능에 대응하는 한, "저장" 이외의 언어에 의해 관련될 수도 있다. 예를 들어, 캐싱하는 것, 유지하는 것 등과 같은 기능들이, 저장 기능들의 특정 타입들인 것으로서, 특정 맥락들에서 정보를 저장하도록 구성된 메모리 (315) 에 의해 수행될 수도 있다. 저장 기능들의 다른 타입들에 대응하는 다른 기능들이 또한, 정보를 저장하도록 구성된 메모리 (315) 에 의해 수행될 수도 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 를 더 포함한다. 일 예에 있어서, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 는 적어도 출력 디바이스 및 관련 하드웨어를 포함할 수 있다. 예를 들어, 출력 디바이스는 비디오 출력 디바이스 (예를 들어, 디스플레이 스크린, USB, HDMI 와 같이 비디오 정보를 반송할 수 있는 포트 등), 오디오 출력 디바이스 (예를 들어, 스피커들, 마이크로폰 잭, USB, HDMI 와 같이 오디오 정보를 반송할 수 있는 포트 등), 진동 디바이스 및/또는 정보가 출력을 위해 포맷팅될 수 있게 하거나 또는 통신 디바이스 (300) 의 사용자 또는 오퍼레이터에 의해 실제로 출력될 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2 에 도시된 바와 같은 UE (200) 에 대응한다면, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 는 디스플레이 (245) 또는 터치스크린 디스플레이 (260) 와 같은 디스플레이를 포함할 수 있다. 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 는 또한, 실행될 경우, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 의 관련 하드웨어가 그의 프리젠테이션 기능(들)을 수행하게 하는 소프트웨어를 포함할 수 있다. 하지만, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 는 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 는 그의 기능성을 달성하도록 구조적 하드웨어에 적어도 부분적으로 의존한다. 더욱이, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 는, 기본 기능이 제시 기능에 대응하는 한, "제시" 이외의 언어에 의해 관련될 수도 있다. 예를 들어, 디스플레이하는 것, 출력하는 것, 프롬프팅하는 것, 운반하는 것 등과 같은 기능들이, 제시 기능들의 특정 타입들인 것으로서, 특정 맥락들에서 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 에 의해 수행될 수도 있다. 제시 기능들의 다른 타입들에 대응하는 다른 기능들이 또한, 정보를 제시하도록 구성된 사용자 인터페이스 출력 회로부 (320) 에 의해 수행될 수도 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 를 더 포함한다. 일 예에 있어서, 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 는 적어도 사용자 입력 디바이스 및 관련 하드웨어를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스는 버튼들, 터치스크린 디스플레이, 키보드, 카메라, 오디오 입력 디바이스 (예를 들어, 마이크로폰, 또는 마이크로폰 잭과 같이 오디오 정보를 반송할 수 있는 포트 등), 및/또는 정보가 통신 디바이스 (300) 의 사용자 또는 오퍼레이터로부터 수신될 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2 에 도시된 바와 같은 UE (200) 에 대응한다면, 로컬 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 는 UI 지역 (250) 또는 터치스크린 디스플레이 (260) 등에 대응할 수 있다. 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 는 또한, 실행될 경우, 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 의 관련 하드웨어가 그의 입력 수신 기능(들)을 수행하게 하는 소프트웨어를 포함할 수 있다. 하지만, 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 는 소프트웨어 단독으로만 대응하는 것은 아니며, 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 는 그의 기능성을 달성하도록 구조적 하드웨어에 적어도 부분적으로 의존한다. 더욱이, 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 는, 기본 기능이 로컬 사용자 입력의 수신 기능에 대응하는 한, "로컬 사용자 입력의 수신" 이외의 언어에 의해 관련될 수도 있다. 예를 들어, 획득하는 것, 수신하는 것, 수집하는 것 등과 같은 기능들이, 로컬 사용자 수신 기능들의 특정 타입들인 것으로서, 특정 맥락들에서 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 에 의해 수행될 수도 있다. 로컬 사용자 입력의 수신 기능들의 다른 타입들에 대응하는 다른 기능들이 또한, 로컬 사용자 입력을 수신하도록 구성된 사용자 인터페이스 입력 회로부 (325) 에 의해 수행될 수도 있다.
도 3 을 참조하면, 305 내지 325 의 구성된 구조적 컴포넌트들이, 관련 통신 버스 (명시적으로 도시 안됨) 를 통해 서로에 암시적으로 커플링되는 도 3 에서의 별도의 또는 별개의 블록들로서 도시되지만, 305 내지 325 의 개별의 구성된 구조적 컴포넌트들이 그의 개별 기능성을 수행하게 하는 하드웨어 및/또는 소프트웨어는 부분적으로 중첩할 수 있음이 인식될 것이다. 예를 들어, 305 내지 325 의 구성된 구조적 컴포넌트들의 기능성을 용이하게 하는 데 사용된 임의의 소프트웨어는 정보를 저장하도록 구성된 메모리 (315) 와 연관된 비일시적 메모리에 저장될 수 있어서, 305 내지 325 의 구성된 구조적 컴포넌트들 각각이 정보를 저장하도록 구성된 메모리 (315) 에 의해 저장된 소프트웨어의 동작에 부분적으로 기초하여 그들의 개별 기능성 (즉, 이 경우, 소프트웨어 실행) 을 수행하게 한다. 유사하게, 305 내지 325 의 구성된 구조적 컴포넌트들 중 하나의 구성된 구조적 컴포넌트와 직접적으로 연관된 하드웨어는 때때로 305 내지 325 의 구성된 구조적 컴포넌트들의 다른 구성된 구조적 컴포넌트들에 의해 대여되거나 또는 사용될 수 있다. 예를 들어, 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 는, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (305) 에 의해 송신되기 전에, 데이터를 적절한 포맷으로 포맷팅할 수 있어서, 정보를 수신 및/또는 송신하도록 구성된 트랜시버 회로부 (310) 가 정보를 프로세싱하도록 구성된 적어도 하나의 프로세서 (310) 와 연관된 구조적 하드웨어의 동작에 부분적으로 기초하여 그의 기능성 (즉, 이 경우, 데이터의 송신) 을 수행하게 한다.
디스플레이 기능을 가진 많은 UE들은 스크린샷 캡처 기능을 지원한다. 예를 들어, 윈도우 운영 체제 (OS) 를 실행하는 컴퓨터 (예를 들어, 랩톱 컴퓨터, 데스크톱 컴퓨터) 는 사용자가 ALT 및 PrintScreen 키를 동시에 누르는 것에 응답하여 클립보드 메모리에 (예를 들어, 전체 디스플레이 스크린 영역 또는 구성 설정에 따른 특정 창 영역의) 스크린샷 이미지를 복사한다. 다른 예에서, iOS (예를 들어, iPhone, iPad, iPod Touch 등) 과 같은 모바일 운영 체제를 실행하는 UE들은 사용자가 홈 버튼과 전원 버튼을 동시에 누르는 것에 응답하여 포토 갤러리에 스크린샷 이미지를 복사한다.
사용자들은 다음에 한정되지 않지만 쇼핑 웹사이트에서 원하는 항목 보관, 구매 확인, 문자 채팅 대화의 특정 섹션, 비디오 프로그램의 특정 프레임 (예를 들어, TV, 유튜브 등), 지도 또는 내비게이션 경로의 특정 섹션, 전자책 또는 정보 웹사이트 (예를 들어, 위키피디아 등) 의 특정 텍스트 등을 포함하는 다양한 이유로 스크린샷을 캡처하고자 할 수 있다.
도 4 는 UE 운영 환경 (400) 에서의 스크린샷 캡처와 연관된 컴포넌트 상호작용의 예를 도시한다. UE 운영 환경 (400) 은 OS (405), 디스플레이 엔진 (410) (예를 들어, 하나 이상의 그래픽 디바이스 드라이버들, 그래픽 카드, 전용 그래픽 커널 등), (예를 들어, UE에서의 연관 메모리에 저장되며, N이 2보다 크거나 같은) UE-실행 가능 애플리케이션들 1...N, 및 스크린샷 생성 모듈 (420) 을 포함한다. UE 운영 환경 (400) 은 UI 입력 컴포넌트(들)(425) (예를 들어, 도 2의 215, 도 3의 325 등에 대응), 디스플레이 스크린 (430) (예를 들어, 도 2의 220, 도 3의 320 등에 대응) 및 메모리 (435) (예를 들어, 도 2의 210, 도 3의 315 등에 대응) 를 더 포함한다.
도 4를 참조하면, 기능 흐름은 1 내지 7로 열거된 동작들을 통해 도시된다. 동작들 1 내지 7에서의 특정 순서는 구현마다 달라질 수 있다 (예를 들어, 동작들 3 및 4는 임의의 순서 등으로 발생할 수 있다). 동작 1에서, 스크린샷 요청은 UI 입력 컴포넌트(들)(425) 를 통해 OS (405) 에 의해 검출된다. 예를 들어, 동작 1은 윈도우 OS 환경에서 키보드의 키들을 통해 사용자가 ALT 및 PrintScreen을 동시에 누르는 것의 검출, iOS 환경에서 사용자가 홈 및 파워 버튼을 동시에 누르는 것의 검출 등에 대응할 수 있다. 동작 2에서, OS (405) 는 스크린샷 요청을 디스플레이 엔진 (410) 에 전송한다. 동작 3에서, 애플리케이션 1 은 디스플레이 스크린 (430) 에 의한 출력을 위해 디스플레이 프레임 내에 렌더링될 애플리케이션-특정 이미지 데이터를 디스플레이 엔진 (410) 에 제공한다. 동작 4에서, 애플리케이션 2...N은 또한 디스플레이 스크린 (430) 에 의한 출력을 위해 디스플레이 프레임 내에 렌더링될 애플리케이션-특정 이미지 데이터를 선택적으로 제공할 수 있다. 동작 4는 UE가 애플리케이션 1에 대해 전체 스크린 모드로 동작할 수 있기 때문에 선택적이며, 이 경우 애플리케이션 1에 대한 이미지 데이터만이 디스플레이 프레임의 일부가 된다. 동작 5에서, 디스플레이 엔진 (410) 은 애플리케이션 1 (및 역시 선택적으로 애플리케이션 2...N) 로부터의 애플리케이션-특정 이미지 데이터에 기초하여 렌더링된 스크린 데이터를 디스플레이 스크린 (430) 에 전송한다.
OS (405) 로부터의 스크린샷 요청에 응답하여, 동작 6에서, 디스플레이 엔진 (410) 은 또한 렌더링된 스크린 데이터를 스크린샷 생성 모듈 (420) 로 전송한다. 스크린샷 생성 모듈 (420) 은 렌더링된 스크린 데이터에 기초하여, 그리고 또한 소정의 파일-특정 (또는 애플리케이션-일반) 메타데이터 (예를 들어, 스크린 캡처 시간, 파일명, 파일 크기 등) 에 기초하여 스크린샷을 생성한다. 동작 7에서, 스크린샷 생성 모듈 (420) 은 생성된 (또는 캡처된) 스크린샷을 메모리 (435) 로 전송하며, 여기서 스크린샷은 저장된 스크린샷들 1...N의 세트 사이에 저장된다.
스크린샷이 특정 시점에서 디스플레이 스크린 상에 도시된 미가공 이미지 데이터를 저장하는데 매우 효과적이지만, 스크린샷은 사용자 (예를 들어, 초기 스크린샷을 취하는 사용자 또는 스크린샷을 공유하는 다른 사용자) 를 스크린샷에 도시된 애플리케이션 세션 (또는 세션 상태) 의 상태로 다시 안내하는데 특히 효과적이지 않을 수도 있다. 예를 들어, 스크린샷과 관련하여 저장된 종래의 메타데이터는 전형적으로 파일 특정의 메타데이터 (예를 들어, 스크린 캡처 시간, 파일명, 파일 크기 등) 만을 포함할 것이고, 이는 스크린샷의 지도에 표시된 주소로 네비게이션 경로를 프로팅하고자 하는 사용자에게, 또는 구매한 항목의 구매 확인의 스크린샷에 기초하여 구매한 항목의 배송 상태를 체크하고자 하는 사용자에게 특히 도움이 되지 않는다.
이로써 본 개시의 실시형태는 캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것에 관한 것이다. 후술되는 바와 같이, 애플리케이션-특정 메타데이터는 캡처된 스크린샷의 미가공 이미지 컨텐츠를 단지 디스플레이하는 것과는 대조적으로, UE가 애플리케이션-특정 메타데이터에 의해 정의된 세션 상태의 하나 이상의 특성들을 재생성하는 것을 허용할 수 있다.
도 5 는 본 개시의 실시형태에 따른 스크린샷 캡처 절차를 도시한다. 도 5의 스크린샷 캡처 절차는 UE에서 수행되고, 디스플레이 스크린의 일부 또는 전부 상에 출력되는 이미지 데이터를 캡처한다. 디스플레이 스크린은 UE 자체의 디스플레이 스크린에 대응할 수 있으며, 이 경우 스크린샷 캡처는 도 4와 관련하여 상술한 예 (예를 들어, 스크린샷의 자체 캡처) 와 유사하다. 그러나, 디스플레이 스크린은 대안적으로 또 다른 디바이스를 모두 합친 디스플레이 스크린일 수 있으며, 이 경우 캡처된 스크린샷은 다른 디바이스의 디스플레이 스크린의 스냅샷이다 (예를 들어, UE의 사용자는 UE를 카메라 모드에 두고, 다른 디스플레이 스크린의 스냅샷을 취한다). 도 5와 관련하여 설명된 디스플레이 스크린은 도 2의 UE (200) 의 UI 출력 컴포넌트들 (220), 또는 도 3의 정보 (320) 를 제시하도록 구성된 사용자 인터페이스 출력 회로부 중 하나에 대응할 수 있다.
도 5를 참조하면, 블록 (500) 에서, UE는 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 캡처하라는 요청을 검출한다. 예를 들어, 블록 (500) 은 Windows OS 환경에서 키보드의 키들을 통해 사용자가 ALT 및 PrintScreen을 동시에 누르는 것의 검출, iOS 환경에서 사용자가 홈 및 파워 버튼을 동시에 누르는 것의 검출 등에 대응할 수 있다. 다른 예에서, 전술한 바와 같이, 블록 (500) 은 사용자가 UE를 카메라 모드 (또는 뷰파인더 모드) 에 놓고 외부 디스플레이 스크린의 스냅샷을 취하는 것의 검출에 대응할 수 있다. 블록 (505) 에서, UE는 요청이 검출될 때 디스플레이 스크린 상에 출력되는 이미지 데이터의 적어도 일 부분에 기여하는 애플리케이션의 세션 상태를 정의하는 (또는 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성되는) 애플리케이션-특정 메타데이터를 획득한다.
본 명세서에서 사용되는 바와 같이, 애플리케이션-특정 메타데이터는 특정 애플리케이션 (예를 들어, URL에서 도달할 수 있는 웹 사이트와 웹 세션을 초기화하기 위해 웹 브라우저에 의해 사용되는 URL, 애플리케이션 세션을 시작하기 위해 애플리케이션을 식별하는데 사용될 수 있는 애플리케이션 ID 등) 에 의해 세션을 초기화하는 정보에 부분적으로 기초하여 세션 상태를 정의할 수 있다. 그러나, 그 애플리케이션-특정 메타데이터는 단지 초기화 세션 상태가 아닌, 스크린 캡처를 수행하는 이미지 데이터에 반영된 순간 (또는 현재) 의 세션 상태를 특징으로 한다. 예를 들어, 세션 상태는 URL 자체로부터 유도할 수 없는 방식으로 URL 세션을 특징으로 하는 2차 정보와 커플링된 URL 을 포함할 수 있으며, 예를 들어, 줌 레벨, 사용자가 연관 웹페이스 상에서 스크롤한 초점의 특정 오브제트, URL로부터 스트리밍된 비디오 프레임이 이미지 데이터에 도시되는 시점 등을 포함할 수 있다. 예를 들어, 애플리케이션-특정 메타데이터에 추가될 수 있는 URL들에는 최상위 웹페이지 URL들 뿐만 아니라 이미지 URL들 및 이미지 대체 텍스트 (예를 들어, 이미지가 쉽게 획득될 수 없는 곳에서 이미지 대신에 표시되는 텍스트) 도 포함될 수 있다. 예를 들어 최상위 웹페이지 URL을 더 이상 사용할 수 없거나 로드 속도가 느린 경우 이미지 URL들 및/또는 이미지 대체 텍스트를 폴백 메커니즘으로 사용할 수도 있다.
아래에서 더 상세히 설명되는 바와 같이, 하나 이상의 추가 애플리케이션이 또한 디스플레이 스크린 상에 출력되고 있는 이미지 데이터에 기여하는 경우, UE는 하나 이상의 추가 애플리케이션의 하나 이상의 세션 상태들을 정의하는 (또는 하나 이상의 세션 상태들의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성되는) 애플리케이션-특정 메타데이터를 획득할 수 있다.
도 5의 블록 (505) 를 참조하면, 애플리케이션-특정 메타데이터는 다음의 임의의 조합을 포함한 다양한 방식으로 획득될 수 있다:
Figure pct00001
애플리케이션-특정 메타데이터의 일 부분은 애플리케이션에서 직접 검색할 수 있다 (예를 들어, 애플리케이션 자체는 스크린샷에 도시된 애플리케이션 세션 상태 특성들의 일부 또는 전체를 재생성하는데 사용될 수 있는 애플리케이션-특정 메타데이터를 제공한다);
Figure pct00002
애플리케이션-특정 메타데이터의 일 부분은 UE의 운영 체제에 의해 기여될 수 있다;
Figure pct00003
애플리케이션-특정 메타데이터의 일 부분은 컴퓨터 비전 기능을 통해 디스플레이 스크린 상에 출력되는 이미지 데이터로부터 도출되거나 추출될 수 있다 (예를 들어, 광학 문자 인식 (OCR) 이 디스플레이 스크린 상에 출력되는 이미지 데이터에 포함된 텍스트에 적용되고 애플리케이션-특정 메타데이터에 추가된다).
Figure pct00004
애플리케이션-특정 메타데이터의 일 부분은 UE 외부에 있는 다른 디바이스로부터 수신될 수 있다. 전술한 스냅샷 예에서, 제 1 UE는 제 2 UE에 접속될 수 있다. 제 1 UE는 제 2 UE의 디스플레이 스크린의 스냅샷을 취한다. 제 1 UE는, 이미지 데이터에 기여하는 하나 이상의 애플리케이션들의 세션 상태들을 특징짓는 애플리케이션-특정 메타데이터에 대한 질의를 (예를 들어, D2D 연결을 통해), 스냅샷이 캡처된 시간에 제 2 UE에서 출력된 디스플레이 스크린으로 전송한다. 제 2 UE는 요청된 애플리케이션-특정 메타데이터를 (예를 들어, D2D 연결을 통해) 제공한다.
Figure pct00005
애플리케이션-특정 메타데이터의 일 부분은 위에 언급된 소스 중 하나에서 수신된 후 다른 형태로 후처리될 수 있다. 예를 들어, 웹 브라우저는 스크린샷에 표시된 현재 URL을 제공할 수 있으며 URL은 분석되거나 후처리되어 현재 URL의 특정 세션 상태를 재생성하기 위한 2차 정보를 얻을 수 있다 (예를 들어, 구글 맵스 (Google Maps) URL이 스크린샷에서 캡처되고, 후처리하면 스크린샷에 도시된 주소 또는 지리적 영역 및 애플리케이션-특정 메타데이터의 특정 URL이 아닌 구글 맵스가 식별된다. 후처리는 전용 애플리케이션 또는 소프트웨어 모듈, OS 또는 애플리케이션 자체와 같은 임의의 적합한 엔티티에 의해 수행될 수 있다.
도 5를 참조하면, 블록 (510) 에서, UE는 요청에 응답하여 디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 선택적으로 캡처한다. 일 예에 있어서, 블록 (510) 에서 스크린샷 캡처가 항상 수행될 수 있다. 그러나, 다른 실시형태에서, 블록 (510) 에서의 스크린샷 캡처는 저장 공간 팩터 또는 애플리케이션-특정 메타데이터 신뢰성 팩터와 같은 다양한 기준에 기초할 수 있다. 예를 들어, 디스플레이 스크린에 출력되는 이미지 데이터 (예를 들어, 디스플레이 프레임에 전체 스크린으로 표시되는 이미지 파일에 대한 딥-링크 URL) 를 재생성하기 위해 매우 신뢰할 수 있는 애플리케이션-특정 메타데이터를 이용할 수 있는 경우, 스크린샷의 특정 픽셀을 캡처하기 위해 디스플레이 프레임을 스크랩하는 작업을 생략할 수 있다. 다른 예에서, UE 상의 이용 가능한 저장 공간이 매우 제한적이라면, (예를 들어, 저장 공간을 보존하기 위해) 블록 (510) 에서의 스크린샷 캡처가 생략될 수 있다. 따라서, 블록 (510) 의 스크린샷 캡처가 실제로 발생한다는 것을 의미하는 "캡처된" 스크린샷과 관련하여 참조가 이루어질 수 있지만, 다른 실시형태가 스크린샷을 실제로 캡처 (및 저장) 하지 않고 블록 (505) 에서 애플리케이션-특정 메타데이터를 획득할 수 있을 때 예로써 이들 참조가 이루어질 수 있다.
도 5의 블록 (510) 을 여전히 참조하면, 블록 (505-510) 에 도시된 각각의 동작이 임의의 순서로 또는 심지어 동시에 발생할 수 있기 때문에, 블록 (510) 이 반드시 블록 (505) 이후에 발생하는 것은 아니라는 것을 이해할 것이다. 또한, 블록 (510) 에서의 스크린샷 캡처는 전체 스크린 캡처에 대응하거나 (예를 들어, 디스플레이 스크린에 의해 출력되는 전체 디스플레이 프레임의 스크린샷이 캡처됨) 또는 부분 스크린 캡처에 대응할 수 있다 (예를 들어, 디스플레이 프레임의 특정 창 또는 사용자가 한정할 수 있는 디스플레이 스크린의 특정 섹션이 캡처됨). 일 예에 있어서, 부분 스크린 캡처의 경우, 블록 (505) 에서 획득된 애플리케이션-특정 메타데이터는 블록 (510) 에서 캡처되는 관련 스크린 영역 내부의 이미지 데이터에 기여하는 애플리케이션(들)으로 제한될 수 있고, 블록 (510) 에서 캡처되는 관련 스크린 영역 외부의 이미지 데이터에만 기여하는 애플리케이션(들)에 대한 애플리케이션-특정 메타데이터를 생략할 수 있다. 더욱이, 블록 (510) 의 스크린 캡처는 다수의 디스플레이 스크린에 의해 출력되는 디스플레이 프레임에 관련될 수 있으며, 이 경우 스크린샷은 다수의 디스플레이 스크린에 걸친 이미지 데이터 또는 하나의 지정된 디스플레이 스크린만을 위한 이미지 데이터를 포함할 수 있다. 상술한 바와 같이, 블록 (510) 의 캡처 동작은 UE 자체의 디스플레이 스크린에 의해 출력되는 이미지 데이터의 캡처 또는 대안으로 외부 디바이스의 디스플레이 스크린의 UE의 카메라에 의해 촬영된 스냅샷에 대응할 수 있다.
도 5를 참조하면, 일단 캡처되면, UE는 블록 (515) 에서 획득된 애플리케이션-특정 메타데이터를 저장한다. 블록 (515) 은 다양한 방식으로 달성될 수 있다. 일 예에 있어서, 캡처된 스크린샷은 블록 (515) 에서 획득된 애플리케이션-특정 메타데이터와 관련하여 저장될 수도 있지만, 이는 꼭 필요한 것은 아니다 (예를 들어, 캡처된 스크린샷은 애플리케이션-특정 메타데이터가 획득된 이후 예를 들어 메모리를 절약하기 위해 폐기될 수 있다). 블록 (515) 에서 캡처된 스크린샷 및 애플리케이션-특정 메타데이터 모두가 저장되는 경우, 예를 들어, 애플리케이션-특정 메타데이터는 캡처된 이미지 데이터가 저장되는 미디어 부분과는 별도로 (예를 들어, 다른 파일-특정 메타데이터가 저장되는, 예를 들어 파일명, 스크린 캡처 시간 등이 저장되는 방법과 유사하게) 스크린샷 파일의 헤더 또는 오버헤드 부분에 첨부될 수 있다. 캡처된 스크린샷 및 애플리케이션-특정 메타데이터 모두가 블록 (515) 에 저장되는 다른 예에서, 애플리케이션-특정 메타데이터는 미디어 부분 자체의 이미지 데이터로 워터마킹될 수 있다. 캡처된 스크린샷 및 애플리케이션-특정 메타데이터 모두가 블록 (515) 에 저장되는 다른 예에서, 애플리케이션-특정 메타데이터는 스크린샷 파일과는 별도로 저장될 수 있고, 일부 유형의 포인터 또는 다른 가상 링크는 블록 (515) 에서 상기 언급된 연관성을 형성한다.
도 5을 참조하면, 블록 (520) 에서, UE는 캡처된 스크린샷 및/또는 애플리케이션-특정 메타데이터를 선택적으로 업데이트한다. 이제, 캡처된 스크린샷 및/또는 저장된 애플리케이션-특정 메타데이터가 어떻게 업데이트될 수 있는지의 다양한 예가 제공될 것이다.
도 5의 블록 (520) 의 제 1 예에서, 사용자는 캡처된 스크린샷을 크롭 (cropping) 하여 캡처된 스크린샷을 편집 또는 수정할 수 있다. 일 실시형태에서, 캡처된 스크린샷의 크롭은 임의의 애플리케이션-특정 메타데이터가 캡처된 스크린샷의 크롭된 부분에만 관련되는지 여부를 결정하도록 UE를 촉구할 수 있다. 그렇다면, 크롭된 부분과 관련된 애플리케이션-특정 메타데이터를 제거할 수 있다 (예를 들어, 사용자가 캡처된 스크린샷을 크롭하여 특정 이미지가 더 이상 표시되지 않게 하고, 그리고 그 특정 이미지에 대한 이미지 URL 및/또는 이미지 대체 텍스트가 애플리케이션-특정 메타데이터에서 제거될 수 있게 한다). 또 다른 실시형태에서, 사용자는 캡처된 스크린샷을 크롭하여, 크롭된 캡처된 스크린샷 내의 단일 이미지만이 인-뷰 상태를 유지하게 할 수 있다. 이 경우, 나머지 이미지에 대한 이미지 URL은 크롭된 부분과 관련된 다른 애플리케이션-특정 메타데이터보다 우선될 수 있다.
도 5의 블록 (520) 의 제 2 예에서, 사용자는 캡처된 스크린샷에서 하나 이상의 항목 (예를 들어, 사람, 제품, 위치 등) 을 태그하는 것과 같은 보충 정보를 추가하기 위해 캡처된 스크린샷을 편집 또는 수정할 수 있다. 애플리케이션-특정 메타데이터는 태그된 항목(들)에 대한 참조를 포함하도록 블록 (520) 에서 업데이트될 수 있다 (예를 들어, 캡처된 스크린샷은 특정 영화에 대한 영화 티켓을 보여주고, 사용자는 그 특정 영화를 태그하고, 애플리케이션-특정 메타데이터는 영화를 구매할 수 있는 웹사이트 URL을 포함하도록 업데이트된다).
도 5의 블록 (520) 의 제 3 예에서, 블록 (510) 은 스크린샷을 캡처하고, 블록 (515) 에서 캡처된 스크린샷을 애플리케이션-특정 메타데이터와 연관하여 저장하고, 그 이후 사용자는 캡처된 스크린샷을 삭제한다는 것을 가정한다. 예를 들어, 이로 인해 연관된 애플리케이션-특정 메타데이터가 물론 제거될 수도 있다. 대안의 예에서, 캡처된 스크린샷이 삭제된 경우에도, 애플리케이션-특정 메타데이터가 보존될 수 있다.
도 5의 블록 (520) 의 제 4 예에서, 이미지 데이터는 하나 이상의 정보 오브젝트 (예를 들어, 지도, 버스 스케줄 등) 를 포함할 수 있다. 이 경우, 정보 오브젝트(들)는 애플리케이션-특정 메타데이터에서 식별될 수 있다. UE는 정보 오브젝트(들)(예를 들어, WiFi 접속이 이용 가능한 매월과 같은 주기 기반으로 또는 UE가 애플리케이션의 세션 상태를 재생성하도록 요청받을 때마다와 같은 이벤트-트리거 기반으로) 를 체크하여 어떤 업데이트가 이용 가능한지를 결정할 수 있다 (예를 들어, 업데이트된 지도, 수정된 버스 스케줄 등). 예를 들어, 정보 오브젝트(들)를 식별하기 위해 OCR 매칭 또는 컴퓨터 비전 기반의 유사성 매칭 알고리즘이 사용될 수 있다. 다른 예에서, 머신 학습 이미지 카테고리화 (machine learning image categorization) 는 업데이트가 수행될 수 있는 정보 오브젝트를 검출하는데 사용될 수 있다 (예를 들어, 버스 스케줄에 대한 업데이트 체크는 수행하지만, 밈 (memes) 에 대해서는 수행하지 않는다). 다른 예에서, 정보 오브젝트는 시각적으로 도시되거나 그렇지 않은 경우 스크린샷에서 참조되는 식별된 제품 가격을 포함할 수 있다. 이 경우, 업데이트 체크는 (예를 들어, Amazon.com 등과 같은 특정 세트의 소매업체로부터의) 제품의 실시간 가격 정책을 페칭하는 것을 포함할 수 있다. 예를 들어, 사용자는 한쌍의 운동화를 보여주는 스크린샷을 스냅할 수 있으며, 업데이트 체크는 한쌍의 운동화의 실시간 가격 정책을 모니터링하고 가격이 변경되는지를 사용자에게 통지할 수 있다.
도 6 은 본 개시의 실시형태에 따른 UE 운영 환경 (600) 에서의 스크린샷 캡처와 연관된 컴포넌트 상호작용의 예를 도시한다. 도 6에 도시된 예는 블록 (505) 에서 이미지-기여 애플리케이션(들)으로부터 애플리케이션-특정 메타데이터가 획득되고 UE가 블록 (510) 에서 자신의 디스플레이 스크린의 스크린샷을 캡처하는 구현예에 특정된다. 그러나, 이는 애플리케이션-특정 메타데이터가 하나 이상의 다른 대안 소스들로부터 획득될 수 있고, UE가 대안적으로 상술한 바와 같이 외부 디스플레이 스크린의 스크린샷을 캡처할 수 있기 때문에 비제한적인 예로서 의도된다.
컴포넌트의 관점에서, UE 운영 환경 (600) 은 도 4의 UE 운영 환경 (400) 과 유사하다. 이에 따라, UE 운영 환경 (600) 은 OS (605), 디스플레이 엔진 (610) (예를 들어, 하나 이상의 그래픽 디바이스 드라이버들, 그래픽 카드, 전용 그래픽 커널 등), (예를 들어, UE에서의 연관 메모리에 저장되며, N이 2보다 크거나 같은) UE-실행가능 애플리케이션들 1...N, 및 스크린샷 생성 모듈 (620) 을 포함한다. UE 운영 환경 (600) 은 UI 입력 컴포넌트(들)(625) (예를 들어, 도 2의 215, 도 3의 325 등에 대응), 디스플레이 스크린 (630) (예를 들어, 도 2의 220, 도 3의 320 등에 대응) 및 메모리 (635) (예를 들어, 도 2의 210, 도 3의 315 등에 대응) 를 더 포함한다.
도 6을 참조하면, 도 5의 프로세스의 예시적인 구현이 1 내지 10로 열거된 동작들을 통해 도시된다. 동작들 1 내지 10에서의 특정 순서는 구현마다 달라질 수 있다 (예를 들어, 동작들 4 및 5는 임의의 순서 등으로 발생할 수 있다). 동작 1에서, 스크린샷 요청은 UI 입력 컴포넌트(들)(425) 를 통해 OS (605) 에 의해 검출된다. 예를 들어, 동작 1은 윈도우 OS 환경에서 키보드의 키들을 통해 사용자가 ALT 및 PrintScreen을 동시에 누르는 것의 검출, iOS 환경에서 사용자가 홈 및 파워 버튼을 동시에 누르는 것의 검출 등에 대응할 수 있다. 동작 2에서, OS (605) 는 스크린샷 요청을 디스플레이 엔진 (610) 에 전송한다. 도 6의 동작들 1-2는 도 4와 관련하여 전술한 동작들 1-2와 유사하다.
도 6을 참조하면, 동작 3에서, OS (605) 는 애플리케이션 1 및 선택적으로 애플리케이션 2...N 에 세션 상태 요청을 전송한다. 예를 들어, 애플리케이션 2...N이 스크린샷을 위한 타겟 영역 내에의 이미지 데이터를 현재 실행하지 않거나 또는 이미지 데이터에 현재 기여하고 있지 않다면, OS (605) 는 애플리케이션 2...N으로 세션 상태 요청을 전송할 필요가 없다.
도 6을 참조하면, 동작 4에서, 애플리케이션 1 은 디스플레이 스크린 (630) 에 의한 출력을 위해 디스플레이 프레임 내에 렌더링될 애플리케이션-특정 이미지 데이터를 디스플레이 엔진 (610) 에 제공한다. 동작 5에서, 애플리케이션 2...N은 또한 디스플레이 스크린 (630) 에 의한 출력을 위해 디스플레이 프레임 내에 렌더링될 애플리케이션-특정 이미지 데이터를 선택적으로 제공할 수 있다. 동작 5는 UE가 애플리케이션 1에 대해 전체 스크린 모드로 동작할 수 있기 때문에 선택적이며, 이 경우 애플리케이션 1에 대한 이미지 데이터만이 디스플레이 프레임의 일부가 된다. 동작 6에서, 디스플레이 엔진 (610) 은 애플리케이션 1 (및 역시 선택적으로 애플리케이션 2...N) 로부터의 애플리케이션-특정 이미지 데이터에 기초하여 렌더링된 스크린 데이터를 디스플레이 스크린 (630) 에 전송한다. OS (405) 로부터의 스크린샷 요청에 응답하여, 동작 7에서, 디스플레이 엔진 (610) 은 또한 렌더링된 스크린 데이터를 스크린샷 생성 모듈 (620) 로 전송한다. 도 6의 동작들 4-7은 도 4와 관련하여 전술한 동작들 3-6과 유사하다.
동작 3에서의 OS (605) 로부터의 세션 상태 요청에 응답하여, 동작 8에서, 애플리케이션 1은 애플리케이션 1의 현재 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성된 애플리케이션-특정 메타데이터를 스크린샷 생성 모듈 (620) 로 전송한다. 동작 8에서 애플리케이션 1에 의해 전송된 애플리케이션-특정 메타데이터 내에 포함된 특정 데이터 또는 파라미터들은 (i) OS (605) 로부터의 세션 상태 요청에 의해 특정되거나, (ii) 애플리케이션 1에 의해 특정되거나, 또는 (iii) 이들을 임의로 조합할 수 있다. 다시 말해, 동작중인 세션 상태 요청은 특정 유형의 정보를 요구할 수 있거나, 또는 포함될 어떤 특정 데이터와 관련하여 타겟 애플리케이션(들)에게 연기하면서 애플리케이션-특정 메타데이터를 제공하도록 타겟 애플리케이션(들)에게 단순히 요청할 수 있거나, 또는 이들을 일부 조합할 수 있다. 이하에서 더 상세히 설명되는 바와 같이, 애플리케이션 1로부터 요청된 애플리케이션-특정 메타데이터는, 애플리케이션 1에 대한 애플리케이션-특정 이미지 데이터가 (동작 4에서와 같이) 디스플레이 엔진 (610) 에 전송되거나 (동작 6에서와 같이) 출력을 위해 디스플레이 스크린에 제공될 때 애플리케이션 1 의 세션 상태의 하나 이상의 특성들을 재생성하는데 사용될 수 있다. 동작 9에서, 애플리케이션 2...N은 또한 애플리케이션 2...N의 현재 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성된 애플리케이션-특정 메타데이터를 스크린샷 생성 모듈 (620) 로 선택적으로 전송할 수 있다. 동작 9는 애플리케이션 2...N이 스크린샷에서 캡처될 관련 스크린 영역 외부에 있는 영역에 이미지 데이터를 기여해도 되고 (동작 5는 선택적이기 때문에) 이미지 데이터를 기여하지 않아도 되기 때문에 선택적이다 (예를 들어, 디스플레이 스크린 (630) 은 제 1 및 제 2 디스플레이 스크린들을 포함하고, 애플리케이션들 2...N는 스크린 샷을 위해 지정되지 않은 디스플레이 스크린에 이미지 데이터를 단지 기여하며, 디스플레이 스크린 (630) 은 제 1 및 제 2 창들을 포함하고, 애플리케이션들 2...N은 스크린 샷을 위해 지정되지 않은 창에 이미지 데이터를 단지 기여하는 등이다).
도 6을 참조하면, 스크린샷 생성 모듈 (620) 은 렌더링된 스크린 데이터 및 애플리케이션 1...N 으로부터 수신된 임의의 애플리케이션-특정 메타데이터에 기초하여 스크린샷을 생성한다. 스크린샷은 또한 소정의 파일-특정 (또는 애플리케이션-일반) 메타데이터 (예를 들어, 스크린 캡처 시간, 파일명, 파일 크기 등) 에 기초하여 생성될 수도 있다. 스크린샷과 애플리케이션-특정 메타데이터의 조합은 도 6에서 "스크린샷+"으로 표시된다. 동작 10에서, 스크린샷 생성 모듈 (620) 은 생성된 (또는 캡처된) 스크린샷+를 메모리 (635) 로 전송하며, 여기서 스크린샷+는 저장된 스크린샷들+ 1...N의 세트 사이에 저장된다. 도 5의 블록 (515) 과 관련하여 전술한 바와 같이, 각각의 스크린샷+은 미디어 워터마크로서 또는 보충 헤더 정보를 통해 임베딩되는 애플리케이션-특정 메타데이터를 포함하는 단일의 스크린샷 파일에 대응하거나, 또는 대안적으로 메모리에서 서로 링크 또는 연관된 두 개의 분리된 파일에 대응할 수 있다. 또한, 다른 실시형태에서, 스크린샷+는 연관된 캡처된 이미지 데이터없이 (예를 들어, 메모리 등을 저장하기 위해) 애플리케이션-특정 메타데이터로 구성될 수 있다.
도 7 은 본 개시의 실시형태에 따른 스크린샷 캡처의 시간에 애플리케이션 세션 상태의 하나 이상의 특성들을 재생성하는 프로세스를 도시한다. 도 7의 프로세스는 스크린샷을 캡처한 동일한 UE에서 구현될 수 있거나, 대안적으로 다른 UE에서 구현될 수 있다. 예를 들어, 도 5의 프로세스를 실행하는 UE는 애플리케이션-특정 메타데이터가 있는 캡처된 스크린샷 (또는 스크린샷+) 을 소셜 네트워킹 서비스와 공유할 수 있고, 소셜 네트워킹 서비스는 캡처된 스크린샷 및 애플리케이션-특정 메타데이터를, 이후 도 7의 프로세스를 실행하는 제 3 자 UE에 전파할 수 있다. 다른 예에서, 도 5의 프로세스를 실행하는 UE는, 이후 도 7의 프로세스를 실행할 수 있는, 다른 UE 와 일부 다른 방식 (예를 들어, P2P 또는 D2D 파일 교환, 이메일 또는 문자 메시지 전송 등을 통해) 으로 애플리케이션-특정 메타데이터가 있는 캡처된 스크린샷 (또는 스크린샷+) 을 공유할 수 있다. 또 다른 예에서, 캡처된 이미지 데이터를 운반하는 연관된 스크린샷을 실제로 공유하지 않고 스크린샷을 캡처하는 UE가 애플리케이션-특정 메타데이터를 공유하는 것이 가능하다. 이 경우, 애플리케이션-특정 메타데이터가 공유되는 타겟 UE는 여전히 애플리케이션-특정 메타데이터를 사용하여 애플리케이션 세션 상태의 일부 또는 전부를 재생성할 수 있다. 또 다른 예에서, 블록 (510) 과 관련하여 전술한 바와 같이, 스크린샷이 실제로 캡처 및 저장되지 않고 블록 (515) 에 애플리케이션-특정 메타데이터가 저장되는 것이 가능하며, 이 경우 블록 (500) 에서 스크린샷을 캡처하라는 요청을 수신한 (하지만 그렇게 하지 않는 것을 선택한) UE가 여전히 애플리케이션-특정 메타데이터를 공유할 수 있다. 이에 따라서, 적어도 아래의 스크린샷+에 대한 참조는 애플리케이션-특정 메타데이터의 일부 또는 전체를 포함하지만, 실제로 캡처한 스크린샷을 반드시 포함할 필요는 없다.
도 7을 참조하면, 블록 700 에서, UE는 (예를 들어, 이미지 데이터의 캡처된 스크린샷에서) 스크린샷 캡처 요청이 이슈될 때 디스플레이 프레임 내의 이미지 데이터에 기여한 제 1 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터를 획득한다. 블록 (700) 이 실행될 때와 관련하여, 애플리케이션-특정 메타데이터는 제 1 애플리케이션의 현재 세션 상태를 반드시 나타내는 것은 아닌 제 1 애플리케이션의 이력 세션 상태를 정의한다. 일례에서, 도 7의 UE가 도 5의 프로세스를 수행한 동일한 UE에 대응하는 경우에는, 블록 (700) 은 UE가 메모리로부터 애플리케이션-특정 데이터를 로딩하는 것에 대응할 수 있다. 다른 예에서, 도 7의 UE가 도 5의 프로세스를 수행한 UE와 다른 UE에 대응하는 경우에는, 블록 (700) 은 UE가 외부 소스로부터 애플리케이션-특정 데이터를 수신하는 것 (예를 들어, UE가 도 5의 프로세스를 수행하는 것, 또는 서버 (170) 또는 중간 UE와 같은 일부 중간 엔티티가 소셜 네트워킹 서비스의 일부로서 소셜 미디어 공유 기능을 수행하는 것) 에 대응할 수 있다.
도 7을 참조하면, 블록 (703) 에서, UE는 캡처된 스크린샷 (이용 가능한 경우) 및/또는 애플리케이션-특정 메타데이터를 선택적으로 업데이트한다. 블록 (703) 이 수행되면, 업데이트된 캡처된 스크린샷 및/또는 애플리케이션-특정 메타데이터는 스크린샷+의 후속 프로세싱에 사용될 수 있다. 블록 (703) 은 도 5의 블록 (520) 과 유사하게 수행될 수 있으므로, 간결성을 위해 더 설명하지는 않을 것이다.
도 7을 참조하면, 블록 (705) 에서, UE는 애플리케이션-특정 메타데이터에 의해 정의된 제 1 애플리케이션의 세션 상태를 로딩하라는 요청을 검출한다. 캡처된 스크린샷에 대한 이미지 데이터와 관련하여 블록 (700) 에서 애플리케이션-특정 메타데이터가 획득된 일례에서, 도 7의 블록 (705) 에서의 검출은 사용자가 스크린샷을 나타내는 아이콘 (또는 섬네일) 을 클릭하는 것에 대응하며, 그 결과 캡처된 스크린샷에 미가공 이미지 데이터를 표시하는 대신 (또는 그에 추가하여) 애플리케이션-특정 메타데이터를 프로세싱한다. 캡처된 스크린샷없이 블록 (700) 에서 애플리케이션-특정 메타데이터가 획득되는 대안의 예에서, 도 7의 블록 (705) 에서의 검출은 로딩될 수 있는 사용자 선택 가능한 애플리케이션 세션 상태들을 열거하는 풀다운 메뉴 등과 같은 다양한 방식으로 발생할 수 있다.
도 7을 참조하면, 블록 (710) 에서, UE는 애플리케이션-특정 메타데이터에 의해 정의된 세션 상태의 하나 이상의 특성들을 재생성하기 위해 애플리케이션-특정 메타데이터를, 블록 (705) 에서 검출된 요청에 응답하여 제 2 애플리케이션에 의해, 프로세싱한다. 일 예에 있어서, 블록 (710) 에서 애플리케이션-특정 메타데이터를 프로세싱하는 제 2 애플리케이션은 도 5의 블록 (505) 에서 제 1 애플리케이션과 동일한 애플리케이션 (예를 들어, 동일한 플랫폼 또는 OS, 동일한 버전 번호 등) 에 대응하지만, 이것이 엄격히 필요한 것은 아니다. 예를 들어, 각각의 애플리케이션은 다른 버전 (예를 들어, 판도라 (Pandora) iOS 버전 6 대 판도라 iOS 버전 8) 을 가질 수 있거나, 상이한 플랫폼 (예를 들어, iOS 디바이스 상의 모바일 사파리 (Safari) 브라우저 대 Mac 컴퓨터 상의 데스크탑 사파리 브라우저) 에서 동작할 수 있거나, 또는 동일한 애플리케이션 클래스에서의 상이한 애플리케이션 (예를 들어, 데스크톱 크롬 브라우저 대 데스크톱 파이어폭스 (Firefox) 브라우저) 일 수 있다. 일 예에 있어서, 애플리케이션-특정 메타데이터는 제 1 애플리케이션의 세션 상태를 재생성하기 위해 시도되는 애플리케이션의 버전 (예를 들어, 모바일 버전 및 데스크탑 버전, 특정 OS 에 대한 애플리케이션의 특정 버전) 에 기초하여 제 1 애플리케이션의 세션 상태를 재생성하기 위해 취해질 특정 액션들을 열거한 버전 표를 포함할 수 있다. 예를 들어, 구글 맵스 애플리케이션 세션 상태의 경우, 애플리케이션-특정 메타데이터는 버전 표의 일부로서, 모바일 구글 맵스 애플리케이션에 의한 세션 상태 재생성을 위한 제 1 명령들, 세션 상태 재생성을 위해 구글 맵스 웹사이트로 이동하는 모발 또는 데스크톱 웹 브라우저 애플리케이션에 의한 세션 상태 재생성을 위한 제 2 명령들, 상이한 지도 애플리케이션에 의한 세션 상태 재생성을 위한 제 3 명령들 등을 포함할 수 있다. (예를 들어, 판도라 대 스포티파이 (Spotify) 와 같은 애플리케이션 유형 측면에서, iOS 대 윈도우 XP 와 같은 OS 측면에서, 웹 브라우저 또는 전용 지도 애플리케이션과 같은 애플리케이션 클래스 측면에서, iOS 7-호환 판도라 대 iOS 10-호환 판도라와 같은 애플리케이션-특정 버전 번호 등의 측면에서) 제 1 및 제 2 애플리케이션들이 상이한지 여부와 관계없이, 제 2 애플리케이션은 스크린샷이 캡처될 때 제 1 애플리케이션의 세션 상태의 적어도 일부 특징들을 재생성하는 방식으로 애플리케이션-특정 메타데이터를 해석할 수 있는 것으로 가정된다.
여전히 도 7을 참조하면, 제 2 애플리케이션은 세션 상태의 하나 이상의 특성들을 재생성하기 위해 애플리케이션-특정 메타데이터를 해석할 수 없을 가능성이 있다 (예를 들어, 제 1 애플리케이션은 인식되지 않을 수 있고, 임의의 URL 또는 URI는 유효하지 않을 수 있는 등이다). 이 경우, 캡처된 스크린샷 (블록 (700) 에서 애플리케이션-특정 메타데이터와 함께 획득된 경우) 은 세션 상태의 하나 이상의 특성들이 재생성될 수 있는 정보를 유도하려는 시도로 평가될 수 있다. 예를 들어, OCR 분석 및/또는 컴퓨터 비전 이미지 유사성 매칭을 사용하여 하나 이상의 애플리케이션에서 캡처한 스크린샷에 가장 가까운 매칭을 찾을 수 있는 (예를 들어, 애플리케이션 세트의 다양한 스크린 옵션을 캡처된 스크린샷과 비교하여 가장 가까운 매칭을 찾을 수 있는) 무차별 대입 (brute-force) 방식을 사용할 수 있다. 다른 예에서, 캡처된 이미지는 비디오의 특정 비디오 프레임을 나타내는 이미지 데이터를 포함하고, 애플리케이션-특정 메타데이터는 비디오의 특정 비디오 프레임을 식별하는 딥 링크 URI를 포함하지 않는다고 가정한다. 전술한 접근법과 유사하게, 비디오에 관련된 이미지 데이터를 비디오의 비디오 프레임과 비교하여 (예를 들어, 컴퓨터 비전 유사성 매칭을 사용하여) 정확한 비디오 프레임을 식별할 수 있는 무차별 대입 방식을 사용할 수 있다.
도 8 은 본 개시의 실시형태에 따른 UE 운영 환경 (800) 에서의 애플리케이션 세션 상태의 재생성과 연관된 컴포넌트 상호작용의 예를 도시한다. 컴포넌트 측면에서, UE 운영 환경 (800) 이 도 6의 UE 운영 환경 (600) 과 유사하지만, 스크린 캡처 생성이 도 8에 도시된 기능과 관련이 없기 때문에 스크린 생성 모듈 (620) 은 생략된다. 상술한 바와 같이, 도 5 및 도 7의 프로세스를 수행하는 UE는 동일할 수 있으며, 이 경우 UE 운영 환경 (600 및 800) 은 동일한 UE의 상이한 기능적 표현에 대응한다. 대안적으로, 도 5 및 도 7의 프로세스를 수행하는 UE는 상이할 수 있으며, 이 경우 각각의 컴포넌트는 동일하거나 상이할 수 있다 (예를 들어, 도 6의 OS (605) 는 iOS 일 수 있지만 도 8의 OS (805) 는 윈도우 OS 또는 안드로이드 등일 수 있다)
도 8을 참조하면, UE 운영 환경 (800) 은 OS (805), 디스플레이 엔진 (810) (예를 들어, 하나 이상의 그래픽 디바이스 드라이버들, 그래픽 카드, 전용 그래픽 커널 등) 및 (예를 들어, UE에서의 연관 메모리에 저장되며, N이 2보다 크거나 같은) UE-실행가능 애플리케이션들 1...N 을 포함한다. UE 운영 환경 (800) 은 UI 입력 컴포넌트(들)(825) (예를 들어, 도 2의 215, 도 3의 325 등에 대응), 디스플레이 스크린 (830) (예를 들어, 도 2의 220, 도 3의 320 등에 대응) 및 메모리 (835) (예를 들어, 도 2의 210, 도 3의 315 등에 대응) 를 더 포함한다. 도 8에 도시된 예에서, 메모리 (835) 는 스크린샷들+ 1...N의 세트를 포함한다. 일 예에 있어서, 메모리 (835) 에 보유된 각각의 스크린샷+은 캡처된 스크린샷으로부터의 미가공 이미지 데이터와 함께 특정 스크린샷+에 대한 애플리케이션-특정 메타데이터 모두를 포함할 수 있거나, 또는 대안적으로 애플리케이션-특정 데이터는 스크린샷+의 적어도 하나에 대한 연관된 미가공 이미지 데이터없이 보유될 수 있다.
도 8을 참조하면, 도 7의 프로세스의 예시적인 구현이 1 내지 8로 열거된 동작들을 통해 도시된다. 동작들 1 내지 8에서의 특정 순서는 구현마다 달라질 수 있다 (예를 들어, 동작들 2 및 3는 임의의 순서 등으로 발생할 수 있다). 동작 1에서, 스크린샷+ 애플리케이션 세션 상태 요청은 UI 입력 컴포넌트(들) (425) 를 통해 OS (805) 에 의해 검출된다. 예를 들어, 동작 1은 사용자가 특정 스크린샷+를 나타내는 아이콘을 클릭하는 것에 대응할 수 있다 (예를 들어, 사용자는 자신의 휴대전화에서 포토 갤러리를 스크롤한 후, 스크린샷+의 이미지 데이터 부분의 섬네일로 시각적으로 표시되는 스크린샷+를 선택한다). 동작 2에서, OS (805) 는 지정된 스크린샷+에 대한 애플리케이션-특정 메타데이터에 대한 요청을 메모리 (835) 에 전송한다. 동작 3에서, 메모리 (835) 는 지정된 스크린샷+에 대한 애플리케이션-특정 메타데이터를 US (805) 로 리턴한다.
도 8을 참조하면, 동작 4에서, 획득된 애플리케이션-특정 메타데이터 중 적어도 일부는 애플리케이션 1로 전송된다. 전술한 바와 같이, 도 6의 동작 8에서 애플리케이션-특정 메타데이터를 제공한 애플리케이션 1은 도 8의 동작 4에서 애플리케이션-특정 메타데이터를 수신하는 애플리케이션 1과 동일할 필요는 없지만, 이것은 확실히 가능하다. 오히려, 도 6 및 도 8의 각각의 애플리케이션 1들은 버전 번호, OS-타입의 측면에서 변경될 수 있거나, 동일한 클래스에서의 상이한 애플리케이션 (예를 들어, 상이한 유형의 웹 브라우저 또는 워드 프로세싱 애플리케이션 등) 에 대응할 수 있다. 애플리케이션-특정 메타데이터는 도 6의 동작 9 및 애플리케이션 2...N과 관련하여 전술한 바와 같이, 동일한 스크린샷+과 관련하여 다수의 애플리케이션에 대해 선택적으로 획득될 수 있다. 마찬가지로, 선택적 동작 5에서, 애플리케이션-특정 메타데이터 중 적어도 일부는 애플리케이션 2...N으로 전송될 수 있다. 일 예에 있어서, 도 8의 애플리케이션 2...N으로 선택적으로 전송된 애플리케이션-특정 메타데이터는 도 6의 애플리케이션 2...N에 대해 선택적으로 획득된 애플리케이션-특정 메타데이터에 대응할 수 있다. 대안의 예에서, 애플리케이션-특정 메타데이터가 도 6의 애플리케이션 2...N에 대해 획득되더라도, 이 애플리케이션-특정 메타데이터는 도 8의 애플리케이션 2...N으로 전송될 필요가 없다 (예를 들어, 사용자는 이러한 특정 애플리케이션(들)의 세션 상태를 재생성하기를 원치 않을 수도 있고, 이들 특정 애플리케이션들로부터의 애플리케이션-특정 메타데이터는 정보 프라이버시 스킴 등에 따라 스트립되거나 제거됐을 수도 있다). 또한, 도 8과 비교하여 도 6의 애플리케이션 1과 관련하여 상기한 바와 같이, 애플리케이션 2...N은 동일한 애플리케이션에 대응할 수 있거나 (예를 들어, 버전 번호, OS-유형 등의 측면에서) 상이할 수 있다.
도 8을 참조하면, 애플리케이션 1은 동작 4에서 수신된 애플리케이션-특정 메타데이터를 프로세싱하고, 애플리케이션 2...N은 또한 동작 5에서 수신된 애플리케이션-특정 메타데이터를 선택적으로 프로세싱한다. 애플리케이션-특정 메타데이터가 프로세싱될 수 있는 방법의 예가 아래에 보다 상세히 제공되어 있다. 애플리케이션-특정 메타데이터의 프로세싱 결과는, 디스플레이 스크린 (830) 에 의한 출력을 위해 디스플레이 프레임 내에서 렌더링될 애플리케이션-특정 이미지 데이터로서, 동작 6에서 애플리케이션 1에 의해, 그리고 (선택적으로) 동작 7에서 애플리케이션 2...N에 의해 디스플레이 엔진 (810) 으로 전달된다. 도 8에 명시적으로 도시되지는 않았지만, 애플리케이션-특정 메타데이터 (예를 들어, 오디오 및/또는 진동 출력 등) 의 프로세싱에 기초하여 다른 유형의 출력이 제공될 수 있음을 알 것이다. 동작 8에서, 디스플레이 엔진 (810) 은 애플리케이션 1 (및 역시 선택적으로 애플리케이션 2...N) 로부터의 애플리케이션-특정 이미지 데이터에 기초하여 렌더링된 스크린 데이터를 디스플레이 스크린 (830) 에 전송한다.
도 9 는 본 개시의 실시형태에 따른 도 5 및 도 7의 프로세스의 예시적인 구현을 도시한다. 특히, 도 9는 소스 UE (또는 UE 1) 가 특정 타겟 디바이스와 갖는 신뢰도에 기초하여 상이한 양 또는 유형의 애플리케이션-특정 메타데이터가 공유되는 예를 나타낸다. 도 9는 또한 스크린샷과 관련된 디스플레이 프레임의 섹션에서 관련된 모든 이미지 데이터에 단일의 애플리케이션이 기여하는 예를 도시한다. 일 예에 있어서, 이것은, 단일의 애플리케이션이 전체 스크린 모드로 동작하는 경우, 또는 디스플레이 프레임의 일 부분에 걸쳐 스크린샷의 경계들이 배열되는 경우 (여기서 단일의 애플리케이션이 이미지 데이터에 기여하는 유일한 애플리케이션임) 발생할 수 있다. 편의상, 아래 도 9의 프로세스는 단일의 애플리케이션 (또는 애플리케이션 1) 과 관련하여 이하 설명되지만, 다른 애플리케이션 (또는 동일한 애플리케이션의 다른 인스턴스) 이 이미지 데이터에 기여하고 있는 스크린샷 영역 외부에 디스플레이 프레임 영역이 존재할 가능성도 있다. 도 9는 또한 UE가 상술한 바와 같이 스크린샷+를 생성하기 위해 다른 UE의 디스플레이 스크린의 스냅샷을 취할 수 있는 시나리오와는 대조적으로, UE 1이 스크린샷+를 스스로 캡처하는 예를 나타낸다.
도 9를 참조하면, 블록 (900) 에서, 애플리케이션 1에 의해 기여된 이미지 데이터가 UE 1 의 디스플레이 스크린 상의 디스플레이 프레임에서 출력되고 있다. 블록 (905) 에서, (예를 들어, 도 5의 블록 (500) 에서와 같이) 스크린샷 캡처 요청이 검출된다. 블록 (910) 에서, 스크린샷+이 캡처됨으로써, 스크린샷+는 스크린샷과 애플리케이션 1에 대한 애플리케이션-특정 메타데이터를 (예를 들어, 도 5의 블록 (505-515) 에서와 같이) 포함한다.
도 9를 참조하면, 블록 (915) 에서, UE 1 은 스크린샷+를 서버 (예를 들어, 일 예에 있어서 소셜 네트워킹 서버에 대응할 수 있는 서버 (170)) 에 전송하라는 요청을 수신한다. 도 9의 실시형태에서, UE 1은 서버에서 낮은 레벨의 신뢰를 갖는다고 가정한다 (예를 들어, 서버에 대한 신뢰 스코어는 제 1 신뢰 임계치 아래이다). 블록 (920) 에서, 스크린샷+에 대한 미가공 이미지 데이터는 서버에서의 UE 1의 낮은 레벨의 신뢰에 응답하여 서버에 전송된다. 일 예에 있어서, 블록 (920) 에서 서버로 전송되는 스크린샷+의 버전을 생성하기 위해 미가공 이미지 데이터를 포함하는 스크린샷 파일로부터 임의의 잠재적으로 민감한 애플리케이션-특정 메타데이터를 제거하도록 필터링 동작이 UE 1 에서 실행될 수 있다. 대안적인 예에서, 미가공 이미지 데이터를 포함하는 스크린샷+에 대한 스크린샷 파일이 애플리케이션 1에 대한 애플리케이션-특정 메타데이터를 포함하는 파일과 별도로 저장되는 경우, 스크린샷+에 대한 스크린샷 파일은 수정없이 (애플리케이션-특정 메타데이터를 포함하는 별도의 파일을 첨부하지 않고) 블록 (920) 에서 서버에 업로드될 수 있다. 블록 (925) 에서, 서버는 스크린샷+에 대한 이미지 데이터를 UE 3 과 공유한다. 블록 (930) 에서, UE 3 은 애플리케이션 1 (또는 애플리케이션 1에 필적하는 애플리케이션) 을 론칭하지 않고 (예를 들어, 임의의 다른 이미지 파일과 유사한) 이미지 데이터를 단순히 디스플레이함으로써 종래의 방식으로 스크린샷+에 대한 이미지 데이터에 액세스한다. 블록 (915-930) 은 서버가 스크린샷+에 대한 이미지 데이터를 재배포하는 시나리오를 설명하지만, 이 시나리오에서 서버는 임의의 중간 디바이스를 대표한다는 것을 알 것이다. 다른 실시형태들에서, UE 1 는 다른 UE에서 낮은 신뢰를 가질 수 있고 스크린샷+에 대한 이미지 데이터만을 저-신뢰 UE에 전송할 수 있다. 그후, 저-신뢰 UE는 블록 (925-930) 에서 서버와 유사한 하나 이상의 다른 디바이스들에 스크린샷+에 대한 이미지 데이터를 재분배할 수 있다.
도 9를 참조하면, 블록 (935) 에서, UE 1 는 스크린샷+를 UE들 2 및 4 에 전송하라는 요청을 수신한다. 도 9의 실시형태에서, UE 1은 UE 2에서 중간 레벨의 신뢰를 갖고 (예를 들어, UE 2에 대한 신뢰 스코어는 제 1 신뢰 임계치를 초과하고 제 2 신뢰 임계치 아래에 있다), 그리고 UE 1은 UE 4에서 높은 레벨의 신뢰를 갖는다 (예를 들어, UE 4에 대한 신뢰 스코어는 제 1 및 제 2 신뢰 임계치를 초과한다) 고 가정한다. 일 예에 있어서, UE 1이 다양한 엔티티들에 대해 갖는 신뢰 레벨은 사용자-특정될 수 있거나 (예를 들어, UE 1은 특정 엔티티를 가족 또는 친구로 표시함), 또는 UE 1과 각 엔티티들 사이의 상호작용 분석으로부터 결정될 수 있다. 각각의 신뢰 임계치는 또한 사용자-특정되거나 OS 설정으로 미리 정의될 수도 있다.
도 9를 참조하면, 블록 (940) 에서, 스크린샷+에 대한 이미지 데이터는 UE 4 에서의 UE 1의 높은 신뢰 수준에 응답하여 애플리케이션-특정 메타데이터의 필터링되지 않은 버전과 함께 UE 4로 전송된다. 블록 (945) 에서, 스크린샷+에 대한 이미지 데이터는 UE 2 에서의 UE 1의 중간 신뢰 수준에 응답하여 애플리케이션-특정 메타데이터의 필터링되지 않은 버전과 함께 UE 2로 전송된다. 일 예에 있어서, 필터링 동작은 UE 1 에서 실행되어 스크린샷 파일로부터 소정의 애플리케이션-특정 메타데이터를 제거하여 블록 945 에서 서버로 송신되는 스크린샷의 버전을 생성할 수 있지만, 이 필터링 동작은 UE 4로 전송된 스크린샷+의 버전에 대해서는 수행되지 않는다.
도 9를 참조하면, 블록 (950) 에서, 애플리케이션 1이 UE 1에서 종료한다고 가정한다. 블록 (955) 에서, UE 1은 (예를 들어, 도 7의 블록 (705) 에서와 같이) 스크린샷+에 대한 애플리케이션-특정 메타데이터에 기초하여 애플리케이션 1 세션 상태를 로딩하라는 요청을 수신한다. 단순히 스크린샷+에 대한 이미지 데이터를 사진 파일로 로딩하는 대신에, UE 1 은 블록 (960) 에서 애플리케이션 1을 론칭하고, 애플리케이션 1은 그후 블록 (965) 에서 (예를 들어, 도 7의 블록 (710) 에서와 같이) 애플리케이션 1 세션 상태의 하나 이상의 특징들을 재생성하기 위해 애플리케이션 1에 대한 애플리케이션-특정 메타데이터를 프로세싱한다.
도 9를 참조하면, 블록 (970) 에서, UE 1 로부터 필터링된 스크린샷+를 수신한 이후의 어떤 시점에서, UE 2 는 스크린샷+에 대한 필터링된 애플리케이션-특정 메타데이터에 기초하여 스크린샷+로부터 애플리케이션 1 세션 상태를 로딩하라는 요청을 수신한다. 단순히 스크린샷+에 대한 이미지 데이터를 사진 파일로 로딩하는 대신에, UE 2는 스크린샷+에 대한 애플리케이션-특정의 메타데이터를 프로세싱하기에 적합한 애플리케이션이 UE 2 에서 이용 가능한지 여부를 평가한다. 예를 들어, 스크린샷+에 대한 애플리케이션-특정 메타데이터는 필요한 애플리케이션 클래스 (예를 들어, 모든 유형의 웹 브라우저를 허용될 수 있는 일반 웹 브라우저), 특정 필수 애플리케이션 (예를 들어, 크롬 브라우저), 필수 버전 번호 (예를 들어, 크롬 iOS 브라우저 버전 6 이상, 사파리 iOS 브라우저 버전 8 이상 등) 또는 그 조합 (예를 들어, iOS 버전 10 이상과 호환되는 모든 웹 브라우저) 을 특정할 수 있다. 다른 예에서, 스크린샷+에 대한 애플리케이션-특정 메타데이터는 상술한 바와 같이 애플리케이션 세션 상태를 재구성하려고 시도하는 애플리케이션의 상이한 버전에 대한 세션 상태 재생성을 위해 실행될 상이한 명령들을 특정하는 버전 표를 포함할 수 있다. UE 2가 새로운 애플리케이션이 설치될 필요가 있다고 결정하거나 기존의 애플리케이션이 애플리케이션-특정 메타데이터를 프로세싱하도록 업데이트될 필요가 있다고 결정하면, 블록 (974) 에서 UE 2 는 애플리케이션을 설치 또는 업데이트한다. 블록 (978) 에서, 애플리케이션 (예를 들어, 전술한 바와 같이 애플리케이션-특정 메타데이터에 기술된 애플리케이션 요건에 따라 애플리케이션 1 또는 애플리케이션 1에 필적하는 애플리케이션) 이 론칭되고, 그리고 블록 (982) 에서, 애플리케이션은 필터링된 애플리케이션-특정 메타데이터를 프로세싱하여 스크린샷+로부터 애플리케이션 1 세션 상태의 일부 또는 모든 특성을 재생성한다. 블록 (982) 에서 발생할 수 있는 프로세싱 유형의 예가 아래에서 보다 상세히 설명된다.
도 9를 참조하면, 블록 (986) 에서, UE 1 로부터 필터링된 스크린샷+를 수신한 이후의 어떤 시점에서, UE 4 는 (도 7의 블록 (705) 에서와 같이) 스크린샷+에 대한 필터링된 애플리케이션-특정 메타데이터에 기초하여 스크린샷+로부터 애플리케이션 1 세션 상태를 로딩하라는 요청을 수신한다. 스크린샷+에 대한 이미지 데이터를 사진 파일로 단순히 로딩하는 대신에, UE 2 와 관련하여 블록 (974) 에서 상술한 바와 같이, UE 4 는 스크린샷+에 대한 애플리케이션-특정 메타데이터를 프로세싱하기에 적합한 애플리케이션이 UE 4 에 대해 이용 가능한지 여부를 평가한다. UE 4가 새로운 애플리케이션이 설치될 필요가 있다고 결정하거나 기존의 애플리케이션이 애플리케이션-특정 메타데이터를 프로세싱하도록 업데이트될 필요가 있다고 결정하면, 블록 (990) 에서 UE 4 는 애플리케이션을 설치 또는 업데이트한다. 블록 (994) 에서, 애플리케이션 (예를 들어, 전술한 바와 같이 애플리케이션-특정 메타데이터에 기술된 애플리케이션 요건에 따라 애플리케이션 1 또는 애플리케이션 1에 필적하는 애플리케이션) 이 론칭되고, 그리고 블록 (998) 에서, 애플리케이션은 필터링되지 않은 애플리케이션-특정 메타데이터를 프로세싱하여 스크린샷+로부터 애플리케이션 1 세션 상태의 일부 또는 모든 특성을 재생성한다. 블록 (998) 에서 발생할 수 있는 프로세싱 유형의 예가 아래에서 보다 상세히 설명된다.
도 10 은 본 개시의 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성을 도시한다. 도 10에서, 도 9로부터의 UE 1은 스마트폰 (1005) 으로 도시되고, UE 4는 스마트폰 (1015) 으로 도시되며, 애플리케이션 1은 모바일 유튜브 애플리케이션에 대응한다. 디스플레이 스크린 (1010) 은 모바일 유튜브 애플리케이션이 총 길이 14:10 (14 분, 10 초) 인 비디오의 구체적으로 4:07 (4 분, 7 초) 시점에서 "Cat Video Compilation-2016"이라는 비디오를 실행하는 동안 촬영된 스크린샷+에 대한 이미지 데이터를 나타낸다. 디스플레이 스크린 (1010) 에 도시된 바와 같이, 비디오는 현재 113,555 총 뷰를 가지며, 관련 비디오 1 은 스마트폰 (1005) 의 사용자에게 제안되고 있고, 후원 비디오 1 은 스마트폰 (1005) 의 사용자에게 광고되고 있다.
스크린샷+에서 모바일 유튜브 애플리케이션의 세션 상태를 특징짓는 애플리케이션-특정 메타데이터 (1020) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID: 유튜브 (버전 6 이상)
URL (Uniform Resource Locator): https://youtu.be/abcdefg
비디오 시간: 4:07
애플리케이션-특정 메타데이터 (1020) 에 기초하여, 스마트폰 (1015) (필요한 경우) 은 모바일 유튜브 애플리케이션을 설치 또는 업데이트하고, URL "https://youtu.be/abcdefg"로 이동하고, 특정된 4:07 시점으로 직접 진행한다. 스마트폰 (1015) 에서의 모바일 유튜브 애플리케이션의 결과 세션 상태가 디스플레이 스크린 (1025) 에 도시된다. 스마트폰 (1015) 의 디스플레이 스크린 (1025) 에 도시된 모바일 유튜브 애플리케이션의 결과 세션 상태는 스마트폰 (1005) 의 디스플레이 스크린 (1010) 에 도시된 모바일 유튜브 애플리케이션의 초기 세션 상태와 동일하지 않으며, 이는 다양한 파라미터가 변경되었기 때문인 것을 알 것이다 (예를 들어, 조회수가 다르며 상이한 관련/후원 비디오가 제안/광고됨). 이에 따라서, 모바일 유튜브 애플리케이션의 초기 세션 상태의 각 특성들은 스마트폰 (1015) 에서 세션 상태 재생성의 일부로서 재생성될 필요가 없다 (하지만 이것은 특정 시나리오에서 발생할 수 있음).
도 11 은 본 개시의 다른 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성 (1100) 을 도시한다. 도 11에서, 도 9로부터의 UE 1은 컴퓨터 (1105) (예를 들어, 데스크탑 또는 랩톱 컴퓨터) 로 도시되고, UE 4는 대안적으로 스마트폰 (1115) 및 컴퓨터 (1125) (예를 들어, 데스크탑 또는 랩톱 컴퓨터) 로 도시되고, 그리고 애플리케이션 1은 웹 브라우저에 대응한다. 디스플레이 스크린 (1110) 은 웹 브라우저가 특정 웹페이지 (예를 들어, https://www.amazon.com/tennisrackets/...로 시작함, 이는 설명을 목적으로 하는 부분 URL 임) 를 디스플레이하는 동안 취해진 스크린샷+에 대한 이미지 데이터를 나타낸다. 보다 구체적으로, 사용자가 웹페이지 내에서 스크롤 다운하여 특정 테니스 라켓이 $99.99에 팔리고 있는 것으로 목록에 표시된다.
스크린샷+에서 모바일 유튜브 애플리케이션의 세션 상태를 특징짓는 애플리케이션-특정 메타데이터 (1135) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID: 전용 아마존 애플리케이션 (사용 가능한 경우) 또는 디폴트 웹 브라우저
URL: https://www.amazon.com/tennisrackets/...
애플리케이션-특정 메타데이터 (1135) 에 기초하여, 스마트폰 (1115) 은 전용 아마존 애플리케이션이 스마트폰 (1115) 상에 이미 설치되어 있는지 여부를 체크한다. 그렇다면, 전용 아마존 애플리케이션은 특정된 URL에 해당하는 제품 페이지를 로드하는데 사용된다. 그렇지 않다면, 디스플레이 스크린 (1120) 내에 도시된 바와 같이, 스마트폰 (1115) 상의 디폴트 웹 브라우저 (예를 들어, 모바일 웹 브라우저) 는 특정된 URL로 이동한다. 디스플레이 스크린 (1120) 에 도시된 바와 같은 스마트폰 (1115) 에서의 모바일 웹 브라우저의 결과적인 세션 상태는 스마트폰 (1105) 에서의 디스플레이 스크린 (1110) 에 도시된 바와 같은 웹 브라우저의 초기 세션 상태와 동일하지 않으며, 그 이유는 다양한 파라미터들이 변경되기 때문이다 (예를 들어, 스마트폰 (1115) 은 URL의 모바일 버전 등으로 리다이렉트된다).
전술한 바와 같이, 컴퓨터 (1125) 는 스마트폰 (1115) 에 추가하여 스크린샷+를 수신하는 또 다른 타겟 디바이스이다. 애플리케이션-특정 메타데이터 (1135) 에 기초하여, 컴퓨터 (1125) 는 전용 아마존 애플리케이션이 스마트폰 (1125) 상에 이미 설치되어 있는지 여부를 체크한다. 그렇다면, 전용 아마존 애플리케이션은 특정된 URL에 해당하는 제품 페이지를 로드하는데 사용된다. 그렇지 않다면, 디스플레이 스크린 (1130) 내에 도시된 바와 같이, 컴퓨터 (1125) 상의 디폴트 웹 브라우저 (예를 들어, 전체 기능 (full-featured) 또는 비-모바일 브라우저) 는 특정된 URL로 이동한다. 일 예에 있어서, 웹 사이트가 디스플레이 스크린 (1110) 상에 보여지고 있는 스크롤 위치는 또한 애플리케이션-특정 메타데이터 (1135) 의 일부로서 기록될 수 있어, 컴퓨터 (1125) 에서의 웹 브라우저는 특정된 URL을 로드할 수 있게 하고 스크린샷+에 의해 정의된 세션 상태를 보다 가깝게 재생성하기 위해 스크롤 바를 애플리케이션-특정 메타데이터 (1135) 에 기록된 것과 동일한 지점으로 시프트시키게 한다.
도 12a 는 본 개시의 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초하여 애플리케이션 세션 상태 재생성 (1200A) 을 도시한다. 도 12a에서, 도 9로부터의 UE 1은 스마트폰 (1205A) 으로 도시되고, UE 4는 스마트폰 (1215A) 으로 도시되며, 애플리케이션 1은 모바일 유튜브 애플리케이션에 대응한다. 디스플레이 스크린 (1210A) 은 모바일 구글 맵스 애플리케이션이 특정 타겟 주소 (예컨대, 백악관의 주소인, 1600 펜실베니아 애비뉴, 워싱턴, DC) 에 집중되는 동안 취해진 스크린샷+에 대한 이미지 데이터를 나타낸다.
스크린샷+에서 모바일 구글 맵스 애플리케이션의 세션 상태를 특징짓는 애플리케이션-특정 메타데이터 (1225A) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID: 구글 맵스
주소: 1600 펜실베니아 애비뉴, 워싱턴, DC
애플리케이션-특정 메타데이터 (1225A) 에 기초하여, 스마트폰 (1215A) 은 구글 맵스 애플리케이션 (예를 들어, 스마트폰 (1215A) 이 모바일 디바이스이기 때문에 모바일 구글 맵스 애플리케이션) 이 스마트폰 (1215A) 에 이미 설치되어 있는지 여부를 체크한다. 그렇지 않은 경우, 예를 들어 사용자에게 모바일 구글 맵스 애플리케이션을 다운로드하고 설치하라고 촉구되거나, 또는 대안으로 구글 맵스 애플리케이션이 자동으로 다운로드되어 설치된다. 그후 모바일 구글 맵스 애플리케이션은 1600 펜실베니아 애비뉴, 워싱턴, DC를 타겟 주소로 입력하는 애플리케이션-특정 메타데이터 (1225A) 를 프로세싱하여, 결과적으로 디스플레이 스크린 (1220A) 이 백악관을 중심으로 표시되도록 한다. 예를 들어, 백악관이 디스플레이 스크린 (1210A) 상에 보여지고 있는 줌 정보 (예를 들어, 특정 지리적 경계, 줌의 스케일 등) 는 또한 애플리케이션-특정 메타데이터 (1225A) 의 일부로서 기록될 수 있어, 스마트폰 (1215A) 에서의 모바일 구글 맵스 애플리케이션이 디스플레이 스크린 (1210A) 에서 타겟 주소의 도시에 상응하는 타겟 줌 레벨로 타겟 주소를 로드할 수 있게 한다.
도 12b 는 본 개시의 또 다른 실시형태에 따라, 도 9의 프로세스의 예시적인 실행에 기초하여 애플리케이션 세션 상태 재생성 (1200B) 을 도시한다. 도 12b에서, 도 9로부터의 UE 1은 스마트폰 (1205B) 으로 도시되고, UE 2는 컴퓨터 (1215B) (예를 들어, 데스크탑 또는 랩톱 컴퓨터) 로 도시되고, 애플리케이션 1은 모바일 구글 맵스 애플리케이션에 대응한다. 디스플레이 스크린 (1210B) 은 모바일 구글 맵스 애플리케이션이 특정 타겟 주소 (예컨대, 백악관의 주소인, 1600 펜실베니아 애비뉴, 워싱턴, DC) 에 집중되는 동안 취해진 스크린샷+에 대한 이미지 데이터를 나타낸다.
스크린샷+에서 모바일 구글 맵스 애플리케이션의 세션 상태를 특징짓는 필터링된 애플리케이션-특정 메타데이터 (1225B) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID: 구글 맵스
주소: 다운타운 워싱턴, DC
애플리케이션-특정 메타데이터 (1225B) 는 필터링된 것으로 특징지워 지는데, 그 이유는 1600 펜실베니아 애비뉴, 워싱턴, DC 의 보다 구체적인 주소가 애플리케이션-특정 메타데이터 (1225B) 로부터 가려져 있고 보다 일반적인 "다운타운 (Downtown)" 목적지로 교체되어 있기 때문이며, 이는 도 9의 UE 2와 관련된 블록 (935 및 945) 과 유사하다. 예를 들어, 1600 펜실베니아 애비뉴, 워싱턴, DC 는 스마트폰 (1205B) 의 현재 또는 미래 위치에 대응할 수 있으며, 이는 스마트폰 (1205B) 의 사용자가 반드시 컴퓨터 (1215B) 와 공유하기를 원하는 것은 아닐 수 있다 (예를 들어, 정확한 위치는 소셜 네트워크를 통해 또는 중간 신뢰 레벨의 친구와 공유되기를 원치않을 수도 있음).
필터링된 애플리케이션-특정 메타데이터 (1225B) 에 기초하여, 컴퓨터 (1215B) 는 구글 맵스-호환 애플리케이션이 컴퓨터 (1215B) 상에 이미 설치되어 있는지 여부를 체크한다. 이 경우, 컴퓨터 (1215B) 가 적절한 구글 맵스 애플리케이션으로서 자격이 있는 구글 맵스 웹사이트로 이동하는 디폴트 웹 브라우저를 결정한다고 가정한다. 이에 따라서, 디폴트 웹 브라우저 (예를 들어, 크롬 브라우저로 도시됨) 는 다운타운, 워싱턴, DC를 타겟 주소 (또는 타겟 영역) 로서 프로세싱하여, 결과적으로 디스플레이 스크린 (1220B) 이 다운타운 워싱턴, DC 를 중심으로 표시되도록 한다. 위에 언급된 메타데이터 필터링 덕분에, 디스플레이 스크린 (1220B) 내의 워싱턴, DC의 시각 (perspective) 은 디스플레이 스크린 (1210B) 에서의 모바일 구글 맵스 애플리케이션의 세션 상태에서 보다 구체적으로 정의된 주소의 도시에 비해 보다 줌-아웃된다.
도 13 은 본 개시의 다른 실시형태에 따른 도 9의 프로세스의 예시적인 실행에 기초한 애플리케이션 세션 상태 재생성 (1300) 을 도시한다. 도 13에서, 도 9로부터의 UE 1은 스마트폰 (1305) 으로 도시되고, UE 4는 스마트폰 (1315) 으로 도시되며, 애플리케이션 1은 모바일 위챗 (WeChat) 애플리케이션 (예를 들어, 그룹 메시징 애플리케이션) 에 대응한다. 디스플레이 스크린 (1310) 은 모바일 위챗 애플리케이션이 특정 채팅 그룹 "클래스메이트 (Classmates)" 간의 채팅 대화의 특정 섹션을 나타내는 동안 취해진 스크린샷+에 대한 이미지 데이터를 나타낸다.
스크린샷+에서 모바일 위챗 애플리케이션의 세션 상태를 특징짓는 애플리케이션-특정 메타데이터 (1325) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID: 위챗
URI (Uniform Resource Identifier): "클래스메이트" 그룹 채팅으로의 딥 링크
애플리케이션-특정 메타데이터 (1325) 에 기초하여, "Joe"라는 이름의 사용자에 의해 조작되는 것으로 가정된) 스마트폰 (1320) 은 위챗 애플리케이션 (예를 들어, 스마트폰 (1315) 이 모바일 디바이스이기 때문에 모바일 위챗 애플리케이션) 이 스마트폰 (1315) 상에 이미 설치되어 있는지를 체크한다. 모바일 위챗 애플리케이션이 설치되었다고 가정하면, 모바일 위챗 애플리케이션은 관련 채팅 이력을 로드하여 애플리케이션-특정 메타데이터 (1325) 의 URI에 특정된 딥 링크를 프로세싱하고, 디스플레이 스크린 (1320) 내에 도시된 바와 같이 스크린샷+에 도시된 채팅 이력의 부분으로 직접 이동한다. 디스플레이 스크린 (1320) 에 도시된 스마트폰 (1315) 에서의 모바일 위챗 애플리케이션의 결과적인 세션 상태는 스마트폰 (1305) 에서의 디스플레이 스크린 (1310) 에 도시된 모바일 위챗 애플리케이션의 초기 세션 상태와 동일하지 않으며, 그 이유는 다양한 파라미터들이 변경되었기 때문이다 (예를 들어, 스마트폰 (1320) 은 사용자 "Joe"에 등록되므로, 모바일 위챗 애플리케이션은 임의의 채팅 기여들이 "Joe"로부터의 것임을 표시하는 대신에 디스플레이 스크린 (1320) 에서 Joe로부터의 임의의 채팅 기여들을 "Me"로 표시되게 한다).
도 9 내지 도 13은 특정 스크린샷+과 연관된 애플리케이션-특정 메타데이터가 단일의 애플리케이션과 관련된 도 5 및 도 7의 프로세스의 예시적인 구현에 관한 것이지만, 도 5 및 도 7의 프로세스가 스크린샷+의 이미지 데이터 부분에 이미지 데이터를 기여하는 다수의 애플리케이션에 대한 애플리케이션-특정 메타데이터를 포함하는 스크린샷+에 관련되는 것도 또한 가능하며, 이는 도 14-16b와 관련하여 이제 설명될 것이다.
도 14 는 본 개시의 또 다른 실시형태에 따른 도 5 및 도 7의 프로세스의 예시적인 구현을 도시한다. 특히, 도 14는 다수의 애플리케이션이 스크린샷과 관련된 디스플레이 프레임의 섹션에 이미지 데이터를 기여하는 예를 도시하며, 스크린샷+에 대한 이들 다수의 애플리케이션들 중 2 이상과 관련된 애플리케이션-특정 메타데이터가 외부 타겟 디바이스와 공유된다. 일 예에 있어서, 이것은 다수의 애플리케이션들이 디스플레이 스크린에서 출력되고 있는 디스플레이 프레임의 스크린샷 영역에서 각각 보이는 개별 창 내에서 조작되고 있을 때 발생할 수 있다. 또한, 다른 애플리케이션들 (또는 동일한 애플리케이션들의 다른 인스턴스들) 이 이미지 데이터를 기여하는 스크린샷 영역 외부에 디스플레이 프레임 영역이 있는 것도 가능하다. 도 14는 또한, UE가 상술한 바와 같이 스크린샷+를 생성하기 위해 다른 UE의 디스플레이 스크린의 스냅샷을 취할 수 있는 시나리오와는 대조적으로, UE 1이 스크린샷+를 스스로 캡처하는 예를 나타낸다.
도 14를 참조하면, 블록 (1400) 에서, 애플리케이션들 1, 2 및 3 에 의해 기여된 이미지 데이터가 UE 1 의 디스플레이 스크린 상의 디스플레이 프레임에서 출력되고 있다. 블록 (1405) 에서, (예를 들어, 도 5의 블록 (500) 에서와 같이) 스크린샷 캡처 요청이 검출된다. 블록 (1410) 에서, UE 1 는 애플리케이션 3 의 현재 세션 상태를 정의하는 애플리케이션-특정 메타데이터가 획득될 수 없다고 결정한다. 일 예에 있어서, 애플리케이션 3에 대한 애플리케이션-특정 메타데이터는 애플리케이션 3이, (예를 들어, 디폴트 보안 설정이거나 또는 사용자-구성의 설정일 수 있는) 보안 예방 조치로 애플리케이션-특정 메타데이터가 공유되는 것을 허용하지 않는, 보호 애플리케이션으로 (예를 들어, UE 1의 OS에서의 보안 설정을 통해, 또는 애플리케이션 3 자체에 내장된 보안 설정을 통해) 구성되는 것에 기초하여 이용 불가능할 수도 있다. 다른 예에서, 애플리케이션 3에 대한 애플리케이션-특정 메타데이터는, 애플리케이션 3이 애플리케이션-특정 메타데이터의 공유를 지원하지 않는 레거시 애플리케이션이기 때문에 (예를 들어, 애플리케이션 3은 애플리케이션 3의 현재 세션 상태의 특성들을 재생성하는데 도움이 되는 정보를 공유하는 방법을 모르기 때문에) 이용 불가능할 수도 있다. 블록 (1415) 에서, 스크린샷+이 캡처됨으로써, 스크린샷+는 스크린샷 플러스 애플리케이션 1에 대한 애플리케이션-특정 메타데이터를 (예를 들어, 도 5의 블록 (505-515) 에서와 같이) 포함한다.
도 14를 참조하면, 블록 (1420) 에서, UE 1 은 스크린샷+를 UE들 2, 3 및 4 에 전송하라는 요청을 수신한다. 도 14의 실시형태에서, 설명의 편의상, 메타데이터 필터링이 수행되지 않는다고 가정한다 (예를 들어, 그 이유는 신뢰 레벨이 선택적인 메타데이터 필터링을 위해 사용되지 않거나 UE 1이 UE 2, 3 및 4에 대해 갖는 신뢰 레벨이 최고 신뢰 임계치보다 높거나 초과하기 때문이다). 그러나, 다른 실시형태들에서, 메타데이터 필터링은 도 9의 프로세스에서 서버 및 UE 2에 관해 상술한 바와 같이 UE들 2, 3 및 4 중 하나 이상에 대해 수행될 수 있음을 알 것이다. 블록 (1425) 에서, 스크린샷+에 대한 이미지 데이터는 애플리케이션 1 및 2에 대한 애플리케이션-특정 메타데이터와 함께 UE들 2, 3 및 4로 전송된다.
도 14를 참조하면, 블록 (1430) 에서, UE 1 로부터 스크린샷+를 수신한 이후의 어떤 시점에서, UE 2 는 스크린샷+에 대한 애플리케이션-특정 메타데이터에 기초하여 스크린샷+로부터 애플리케이션 1 세션 상태 및 애플리케이션 2 세션 상태를 로딩하라는 요청을 수신한다. 일 예에 있어서, 블록 (1430) 은 애플리케이션 세션 상태 모두를 구성하기 위한 요청을 도시하고 있지만, 스크린샷+는 블록 1450-1485와 관련하여 이하에서 설명되는 바와 같이, 애플리케이션-특정 메타데이터를 사용하여 선택적 애플리케이션 세션 상태 로딩 (예를 들어, 애플리케이션 1 세션 상태만 로딩, 애플리케이션 2 세션 상태만 로딩 등) 을 허용하도록 구성될 수 있다.
스크린샷+에 대한 이미지 데이터를 사진 파일로 단순히 로딩하는 대신에, UE 2는 스크린샷+에 도시된 애플리케이션 1 세션 상태 및 애플리케이션 2 세션 상태에 대한 애플리케이션-특정 메타데이터를 프로세싱하기에 적합한 애플리케이션이 UE 2에서 이용 가능한지 여부를 평가한다. UE 2가 애플리케이션 1 세션 상태 또는 애플리케이션 2 세션 상태 중 하나의 재생성을 위해 애플리케이션-특정 메타데이터를 프로세싱하도록 하나 이상의 새로운 애플리케이션이 설치될 필요가 있거나 하나 이상의 기존 애플리케이션이 업데이트되어야 할 필요가 있다고 결정하면, UE 2는 블록 (1435) 에서 애플리케이션(들)을 설치하거나 업데이트한다. 블록 (1440) 에서, 애플리케이션들 (예를 들어, 상술된 바와 같이 애플리케이션-특정 메타데이터에 기술된 애플리케이션 요건들에 따라 애플리케이션 1 및 2, 애플리케이션 1 및 2에 필적하는 애플리케이션, 또는 이들의 조합) 이 론칭되고, 블록 (1445) 에서, 애플리케이션은 스크린샷+으로부터 각각 애플리케이션 1 세션 상태 및 애플리케이션 2 세션 상태의 특성의 일부 또는 전부를 재생성하기 위해 애플리케이션-특정 메타데이터의 개별 애플리케이션 1 부분 및 애플리케이션 2 부분을 프로세싱한다. 블록 (1445) 에서 발생할 수 있는 프로세싱 유형의 예들이 아래에서 보다 상세히 설명된다.
도 14의 블록 (1445) 을 참조하면, 일 예에 있어서, UE 2 에서의 애플리케이션 1 세션 상태 및 애플리케이션 2 세션 상태의 재생성으로부터의 임의의 이미지 데이터를 도시하는 스크린 섹션들은 UE 1에서 캡처된 스크린샷에 도시된 유사한 스크린 부분들에 할당될 수 있다 (예를 들어, 스크린샷이 디스플레이 프레임의 좌측상의 애플리케이션 1 창 및 디스플레이 프레임의 우측상의 애플리케이션 2 창을 나타내는 경우, 이들 동일한 상대 위치들은 UE 2 상에서의 결과적인 애플리케이션 세션 상태 재생성들에서 유지될 수 있다). 상대 스크린 위치 데이터는, 일 예에 있어서, 애플리케이션-특정 메타데이터의 일부로서 전달될 수 있지만, 각각의 애플리케이션에 대한 상대 스크린 위치 데이터를 참조하지 않고 애플리케이션-특정 메타데이터가 구성되는 것도 가능하다.
도 14를 참조하면, 블록 (1450) 에서, UE 1 로부터 스크린샷+를 수신한 이후의 어떤 시점에서, UE 3 은 (예를 들어, 도 7의 블록 (705) 에서와 같이) 스크린샷+에 대한 애플리케이션-특정 메타데이터에 기초하여 스크린샷+로부터 애플리케이션 1 세션 상태를 로딩하라는 요청을 수신한다. 즉, UE 3은 애플리케이션 2 세션 상태를 재생성하는데 관심이 없다. 스크린샷+에 대한 이미지 데이터를 사진 파일로 단순히 로딩하는 대신에, UE 3은 스크린샷+에 도시된 애플리케이션 1 세션 상태에 대한 애플리케이션-특정 메타데이터를 프로세싱하기에 적합한 애플리케이션이 UE 3에서 이용 가능한지 여부를 평가한다. UE 3가 애플리케이션 1 세션 상태의 재생성을 위해 애플리케이션-특정 메타데이터를 프로세싱하도록 새로운 애플리케이션이 설치될 필요가 있거나 하나 이상의 기존 애플리케이션이 업데이트될 필요가 있다고 결정하면, UE 3은 블록 (1455) 에서 애플리케이션(들)을 설치하거나 업데이트한다. 블록 (1460) 에서, 애플리케이션 (예를 들어, 전술한 바와 같이 애플리케이션-특정 메타데이터에 기술된 애플리케이션 요건에 따라 애플리케이션 1 또는 애플리케이션 1에 필적하는 애플리케이션) 이 론칭되고, 그리고 블록 (1465) 에서, 애플리케이션은 애플리케이션-특정 메타데이터의 각각의 애플리케이션 1 부분을 프로세싱하여 스크린샷+로부터 애플리케이션 1 세션 상태의 일부 또는 모든 특성을 재생성한다. 블록 (1465) 에서 발생할 수 있는 프로세싱 유형의 예들이 아래에서 보다 상세히 설명된다.
도 14를 참조하면, 블록 (1470) 에서, UE 1 로부터 스크린샷+를 수신한 이후의 어떤 시점에서, UE 4 는 (예를 들어, 도 7의 블록 (705) 에서와 같이) 스크린샷+에 대한 애플리케이션-특정 메타데이터에 기초하여 스크린샷+로부터 애플리케이션 1 세션 상태를 로딩하라는 요청을 수신한다. 즉, UE 4 는 (블록 1450-1465에 도시된 바와 같이 UE 3과는 직접 대조적으로) 애플리케이션 1 세션 상태를 재생성하는 것에 관심이 없다. 스크린샷+에 대한 이미지 데이터를 사진 파일로 단순히 로딩하는 대신에, UE 4는 스크린샷+에 도시된 애플리케이션 2 세션 상태에 대한 애플리케이션-특정 메타데이터를 프로세싱하기에 적합한 애플리케이션이 UE 4에서 이용 가능한지 여부를 평가한다. UE 4가 애플리케이션 2 세션 상태의 재생성을 위해 애플리케이션-특정 메타데이터를 프로세싱하도록 새로운 애플리케이션이 설치될 필요가 있거나 하나 이상의 기존 애플리케이션이 업데이트될 필요가 있다고 결정하면, UE 4는 블록 (1475) 에서 애플리케이션(들)을 설치하거나 업데이트한다. 블록 (1480) 에서, 애플리케이션 (예를 들어, 전술한 바와 같이 애플리케이션-특정 메타데이터에 기술된 애플리케이션 요건에 따라 애플리케이션 1 또는 애플리케이션 1에 필적하는 애플리케이션) 이 론칭되고, 그리고 블록 (1485) 에서, 애플리케이션은 애플리케이션-특정 메타데이터의 각각의 애플리케이션 2 부분을 프로세싱하여 스크린샷+로부터 애플리케이션 2 세션 상태의 일부 또는 모든 특성을 재생성한다. 블록 (1485) 에서 발생할 수 있는 프로세싱 유형의 예들이 아래에서 보다 상세히 설명된다.
도 15a 는 본 개시의 실시형태에 따른 도 14의 프로세스의 예시적인 실행에 기초한 스크린샷+에 대한 애플리케이션-특정 메타데이터 생성을 도시한다. 도 15a에서, 도 14로부터의 UE 1은 디스플레이 스크린 (1510A) 을 갖는 컴퓨터 (1505A) 로서 도시되고, 애플리케이션 1은 디스플레이 스크린 (1510A) 의 창 (1515A) 에 도시된 바와 같이 1600, 펜실베니아 애비뉴, 워싱턴, DC 주변을 중심으로 하는 구글 맵스 URL에 있는 크롬 웹 브라우저에 대응하고, 그리고 애플리케이션 2는 디스플레이 스크린 (1510A) 의 창 (1520A) 에 도시된 바와 같이 "백악관"에 대한 구글 이미지 검색 URL에 대응하도록 이동되는 크롬 웹 브라우저의 다른 인스턴스에 대응한다. 예를 들어, 컴퓨터 (1505A) 를 동작시키는 사용자는 워싱턴 DC의 백악관을 보기 위해 여행을 리서치하고 있을 수 있다.
창 (1520A) 은 이미지 검색 결과들로부터의 하나의 특정 섬네일에 중심에 놓여지므로, 이 섬네일은 애플리케이션 2 애플리케이션-특정 메타데이터에서 초점의 오브젝트로서 식별 (또는 태그) 될 수 있다. 이에 따라서, 디스플레이 스크린 (1510A) 은 스크린샷+에 대한 이미지 데이터를 나타내고, 스크린샷+에서의 모바일 구글 맵스 애플리케이션의 세션 상태를 특징짓는 애플리케이션-특정 메타데이터 (1530) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID1: 구글 맵스
주소: 1600 펜실베니아 애비뉴, 워싱턴, DC
애플리케이션 ID2: 디폴트 웹 브라우저
URI: "백악관 사진"에 대한 구글 이미지 검색
초점의 오브젝트: 태그된 섬네일에서의 백악관 사진
상술한 바와 같이, 초점의 오브젝트 필드는 스크린샷+ 내의 애플리케이션 2 세션 상태에 대한 애플리케이션-특정 메타데이터에 추가될 수 있으며, 이는 애플리케이션 2 세션 상태가 애플리케이션 2 세션 상태에 대한 URI에 특정된 백악관 사진에 대한 이미지 검색 결과로 먼저 이동함으로써 재생성되도록, 그리고 그후 스크린샷+에 도시된 애플리케이션 2 세션 상태에서와 같이 태그된 섬네일로부터 특정 백악관 사진 상에 (예를 들어, 자동 스크롤 다운 또는 줌인에 의해) 결과 웹 페이지를 중심에 두게 함으로써 구성될 수 있다. 이 예에서, 백악관은 애플리케이션-특정 메타데이터의 일부로 포함될 수 있는 위치-특정 POI (point-of-interest) 정보의 예이다.
도 15b 는 본 개시의 실시형태에 따른 도 14의 프로세스의 예시적인 실행에 기초하여 도 15a 와 관련하여 상술한 스크린샷+에 대한 애플리케이션 세션 상태 재생성 절차를 도시한다. 도 15b에서, 도 14로부터의 UE 3은 디스플레이 스크린 (1505B) 을 갖는 스마트폰 (1500B) 으로 도시되고, 도 14로부터의 UE 2는 디스플레이 스크린 (1515B) 을 갖는 컴퓨터 (1510B) (예를 들어, 랩톱 또는 데스크탑 컴퓨터 등) 로 도시되고, 애플리케이션 1 및 애플리케이션 2 는 도 15a와 관련하여 전술한 바와 같이 구성된다.
도 15b를 참조하면, 스마트폰 (1500B) 은 도 15a와 관련하여 상술한 바와 같이 애플리케이션-특정 메타데이터 (1525A) 를 수신한다. 스마트폰 (1500B) 이 (예를 들어, 도 14의 블록 (1450) 에서와 같이) 애플리케이션 1 세션 상태만을 로딩하라는 요청을 수신한다고 가정한다. 이에 따라, 애플리케이션-특정 메타데이터 (1525A) 에 기초하여, 스마트폰 (1500B) 은 구글 맵스 애플리케이션 (예를 들어, 스마트폰 (1500B) 이 모바일 디바이스이기 때문에 모바일 구글 맵스 애플리케이션) 이 스마트폰 (1500B) 에 이미 설치되어 있는지 여부를 체크한다. 그렇지 않은 경우, 모바일 구글 맵스 애플리케이션이 다운로드되어 설치된다. 그후, 모바일 구글 맵스 애플리케이션은 1600 펜실베니아 애비뉴, 워싱턴, DC를 타겟 주소로 입력하는 애플리케이션-특정 메타데이터 (1525A) 의 애플리케이션 1 부분을 프로세싱하여, 결과적으로 디스플레이 스크린 (1505B) 이 백악관을 중심으로 표시되도록 한다. 일 예에 있어서, 백악관이 디스플레이 스크린 (1505B) 상에 보여지고 있는 줌 정보 (예를 들어, 특정 지리적 경계, 줌의 스케일 등) 는 또한 애플리케이션-특정 메타데이터 (1525A) 의 일부로서 기록될 수 있어, 스마트폰 (1500B) 에서의 모바일 구글 맵스 애플리케이션이 도 15a의 창 (1515A) 에서 타겟 주소의 도시에 상응하는 타겟 줌 레벨로 타겟 주소를 로드할 수 있게 한다.
도 15b를 참조하면, 컴퓨터 (1510B) 는 도 15a와 관련하여 상술한 바와 같이 애플리케이션-특정 메타데이터 (1525A) 를 수신한다. 컴퓨터 (1510B) 가 (예를 들어, 도 14의 블록 (1430) 에서와 같이) 애플리케이션 1 세션 상태 및 애플리케이션 2 세션 상태 모두를 로드하라는 요청을 수신한다고 가정한다. 이에 따라서, 애플리케이션-특정 메타데이터 (1525A) 에 기초하여, 컴퓨터 (1510B) 는 구글 맵스-호환 애플리케이션이 애플리케이션 1 세션 상태의 재생성을 위해 컴퓨터 (1510B) 상에 이미 설치되어 있는지 여부를 체크하고, 또한 웹 브라우저가 애플리케이션 2 세션 상태의 재생성을 위해 컴퓨터 (1510B) 상에 이미 설치되어 있는지 여부를 체크한다. 이 경우, 컴퓨터 (1510B) 가 애플리케이션 1 세션 상태의 재생성을 위한 적합한 구글 맵스 애플리케이션으로서 자격을 갖춘 구글 맵스 웹사이트로 이동하는 디폴트 웹 브라우저를 결정한다고 가정하며, 이 동일한 웹 브라우저는 이미 애플리케이션 2 세션을 재생성하기에 충분하다.
이에 따라서, 디폴트 웹 브라우저 (예를 들어, 크롬 브라우저로 도시됨) 는 애플리케이션-특정 메타데이터 (1525A) 를 프로세싱하여 창 (1520B) 에서 애플리케이션 1 세션 상태를 재생성하고 윈도우 (1525B) 에서 애플리케이션 2 세션 상태를 재생성한다. 특히, 창 (1525B) 은 관련 백악관 이미지 결과들이 있는 적절한 웹 페이지를 로딩할뿐만 아니라 그 웹페이지를 초점의 오브젝트 (즉, 도 15a에 도시된 바와 같은 스크린샷+의 애플리케이션 2 창으로부터의 태그된 섬네일) 주변에 중심을 두도록 하기 위해 애플리케이션-특정 메타데이터 (1525A) 를 프로세싱할 수 있다. 일 예에 있어서, 도 15b에 도시되지는 않았지만, 창 (1520B-1525B) 의 위치 배열이 각각의 디스플레이 스크린 내의 대응하는 창 (도 15b의 1515A 및 1520A) 과 정렬하도록, 애플리케이션-특정 메타데이터 (1525A) 는 각각의 창에 대한 상대 스크린 위치 데이터를 포함하도록 또한 구성된다.
도 16a 는 본 개시의 실시형태에 따른 스크린샷+에 대한 애플리케이션-특정 메타데이터 생성을 도시한다. 도 15a와 유사하게, 디스플레이 스크린 (1610A) 을 갖는 컴퓨터 (1605A) 가 도시된다. 디스플레이 스크린 (1610A) 은 1600, 펜실베니아 애비뉴, 워싱턴, DC 주변을 중심으로 하는 구글 맵스 URL에 있는 크롬 웹 브라우저를 나타내는 창 (1615A) 에 대응하고, 그리고 "백악관"에 대한 구글 이미지 검색 URL로 이동되는 크롬 웹 브라우저의 다른 인스턴스를 나타내는 창 (1620A) 에 대응한다. 예를 들어, 컴퓨터 (1605A) 를 동작시키는 사용자는 워싱턴, DC의 백악관을 보기 위해 여행을 리서치하고 있을 수 있다.
도 15a와는 달리, 블록 (1625A) 에 도시된 바와 같이, 사용자는 디스플레이 스크린 (1610A) 내의 스크린샷+를 창 (1615A) 에만 포함된 이미지 데이터로 제한하며, (창 (1620A) 를 포함하는) 임의의 외부 이미지 데이터는 스크린샷+로부터 배제된다. 이로 인해, 도 16a는 단일의 애플리케이션 (예를 들어, 창 (1615A) 을 생성하는 크롬 웹 브라우저) 에 의해 기여된 이미지 데이터가 스크린샷+에 캡처된다는 의미에서 도 9의 예시적인 구현을 나타낸다. 윈도우 OS-특정 예에서, 사용자는 마우스로 창 (1615A) 에서 마우스 왼쪽를 클릭한 다음, 키보드에서 ALT 및 Printscreen 키를 동시에 눌러 창-특정 스크린샷을 시작할 수 있다. 대안적으로, 스크린샷을 캡처하는 UE의 외부에 디스플레이 스크린 (1610A) 이 있는 스냅샷 예에서, 사용자는 UE를 디스플레이 스크린 (1610A) 에 더 가깝게 홀딩하거나 또는 창 (1620A) 를 캡처하지 않고도 창 (1615A) 을 줌인하여 스크린샷+에서 창 (1615A) 을 캡처할 수 있다.
이에 따라서, 창 (1615A) 은 스크린샷+에 대한 이미지 데이터를 나타내고, 스크린샷+에서의 웹 브라우저의 세션 상태를 특징짓는 애플리케이션-특정 메타데이터 (1635A) (또는 애플리케이션 세션 상태 메타데이터) 의 예는 다음과 같다:
애플리케이션 ID: 구글 맵스
주소: 1600 펜실베니아 애비뉴, 워싱턴, DC
도 16b 는 본 개시의 실시형태에 따라 도 16a 와 관련하여 상술한 스크린샷+에 대한 애플리케이션 세션 상태 재생성 절차를 도시한다. 도 15b와 유사하게, 디스플레이 스크린 (1615B) 을 포함하는 컴퓨터 (1610B) 와 함께, 디스플레이 스크린 (1605A) 을 갖는 스마트폰 (1600B) 이 도시되어 있다.
도 16b를 참조하면, 스마트폰 (1600B) 은 도 16a와 관련하여 상술한 바와 같이 애플리케이션-특정 메타데이터 (1630A) 를 수신한다. 스마트폰 (1600B) 이 (예를 들어, 도 9의 블록 (970) 또는 블록 (986) 에서와 같이) 애플리케이션 1 세션 상태만을 로딩하라는 요청을 수신한다고 가정한다. 이에 따라, 애플리케이션-특정 메타데이터 (1630A) 에 기초하여, 스마트폰 (1600B) 은 구글 맵스 애플리케이션 (예를 들어, 스마트폰 (1600B) 이 모바일 디바이스이기 때문에 모바일 구글 맵스 애플리케이션) 이 스마트폰 (1600B) 에 이미 설치되어 있는지 여부를 체크한다. 그렇지 않은 경우, 모바일 구글 맵스 애플리케이션이 다운로드되어 설치된다. 그후 모바일 구글 맵스 애플리케이션은 1600 펜실베니아 애비뉴, 워싱턴, DC를 타겟 주소로 입력하는 애플리케이션-특정 메타데이터 (1630A) 를 프로세싱하여, 결과적으로 디스플레이 스크린 (1605B) 이 백악관을 중심으로 표시되도록 한다. 일 예에 있어서, 백악관이 디스플레이 스크린 (1605B) 상에 보여지고 있는 줌 정보 (예를 들어, 특정 지리적 경계, 줌의 스케일 등) 는 또한 애플리케이션-특정 메타데이터 (1630A) 의 일부로서 기록될 수 있어, 스마트폰 (1600B) 에서의 모바일 구글 맵스 애플리케이션이 도 15a의 창 (1615A) 에서 타겟 주소의 도시에 상응하는 타겟 줌 레벨로 타겟 주소를 로드할 수 있게 한다.
도 16b를 참조하면, 컴퓨터 (1610B) 는 도 16a와 관련하여 상술한 바와 같이 애플리케이션-특정 메타데이터 (1630A) 를 수신한다. 컴퓨터 (1610B) 가 (예를 들어, 도 9의 블록 (970) 또는 블록 (986) 에서와 같이) 애플리케이션 1 세션 상태만을 로딩하라는 요청을 수신한다고 가정한다. 이에 따라서, 애플리케이션-특정 메타데이터 (1630A) 에 기초하여, 컴퓨터 (1610B) 는 애플리케이션 1 세션 상태의 재생성을 위해 컴퓨터 (1610B) 상에 이미 구글 맵스-호환 애플리케이션이 설치되어 있는지 여부를 체크한다. 이 경우, 컴퓨터 (1610B) 는 애플리케이션 1 세션 상태의 재생성을 위한 적절한 구글 맵스 애플리케이션으로서 자격이 있는 구글 맵스 웹사이트로 이동하는 디폴트 웹 브라우저를 결정한다고 가정한다. 이에 따라서, 디폴트 웹 브라우저 (예를 들어, 크롬 브라우저로 도시됨) 는 애플리케이션-특정 메타데이터 (1630A) 를 프로세싱하여 창 (1620B) 에서 애플리케이션 1 세션 상태를 재생성한다.
스크린샷 캡처와 관련하여 획득될 수 있고 애플리케이션 세션 상태의 일부 또는 모든 특성을 재생성하는데 사용되는 애플리케이션-특정 메타데이터의 예는 도 10-13 및 15a-16b 와 관련하여 상술한 바와 같으며, 이들 예는 단지 예시를 위한 것이며 제한하려는 것은 아니다. 애플리케이션 세션 상태를 재생성하는데 사용될 수 있는 애플리케이션-특정 메타데이터의 몇 가지 추가 예는 다음과 같다:
스크린샷+가 캡처된 경우. 소스 애플리케이션에 대한 세션 상태 설명 스크린샷+에서의 App. 세션 상태 메타데이터 소스 애플리케이션 세션 상태를 재생성하는 UE에서의 결과적인 세션 상태
1 소스 사용자와 타겟 사용자 간의 실시간 화상 통화 애플리케이션 ID: 모든 통신 애플리케이션 (예를 들어, 문자, 전화 통화, 화상 통화 등)
사용자 정보: 소스 및 타겟 사용자에 대한 연락처 정보 및/또는 사용자 ID
실시간 화상 통화의 정확한 파라미터는 재생성될 수 없다. 대신에, 화상 통화의 스크린샷+를 클릭함으로써, 통신 애플리케이션은 로드되고 소스 사용자, 타겟 사용자 또는 둘 다와 통신 세션 (예를 들어, 문자, 전화 통화, 화상 통화 등) 을 시작하는데 사용되어, 관련 사용자와의 일부 유형의 통신 세션이 재생성된다.
2 소스 사용자와 타겟 사용자 간의 실시간 화상 통화 애플리케이션 ID: 모든 통신 애플리케이션 (예를 들어, 문자, 전화 통화, 화상 통화 등)
사용자 정보: 화상 통화에서 식별 가능한 임의의 얼굴의 얼굴 식별 정보 (예를 들어, 소스 사용자, 타겟 사용자, 화상 통화에서 캡처중인 소스/타겟 사용자의 친구 또는 이들의 조합). 얼굴 식별 정보는 화상 통화의 이미지 데이터에서 추출되거나, 또는 대안으로 소스 또는 타겟 디바이스에서 미리 구성될 수 있다 (예를 들어, 소스 사용자는 애플리케이션-특정 메타데이터에 대한 사용자 정보를 채우는데 사용되는 디폴트 얼굴 인식 정보 등을 갖는다).
실시간 화상 통화의 정확한 파라미터는 재생성될 수 없다. 대신에, 화상 통화의 스크린샷+를 클릭함으로써, 통신 애플리케이션은 로드되고 소스 사용자, 타겟 사용자 또는 둘 다와 통신 세션 (예를 들어, 문자, 전화 통화, 화상 통화 등) 을 시작하는데 사용되어, 관련 사용자와의 일부 유형의 통신 세션이 재생성된다.
3 웹 브라우저가 위키피디아 웹페이지의 일부를 표시한다 애플리케이션 ID: 일반 온라인 검색
URI: 위키피디아 웹 페이지에 표시된 텍스트 내용의 일부 또는 전체의 문자열
디폴트 온라인 검색 엔진 (예를 들어, 구글) 은 웹 브라우저를 통해 로드되고 문자열을 검색하는데 사용된다.
4 매핑 애플리케이션은 원본 결과에서 줌아웃되어 원래 중심점에서 스크롤된 지도의 일 부분을 표시한다. 애플리케이션 ID: 원래의 매핑 애플리케이션 또는 대안으로 디바이스의 디폴트 매핑 애플리케이션

URI: 지도의 표시 부분에 있는 두 개 이상의 설정점에서 원본, 지리적 좌표 (예를 들어, 위도 및 경도 판독값) 의 주소, 각도 또는 줌 또는 줌%를 기준으로 한 위치 검색 결과
디폴트 매핑 애플리케이션 (예를 들어, 구글 맵스) 이 론칭되고 검색은 원래 입력된 주소 또는 위도/경도를 기반으로 수행될 수 있다. 원래 검색 및/또는 위도 및 경도 정보의 확대 비율에 대한 정보를 사용하여 지도를 재생성하는데 사용되는 중심점 및 줌량을 결정할 수 있다.

또한, 이미지 비교를 사용하여 스크린샷의 이미지를 매핑 애플리케이션의 이미지와 일치시켜 정확한 위치와 줌 레벨을 찾을 수 있다.
5 뮤직 플레이어에서 재생되는 노래의 가사 스크린의 스크린샷 애플리케이션 ID: 원래 뮤직 애플리케이션, 디폴트 뮤직 플레이어, 클라우드 기반의 음악 서비스 또는 음악 저장소.

URI:
가사 스크린;
아티스트, 앨범,
트랙 정보; 노래 또는 가사 디스플레이에서 특정 지점을 찾기 위한 표시된 가사로부터의 문자열; 및/또는
캡처한 시간을 취한다.
UE 음악 라이브러리는 일치하는 트랙을 검색한다. 발견되면, 해당 노래는 원래 뮤직 플레이어에서 사용할 수 있는 경우 론칭된다. 이용 가능하지 않다면, UE의 디폴트 뮤직 플레이어는 캡처된 노래의 포인트에서 그 노래에 대한 가사 스크린으로 론칭된다.
노래가 디바이스에서 발견되지 않으면, 디폴트 온라인 음악 서비스 (예를 들어, 스포티파이 (Spotify) 가 실행되고 노래가 검색된다. 대안으로, 음악 저장소 (예를 들어, 애플 뮤직 또는 플레이 뮤직) 에서 구입용 노래가 론칭될 수 있다.
6 온라인 구매 확인 애플리케이션 ID: 전용 쇼핑 애플리케이션 또는 디폴트 웹 브라우저.

URI:
주문 확인 페이지;
주문 ID;
제품 ID;
제품명; 및/또는
제품 URL;
이미지 URL;
이미지 파일명;
이미지 대체 텍스트;
페이지 텍스트.
쇼핑 애플리케이션 또는 디폴트 웹 브라우저는 다음 보기 중 하나로 열린다. 발신 UE로부터 페이지가 열리면, 사이트는 해당 고객을 위해 주문 확인 페이지로 열린다. 제품을 구매한 회사의 고객 서비스 담당자가 열면, 주문 확인서의 고객 서비스 보기가 열릴 것이다. 임의의 다른 UE로부터 열리면, 항목에 대한 표준 제품 정보 페이지가 열릴 것이다.
7 채팅 대화 애플리케이션 ID: 채팅 애플리케이션 (예를 들어, WhatsApp 또는 위챗)

URI:
채팅 애플리케이션;
채팅 그룹 식별자 또는 연락처 식별자;
식별된 연락처(들)에 대한 UE 소유자 연락처 정보;
채팅 세션을 위해 채팅 애플리케이션에 의해 전달된 문자;
OS의 복사 기능에서 유도된 문자; 및/또는
스크린샷의 광학 문자 인식 기술에서 유도된 문자.
채팅 애플리케이션이 론칭되고 사용자가 스크린샷을 캡처한 사람이 아니더라도 원래 대화의 구성원인 경우 채팅 대화에 참여하게 된다. 스크린샷이 캡처된 채팅에서의 위치에 대한 특정 정보를 애플리케이션이 제공하는 경우, 사용자는 (가능한 경우라면) 채팅의 해당 부분으로 이동할 것이다. 그렇지 않은 경우라면, 시스템은 애플리케이션의 검색 기능을 사용하여, 특정된 방법들 중 하나에서 메타데이터에 캡처된 문자와 일치하는 문자를 찾을 것이다. 대안으로, 사용자는 채팅 이력의 관련 부분 (예를 들어, 타겟 날짜-범위) 에 도움이 되는 정보를 입력하도록 촉구될 수 있다.
8 채팅 대화 애플리케이션 ID: 채팅 애플리케이션 (예를 들어, WhatsApp 또는 위챗)

URI:
채팅 애플리케이션;
그룹 또는 연락처;
UE 소유자 연락처 정보;
애플리케이션에 의해 전달된 문자;
OS의 복사 기능에서 유도된 문자; 및/또는
스크린샷의 광학 문자 인식 기술에서 유도된 문자.
디바이스의 채팅 애플리케이션 버전은 임의의 메타데이터를 이해하거나 프로세싱할 수 없다. 그러나, 디바이스는 적어도 애플리케이션 ID를 인식하고 채팅 애플리케이션을 로드하여, 사용자가 스크린샷+에 도시된 애플리케이션 세션 상태를 수동으로 재생성하려고 시도하게 할 수 있다. 이 경우, 애플리케이션 ID에 기초한 채팅 애플리케이션의 단순한 로딩은 애플리케이션 세션 상태 특성의 재생성을 구성한다.
9 마이크로소프트 워드 문서 애플리케이션 ID: 마이크로소프트 워드 (가능한 경우라면) 또는 디폴트 워드 프로세싱 애플리케이션

URI:
마이크로소프트 워드 문서명;
마이크로소프트 워드 문서의 위치 (예를 들어, 폴더 위치, 인터넷 위치 등);
마이크로소프트 워드 문서의 파일 크기.
마이크로소프트 워드 문서의 텍스트 (예를 들어, 마이크로소프트 워드로부터 또는 스크린샷+의 이미지 데이터의 OCR 기능을 통해 얻음); 및/또는
상이한 버전의 마이크로소프트 워드 및/또는 상이한 워드 프로세싱 애플리케이션에 대해 상이한 세션 상태 재생성 명령들을 특정하는 버전 표
워드 프로세싱 애플리케이션을 로드하고 버전 표와 비교한다. 애플리케이션 세션 상태 메타데이터는 버전 표에 특정된 로딩된 워드 프로세싱 애플리케이션에 대해 특정된 명령들에 따라 프로세싱된다.

예를 들어, 이들 명령들은 워드 문서 (가능한 경우라면) 를 식별하고 로드하도록 특정할 수 있다. 워드 문서를 식별할 수 없는 경우, 애플리케이션 세션 상태 메타데이터에 특정된 텍스트로 새로운 워드 문서를 채운다.

10 음악 애플리케이션 (예를 들어, 판도라 (Pandora), 스포티파이 (Spotify) 등) 이 테마 음악 스테이션용 노래를 재생중이다. 애플리케이션 ID: 판도라 (가능한 경우라면) 또는 디폴트 음악 재생 애플리케이션 (예를 들어, 판도라 구독 등이 없는 경우)

URI:
테마 음악 스테이션을 생성하기 위한 씨드 정보 (예를 들어, 씨드 노래, 씨드 아티스트, 씨드 음악 장르 등); 또는
스크린샷+에서 재생중인 노래에 대한 노래 정보+
판도라를 (예를 들어, 가능한 경우라면 독립형 애플리케이션을 통해, 그렇지 않으면 웹 브라우저를 통해) 로드한다. 판도라가 로드되면, 씨드 정보를 사용하여 테마 음악 스테이션을 생성한다.

판도라를 로드할 수 없는 경우, 대체 음악 재생 애플리케이션 (예를 들어, 스포티파이 등) 을 로드하고 씨드 정보를 사용하여 음악 스테이션을 생성한다. 가능하지 않으면, 노래 정보를 기반으로 노래를 단순히 재생한다.
11 비디오 게임 X가 전체 스크린 모드로 재생 중이다 (플레이어 아바타는 파워 검을 가지고 있으며 공주와 이야기하고 있다). 애플리케이션 ID: 비디오 게임 X

URI:
게임 세션 상태를 재생성하기 위해 사용자에게 제공되는 명령들을 포함하는 버전 표. 예는 다음과 같다:

비디오 게임 X의 버전 1 에 대해:
" 엘프 캐슬 1로 가서 왕에게 이야기하십시오. 왕이 당신에게 파워 검을 줄 것입니다. 일단 검을 가지고 계시다면, 공주님에게 이야기하십시오. "

비디오 게임 X의 버전 2 에 대해:
" 엘프 캐슬 2로 가서 왕에게 이야기하십시오. 왕이 퀘스트 1 에서 너를 보내어 파워 검을 얻을 것입니다. 퀘스트 1을 완료하여 검을 얻으십시오. 일단 파워 검을 얻었다면, 엘프 캐슬 2로 돌아가 공주님에게 이야기하십시오 ."
비디오 게임 X를 로드하고 버전-특정 게임 명령들을 텍스트 프롬프트로 사용자에게 표시하여 사용자가 캡처한 게임 세션 상태를 재생성하려면 무엇을 해야 할지 알게 한다.
표 1-애플리케이션-특정 메타데이터에 기반한 애플리케이션 세션 상태 재생성 예들
표 1은 애플리케이션 세션 상태 메타데이터 열에서 다양한 데이터 조합을 도시하지만, 각 데이터 엘리먼트는 임의의 조합으로 (함께 또는 개별적으로) 배치될 수 있다는 것을 알 수 있을 것이다. 예를 들어, 표 1의 예 #6에 있는 URI는 다양한 제품 관련 URI 파라미터들을 나열한다. 이들 동일한 URI 파라미터들은 웹 브라우저 (예를 들어, 구글 검색 등) 를 통해 일반적으로 검색하거나 또는 사이트-특정 검색 (예를 들어, Amazon.com 등) 을 실행함으로써 변경된 URL 이 있는 제품 (또는 다른 유형의 웹페이지) 를 위치시키기 위한 다른 콘텍스트에서도 사용될 수 있다. 예를 들어, 제품이 표 6의 예 #1 또는 #2의 화상 통화에 도시된 경우, 해당 제품과 관련된 제품-관련 URI 파라미터들이 애플리케이션-특정 메타데이터에 추가될 수도 있다. 다른 예로, 제품이 표 1의 예 #5 에서 노래 가사와 연관된다면 (예를 들어, 지미 뷔페의 "Margaritaville"은 다양한 열대 주류와 연관되어 있음), 해당 제품과 관련된 제품-관련 URI 파라미터들이 애플리케이션-특정 메타데이터 등에 추가될 수 있다.
당업자는 임의의 다양한 서로 다른 기술들 및 기법들을 이용하여 정보 및 신호들이 표현될 수도 있음을 인식할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압, 전류, 전자기파, 자계 또는 자성 입자, 광계 또는 광학 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
추가로, 당업자는 본 명세서에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자의 조합들로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호대체 가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능의 관점에서 상기 설명되었다. 그러한 기능이 하드웨어로서 구현될지 또는 소프트웨어로서 구현될지는 전체 시스템에 부과된 설계 제약들 및 특정 어플리케이션에 의존한다. 당업자는 설명된 기능을 각각의 특정 어플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 그러한 구현의 결정들이 본 개시의 범위로부터의 일탈을 야기하는 것으로서 해석되지는 않아야 한다.
본 명세서에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 기타 다른 구성물로서 구현될 수도 있다.
본 명세서에 개시된 실시형태들과 관련하여 설명된 방법들, 시퀀스들 및/또는 알고리즘들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 양자의 조합에서 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈가능 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말기 (예를 들어, UE) 에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말기에 별개의 컴포넌트들로서 상주할 수도 있다.
하나 이상의 예시적인 실시형태들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송될 수도 있다. 컴퓨터 판독가능 매체들은, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양자를 포함한다. 저장 매체들은, 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 한정이 아닌 예로서, 그러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 수록 또는 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
전술한 개시는 본 개시의 예시적인 실시형태들을 나타내지만, 첨부된 청구항들에 의해 정의된 바와 같은 본 개시의 범위로부터 일탈함없이, 다양한 변경들 및 수정들이 행해질 수 있음이 주목되어야 한다. 본 명세서에서 설명된 본 개시의 실시형태들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들은 임의의 특정 순서로 수행될 필요는 없다. 더욱이, 비록 본 개시의 엘리먼트들이 단수로 설명되거나 또는 청구될 수도 있지만, 그 단수로의 제한이 명시적으로 언급되지 않는다면, 복수가 고려된다.

Claims (30)

  1. 사용자 장비 (UE) 를 동작시키는 방법으로서,
    디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 캡처하라는 요청을 검출하는 단계;
    상기 요청이 검출될 때 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 적어도 일 부분에 기여하는 애플리케이션의 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성되는 애플리케이션-특정 메타데이터를 획득하는 단계;
    상기 요청에 응답하여 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 스크린샷을 선택적으로 캡처하는 단계; 및
    획득된 상기 애플리케이션-특정 메타데이터를 저장하는 단계를 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  2. 제 1 항에 있어서,
    상기 획득하는 단계는, 상기 애플리케이션-특정 메타데이터를:
    (i) 상기 애플리케이션,
    (ii) 상기 UE의 운영 체제,
    (iii) 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터,
    (iv) 외부 디바이스, 또는
    (v) 이들의 임의의 조합으로부터 획득하는, 사용자 장비 (UE) 를 동작시키는 방법.
  3. 제 1 항에 있어서,
    상기 디스플레이 스크린은 상기 UE의 일부이거나, 또는
    상기 디스플레이 스크린은 다른 UE의 일부이며, 상기 선택적으로 캡처하는 단계는 상기 UE의 카메라에 의해 캡처되는 상기 스크린샷을 상기 다른 UE의 디스플레이 스크린의 스냅샷으로서 캡처하는, 사용자 장비 (UE) 를 동작시키는 방법.
  4. 제 1 항에 있어서,
    상기 선택적으로 캡처하는 단계는 상기 스크린샷을 캡처하고, 그리고
    상기 저장하는 단계는 상기 획득된 애플리케이션-특정 메타데이터와 연관하여 캡처된 상기 스크린샷을 더 저장하는, 사용자 장비 (UE) 를 동작시키는 방법.
  5. 제 1 항에 있어서,
    상기 저장하는 단계 이후, 상기 애플리케이션-특정 메타데이터 및/또는 상기 요청에 응답하여 캡처되는 캡처된 스크린샷을 업데이트하는 단계를 더 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  6. 제 1 항에 있어서,
    업데이트하는 단계는:
    캡처된 상기 스크린샷의 크롭 부분과 연관된 상기 애플리케이션-특정 메타데이터의 일부를 제거하는 단계, 또는
    사용자가 제공한 보충 정보에 대한 응답으로 새로운 애플리케이션-특정 메타데이터를 추가하는 단계, 또는
    저장된 상기 애플리케이션-특정 메타데이터를 유지하면서 상기 캡처된 스크린샷을 삭제하는 단계, 또는
    상기 이미지 데이터에서 식별된 하나 이상의 정보 오브젝트들과 연관된 새로운 애플리케이션-특정 메타데이터를 추가하는 단계를 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  7. 제 1 항에 있어서,
    상기 선택적으로 캡처하는 단계는 상기 스크린샷을 캡처하고, 그리고:
    캡처된 상기 스크린샷은 상기 디스플레이 스크린 상에 출력되는 모든 이미지 데이터를 포함하는 전체-스크린 스크린샷이거나, 또는
    상기 캡처된 스크린샷은 상기 디스플레이 스크린 상에 출력되는 모든 이미지 데이터보다 적은 이미지 데이터를 포함하는 부분-스크린 스크린샷인, 사용자 장비 (UE) 를 동작시키는 방법.
  8. 제 1 항에 있어서,
    상기 애플리케이션은 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 일부 부분에 기여하는 복수의 애플리케이션들 중 하나인, 사용자 장비 (UE) 를 동작시키는 방법.
  9. 제 8 항에 있어서,
    상기 요청이 검출될 때 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 적어도 하나의 다른 부분에 기여하는 적어도 하나의 추가 애플리케이션의 적어도 하나의 추가 세션 상태를 정의하는 추가 애플리케이션-특정 메타데이터를 획득하는 단계를 더 포함하고,
    상기 저장하는 단계는 상기 애플리케이션에 대한 상기 획득된 애플리케이션-특정 메타데이터 및 상기 적어도 하나의 추가 애플리케이션에 대한 획득된 애플리케이션-특정 메타데이터 모두를 저장하는, 사용자 장비 (UE) 를 동작시키는 방법.
  10. 제 8 항에 있어서,
    적어도 하나의 추가 애플리케이션은 타겟 스크린샷 영역 외부의 섹션에서 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 적어도 하나의 다른 부분에 기여하고, 그리고
    상기 적어도 하나의 추가 애플리케이션에 대한 애플리케이션-특정 메타데이터는 저장되지 않는, 사용자 장비 (UE) 를 동작시키는 방법.
  11. 제 8 항에 있어서,
    적어도 하나의 추가 애플리케이션은 타겟 스크린샷 영역 내부의 섹션에서 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 적어도 하나의 다른 부분에 기여하고, 그리고
    상기 적어도 하나의 추가 애플리케이션은 애플리케이션-특정 메타데이터의 공유를 허용하지 않으며,
    상기 적어도 하나의 추가 애플리케이션에 대한 애플리케이션-특정 메타데이터는 저장되지 않는, 사용자 장비 (UE) 를 동작시키는 방법.
  12. 제 1 항에 있어서,
    상기 애플리케이션-특정 메타데이터는 URL (Uniform Resource Locator) 이 프로세싱되어야 하는 방식을 나타내는 2차 정보와 조합된 상기 URL 을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  13. 제 12 항에 있어서,
    상기 2차 정보는:
    상기 URL과 연관된 비디오의 재생을 시작하는 시점,
    상기 URL을 로딩하기 위한 하나 이상의 애플리케이션들의 하나 이상의 애플리케이션 식별자들,
    상기 URL과 연관된 웹 사이트 내의 하나 이상의 초점의 오브젝트, 또는
    이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  14. 제 1 항에 있어서,
    상기 애플리케이션은 지도 애플리케이션이고,
    상기 애플리케이션-특정 메타데이터는 주소, 지리적 좌표, 위치-특정 POI (point-of-interest) 정보, 줌의 정도, 또는 이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  15. 제 1 항에 있어서,
    상기 애플리케이션은 채팅 애플리케이션이고,
    상기 애플리케이션-특정 메타데이터는:
    채팅 세션의 특정 섹션을 식별하는 딥-링크 URI (Uniform Resource Identifier),
    상기 채팅 애플리케이션의 식별,
    채팅 그룹 식별자 또는 연락처 식별자,
    상기 연락처 식별자와 연관된 상기 연락처에 대해 상기 UE 상에 저장된 연락처 정보,
    상기 채팅 애플리케이션에 의해 채팅 세션 동안 교환된 문자,
    상기 UE의 운영 체제 (OS) 의 복사 기능으로부터 유도된 문자,
    상기 디스플레이 스크린 상에 출력된 상기 이미지 데이터 내에서 광학 문자 인식 (optical character recognition, OCR) 으로부터 유도된 문자, 또는
    이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  16. 제 1 항에 있어서,
    상기 애플리케이션은 화상 통화 애플리케이션이고,
    상기 애플리케이션-특정 메타데이터는:
    화상 통화에서의 하나 이상의 참가자들의 식별 정보,
    하나 이상의 애플리케이션 식별자들,
    상기 화상 통화와 연관된 하나 이상의 얼굴들의 얼굴 식별 정보, 또는
    이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  17. 제 1 항에 있어서,
    상기 애플리케이션은 음악 애플리케이션이고,
    상기 애플리케이션-특정 메타데이터는:
    가사, 아티스트, 앨범 및/또는 트랙 정보,
    노래의 현재 재생 시점을 나타내는 트랙 시간, 또는
    이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  18. 제 1 항에 있어서,
    상기 애플리케이션은 쇼핑 애플리케이션이고,
    상기 애플리케이션-특정 메타데이터는:
    주문 확인 페이지,
    주문 식별자,
    제품 식별자,
    제품명,
    제품 URL (Uniform Resource Locator),
    이미지 URL,
    이미지 대체 문자, 또는
    이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  19. 제 1 항에 있어서,
    상기 애플리케이션-특정 메타데이터는 상기 애플리케이션의 상기 세션 상태의 하나 이상의 특성들을 재생성하려고 시도중인 타겟 애플리케이션의 버전에 기초하여 상기 애플리케이션의 상기 세션 상태의 상기 하나 이상의 특성들을 재생성하기 위한 상이한 세트들의 명령들을 제공하도록 구성된 버전 표를 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  20. 사용자 장비 (UE) 를 동작시키는 방법으로서,
    스크린샷 캡처 요청이 이슈되었을 때 디스플레이 프레임 내의 이미지 데이터에 기여한 제 1 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터를 획득하는 단계;
    상기 애플리케이션-특정 메타데이터에 의해 정의된 상기 제 1 애플리케이션의 상기 세션 상태를 로딩하라는 요청을 검출하는 단계; 및
    상기 애플리케이션-특정 메타데이터에 의해 정의된 상기 세션 상태의 하나 이상의 특성들을 재생성하기 위해 상기 애플리케이션-특정 메타데이터를, 상기 요청에 응답하여 제 2 애플리케이션에 의해, 프로세싱하는 단계를 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  21. 제 20 항에 있어서,
    상기 애플리케이션-특정 메타데이터에 특정된 애플리케이션 요건을 검출하는 단계; 및
    상기 애플리케이션 요건에 응답하여, 상기 제 2 애플리케이션을 획득하기 위해 상기 UE에 새로운 애플리케이션을 설치하거나 기존 애플리케이션을 업데이트하는 단계를 더 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  22. 제 20 항에 있어서,
    상기 애플리케이션-특정 메타데이터는 상기 스크린샷 캡처 요청이 이슈되었을 때 상기 디스플레이 프레임 내의 이미지 데이터에 기여한 적어도 하나의 추가 애플리케이션의 적어도 하나의 추가 세션 상태를 추가로 정의하는, 사용자 장비 (UE) 를 동작시키는 방법.
  23. 제 20 항에 있어서,
    상기 스크린샷 캡처 요청에 응답하여 주어진 UE에서 캡처되는 캡처된 스크린샷을 획득하는 단계를 더 포함하고,
    상기 캡처된 스크린샷은 전체-스크린 스크린샷 또는 부분-스크린 스크린샷인, 사용자 장비 (UE) 를 동작시키는 방법.
  24. 제 20 항에 있어서,
    상기 스크린샷 캡처 요청에 응답하여 주어진 UE에서 캡처되는 캡처된 스크린샷을 획득하는 단계를 더 포함하고,
    상기 UE는 상기 캡처된 스크린샷을 캡처한 상기 주어진 UE와 상이하거나, 또는
    상기 UE는 상기 캡처된 스크린샷을 캡처한 상기 주어진 UE에 대응하는, 사용자 장비 (UE) 를 동작시키는 방법.
  25. 제 20 항에 있어서,
    상기 획득하는 단계 이후, 상기 애플리케이션-특정 메타데이터 및/또는 캡처된 상기 애플리케이션-특정 메타데이터와 연관하여 수신되는 캡처된 스크린샷을 업데이트하는 단계를 더 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  26. 제 20 항에 있어서,
    상기 애플리케이션-특정 메타데이터는 상기 제 2 애플리케이션의 버전에 기초하여 상기 제 1 애플리케이션의 상기 세션 상태의 하나 이상의 특성들을 재생성하기 위한 버전-특정 명령들을 제공하도록 구성되는 버전 표를 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  27. 제 20 항에 있어서,
    상기 애플리케이션-특정 메타데이터는 URL (Uniform Resource Locator) 이 상기 제 2 애플리케이션에 의해 프로세싱되어야 하는 방식을 나타내는 2차 정보와 조합된 상기 URL 을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  28. 제 27 항에 있어서,
    상기 2차 정보는:
    상기 URL과 연관된 비디오의 재생을 시작하는 시점,
    상기 URL을 로딩하기 위한 하나 이상의 애플리케이션들의 하나 이상의 애플리케이션 식별자들,
    상기 URL과 연관된 웹 사이트 내의 하나 이상의 초점의 오브젝트, 또는
    이들의 임의의 조합을 포함하는, 사용자 장비 (UE) 를 동작시키는 방법.
  29. 사용자 장비 (UE) 로서,
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는:
    디스플레이 스크린 상에 출력되는 이미지 데이터의 스크린샷을 캡처하라는 요청을 검출하고;
    상기 요청이 검출될 때 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 적어도 일 부분에 기여하는 애플리케이션의 세션 상태의 하나 이상의 특성들의 재생성을 용이하게 하도록 구성되는 애플리케이션-특정 메타데이터를 획득하고;
    상기 요청에 응답하여 상기 디스플레이 스크린 상에 출력되는 상기 이미지 데이터의 스크린샷을 선택적으로 캡처하고; 그리고
    획득된 상기 애플리케이션-특정 메타데이터를 저장하도록 구성되는, 사용자 장비 (UE).
  30. 사용자 장비 (UE) 로서,
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는:
    스크린샷 캡처 요청이 이슈되었을 때 디스플레이 프레임 내의 이미지 데이터에 기여한 제 1 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터를 획득하고;
    상기 애플리케이션-특정 메타데이터에 의해 정의된 상기 제 1 애플리케이션의 상기 세션 상태를 로딩하라는 요청을 검출하고; 그리고
    상기 애플리케이션-특정 메타데이터에 의해 정의된 상기 세션 상태의 하나 이상의 특성들을 재생성하기 위해 상기 애플리케이션-특정 메타데이터를, 상기 요청에 응답하여 제 2 애플리케이션에 의해, 프로세싱하도록 구성되는, 사용자 장비 (UE).

KR1020197012952A 2016-11-07 2017-08-21 캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것 KR20190072558A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662418501P 2016-11-07 2016-11-07
US62/418,501 2016-11-07
US15/607,414 US10824594B2 (en) 2016-11-07 2017-05-26 Associating a captured screenshot with application-specific metadata that defines a session state of an application contributing image data to the captured screenshot
US15/607,414 2017-05-26
PCT/US2017/047728 WO2018084911A1 (en) 2016-11-07 2017-08-21 Associating a captured screenshot with application-specific metadata that defines a session state of an application contributing image data to the captured screenshot

Publications (1)

Publication Number Publication Date
KR20190072558A true KR20190072558A (ko) 2019-06-25

Family

ID=62063983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197012952A KR20190072558A (ko) 2016-11-07 2017-08-21 캡처된 스크린샷에 이미지 데이터를 기여하는 애플리케이션의 세션 상태를 정의하는 애플리케이션-특정 메타데이터와 캡처된 스크린샷을 연관시키는 것

Country Status (8)

Country Link
US (2) US10824594B2 (ko)
EP (1) EP3535654A1 (ko)
JP (1) JP2020504855A (ko)
KR (1) KR20190072558A (ko)
CN (1) CN109906445A (ko)
BR (1) BR112019009079A2 (ko)
CA (1) CA3042637A1 (ko)
WO (1) WO2018084911A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102141860B1 (ko) * 2019-08-05 2020-08-06 (주)동양시스컴 Mns 장치 및 그 장치의 구동방법

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120542B2 (en) 2014-10-08 2018-11-06 International Business Machines Corporation Reproducing state of source environment when image was screen captured on a different computing device using resource location, resource navigation and positional metadata embedded in image
WO2016168983A1 (en) * 2015-04-21 2016-10-27 Guangzhou Ucweb Computer Technology Co., Ltd. Method and electronic device for displaying web page
US11036345B2 (en) * 2017-03-22 2021-06-15 Yuval PRAG System and method for on-screen graphical user interface encapsulation and reproduction
US10783320B2 (en) 2017-05-16 2020-09-22 Apple Inc. Device, method, and graphical user interface for editing screenshot images
CN107241644B (zh) * 2017-05-31 2018-09-07 腾讯科技(深圳)有限公司 一种视频直播过程中的图像处理方法和装置
US20190065032A1 (en) * 2017-08-23 2019-02-28 Lanjia Lin Method and system for capturing, storing, and recreating current state of an application
US10635748B2 (en) * 2017-12-14 2020-04-28 International Business Machines Corporation Cognitive auto-fill content recommendation
KR20190102587A (ko) * 2018-02-26 2019-09-04 엘지전자 주식회사 이동 단말기 및 그 동작방법
US10819789B2 (en) * 2018-06-15 2020-10-27 At&T Intellectual Property I, L.P. Method for identifying and serving similar web content
US20200004522A1 (en) * 2018-06-27 2020-01-02 Hewlett Packard Enterprise Development Lp Selective download of a portion of a firmware bundle
KR102629139B1 (ko) 2018-09-21 2024-01-26 삼성전자주식회사 멀티미디어 콘텐트를 캡쳐하는 전자 장치 및 방법
US10880433B2 (en) 2018-09-26 2020-12-29 Rovi Guides, Inc. Systems and methods for curation and delivery of content for use in electronic calls
US10739935B2 (en) * 2018-11-16 2020-08-11 International Business Machines Corporation Review of previously displayed content
CN110121144B (zh) * 2019-04-02 2021-10-08 西安极蜂天下信息科技有限公司 地理位置信息的分享方法及装置
US11039173B2 (en) * 2019-04-22 2021-06-15 Arlo Technologies, Inc. Method of communicating video from a first electronic device to a second electronic device via a network, and a system having a camera and a mobile electronic device for performing the method
CN110460722B (zh) * 2019-07-31 2021-11-30 维沃移动通信有限公司 一种屏幕显示方法及移动终端
US11165726B2 (en) * 2019-10-23 2021-11-02 Sap Se Contextual sharing for screen share
WO2021087176A1 (en) * 2019-10-29 2021-05-06 Waagu Inc. Smart trigger initiated collaboration platform
CN111090489B (zh) * 2019-12-26 2023-10-20 维沃移动通信有限公司 一种信息控制方法及电子设备
KR20210087788A (ko) * 2020-01-03 2021-07-13 엘지전자 주식회사 이미지 콘텍스트 처리
CN111221455B (zh) 2020-01-06 2022-03-04 北京字节跳动网络技术有限公司 素材展示方法、装置、终端及存储介质
CN111343512B (zh) * 2020-02-04 2023-01-10 聚好看科技股份有限公司 信息获取方法、显示设备及服务器
WO2021171771A1 (ja) * 2020-02-28 2021-09-02 ソニーグループ株式会社 情報処理装置、ネットワーク機器、情報処理方法、プログラム
CN111415266B (zh) * 2020-03-17 2023-07-18 百度在线网络技术(北京)有限公司 应用程序的分享方法及装置、电子设备、可读介质
US11341205B1 (en) * 2020-05-20 2022-05-24 Pager Technologies, Inc. Generating interactive screenshot based on a static screenshot
CN111796787B (zh) * 2020-06-30 2022-07-26 联想(北京)有限公司 一种显示方法及显示装置
US11750572B2 (en) * 2020-08-12 2023-09-05 Capital One Services, Llc System, method, and computer-accessible medium for hiding messages sent to third parties
EP4060511A1 (en) * 2021-03-18 2022-09-21 Vestel Elektronik Sanayi ve Ticaret A.S. Screenshot management system, electronic device, method
CN115220609A (zh) * 2021-03-29 2022-10-21 北京小米移动软件有限公司 信息处理方法及装置、终端设备及存储介质
US11803695B1 (en) * 2021-03-29 2023-10-31 Plus Docs Inc. Dynamic sharable web clippings
CN113938631B (zh) * 2021-11-29 2023-11-03 青岛信芯微电子科技股份有限公司 一种基准监视器、图像帧截取方法及系统
KR20240026591A (ko) * 2022-08-22 2024-02-29 삼성전자주식회사 디스플레이 장치, 전자 장치 및 그 동작 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195963A1 (en) * 2002-04-10 2003-10-16 Yu Song Session preservation and migration among different browsers on different devices
US8826116B2 (en) 2004-09-24 2014-09-02 International Business Machines Corporation Creating annotations of transient computer objects
GB0607763D0 (en) * 2006-04-20 2006-05-31 Ibm Capturing image data
JP4906072B2 (ja) 2006-05-01 2012-03-28 キヤノン株式会社 情報処理装置ならびに情報処理方法
WO2008154448A2 (en) 2007-06-08 2008-12-18 Apple Inc. Application-based backup-restore of electronic information
KR101502013B1 (ko) * 2008-12-24 2015-03-12 엘지전자 주식회사 이동 단말기 및 이동 단말기의 위치기반서비스 제공방법
US20110202854A1 (en) 2010-02-17 2011-08-18 International Business Machines Corporation Metadata Capture for Screen Sharing
US8954597B2 (en) 2010-06-28 2015-02-10 Hulu, LLC Method and apparatus for synchronizing paused playback across platforms
JP2012058856A (ja) * 2010-09-06 2012-03-22 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
US8473577B2 (en) 2010-10-13 2013-06-25 Google Inc. Continuous application execution between multiple devices
US8589423B2 (en) 2011-01-18 2013-11-19 Red 5 Studios, Inc. Systems and methods for generating enhanced screenshots
EP2487871A1 (en) 2011-02-11 2012-08-15 Telefónica, S.A. Method and system for transmission of application status between different devices
US8938683B2 (en) 2012-09-11 2015-01-20 Ebay Inc. Visual state comparator
CA2872137A1 (en) 2013-02-06 2014-08-14 Square Enix Holdings Co., Ltd. Game system, game apparatus, a method of controlling the same, a program, and a storage medium
US9165207B2 (en) 2013-02-25 2015-10-20 Google Inc. Screenshot orientation detection
US20140301645A1 (en) * 2013-04-03 2014-10-09 Nokia Corporation Method and apparatus for mapping a point of interest based on user-captured images
US20150324067A1 (en) * 2014-05-07 2015-11-12 Honda Motor Co., Ltd. Vehicle infotainment gateway - multi-application interface
US9459889B2 (en) * 2014-05-19 2016-10-04 Qualcomm Incorporated Systems and methods for context-aware application control
US9830167B2 (en) * 2014-08-12 2017-11-28 Linkedin Corporation Enhancing a multitasking user interface of an operating system
RU2595557C2 (ru) 2014-09-17 2016-08-27 Общество с ограниченной ответственностью "Аби Девелопмент" Выявление снимков экрана на изображениях документов
US20160099984A1 (en) * 2014-10-03 2016-04-07 Across Lab, Inc. Method and apparatus for remote, multi-media collaboration, including archive and search capability
US9795879B2 (en) * 2014-12-31 2017-10-24 Sony Interactive Entertainment America Llc Game state save, transfer and resume for cloud gaming
US9497312B1 (en) * 2015-02-17 2016-11-15 Amazon Technologies, Inc. Dynamic unlock mechanisms for mobile devices
JP2018517197A (ja) * 2015-03-31 2018-06-28 カルガリー サイエンティフィック インコーポレイテッド 層状スクリーンコンテンツのキャプチャ方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102141860B1 (ko) * 2019-08-05 2020-08-06 (주)동양시스컴 Mns 장치 및 그 장치의 구동방법

Also Published As

Publication number Publication date
US20180129657A1 (en) 2018-05-10
CN109906445A (zh) 2019-06-18
BR112019009079A2 (pt) 2019-07-16
JP2020504855A (ja) 2020-02-13
EP3535654A1 (en) 2019-09-11
US20200356530A1 (en) 2020-11-12
CA3042637A1 (en) 2018-05-11
WO2018084911A1 (en) 2018-05-11
US10824594B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
US20200356530A1 (en) Associating a captured screenshot with application-specific metadata that defines a session state of an application contributing image data to the captured screenshot
US8140570B2 (en) Automatic discovery of metadata
CN109241347B (zh) 用于内容反应注释的系统和方法
US9313318B2 (en) Adaptive media object reproduction based on social context
KR101526837B1 (ko) 클라이언트 디바이스들 간에 데이터를 교환하기 위한 방법, 시스템 및 장치
KR102338752B1 (ko) 음성 구동 동적 메뉴들
EP2444929A1 (en) Portable electronic device and method and social network and method for sharing content information
US9641761B2 (en) Electronic device for playing-playing contents and method thereof
US11301584B2 (en) Automated personalized out-of-the-box and ongoing in-application settings
KR102467015B1 (ko) 옵트아웃 인터스티셜을 이용한 미디어 컬렉션 탐색
US11675831B2 (en) Geolocation based playlists
US11799930B2 (en) Providing related content using a proxy media content item
US11460974B1 (en) Content discovery refresh
US10460698B2 (en) Method for rendering an electronic content on a rendering device
US20170109365A1 (en) File processing method, file processing apparatus and electronic equipment
JP6204957B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US10296532B2 (en) Apparatus, method and computer program product for providing access to a content
KR102289293B1 (ko) 전자장치에서 콘텐츠 재생 방법 및 장치
KR102165339B1 (ko) 전자장치에서 콘텐츠 재생 방법 및 장치
US20240028641A1 (en) Discovery of music source for music listening services
US20240028642A1 (en) Recommending new musical tracks for playlists
KR101679390B1 (ko) 태그 기반 컨텐츠 목록 제공 방법 및 이를 위한 장치
KR102050594B1 (ko) 전자장치에서 콘텐츠 재생 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application