KR102575541B1 - 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체 - Google Patents

이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체 Download PDF

Info

Publication number
KR102575541B1
KR102575541B1 KR1020207031971A KR20207031971A KR102575541B1 KR 102575541 B1 KR102575541 B1 KR 102575541B1 KR 1020207031971 A KR1020207031971 A KR 1020207031971A KR 20207031971 A KR20207031971 A KR 20207031971A KR 102575541 B1 KR102575541 B1 KR 102575541B1
Authority
KR
South Korea
Prior art keywords
capturing
application
image output
image
captured
Prior art date
Application number
KR1020207031971A
Other languages
English (en)
Other versions
KR20210005048A (ko
Inventor
솅 가오
리 리우
유에 마
지아시옹 청
씬 통
지에보 마
Original Assignee
비고 테크놀로지 피티이. 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비고 테크놀로지 피티이. 엘티디. filed Critical 비고 테크놀로지 피티이. 엘티디.
Publication of KR20210005048A publication Critical patent/KR20210005048A/ko
Application granted granted Critical
Publication of KR102575541B1 publication Critical patent/KR102575541B1/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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
    • G06F9/451Execution arrangements for user interfaces
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시 내용에서 이미지를 캡처하기 위한 방법이 제시된다. 상기 방법은, 실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하는 단계 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화하도록 구성됨 ―; 상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계; 및 상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함한다. 또한, 본 개시 내용은 단말기 및 저장 매체를 제시한다.

Description

이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체
본 개시 내용은 비디오 프로세싱 기술 분야에 관한 것이며, 더욱 상세하게는 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체에 관한 것이다.
본 개시 내용은 출원번호가 201810412069.3이고 출원일이 2018년 4월 28일이고 발명의 명칭이 "IMAGE CAPTURING METHOD AND TERMINAL"인 중국 특허 출원에 대한 우선권을 주장하는 출원일이 2018년 12월 27일이고 국제출원번호가 PCT/CN2018/124506인 국제출원의 국내단계이며, 이의 전체 내용은 여기에 참조로서 통합된다.
라이브 비디오 스트리밍이 부상하면서, 점점더 많은 비디오 게임 라이브 스트리밍 플랫폼들이 론칭되고 있다. 대부분의 라이브 스트리밍 비디오 게임들은 윈도우즈 플랫폼에 기반하고 있다. 비디오 게임을 라이브 스트리밍하기 위해, 비디오 게임 이미지들은 먼저 캡처될 필요가 있고, 그 다음에 비디오 스트림들로 인코딩되고, 소정의 방식으로 라이브 스트리밍 플랫폼 서버로 푸시(push)된다. 이제 많은 라이브 스트리밍 플랫폼들은 위의 기능들을 수행하기 위해 오픈 브로드캐스터 소프트웨어(OBS: Open Broadcaster Software)를 이용하고 있다.
삭제
본 개시 내용은 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체를 제공한다.
제 1 양상에서, 본 개시 내용은 이미지를 캡처하기 위한 방법을 제공한다. 상기 방법은:
실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하는 단계 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화(characterize)하도록 구성됨 ―;
상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계; 및
상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함한다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
다른 양상에서, 본 개시 내용은 단말기를 제공한다. 상기 단말기는:
실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하도록 구성되는 검출 유닛 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화하도록 구성됨 ―;
상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 구성되는 캡처링 유닛을 포함한다.
상기 캡처링 유닛은, 상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 추가적으로 구성된다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
또다른 양상에서, 본 개시 내용은 다른 단말기를 제공한다. 상기 단말기는 프로세서 및 서로에 대하여 연결되는 메모리를 포함하고, 상기 메모리는 적어도 하나의 애플리케이션 프로그램 코드를 저장하도록 구성된다. 단말기 상에서 실행될 때, 적어도 하나의 애플리케이션 프로그램 코드는 프로세서가 방법의 단계들을 수행할 수 있게 한다. 상기 단계들은,
실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하는 단계 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화하도록 구성됨 ―;
상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계; 및
상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함한다.
또다른 양상에서, 본 개시 내용은 프로그램 명령들을 포함하는 적어도 하나의 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 저장 매체를 제공하며, 프로세서에 의해 실행될 때, 상기 컴퓨터 프로그램은 상기 프로세서가 위에서 정의된 바와 같은 이미지를 캡처하기 위한 방법을 수행할 수 있게 한다.
또다른 양상에서, 본 개시 내용은 적어도 하나의 이미지 캡처링 명령을 포함하는 컴퓨터 프로그램을 제공하며, 컴퓨터 상에서 실행될 때, 상기 컴퓨터 프로그램은 상기 컴퓨터가 제 1 양상에서 정의된 바와 같은 이미지를 캡처하기 위한 방법을 수행할 수 있게 한다.
삭제
도 1은 본 개시 내용에 따른 이미지를 캡처하기 위한 방법의 도식적인 플로우차트이다.
도 2는 본 개시 내용에 따른 윈도우 캡처링 방식으로 GDI 렌더링 기술에 의해 렌더링된 이미지를 캡처하는 도식적인 플로우차트이다.
도 3은 본 개시 내용에 따른 제 1 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 도식적인 플로우차트이다.
도 4는 본 개시 내용에 따른 제 2 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 도식적인 플로우차트이다.
도 5는 본 개시 내용에 따른 단말기의 도식적인 블록 다이어그램이다.
도 6은 본 개시 내용에 따른 다른 단말기의 도식적인 블록 다이어그램이다.
본 개시 내용은 본 개시 내용의 기술적 해결책들을 명확하고 완전하게 제시하기 위해 첨부되는 도면들과 관련하여 아래에서 상세하게 설명될 것이다. 설명되는 실시예들은 실시예들 모두가 아니라 단지 본 개시 내용의 실시예들의 일부임은 명백하다. 본 개시 내용의 실시예들에 기초하여, 임의의 창조적인 작업을 함이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 획득되는 다른 실시예들 모두는 본 개시 내용의 보호 범위 내에 있다.
본 명세서 및 첨부된 청구항들에서 사용될 때, 용어들 "포함하다(comprise)" 및 "포함하다(include)"는 설명된 특징들, 통합, 단계들, 오퍼레이션들, 엘리먼트들 및/또는 컴포넌트들의 존재에 대하여 참조가 이루어질 수 있지만, 하나 이상의 다른 특징들, 통합, 단계들, 오퍼레이션들, 엘리먼트들 및/또는 컴포넌트들 및/또는 이들의 컬렉션의 존재 또는 부가를 배제하지 않음을 이해해야 할 것이다.
본 명세서에서 사용되는 용어들은 단지 특정한 실시예들을 설명하기 위한 목적이며 본 개시 내용을 제한하고자 의도된 것이 아님을 또한 이해해야 할 것이다. 본 명세서 및 첨부된 청구항들에서 사용되는 바와 같이, 문맥이 명백하게 그렇지 않음을 표시하지 않는한, 단수 형태 "a", "an" 및 "the"는 또한 복수 형태를 포함하도록 의도된다.
본 명세서 및 첨부된 청구항들에서 사용되는 용어 "및/또는"은 연관된 나열된 아이템들 중 하나 이상의 아이템의 임의의 그리고 모든 가능한 조합들을 지칭하며 이러한 조합들을 포함한다는 것을 추가적으로 이해해야 할 것이다.
본 명세서 및 첨부된 청구항들에서 사용되는, 용어 "경우에(if)"는 문맥에 따라서 "할 때(when)" 또는 "시에(upon)" 또는 "결정에 응답하여(in response to determining)" 또는 "검출에 응답하여(in response to detecting)"를 의미하도록 해석될 수 있다. 유사하게, 구절 "결정되는 경우에(if it is determined)" 또는 "[기술된 조건 또는 이벤트]가 검출되는 경우에(if [a stated condition or event] is detected)"는 문맥에 따라서 "결정시에(upon determining)" 또는 "결정에 응답하여" 또는 "[기술된 조건 또는 이벤트]를 검출시에(upon detecting [a stated condition or event])" 또는 "[기술된 조건 또는 이벤트]의 검출에 응답하여"를 의미하도록 해석될 수 있다.
특정 구현에서, 본 개시 내용에서 설명되는 단말기는 모바일 폰, 랩탑, 태블릿, 또는 (터치 스크린 디스플레이 및/또는 터치 패널과 같은) 터치 민감성 표면(touch sensitive surface)을 갖는 다른 모바일 디바이스들을 포함할 수 있으나 이에 한정되지 않는다. 몇몇 실시예들에서, 상기 디바이스는 모바일 디바이스가 아니지만 (터치 스크린 디스플레이 및/또는 터치 패널과 같은) 터치 민감성 표면을 갖는 데스크탑 컴퓨터일 수 있음을 또한 이해해야 할 것이다.
후술하는 논의에서, 디스플레이 및 터치-민감성 표면을 포함하는 단말기가 설명된다. 그러나, 단말기는 물리적 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자-인터페이스 디바이스들을 포함할 수 있음을 이해해야 할 것이다.
단말기는 드로잉 애플리케이션, 데몬스트레인션(demonstration) 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 생성 애플리케이션, 디스크 버닝 애플리케이션, 스프레드시트 애플리케이션, 게이밍 애플리케이션, 전화 애플리케이션, 비디오 컨퍼런싱 애플리케이션, 이-메일 애플리케이션, 인스턴스 메시징 애플리케이션, 워크아웃 서포트 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 뮤직 플레이어 애플리케이션, 및/또는 디지털 비디오 플레이어 애플리케이션 중 하나 이상의 애플리케이션과 같은 다양한 애플리케이션들을 지원한다.
단말기 상에서 실행될 수 있는 다양한 애플리케이션들은 터치 민감성 표면과 같은 적어도 하나의 공통 물리적 사용자-인터페이스 디바이스를 이용할 수 있다. 터치 민감성 표면의 하나 이상의 기능들 및 단말기 상에 디스플레이되는 대응하는 정보는 애플리케이션들 사이에서 그리고/또는 대응하는 애플리케이션 내에서 조정되거나 그리고/또는 변경될 수 있다. 이러한 방식으로, 단말기의 (터치-민감성 표면과 같은) 공통 물리적 아키텍처는 직관적이고 사용자에게 투명한 사용자 인터페이스들을 통해 다양한 애플리케이션들을 지원할 수 있다.
배경기술에서 설명된 바와 같이, 이제 많은 비디오 게임 라이브 스트리밍 플랫폼들은 위에서 언급된 기능들을 수행하기 위해 오픈 소스 브로드캐스트 소프트웨어를 이용하고 있다. 그러나, OBS를 이용하는 것은 편리하지 않으며 비디오 게임 라이브 스트리밍을 셋업하기 위한 방법이 복잡하다. 예를 들어, OBS는 비디오 게임 이미지들을 캡처하기 위한 3가지 방법들을 제공한다. 비디오 게임 이미지들을 캡처하기 원하는 새로운 OBS 사용자는 어떤 캡처링 방식을 선택할지 알지 못한다. 캡처링 방식이 부정확하게 선택되면, 비디오 게임 이미지들이 캡처되지 않을 수 있고, 이는 라이브 스트림 동안 블랙 스크린을 야기하고 심지어 열악한 사용자 경험을 주게 된다.
본 개시 내용은 이미지를 캡처하기 위한 방법 및 이의 단말기를 제공한다. 먼저, 실행 중인 제 1 애플리케이션과 연관되는 제 1 정보가 검출된다. 제 1 정보는 제 1 애플리케이션의 속성을 특징화하도록 구성된다. 그 다음에, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는지 여부가 결정된다. 제 1 데이터베이스는 애플리케이션의 명칭 및 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식을 포함한다. 최종적으로, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는 경우, 제 1 애플리케이션에 의해 출력되는 이미지(비디오 이미지)는 제 1 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 캡처되고; 그렇지않으면 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 캡처링 정책에 기초하여 캡처된다. 본 개시 내용에 따르면, 부정확한 이미지 캡처링 방식에 기인하여 이미지가 캡처될 수 없는 문제점이 해결될 수 있고 앵커의 라이브 스트리밍 동안 블랙 스크린이 발생하는 것을 방지할 수 있다. 그러므로, 본 개시 내용에 의해, 사용자 경험이 상당하게 향상될 수 있다.
도 1은 본 개시 내용에 따른 이미지를 캡처하기 위한 방법의 도식적인 플로우차트이다. 도 1에 도시된 바와 같이, 상기 방법은 다음의 단계들을 포함할 수 있으나 이에 한정되지 않는다.
단계 S101에서, 실행 중인 제 1 애플리케이션과 연관된 제 1 정보가 검출되며, 제 1 정보는 제 1 애플리케이션의 속성을 특징화하도록 구성된다.
본 개시 내용에서, 제 1 애플리케이션은 게이밍 애플리케이션, 비디오 애프리케이션 또는 텍스트 애플리케이션 등을 포함할 수 있으나 이에 한정되지 않음을 유의해야 할 것이다. 본 개시 내용의 실시예들에서 제 1 정보는 제 1 애플리케이션의 명칭, 개발자(developer)들, 배포 시점(release time), 버전 번호, 사양(specification), 컨택 정보 또는 컨택 주소 등을 포함할 수 있으나 이에 한정되지 않는다. 다시 말하면, 본 개시 내용의 실시예들에서 제 1 애플리케이션의 속성은 제 1 애플리케이션의 명칭, 개발자들 또는 배포 시점 등일 수 있다.
예를 들어, 제 1 애플리케이션이 게이밍 애플리케이션인 경우에, 제 1 애플리케이션은 게이밍 애플리케이션의 명칭("리그 오브 레전드(League of Legends)", "앵그리 버드(Angry Birds)", "슈퍼 마리오 런(Super Mario Run)", "플룻 닌자(Fruit Ninja)" 또는 "룰즈 오브 서바이벌(Rules of Survival)"), 개발자들, 버전 번호, 배포 시점 또는 컨택 정보 등을 포함할 수 있으나 이에 한정되지 않는다.
일례로서 "리그 오브 레전드"로 명명된 게이밍 애플리케이션을 선택하면, 제 1 정보는 "리그 오브 레전드"의 명칭, "리그 오브 레전드"의 개발자(라이엇 게임즈(Riot Games)), "리그 오브 레전드"의 배포 시점(2011년 9월 22일) 등을 포함한다.
단계 S102에서, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는 경우에, 제 1 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지(비디오 이미지)와 연관되는 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지가 캡처된다.
단계 103에서, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하지 않는 경우에, 제 2 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지가 캡처된다.
선택적으로, 제 1 애플리케이션과 연관되는 제 1 정보를 획득한 후에, 제 1 애플리케이션과 연관된 제 1 정보가 제 1 데이터베이스에 존재하는지 여부가 결정되며, 제 1 데이터베이스는 애플리케이션과 연관된 제 1 정보 및 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식을 포함할 수 있다.
본 개시 내용에서, 제 1 데이터베이스에 저장하는 것은 다음의 두가지 방법들을 포함할 수 있으나 이에 한정되지 않는다:
제 1 방법, 제 1 데이터베이스는 단말기 내에 로컬하게 저장될 수 있다;
제 2 방법, 제 1 데이터베이스는 로컬하게 단말기로 연결되는 클라우드 서버에 저장될 수 있다.
제 1 데이터베이스는 성공적으로 캡처되었던 (게이밍 애플리케이션과 같은) 개개의 애플리케이션들에 의해 출력되는 이미지들에 대응하는 기록된 캡처링 방식들에 기초하여 확립될 수 있으며, 상이한 이미지들이 상이한 캡처링 방식들에 대응한다는 것을 유의해야 할 것이다.
구체적으로, 제 1 애플리케이션과 연관된 제 1 정보가 제 1 데이터베이스에 존재하는지 여부를 결정하기 위해 제 1 애플리케이션과 연관된 제 1 정보는 제 1 데이터베이스에 있는 데이터와 비교될 수 있다.
애플리케이션에 의해 출력되는 이미지는 다음의 두가지 모드들을 포함할 수 있으나 이에 한정되지 않는다:
제 1 모드, 윈도우 모드;
제 2 모드, 풀 스크린 모드.
애플리케이션에 의해 출력되는 이미지들과 연관되는 캡처링 방식들은 윈도우 캡처링, 디스플레이 캡처링 또는 게이밍 캡처링을 포함할 수 있으나 이에 한정되지 않는다.
(그래픽 디바이스 인터페이스(GDI), Direct3D(D3D), DirectDraw(DDraw) 또는 오픈 그래픽 라이브러리(OpenGL)과 같은) 상이한 렌더링 기술로 렌더링된(드로잉된) 이미지들은 상이한 캡처링 방식들에 대응할 수 있음을 유의해야 할 것이다.
예를 들어, 윈도우 캡처 및 디스플레이 캡처는 GDI 렌더링 기술로 렌더링된 이미지들을 캡처할 수 있다.
도 2에 도시된 바와 같이, 일례로서 윈도우 캡처링 방식을 통해 GDI 렌더링 기술로 렌더링된 이미지를 캡처하는 것은 다음의 단계들을 포함할 수 있으나 이에 한정되지 않는다.
단계 S11에서, 함수 GetDC(hwnd)에 의한 지정 윈도우의 디바이스 컨텍스트(device context)가 획득되며, hwnd는 지정 윈도우의 핸들을 특징화하는데 사용되고, 다시 말하면, hwnd는 윈도우 특성(신원(identity))을 특징화하는데 사용된다. 디바이스 컨텍스트는 윈도우의 밉맵(mipmap)들을 저장함을 유의해야 할 것이다.
단계 S12에서, GDI 렌더링 기술로 렌더링된 윈도우 이미지의 캡처를 달성하기 위해 디바이스 컨텍스트에 있는 밉맵들은 함수 BitBit()에 의해 복사된다.
CGI 렌더링 기술로 렌더링된 이미지를 캡처하기 위한 디스플레이 캡처링 방식의 실행은 CGI 렌더링 기술로 렌더링된 이미지를 캡처하기 위한 윈도우 캡처링 방식의 실행과 유사하다. 여기에서, 함수 GetDC(hwnd)의 핸들 hwnd는 NULL로 설정되어야 한다. 다시 말하면, GDI 렌더링 기술로 렌더링된 풀 스크린 이미지는 함수 GetDC(NULL)에 의해 디스플레이 캡처링 방식으로 캡처될 수 있다.
D3D, DDraw 또는 OpenGL 렌더링 기술로 렌더링된 이미지는 게임 캡처링 방식으로 캡처될 수 있다.
게임 캡처링 방식으로 D3D 렌더링 기술로 렌더링된 이미지를 캡처하는 것이 일례로서 제시된다.
구체적으로, D3D 렌더링 기술로 렌더링된 이미지는 HOOK 애플리케이션의 애플리케이션 프로그래밍 인터페이스(API)에 의해 캡처될 수 있다.
D3D 렌더링 기술로 렌더링된 이미지를 캡처하는 프로세스는 아래에서 상세하게 설명된다.
이미지가 D3D 렌더링 기술에 의해 렌더링될 때 함수 present()가 호출될 필요가 있음을 유의해야 할 것이다.
구체적인 프로세스는: 함수 present()가 제 1 이미지 획득 함수로 치환(replace)된다. D3D 렌더링 기법으로 매번 present() 함수를 호출함으로써 픽처(picture)를 렌더링할 때, 이미지 캡처링을 달성하기 위해 제 1 픽처 획득 함수가 매번 호출될 것이다. 여기에서, 제 1 이미지 획득 함수는 백 버퍼 이미지(즉, 디스플레이될 이미지)를 획득하는데 이용될 수 있다.
또한, 이미지 캡처링이 제 1 이미지 획득 함수에 의해 달성된 후에, 프론트 버퍼 이미지 및 백 버퍼 이미지 간의 교환을 구현하기 위해(이미지의 렌더링을 구현하기 위해) 함수 present()가 다시 호출된다. 여기에서, 함수 present()는 프론트 버퍼 이미지(디스플레이되고 있는 이미지)를 백 버퍼 이미지(디스플레이될 이미지)로 교환하는데 사용된다.
게이밍 캡처링에서 어느 정도의 불안정성이 존재함을 유의해야 할 것이다. 게이밍 캡처링 HOOK 애플리케이션의 애플리케이션 프로그래밍 인터페이스(API)는 로컬 관리자의 허가를 획득할 필요가 있기 때문에, 관리자의 허가가 획득될 수 없는 경우에, 게임은 제 1 애플리케이션에 의해 출력되는 이미지를 캡처할 수 없다.
본 개시 내용에서, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는 경우, 제 1 애플리케이션에 의해 출력되는 이미지(비디오 이미지)와 연관되는 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 캡처링 방식에 기초하여 캡처되고, 그렇지않으면, 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 캡처링 방식에 기초하여 캡처된다.
본 개시 내용에서, 도 3에 도시된 바와 같이, 제 1 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지(비디오 이미지)를 캡처하는, 단계 S102는 다음의 단계들을 포함할 수 있으나 이에 한정되지 않는다.
단계 S21에서, 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식은 제 1 데이터베이스에 있는 프리셋 이미지 및 캡처링 방식 간의 연관 (매핑) 관계에 기초하여 결정된다.
제 1 데이터베이스에 있는 프리셋 이미지 및 캡처링 방식 간의 연관 (매핑) 관계는 표 1과 관련하여 아래에서 상세하게 설명된다.
게임 명칭 프로세스 1 프로세스 2 프로세스 3
리그 오브 레전드 Client.exe:0 LolClient.exe:0 League of Legends.exe:3
피파 온라인 3
(FIFA Online 3)
FIFA Online 3.exe:0
데빌 메이 크라이
(Devilmaycry)
DMC-Devilmaycry.exe:1 Devilmaycry4_DX10.exe:0
0은 어떤 캡처링 방식(윈도우 캡처링, WS_EX_LAYERED의 속성으로 구성되는 윈도우 캡처링 방식, 또는 게임 캡처링 방식)이 사용에 적합한지를 자동적으로 검출하는 것을 표시하고, 1은 WS_EX_LAYERED의 속성으로 구성되는 윈도우 캡처링 방식의 사용이 강제됨을 표시하고, 2는 윈도우 캡처링 방식의 사용이 강제됨을 표시하고, 3은 게임 캡처링 방식의 사용이 강제됨을 표시한다.
표 1과 조합하여, 일례로서 "리그 오브 레전드"로 명명된 게이밍 애플리케이션을 선택하면, 게이밍 애플리케이션은 다음의 3개의 프로세스들을 포함할 수 있으나 이에 한정되지 않는다.
프로세스 1: 게임 로그온 프로세스(Client).
프로세스 2: 론칭 PVP.Net 클라이언트 프로세스(LolClient).
프로세스 3: 게이밍 프로세스(League of Legends).
표 1로부터 볼 수 있는 바와 같이, (매핑) 프로세스 1과 연관되는 캡처링 방식은 캡처링 방식 0이고, (매핑) 프로세스 2와 연관되는 캡처링 방식은 캡처링 방식 0이고, (매핑) 프로세스 3과 연관되는 캡처링 방식은 캡처링 방식 3이다.
프로세스 1 및 프로세스 2에 의해 출력되는 이미지들은 풀 스크린 모드로 제공되지 않기 때문에, 프로세스 1 및 프로세스 2에 의해 출력되는 이미지들은 윈도우 캡처, WS_EX_LAYERED 특성으로 구성되는 윈도우 캡처링 방식 및 게이밍 캡처링 방식 중 임의의 방식으로 캡처될 수 있음을 유의해야 할 것이다.
특히, 예를 들어, 라이브 스트리밍 플랫폼의 라이브 방송 룸에 있는 윈도우에 대하여, 윈도우는 WS_EX_LAYERED의 속성으로 제공되기 때문에, 이미지를 캡처하기 위해 WS_EX_LAYERED의 속성으로 구성되는 윈도우 캡처링 방식을 이용할 필요가 있다. 특히, 먼저, 지정 윈도우의 디바이스 컨텍스트가 함수 GetDC(hwnd)에 의해 획득될 수 있으며, hwnd는 지정 윈도우의 핸들을 특징화하는데 사용된다. 그 다음에, GDI 렌더링 기술로 렌더링된 WS_EX_LAYERED 특성을 갖는 윈도우 이미지의 캡처를 달성하기 위해 디바이스 컨텍스트에 있는 밉맵들은 함수 BitBit(captureBit)에 의해 복사될 수 있다.
또한, 프로세스 3에 의해 출력되는 이미지는 주로 풀 스크린 모드로 있으며, 그러므로, 프로세스 3에 의해 출력되는 이미지를 캡처하기 위해 게임 캡처링 방식(캡처링 방식 3)이 사용된다.
단계 S22에서, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 결정된 캡처링 방식에 기초하여 캡처된다.
선택적으로, 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 정책에 기초하여 캡처되며, 도 4에 도시된 바와 같이, 단계 S103은 다음의 단계들을 포함할 수 있으나 이에 한정되지 않는다.
단계 S31에서, 제 1 시간 임계치 범위 내에서, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 캡처된다.
특히, 제 1 캡처링 방식은 윈도우 캡처링 또는 디스플레이 캡처링을 포함하 수 있으나 이에 한정되지 않는다. 제 2 캡처링 방식은 게이밍 캡처링을 포함할 수 있다. 단지 게임 이미지가 드로잉될 때, 이미지는 게임 캡처링에 의해 캡처될 수 있음을 유의해야 할 것이다.
여기에서, 제 1 시간 임계치는 구성가능하며, 바람직하게는, 제 1 시간 임계치는 15초일 수 있다. 제 1 시간 임계치는 (게이밍 애플리케이션과 같은) 애플리케이션과 연관된다. 다시 말하면, 상이한 애플리케이션과 연관되는 제 1 시간 임계치는 상이하다. 예를 들어, 상대적으로 적은 메모리를 차지하는 몇몇 간단한 게이밍 애플리케이션들과 비교하여, 더 많은 메모리를 차지하는 몇몇 상대적으로 복잡한 게이밍 애플리케이션들과 연관되는 제 1 시간 임계치는 15.5초, 16초 등과 같은 상대적으로 큰 값을 가진다. 그 이유는 적은 메모리를 차지하는 간단한 게이밍 애플리케이션과 비교하여 더 많은 메모리를 차지하는 상대적으로 복잡한 게이밍 애플리케이션이 더 긴 시작 시간을 필요로 하기 때문이다.
그러므로, 적정한 캡처링 방식을 사용하는 관점에서, 상대적으로 더 많은 메모리를 차지하는 복잡한 게이밍 애플리케이션과 관련하여, 제 1 시간 임계치는 상대적으로 더 크게 설정될 수 있다; 그렇지 않으면, 캡처를 위해 제 2 캡처링 방식을 사용하기에 적합한 애플리케이션에 의해 출력되는 이미지는 대신에 캡처를 위해 제 1 캡처링 방식을 사용한다. 세부사항들에 대하여, 아래에서 단계 2에 대하여 참조가 이루어질 수 있다.
선택적으로, 제 1 시간 임계치는 게이밍 애플리케이션과 같은 애플리케이션을 실행하기 위한 디바이스와 연관된다. 다시 말하면, 상이한 애플리케이션을 실행하기 위한 디바이스와 연관되는 제 1 시간 임계치는 상이하다. 예를 들어, 중앙 프로세싱 유닛(CPU) 주파수, CPU들의 개수 또는 CPU의 랜덤-액세스 메모리(RAM) 크기와 같은 더 높은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들과 비교하여, 더 낮은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들은 15.5초, 16초 등과 같은 상대적으로 더 큰 시간 임계치를 가진다. 그 이유는 더 높은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들과 비교하여 더 낮은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 디바이스들은 상대적으로 더 긴 스타트업(startup) 시간을 필요로 하기 때문이다.
그러므로, 적정한 캡처링 방식을 사용하는 관점에서, 더 낮은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들과 관련하여, 제 1 시간 임계치는 상대적으로 더 크게 설정될 수 있다; 그렇지 않으면, 캡처를 위해 제 2 캡처링 방식을 사용하기에 적합한 애플리케이션에 의해 출력되는 이미지는 대신에 캡처를 위해 제 1 캡처링 방식을 사용한다. 세부사항들에 대하여, 아래에서 단계 S32에 대하여 참조가 이루어질 수 있다.
단계 S32에서, 제 1 시간 임계치 범위 내에서, 제 1 애플리케이션에 의해 출력되는 이미지가 제 2 캡처링 방식으로 캡처되는 경우에, 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 캡처링 방식으로 캡처되고 제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지의 캡처는 중단되고; 제 1 애플리케이션에 의해 출력되는 이미지가 제 2 캡처링 방식으로 캡처되지 않는 경우에, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 캡처링 방식으로 캡처되고 제 2 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지의 캡처는 중단된다.
선택적으로, 인코딩된 이미지는 제 1 캡처링 방식 또는 제 2 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지를 인코딩함으로써 획득될 수 있다. 또한, 인코딩된 이미지는 서버로 전송될 수 있다. 여기에서, 서버는 라이브 스트리밍 플랫폼 서버일 수 있다.
선택적으로, 제 2 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하기 전에, 상기 방법은:
제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 캡처된 이미지를 인코딩함으로써 인코딩된 이미지를 획득하는 단계; 및
인코딩된 이미지를 서버로 전송하는 단계를 더 포함한다.
애플리케이션이 스타트업할 때, 제 2 캡처링 방식 이전에 제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지가 캡처되는 이유는 아래에서 상세하게 다음과 같이 설명된다.
애플리케이션이 시작될 때, 더 많은 리소스들이 로딩된 후에 이미지 드로잉이 시작된다. 애플리케이션이 이미지를 렌더링(드로잉)하고 있을 때에만 이미지는 제 2 캡처링 방식으로 캡처될 수 있다; 그러나 애플리케이션이 스타트업시에 이미지는 제 1 캡처링 방식으로 캡처될 수 있으며, 그러므로, 이미지는 제 2 캡처링 방식 이전에 제 1 캡처링 방식으로 캡처될 수 있다.
선택적으로, 제 1 애플리케이션에 의해 출력되는 이미지의 윈도우가 최소화되는 경우에, 제 1 시간 임계치는 리셋될 수 있다.
특히, 제 1 애플리케이션에 의해 출력되는 이미지의 윈도우가 최소화될 때, 제 1 시간 임계치는 리셋될 수 있다. 제 1 애플리케이션에 의해 출력되는 이미지가 최대화될 때, 리셋된 제 1 시간 임계치 내에서, 이미지는 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 캡처될 수 있다.
제 1 애플리케이션에 의해 출력되는 이미지가 제 2 캡처링 방식으로 캡처되는 경우에, 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 캡처링 방식으로 캡처되고 동시에 제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지의 캡처는 중단됨을 유의해야 할 것이다. 그 이유는 제 1 캡처링 방식과 비교하여 제 2 캡처링 방식이 더 효율적이기 때문이다. 또한, 제 1 캡처링 방식과 비교하여, 제 2 캡처링 방식은 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는데 있어 프로세서의 오직 더 적은 RAM 리소스들을 차지할 수 있다.
요약하면, 본 개시 내용은 이미지를 캡처하기 위한 방법을 제공한다. 특히, 본 개시 내용에서, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 캡처링 정책 또는 제 2 캡처링 정책에 기초하여 캡처될 수 있고, 제 1 애플리케이션에 의해 출력되는 이미지는 일반적으로 스무드하게(smoothly) 캡처될 수 있으며, 그에 의해 부정확한 캡처링 방식에 기인하여 이미지가 캡처될 수 있는 문제점을 해결하고 앵커의 라이브 스트리밍 동안 블록 스크린이 발생하는 것을 방지한다. 그러므로, 본 개시 내용을 이용함으로써 사용자 경험은 상당하게 향상될 수 있다.
본 개시 내용의 실시예들의 구현을 용이하게 하기 위해, 본 개시 내용은 도 1에 도시된 실시예들에서 설명된 방법을 구현하기 위해 단말기를 제공한다. 도 5는 본 개시 내용에 따른 단말기의 도식적인 블록 다이어그램이다. 도 5에 도시된 바와 같이, 단말기(200)는 검출 유닛(201), 결정 유닛(202) 및 캡처링 유닛(203)을 포함할 수 있다.
검출 유닛(201)은 실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하도록 구성된다. 제 1 정보는 제 1 애플리케이션의 속성을 특징화하도록 구성된다.
캡처링 유닛(203)은, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 구성된다.
캡처링 유닛(203)은, 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 추가적으로 구성된다.
선택적으로, 도 5에 도시된 바와 같이, 단말기는 결정 유닛(202)을 더 포함하고, 결정 유닛(202)은 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는지 여부를 결정하도록 구성되며, 제 1 데이터베이스는 애플리케이션과 연관되는 제 1 정보 및 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식을 포함할 수 있다.
선택적으로, 결정 유닛(202)은 제 1 애플리케이션과 연관되는 제 1 정보가 제 1 데이터베이스에 존재하는지 여부를 결정하기 위해 제 1 애플리케이션과 연관되는 제 1 정보와 제 1 데이터베이스에 있는 데이터를 비교하도록 추가적으로 구성된다.
제 1 데이터베이스는 성공적으로 캡처되었던 (게이밍 애플리케이션과 같은) 개개의 애플리케이션에 의해 출력되는 이미지들에 대응하는 기록된 캡처링 방식들에 기초하여 확립될 수 있으며, 상이한 이미지들이 상이한 캡처링 방식들에 대응한다는 것을 유의해야 할 것이다.
제 1 데이터베이스는 다음의 두가지 방식들로 저장될 수 있으며 이에 한정되지 않음을 유의해야 할 것이다:
제 1 방식에서, 제 1 데이터베이스는 로컬하게 단말기에 저장될 수 있다.
제 2 방식에서, 제 1 데이터베이스는 로컬하게 단말기로 연결되는 클라우드 서버에 저장될 수 있다.
제 1 데이터베이스는 (게이밍 애플리케이션과 같은) 개개의 애플리케이션에 의해 성공적으로 캡처되었던 이미지들에 대응하는 기록된 캡처링 방식들에 기초하여 확립될 수 있으며, 상이한 이미지들이 상이한 캡처링 방식들에 대응한다는 것을 유의해야 할 것이다.
캡처링 유닛(203)은:
제 1 캡처링 정책에 기초하여 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지(비디오 이미지)를 캡처하도록 추가적으로 구성되고, 이는 다음의 단계들을 포함하며 이에 한정되지 않는다.
단계 1에서, 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식은 제 1 데이터베이스에 있는 프리셋 이미지 및 캡처링 방식 간의 연관 (매핑) 관계에 기초하여 결정된다.
단계 2에서, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 결정된 캡처링 방식에 기초하여 캡처된다.
선택적으로, 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 캡처링 방식에 기초하여 캡처되며, 이는 다음의 단계들을 포함하며 이에 한정되지 않는다.
단계 1에서, 제 1 시간 임계치 범위 내에서, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 캡처된다.
제 1 캡처링 방식은 윈도우 캡처링 또는 디스플레이 캡처링을 포함할 수 있으나 이에 한정되지 않음을 유의해야 할 것이다. 제 2 캡처링 방식은 게임 캡처링을 포함할 수 있다.
여기에서, 제 1 시간 임계치는 구성가능하며, 바람직하게는, 제 1 시간 임계치는 15초일 수 있다. 제 1 시간 임계치는 (게이밍 애플리케이션과 같은) 애플리케이션과 연관된다. 다시 말하면, 상이한 애플리케이션들과 연관되는 제 1 시간 임계치는 상이하다. 상대적으로 적은 메모리를 차지하는 몇몇 간단한 게이밍 애플리케이션들과 비교하여, 더 많은 메모리를 차지하는 몇몇 상대적으로 복잡한 게이밍 애플리케이션들과 연관되는 제 1 시간 임계치는 상대적으로 큰 값을 가진다. 상대적으로 적은 메모리들을 차지하는 간단한 게이밍 애플리케이션들과 비교하여, 상대적으로 많은 메모리를 차지하는 복잡한 게이밍 애플리케이션들의 스타트업 시간은 상대적으로 더 길다. 그러므로, 적정한 캡처링 방식을 사용하는 관점에서, 상대적으로 더 많은 메모리를 차지하는 복잡한 게이밍 애플리케이션들과 관련하여, 제 1 시간 임계치는 상대적으로 더 크게 설정될 수 있다; 그렇지 않으면, 캡처를 위해 제 2 캡처링 방식을 사용하기에 적합한 애플리케이션에 의해 출력되는 이미지는 대신에 캡처를 위해 제 1 캡처링 방식을 사용한다. 세부사항들에 대하여, 아래에서 단계 2에 대하여 참조가 이루어질 수 있다.
선택적으로, 제 1 시간 임계치는 (게이밍 애플리케이션과 같은) 애플리케이션을 실행하기 위한 디바이스와 연관된다. 다시 말하면, 상이한 애플리케이션들을 실행하기 위한 디바이스와 연관되는 제 1 시간 임계치는 상이하다. 예를 들어, (CPU 주파수, CPU의 개수 또는 CPU의 RAM 크기와 같은) 더 높은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들과 비교하여, 더 낮은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들은 상대적으로 더 큰 시간 임계치를 가진다. 그 이유는 더 높은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들과 비교하여, 더 낮은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 디바이스들은 상대적으로 더 긴 스타트업 시간을 필요로 하기 때문이다.
그러므로, 적정한 캡처링 방식을 사용하는 관점에서, 더 낮은 하드웨어 구성을 갖는 애플리케이션을 실행하기 위한 몇몇 디바이스들과 관련하여, 제 1 시간 임계치는 상대적으로 더 크게 설정될 수 있으며, 그렇지않으면 캡처를 위해 제 2 캡처링 방식을 사용하기에 적합한 애플리케이션에 의해 출력되는 이미지는 대신에 캡처를 위해 제 1 캡처링 방식을 사용한다. 세부사항들에 대하여, 아래에서 단계 2에 대하여 참조가 이루어질 수 있다.
단계 2에서, 제 1 시간 임계치 범위 내에서, 제 1 애플리케이션에 의해 출력되는 이미지가 제 2 캡처링 방식으로 캡처되는 경우에, 제 1 애플리케이션에 의해 출력되는 이미지는 제 2 캡처링 방식으로 캡처되고 제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지의 캡처는 중단되고; 제 1 애플리케이션에 의해 출력되는 이미지가 제 2 캡처링 방식으로 캡처되지 않는 경우에, 제 1 애플리케이션에 의해 출력되는 이미지는 제 1 캡처링 방식으로 캡처되고 제 2 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지의 캡처는 중단된다.
검출 유닛(201), 결정 유닛(202) 및 캡처링 유닛(203) 이외에, 단말기(200)는 (도 5에 미도시된) 인코딩 유닛 및 전송 유닛을 더 포함할 수 있다.
인코딩 유닛은 제 1 캡처링 방식 또는 제 2 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 캡처된 이미지를 인코딩함으로써 인코딩된 이미지를 획득하도록 구성된다.
전송 유닛은 인코딩 유닛에 의해 인코딩된 후에 제 1 캡처링 방식 또는 제 2 캡처링 방식으로 캡처된 이미지를 서버로 전송하도록 구성된다. 본 개시 내용에서, 서버는 라이브 스트리밍 플랫폼 서버일 수 있다.
인코딩 유닛은:
제 2 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하기 전에, 제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지를 캡처함으로써 인코딩된 이미지를 획득하도록 추가적으로 구성된다.
전송 유닛은 인코딩 유닛에 의해 인코딩된 후에 제 1 캡처링 방식으로 캡처된 이미지를 서버로 전송하도록 추가적으로 구성된다.
애플리케이션이 스타트업할 때, 제 2 캡처링 방식 이전에 제 1 캡처링 방식으로 제 1 애플리케이션에 의해 출력되는 이미지가 캡처되는 이유는 아래에서 상세하게 다음과 같이 설명된다.
애플리케이션이 시작될 때, 더 많은 리소스들이 로딩된 후에 이미지 드로잉이 시작된다. 애플리케이션이 이미지를 렌더링(드로잉)하고 있을 때에만 이미지는 제 2 캡처링 방식으로 캡처될 수 있다; 그러나 애플리케이션이 스타트업시에 이미지는 제 1 캡처링 방식으로 캡처될 수 있으며, 그러므로, 이미지는 제 2 캡처링 방식 이전에 제 1 캡처링 방식으로 캡처될 수 있다.
검출 유닛(201), 결정 유닛(202), 캡처링 유닛(203), 인코딩 유닛 및 전송 유닛 이외에, 단말기(200)는 (도 5에 미도시된) 리셋팅 유닛을 포함할 수 있다.
리셋팅 유닛은 제 1 애플리케이션에 의해 출력되는 이미지의 윈도우가 최소화되는 경우에 제 1 시간 임계치를 리셋하도록 구성된다.
특히, 제 1 애플리케이션에 의해 출력되는 이미지의 윈도우가 최소화될 때, 제 1 시간 임계치는 리셋될 수 있다. 제 1 애플리케이션에 의해 출력되는 이미지가 최대화될 때, 리셋된 제 1 시간 임계치 내에서, 이미지는 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 캡처될 수 있다.
도 5에 도시된 단말기(200)에 포함되는 기능적 모듈들의 특정한 구현은 전술한 실시예들에 대하여 참조될 수 있으며 여기에서 다시 설명되지 않음을 이해할 수 있을 것이다.
도 6은 본 개시 내용에 의해 제공되는 다른 단말기의 도식적인 블록 다이어그램이다. 본 개시 내용의 실시예들에서, 단말기는 모바일 폰, 태블릿, 개인 디지털 어시스턴트(PDA), 모바일 인터넷 디바이스(MID), (스마트 워치, 스마트 브레이슬릿과 같은) 웨어러블 스마트 디바이스 등을 포함할 수 있으나, 이는 본 개시 내용에서 한정되지 않는다. 도 6에 도시된 바와 같이, 단말기(300)는 베이스밴드 칩(301), 메모리(302)(하나 이상의 컴퓨터-판독가능 저장 매체) 및 주변 시스템(303)을 포함할 수 있다. 이러한 컴포넌트들은 하나 이상의 통신 버스들을 통해서 통신할 수 있다.
베이스밴드 칩(301)은 하나 이상의 프로세서들(CPU)(305) 및 하나 이상의 그래픽 처리 유닛들(GPU)(306)을 포함한다.
프로세서(305)는 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는데 사용될 수 있음을 이해해야 할 것이다. 그래픽 처리 유닛(306)은 제 1 애플리케이션에 의해 출력되는 이미지를 렌더링(드로잉)하는데 사용될 수 있다.
프로세서(305)와 연결되는 메모리(302)는 모든 종류의 소프트웨어 프로그램들 및/또는 복수의 명령들의 세트들을 저장하는데 사용될 수 있다. 특정한 구현에서, 메모리(302)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 디스크 저장 디바이스들, 플래시 메모리 디바이스 또는 다른 비-휘발성 솔리드-스테이트 저장 디바이스들과 같은 비-휘발성 메모리를 포함할 수 있다. 메모리(302)는 (이후로 "시스템"으로 지칭되는) 운영 시스템, 예를 들어, ANDROID, IOS, WINDOWS, LINUX 등과 같은 임베딩된 운영 시스템을 저장할 수 있다. 메모리(302)는 또한 네트워크 통신 프로그램을 리스토어(restore)할 수 있다. 통신 프로그램은 하나 이상의 애드-온(add-on) 디바이스들, 하나 이상의 단말기들 및 하나 이상의 네트워크 디바이스들과 통신하는데 이용될 수 있다. 메모리(302)는 또한 사용자 인터페이스 프로그램을 저장할 수 있다. 사용자 인터페이스 프로그램은 그래픽 동작 인터페이스를 통해 생생하게(vividly) 애플리케이션의 컨텐츠를 생생하게 디스플레이할 수 있고, 메뉴, 다이얼로그 박스 또는 키와 같은 입력 제어에 의해 애플리케이션에 대한 사용자의 제어 동작을 수신할 수 있다.
메모리(302)는 제 1 애플리케이션 및 제 1 애플리케이션과 연관되는 제 1 정보를 저장하는데 사용될 수 있음을 이해해야 할 것이다. 제 1 정보는 제 1 애플리케이션의 속성을 특징화하는데 이용될 수 있다.
메모리(302)는 하나 이상의 애플리케이션들을 더 저장할 수 있다. 도 6에 도시된 바와 같이, 이러한 애플리케이션들은: (페이스북(Facebook)과 같은) 소셜 애플리케이션들, (앨범과 같은) 이미지 관리 애플리케이션들, (구글 맵스(Google maps)과 같은) 맵 애플리케이션들, (사파리(Safari), 구글 크롬(Google Chrome)과 같은) 브라우저들 등을 포함할 수 있다.
주변 시스템(303)은 단말기(300) 및 사용자/외부 환경 간의 인터랙션 기능을 구현하는데 주로 사용되며, 사용자/외부 환경은 주로 단말기(300)의 입력 및 출력 디바이스를 포함한다. 특정한 구현에서, 주변 시스템(303)은 디스플레이 제어기(307), 카메라 제어기(308), 마우스-키보드 제어기(309) 및 오디오 제어기(310)를 포함할 수 있다. 각각의 제어기는 (디스플레이 스크린(311), 카메라(312), 마우스-키보드(313) 및 오디오 회로(314)와 같은) 자신의 대응하는 주변 디바이스와 각각 연결될 수 있다. 몇몇 실시예들에서, 디스플레이 스크린(311)은 셀프-커패시턴스 플로팅 터치 패널로 구성되는 디스플레이 스크린일 수 있거나, 또는 적외선 플로팅 터치 채널로 구성되는 디스플레이 스크린일 수 있다. 몇몇 실시예들에서, 카메라(312)는 3D 카메라일 수 있다. 주변 시스템(303)은 다른 입력/출력(I/O) 주변 디바이스들을 더 포함할 수 있음을 유의해야 할 것이다.
단말기(300)는 단지 본 개시 내용의 실시예들에 의해 제공되는 일례임을 이해해야 할 것이다. 또한, 단말기(300)는 도시된 컴포넌트들보다 더 많거나 또는 더 적은 컴포넌트들을 갖도록 제공될 수 있거나, 둘 이상의 컴포넌트들이 조합될 수 있거나, 또는 컴포넌트가 상이한 구성들을 가질 수 있다.
도 6에 도시된 단말기(300)에 포함되는 기능적 모듈들의 특정한 구현은 전술한 실시예들에 대하여 참조될 수 있으며 여기에서 다시 설명되지 않음을 이해할 수 있을 것이다.
본 개시 내용은 적어도 하나의 컴퓨터 프로그램을 저장하는 컴퓨터-판독가능 저장 매체를 제공한다. 적어도 하나의 컴퓨터 프로그램은 이미지를 캡처하기 위한 위의 방법을 수행하도록 프로세서에 의해 실행가능하다.
컴퓨터-판독가능 저장 매체는 위에서 실시예들에서 설명된 단말기에 있는 내부 저장 유닛들 중 임의의 하나일 수 있고, 예를 들어, 단말기의 하드 디스크 또는 메모리일 수 있다. 컴퓨터-판독가능 저장 매체는 또한 단말에 장착되는 플러그-인(Plug-in) 하드 디스크, 스마트 미디어 카드(SMC), 보안 디지털(SD) 카드, 플래시 카드 등과 같은 단말기의 외부 저장 디바이스일 수 있다. 또한, 컴퓨터-판독가능 저장 매체는 내부 저장 유닛 및 외부 저장 디바이스 모두를 포함할 수 있다. 컴퓨터-판독가능 저장 매체는 적어도 하나의 컴퓨터 프로그램 및 단말기에 의해 필요한 다른 프로그램들 및 데이터를 저장하는데 사용된다. 컴퓨터-판독가능 저장 매체는 또한 출력되었거나 또는 출력될 데이터를 임시적으로 저장하는데 사용될 수 있다.
본 개시 내용은 또한 컴퓨터 프로그램 프로덕트(computer program product)를 제공한다. 컴퓨터 프로그램 프로덕트는 컴퓨터 프로그램을 저장하는 비-일시적 컴퓨터-판독가능 저장 매체를 포함한다. 컴퓨터 프로그램은 위에서 실시예들에서 설명된 방법들 중 임의의 방법의 일부 또는 모든 단계들을 수행하도록 컴퓨터에 의해 실행가능할 수 있다. 컴퓨터 프로그램 프로덕트는 소프트웨어 설치 패키지일 수 있다. 컴퓨터는 전자 디바이스를 포함한다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는, 본 명세서에서 제시된 실시예들에서 설명된 예들과 조합하여, 유닛들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들의 조합에 의해 구현될 수 있음을 이해할 수 있다. 하드웨어 및 소프트웨어 간의 상호변경가능성을 명확하게 설명하기 위해, 전술한 내용은 일반적으로 기능들에 따라 각각의 예의 구성들 및 단계들을 설명하였다. 기능들이 하드웨어 또는 소프트웨어에 의해 수행되는지 여부는 특정한 애플리케이션들 및 기술적 해결책들의 설계 제약 조건들에 의존한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 설명된 기능들을 구현하기 위해 상이한 방법들을 이용할 수 있으나, 이러한 구현이 본 개시 내용의 범위를 벗어나는 것으로 간주되지 않아야 한다.
편리하고 간결한 설명 목적으로, 전술한 단말기 및 유닛의 상세한 작업 프로세스에 대하여, 전술한 방법 실시예들의 대응하는 프로세스에 대하여 참조가 이루어질 수 있으며 세부사항들이 여기에 다시 설명되지 않음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있다.
본 개시 내용에서 제공되는 여러개의 실시예들에서, 제시된 단말기 및 방법은 다른 방식들로 구현될 수 있음을 이해해야 할 것이다. 예를 들어, 실시예의 단계들 및 조합이 설명된다. 기능들이 하드웨어 또는 소프트웨어에 의해 수행되는지 여부는 특정한 애플리케이션들 및 기술적 해결책들의 설계 제약 조건들에 의존한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 설명된 기능들을 구현하기 위해 상이한 방법들을 이용할 수 있으며, 이러한 구현이 본 개시 내용의 범위를 벗어나는 것으로 간주되지 않아야 한다.
설명된 단말기 실시예는 단지 예시적이다. 예를 들어, 유닛 분할은 단지 논리적 기능 분할이며 실제 구현에서 다른 분할이 될 수 있다. 예를 들어, 복수의 유닛들 또는 컴포넌트들은 다른 시스템으로 조합 또는 통합될 수 있거나, 또는 몇몇 특징들은 무시되거나 또는 수행되지 않을 수 있다. 또한, 디스플레이되거나 또는 논의된 상호 커플링들 또는 직접 커플링들 또는 통신 연결들은 몇몇 인터페이스들에 의해 구현될 수 있다. 단말기들 또는 유닛들 간의 간접 커플링들 또는 통신 연결들은 전자적, 기계적 또는 다른 형태로 구현될 수 있다.
분리된 부분들로서 설명된 유닛들은 물리적으로 분리될 수 있거나 또는 물리적으로 분리되지 않을 수 있으며, 유닛들로서 디스플레이되는 부분들은 물리적 유닛들일 수 있거나 또는 물리적 유닛들이 아닐 수 있으며, 즉, 하나의 위치에 위치될 수 있거나 또는 복수의 네트워크 유닛들 상에 배치될 수 있다. 유닛들의 일부 또는 전부는 본 개시 내용의 실시예들의 해결책들의 목적들을 달성하기 위해 실제 필요들에 따라 선택될 수 있다.
추가적으로, 본 개시 내용의 실시예들에서의 기능 유닛들은 하나의 프로세싱 유닛으로 통합될 수 있거나, 또는 유닛들 각각은 물리적으로 단독으로 존재할 수 있거나, 또는 둘 이상의 유닛들이 하나의 유닛으로 통합될 수 있다. 통합된 유닛은 하드웨어의 형태로 구현될 수 있거나, 또는 소프트웨어 기능 유닛의 형태로 구현될 수 있다.
통합된 유닛이 소프트웨어 기능 유닛의 형태로 구현되고 독립적인 프로덕트로서 판매되거나 또는 사용될 때, 통합된 유닛은 컴퓨터-판독가능 저장 매체에 저장될 수 있다. 이러한 이해에 기초하여, 필수적으로 본 개시 내용의 기술적 해결책들, 또는 종래 기술에 기여하는 부분, 또는 기술적 해결책들의 전부 또는 일부는 소프트웨어 프로덕트의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 프로덕트는 저장 매체에 저장되고 (개인용 컴퓨터, 서버 또는 네트워크 디바이스일 수 있는) 컴퓨터 디바이스가 본 개시 내용의 실시예들에서 설명되는 방법들의 단계들의 전부 또는 일부를 수행하도록 명령하기 위한 여러 명령들을 포함한다. 전술한 저장 매체는: USB 플래시 드라이브, 포터블 하드 디스크, 판독-전용 메모리(ROM), 랜덤-액세스 메모리(RAM), 자기 디스크 또는 광학 디스크와 같은 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
위의 설명들은 단지 본 개시 내용의 예시적인 실시예들이며, 본 개시 내용의 보호 범위를 제한하도록 의도되지 않는다. 본 개시 내용에서 제시된 기술적 범위 내에서 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 용이하게 안출되는 임의의 변경 또는 대체는 본 개시 내용의 보호 범위 내에 있어야 한다. 그러므로, 본 개시 내용의 보호 범위는 청구항들의 보호 범위로 종속되어야 한다.

Claims (10)

  1. 이미지를 캡처하기 위한 방법으로서,
    실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하는 단계 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화(characterize)하도록 구성됨 ―;
    상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계; 및
    상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함하고,
    상기 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계는,
    제 1 시간 임계치 범위 내에서, 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 시도하는 단계; 및
    상기 제 1 애플리케이션에 의해 출력되는 이미지가 상기 제 2 캡처링 방식으로 캡처되는 경우에, 상기 제 1 시간 임계치 범위 내에서, 상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 계속하고 상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 중단하고, 상기 제 1 애플리케이션에 의해 출력되는 이미지가 상기 제 2 캡처링 방식으로 캡처되지 않는 경우에, 상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 계속하고 상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 중단하는 단계를 포함하는,
    이미지를 캡처하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 1 캡처링 정책 또는 상기 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력된 캡처된 이미지를 인코딩함으로써 인코딩된 이미지를 획득하는 단계; 및
    상기 인코딩된 이미지를 서버로 전송하는 단계를 더 포함하는,
    이미지를 캡처하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계는,
    상기 제 1 데이터베이스에 있는 프리셋(preset) 이미지 및 상기 캡처링 방식 간의 연관 관계에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 상기 캡처링 방식을 결정하는 단계; 및
    상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 상기 결정된 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함하는,
    이미지를 캡처하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하기 전에, 상기 방법은,
    상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 캡처된 이미지를 인코딩함으로써 인코딩된 이미지를 획득하는 단계; 및
    상기 인코딩된 이미지를 서버로 전송하는 단계를 더 포함하는,
    이미지를 캡처하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 제 1 애플리케이션에 의해 출력되는 이미지의 윈도우가 최소화되는 경우에 상기 제 1 시간 임계치를 리셋(reset)하는 단계를 더 포함하는,
    이미지를 캡처하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 제 1 캡처링 방식은 윈도우 캡처링 또는 디스플레이 캡처링을 포함하고, 상기 제 2 캡처링 방식은 게임 캡처링을 포함하는,
    이미지를 캡처하기 위한 방법.
  7. 단말기로서,
    프로세서;
    입력 디바이스;
    출력 디바이스; 및
    서로에 대하여 연결되는 메모리를 포함하고,
    상기 메모리는 적어도 하나의 애플리케이션 프로그램 코드를 저장하도록 구성되고, 상기 프로세서는 방법의 단계들을 수행하도록 상기 적어도 하나의 프로그램 코드를 호출하도록 구성되며, 상기 단계들은,
    실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하는 단계 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화(characterize)하도록 구성됨 ―;
    상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계; 및
    상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함하고,
    상기 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계는,
    제 1 시간 임계치 범위 내에서, 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 시도하는 단계; 및
    상기 제 1 애플리케이션에 의해 출력되는 이미지가 상기 제 2 캡처링 방식으로 캡처되는 경우에, 상기 제 1 시간 임계치 범위 내에서, 상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 계속하고 상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 중단하고, 상기 제 1 애플리케이션에 의해 출력되는 이미지가 상기 제 2 캡처링 방식으로 캡처되지 않는 경우에, 상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 계속하고 상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 중단하는 단계를 포함하는,
    단말기.
  8. 컴퓨터-판독가능 저장 매체로서,
    적어도 프로그램 명령을 포함하는 적어도 하나의 컴퓨터 프로그램을 저장하며,
    프로세서에 의해 실행될 때, 상기 컴퓨터 프로그램은 상기 프로세서가 방법의 단계들을 수행할 수 있게 하며, 상기 단계들은,
    실행 중인 제 1 애플리케이션과 연관되는 제 1 정보를 검출하는 단계 ― 상기 제 1 정보는 상기 제 1 애플리케이션의 속성을 특징화(characterize)하도록 구성됨 ―;
    상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 제 1 데이터베이스에 존재하는 경우에 제 1 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지와 연관되는 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계; 및
    상기 제 1 애플리케이션과 연관되는 상기 제 1 정보가 상기 제 1 데이터베이스에 존재하지 않는 경우에 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계를 포함하고,
    상기 제 2 캡처링 정책에 기초하여 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하는 단계는,
    제 1 시간 임계치 범위 내에서, 제 1 캡처링 방식 및 제 2 캡처링 방식으로 동시에 상기 제 1 애플리케이션에 의해 출력되는 이미지를 캡처하도록 시도하는 단계; 및
    상기 제 1 애플리케이션에 의해 출력되는 이미지가 상기 제 2 캡처링 방식으로 캡처되는 경우에, 상기 제 1 시간 임계치 범위 내에서, 상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 계속하고 상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 중단하고, 상기 제 1 애플리케이션에 의해 출력되는 이미지가 상기 제 2 캡처링 방식으로 캡처되지 않는 경우에, 상기 제 1 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 계속하고 상기 제 2 캡처링 방식으로 상기 제 1 애플리케이션에 의해 출력되는 이미지의 캡처를 중단하는 단계를 포함하는,
    컴퓨터-판독가능 저장 매체.
  9. 제 4 항에 있어서,
    상기 제 1 애플리케이션에 의해 출력되는 이미지의 윈도우가 최소화되는 경우에 상기 제 1 시간 임계치를 리셋하는 단계를 더 포함하는,
    이미지를 캡처하기 위한 방법.
  10. 제 4 항에 있어서,
    상기 제 1 캡처링 방식은 윈도우 캡처링 또는 디스플레이 캡처링을 포함하고, 상기 제 2 캡처링 방식은 게임 캡처링을 포함하는,
    이미지를 캡처하기 위한 방법.
KR1020207031971A 2018-04-28 2018-12-27 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체 KR102575541B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810412069.3 2018-04-28
CN201810412069.3A CN108932142B (zh) 2018-04-28 2018-04-28 一种画面捕捉方法及终端
PCT/CN2018/124506 WO2019205703A1 (zh) 2018-04-28 2018-12-27 一种画面捕捉方法及终端

Publications (2)

Publication Number Publication Date
KR20210005048A KR20210005048A (ko) 2021-01-13
KR102575541B1 true KR102575541B1 (ko) 2023-09-06

Family

ID=64448144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207031971A KR102575541B1 (ko) 2018-04-28 2018-12-27 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체

Country Status (5)

Country Link
US (1) US11249624B2 (ko)
JP (1) JP7361399B2 (ko)
KR (1) KR102575541B1 (ko)
CN (1) CN108932142B (ko)
WO (1) WO2019205703A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932142B (zh) * 2018-04-28 2020-04-03 广州市百果园网络科技有限公司 一种画面捕捉方法及终端
CN112291583B (zh) * 2020-10-29 2022-12-27 北京达佳互联信息技术有限公司 直播连麦方法、装置、服务器、终端及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081080A1 (en) 2005-10-12 2007-04-12 Photo Control Corporation Presentation video control system
CN104333769A (zh) 2014-11-20 2015-02-04 广州华多网络科技有限公司 一种视频直播的方法以及装置
US20160294894A1 (en) 2015-03-31 2016-10-06 Facebook, Inc. Multi-user media presentation system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4314110B2 (ja) 2003-12-15 2009-08-12 キヤノン株式会社 制御装置、制御方法及びコンピュータプログラム
KR100682455B1 (ko) 2005-03-17 2007-02-15 엔에이치엔(주) 게임 스크랩 시스템, 게임 스크랩 방법 및 상기 방법을실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한기록매체
JP5063392B2 (ja) 2008-02-04 2012-10-31 株式会社スクウェア・エニックス スクリーンショット管理装置、およびスクリーンショット管理プログラム
JP4983784B2 (ja) * 2008-12-18 2012-07-25 ソニー株式会社 撮像システム、画像提示方法、制御装置、プログラム
US8509483B2 (en) * 2011-01-31 2013-08-13 Qualcomm Incorporated Context aware augmentation interactions
US9448813B2 (en) * 2012-05-24 2016-09-20 Microsoft Technology Licensing, Llc Entry points to image-related applications in a mobile device
JP6306512B2 (ja) 2012-11-05 2018-04-04 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
CN103761025B (zh) * 2013-12-31 2017-08-01 广州华多网络科技有限公司 信息交互方法和装置
JP2016163131A (ja) * 2015-02-27 2016-09-05 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像データ配信方法
US11036458B2 (en) * 2015-10-14 2021-06-15 Google Llc User interface for screencast applications
CN108932142B (zh) 2018-04-28 2020-04-03 广州市百果园网络科技有限公司 一种画面捕捉方法及终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081080A1 (en) 2005-10-12 2007-04-12 Photo Control Corporation Presentation video control system
CN104333769A (zh) 2014-11-20 2015-02-04 广州华多网络科技有限公司 一种视频直播的方法以及装置
US20160294894A1 (en) 2015-03-31 2016-10-06 Facebook, Inc. Multi-user media presentation system

Also Published As

Publication number Publication date
US11249624B2 (en) 2022-02-15
CN108932142B (zh) 2020-04-03
WO2019205703A1 (zh) 2019-10-31
JP7361399B2 (ja) 2023-10-16
JP2021522721A (ja) 2021-08-30
CN108932142A (zh) 2018-12-04
US20210149536A1 (en) 2021-05-20
KR20210005048A (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
US11344806B2 (en) Method for rendering game, and method, apparatus and device for generating game resource file
US20210243493A1 (en) Video processing method, video processing device, and storage medium
EP3129871B1 (en) Generating a screenshot
WO2019174473A1 (zh) 用户界面渲染方法、装置及终端
US12050756B1 (en) Managing application windows of applications from different servers within a same browser window on a user device
CN111767554B (zh) 屏幕分享方法、装置、存储介质及电子设备
CN107168616B (zh) 游戏交互界面显示方法、装置、电子设备及存储介质
KR102340358B1 (ko) 그래픽 이미지 데이터를 캡쳐하기 위한 소프트웨어 개발 킷
EP3161598A1 (en) Light dismiss manager
KR102575541B1 (ko) 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체
US11190653B2 (en) Techniques for capturing an image within the context of a document
US20160275917A1 (en) Predictive pre-decoding of encoded media item
US20140022269A1 (en) Method and device for obtaining screenshots from mobile terminals
CN106775445B (zh) 数据迁移方法及装置
WO2019056645A1 (zh) 视图切换
CN103870121B (zh) 一种信息处理方法及电子设备
US10902101B2 (en) Techniques for displaying secure content for an application through user interface context file switching
US20160301736A1 (en) Systems and methods for providing remote access to an application
US20150356058A1 (en) Method for displaying images and electronic device for implementing the same
KR102223554B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
KR102245042B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
CN108235144B (zh) 播放内容获取方法、装置及计算设备
US11886893B2 (en) Method and device for capturing screen and terminal
CN112843715B (zh) 一种拍摄视角的确定方法、装置、设备及存储介质
KR102223553B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right