KR20230011021A - Apparatus and method for providing content - Google Patents
Apparatus and method for providing content Download PDFInfo
- Publication number
- KR20230011021A KR20230011021A KR1020210091546A KR20210091546A KR20230011021A KR 20230011021 A KR20230011021 A KR 20230011021A KR 1020210091546 A KR1020210091546 A KR 1020210091546A KR 20210091546 A KR20210091546 A KR 20210091546A KR 20230011021 A KR20230011021 A KR 20230011021A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- electronic device
- marker
- processor
- address information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 모듈, 디스플레이, 상기 통신 모듈 및 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서, 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 어플리케이션 실행 중 제1 콘텐트의 선택을 확인함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 외부 서버로 전송하고, 상기 통신 모듈을 통해 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득하고, 상기 제1 콘텐트에 대하여 삽입할 마커의 위치를 결정하고, 상기 제1 콘텐트의 적어도 일부 프레임 내 상기 결정된 위치에 상기 주소 정보를 포함하는 상기 마커를 인코딩하고, 상기 인코딩된 콘텐트를 상기 제1 어플리케이션을 통해 전송하도록 하는 인스트럭션들을 저장할 수 있다. 이 외에도 본 문서를 통해 파악되는 다양한 실시 예들이 가능하다.An electronic device according to an embodiment disclosed in this document includes a communication module, a display, at least one processor operatively connected to the communication module and the display, and a memory operatively connected to the at least one processor, The memory, when executed, transmits the first content to an external server through the communication module in response to the at least one processor confirming selection of the first content while the first application is running, and the communication module Obtaining address information of the first content stored by the external server through, determining a position of a marker to be inserted with respect to the first content, and placing the address information at the determined position within at least some frames of the first content. Instructions for encoding the included marker and transmitting the encoded content through the first application may be stored. In addition to this, various embodiments identified through this document are possible.
Description
본 문서에 개시되는 다양한 실시 예들은 전자 장치에서 실행 중인 어플리케이션을 통해 콘텐트를 제공하는 기술에 관한 것이다.Various embodiments disclosed in this document relate to a technology for providing content through an application running on an electronic device.
정보통신 기술이 발전함에 따라, 스마트폰, 태블릿 PC, 또는 PC와 같이 데이터 통신이 가능한 전자 장치의 사용이 보편화되고 있다. 이러한 전자 장치는 어플리케이션(또는 응용 프로그램)을 통해 사진이나 동영상의 촬영 및 재생, 문서 작성, 이메일, 메시지 또는 SNS(social network service)와 같은 다양한 종류의 콘텐트와 서비스를 제공할 수 있다. 사용자는 전자 장치에 설치된 어플리케이션을 통해 콘텐트를 업로드 또는 다운로드 할 수 있고, 특정 주제에 연관되는 정보를 제공하거나 또는 다른 사용자와 대화 중 자신의 감정을 보다 직관적으로 표현하기 위해 콘텐트를 활용할 수도 있다.As information and communication technology develops, the use of electronic devices capable of data communication, such as smart phones, tablet PCs, or PCs, is becoming common. Such an electronic device may provide various types of content and services, such as taking and playing photos or videos, writing documents, e-mails, messages, or social network services (SNS), through applications (or application programs). A user may upload or download content through an application installed on an electronic device, and may utilize the content to provide information related to a specific subject or more intuitively express his or her feelings during a conversation with another user.
전자 장치에서 실행되는 일부 어플리케이션의 경우, 어플리케이션의 고유 특성이나 제작사의 이해관계로 인해 움직이는 영상 타입의 콘텐트(예: GIF, WebP, MKV, MP4와 같은 포맷을 갖는 동영상 파일)의 자동 재생을 지원하지 않을 수 있다. 예시적으로, 메신저 어플리케이션 실행 중 송신자가 업로드한 동영상 콘텐트가 자동 재생되지 않으면, 송신자는 자신의 의도를 제대로 표현하는 데 한계가 있고, 수신자는 송신자의 의도를 정확하게 확인하기 어려워 불편함을 느낄 수 있다.Some applications running on electronic devices do not support automatic playback of moving image-type content (e.g., video files in formats such as GIF, WebP, MKV, and MP4) due to the unique characteristics of the application or the interest of the producer. may not be For example, if the video content uploaded by the sender is not automatically played while the messenger application is running, the sender has a limitation in properly expressing his intention, and the receiver may feel uncomfortable because it is difficult to accurately confirm the sender's intention. .
이에 따라 본 문서의 다양한 실시 예들에서는, 어플리케이션 실행 중 움직이는 영상 타입의 콘텐트를 삽입 또는 전송할 때, 해당 콘텐트 파일의 자동 재생을 위한 마커를 해당 콘텐트 파일에 인코딩하여 전송할 수 있다. 또한, 어플리케이션을 통해 콘텐트를 디스플레이 하는 과정에서 콘텐트 파일로부터 검출된 마커를 기반으로 해당 콘텐트 파일의 프레임 이미지 상에 PiP(picture in picture)를 오버레이(overlay) 하여 재생함으로써, 움직이는 영상 타입의 콘텐트가 어플리케이션의 제약 없이 자동 재생되는 효과를 제공하기 위한 다양한 실시 예들을 제공할 수 있다.Accordingly, in various embodiments of the present document, when inserting or transmitting moving image type content while an application is running, markers for automatic reproduction of the corresponding content file may be encoded in the corresponding content file and transmitted. In addition, in the process of displaying content through an application, a picture in picture (PiP) is overlaid and played on the frame image of the content file based on the marker detected from the content file, so that the moving image type content is displayed in the application. It is possible to provide various embodiments for providing an effect that is automatically reproduced without any restrictions.
본 문서에 개시되는 실시 예들에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved in the embodiments disclosed in this document is not limited to the above-mentioned technical problem, and other technical problems not mentioned above are to those of ordinary skill in the art to which the present invention belongs from the description below. will be clearly understood.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 모듈, 디스플레이, 상기 통신 모듈 및 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서, 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 어플리케이션 실행 중 제1 콘텐트의 선택을 확인함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 외부 서버로 전송하고, 상기 통신 모듈을 통해 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득하고, 상기 제1 콘텐트에 대하여 삽입할 마커의 위치를 결정하고, 상기 제1 콘텐트의 적어도 일부 프레임 내 상기 결정된 위치에 상기 주소 정보를 포함하는 상기 마커를 인코딩하고, 상기 인코딩된 콘텐트를 상기 제1 어플리케이션을 통해 전송하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to an embodiment disclosed in this document includes a communication module, a display, at least one processor operatively connected to the communication module and the display, and a memory operatively connected to the at least one processor, The memory, when executed, transmits the first content to an external server through the communication module in response to the at least one processor confirming selection of the first content while the first application is running, and the communication module Obtaining address information of the first content stored by the external server through, determining a position of a marker to be inserted with respect to the first content, and placing the address information at the determined position within at least some frames of the first content. Instructions for encoding the included marker and transmitting the encoded content through the first application may be stored.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 모듈, 디스플레이, 상기 통신 모듈 및 상기 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서, 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 어플리케이션의 실행 화면에서 제1 콘텐트에 연관되는 마커를 감지함에 응답하여, 상기 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인하고, 상기 제1 콘텐트가 자동 재생되어야 함을 확인하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 및 상기 제1 콘텐트를 재생할 위치 정보를 확인하고, 상기 통신 모듈을 통해 상기 주소 정보를 기반으로 외부 서버로부터 상기 제1 콘텐트를 획득하고, 상기 위치 정보를 기반으로 상기 디스플레이 상의 상기 실행 화면 내 상기 제1 콘텐트의 재생 영역을 확인하고, 상기 확인된 재생 영역에 상기 획득한 제1 콘텐트를 자동 재생하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to an embodiment disclosed in this document includes a communication module, a display, at least one processor operatively connected to the communication module and the display, and a memory operatively connected to the at least one processor, and , When the memory is executed, in response to the at least one processor detecting a marker associated with the first content on the execution screen of the first application, the memory determines whether the first content is automatically reproduced based on the marker. and if it is confirmed that the first content should be automatically reproduced, address information where the first content is stored and information on a location to reproduce the first content are checked from the marker, and based on the address information through the communication module obtains the first content from an external server, checks a play area of the first content within the execution screen on the display based on the location information, and automatically places the acquired first content in the checked play area. You can store instructions that cause playback.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 통신 모듈, 상기 통신 모듈과 작동적으로 연결된 적어도 하나의 프로세서, 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 외부 장치로부터 제1 콘텐트의 저장 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 메모리 또는 데이터베이스에 저장하고, 하나 이상의 외부 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성하고, 상기 통신 모듈을 통해 상기 주소 정보를 상기 제1 외부 장치로 전송하고, 제2 외부 장치로부터 상기 제1 콘텐트의 전송 요청을 수신함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 상기 제2 외부 장치로 전송하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to an embodiment disclosed in this document includes a communication module, at least one processor operatively connected to the communication module, and a memory operatively connected to the at least one processor, the memory comprising: When executed, the at least one processor, in response to receiving a request to store the first content from a first external device, stores the first content in the memory or database, and stores the first content in the memory or database, and In response to generating address information of the first content, transmitting the address information to the first external device through the communication module, and receiving a request for transmission of the first content from a second external device, the communication module may store instructions for transmitting the first content to the second external device.
본 문서에 개시된 다양한 실시 예들에 따르면, 어플리케이션 실행 중 사용자에 의해 삽입 또는 전송된 움직이는 영상 타입의 콘텐트 파일을 디스플레이 하는 과정에서, 해당 콘텐트 파일의 프레임 이미지 상에 PiP(picture in picture)를 오버레이 하는 방식으로 움직이는 영상 타입의 콘텐트가 자동 재생되는 것과 같은 효과를 제공할 수 있다. 또한, 어플리케이션의 제약에 관계없이 움직이는 타입의 콘텐트가 자동 재생되도록 함으로써, 사용자가 전달하고자 하는 정보나 감정을 보다 직관적이고 효율적으로 전달할 수 있다. According to various embodiments disclosed in this document, in the process of displaying a content file of a moving image type inserted or transmitted by a user while an application is running, a method of overlaying a picture in picture (PiP) on a frame image of the corresponding content file It is possible to provide the same effect as when moving video type content is played automatically. In addition, information or emotion that a user wants to convey can be conveyed more intuitively and efficiently by automatically reproducing content of a moving type regardless of restrictions of the application.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition to this, various effects identified directly or indirectly through this document may be provided.
도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a, 도 2b 및 도 2c는 일 실시 예에 따른 전자 장치에서 콘텐트를 제공하는 방식을 설명하는 도면이다.
도 3은 일 실시 예에 따른 전자 장치의 구성을 도시하는 블록도이다.
도 4는 일 실시 예에 따른 전자 장치의 세부 구성을 설명하는 도면이다.
도 5는 일 실시 예에 따른 서버의 구성을 도시하는 블록도이다.
도 6은 일 실시 예에 따른 서버의 세부 구성을 설명하는 도면이다.
도 7은 일 실시 예에 따른, 움직이는 영상(motion picture) 형식의 콘텐트를 제공하는 흐름도를 나타낸다.
도 8a, 도 8b 및 도 8c는 일 실시 예에 따른, 콘텐트에 대하여 마커를 삽입하는 방식을 설명하는 도면이다.
도 9a, 도 9b, 도 9c 및 도 9d는 일 실시 예에 따른, 콘텐트에 마커를 인코딩하는 방식을 설명하는 도면이다.
도 10은 일 실시 예에 따른, 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 11은 일 실시 예에 따른, 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 12a 및 도 12b는 일 실시 예에 따라, 어플리케이션의 설정을 반영하여 콘텐트를 제공하는 과정을 설명하는 도면이다.
도 13은 일 실시 예에 따른 서버의 동작 방법을 도시하는 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.1 is a block diagram of an electronic device in a network environment according to an embodiment.
2A, 2B, and 2C are diagrams illustrating a method of providing content in an electronic device according to an exemplary embodiment.
3 is a block diagram illustrating a configuration of an electronic device according to an exemplary embodiment.
4 is a diagram illustrating a detailed configuration of an electronic device according to an exemplary embodiment.
5 is a block diagram illustrating a configuration of a server according to an exemplary embodiment.
6 is a diagram illustrating a detailed configuration of a server according to an exemplary embodiment.
7 is a flowchart of providing content in a motion picture format, according to an exemplary embodiment.
8A, 8B, and 8C are diagrams illustrating a method of inserting a marker into content, according to an exemplary embodiment.
9A, 9B, 9C, and 9D are diagrams for describing a method of encoding a marker in content, according to an exemplary embodiment.
10 is a flowchart illustrating a method of operating an electronic device according to an exemplary embodiment.
11 is a flowchart illustrating a method of operating an electronic device according to an embodiment.
12A and 12B are diagrams illustrating a process of providing content by reflecting application settings, according to an embodiment.
13 is a flowchart illustrating a method of operating a server according to an embodiment.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar elements.
이하, 첨부된 도면을 참조하여 본 문서에 개시된 다양한 실시 예들이 설명된다. 이는 본 발명의 다양한 실시 예들을 특정한 형태로 한정하려는 것이 아니며, 본 발명의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.Hereinafter, various embodiments disclosed in this document will be described with reference to the accompanying drawings. This is not intended to limit the various embodiments of the present invention to a specific form, but should be understood to include various modifications, equivalents, and/or alternatives of the present invention.
도 1은 일 실시 예에 따른 네트워크 환경(100) 내의 전자 장치를 도시한 도면이다.1 is a diagram illustrating an electronic device in a
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시 예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.Referring to FIG. 1 , in a
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted Boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. The
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.The memory 130 may store various data used by at least one component (eg, the
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.The program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142 , middleware 144 , or an
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.The
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.The
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 may convert sound into an electrical signal or vice versa. According to an embodiment, the audio module 170 acquires sound through the
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시 예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.The sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a bio sensor, It may include a temperature sensor, humidity sensor, or light sensor.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 may convert electrical signals into mechanical stimuli (eg, vibration or movement) or electrical stimuli that a user may perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시 예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 may manage power supplied to the electronic device 101 . According to one embodiment, the power management module 188 may be implemented as at least part of a power management integrated circuit (PMIC), for example.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시 예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, Wi-Fi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.The communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시 예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, NR access technology (new radio access technology). NR access technologies include high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), terminal power minimization and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low -latency communications)) can be supported. The wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example. The wireless communication module 192 uses various technologies for securing performance in a high frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. Technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna may be supported. The wireless communication module 192 may support various requirements defined for the electronic device 101, an external electronic device (eg, the electronic device 104), or a network system (eg, the second network 199). According to an embodiment, the wireless communication module 192 may include a peak data rate for realizing eMBB (eg, 20 Gbps or more), a loss coverage for realizing mMTC (eg, 164 dB or less), or a U-plane latency for realizing URLLC (eg, Example: downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) may be supported.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시 예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The
다양한 실시 예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시 예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗면 또는 측면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( e.g. commands or data) can be exchanged with each other.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시 예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시 예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.According to an embodiment, commands or data may be transmitted or received between the electronic device 101 and the external
도 2a, 도 2b 및 도 2c는 일 실시 예에 따른 전자 장치(200)에서 콘텐트를 제공하는 방식을 설명하는 도면이다.2A, 2B, and 2C are diagrams illustrating a method of providing content in the
도 2a, 도 2b 및 도 2c에서, 전자 장치(200)는 어플리케이션 실행 중 사용자에 의해 선택된 콘텐트를 다양한 방식으로 상기 어플리케이션의 실행 화면 상에 디스플레이 할 수 있다. 상기 콘텐트는 복수 개의 프레임으로 포함하는 움직이는 영상(motion picture) 타입의 콘텐트이거나 동영상 포맷을 가지는 콘텐트일 수 있다. 본 발명의 다양한 실시 예에 따르면, 상기 어플리케이션은 움직이는 영상 타입의 콘텐트를 전송하여 표시할 수 있는 모바일 앱(mobile app), 또는 상기 콘텐트를 삽입하여 표시할 수 있는 각종 소프트웨어 프로그램을 포함할 수 있다.2A, 2B, and 2C, the
도 2a에서, 전자 장치(200)는 상기 콘텐트의 대표 이미지(210)를 상기 어플리케이션의 실행 화면에 표시할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 어플리케이션이 실행되는 동안 상기 콘텐트의 삽입 또는 표시에 관한 사용자 요청을 수신하면, 상기 어플리케이션이 상기 콘텐트의 자동 재생을 지원하는지 여부를 확인할 수 있다. 상기 어플리케이션이 상기 콘텐트의 자동 재생을 지원하지 않는 것으로 확인되면, 전자 장치(200)는 상기 콘텐트를 구성하는 복수 개의 프레임들 중 첫번째 프레임 이미지 또는 상기 콘텐트의 스틸 이미지를 상기 콘텐트의 대표 이미지(210)로 획득하고, 상기 획득된 대표 이미지(210)를 상기 콘텐트의 디스플레이 공간에 표시할 수 있다. 도 2a와 같이 상기 콘텐트의 대표 이미지(210)가 표시되는 경우, 상기 어플리케이션을 통해 상기 콘텐트를 확인하는 다른 사용자는 상기 콘텐트가 어떠한 타입인지 인지하지 못하여, 상기 콘텐트를 삽입한 사용자가 전달하고자 하는 정보나 감정 표현을 정확하게 파악하기 어려울 수 있다. In FIG. 2A , the
도 2b에서, 전자 장치(200)는 상기 콘텐트의 포맷에 관한 표시를 포함하는 이미지(220)를 상기 어플리케이션의 실행 화면에 표시할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 콘텐트의 삽입 또는 표시에 관한 사용자 요청을 수신하면, 상기 콘텐트가 움직이는 영상 타입의 콘텐트 또는 동영상 포맷을 갖는 콘텐트에 대응하는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(200)는 상기 콘텐트가 GIF 포맷의 콘텐트임을 확인하면, 상기 콘텐트의 첫번째 프레임 이미지 또는 스틸 이미지의 일 측에 GIF 포맷에 관한 표시를 추가하고, 상기 표시가 추가된 이미지(220)를 상기 콘텐트의 디스플레이 공간에 표시할 수 있다. 도 2b와 같이 상기 콘텐트의 포맷에 관한 표시를 포함하는 이미지(220)가 제공되는 경우, 상기 어플리케이션을 통해 상기 콘텐트를 확인하는 다른 사용자는 상기 콘텐트가 움직이는 영상 타입의 콘텐트임을 인지할 수 있지만, 상기 콘텐트를 삽입한 사용자가 전달하고자 하는 정보나 감정 표현을 직관적으로 확인하기 어려울 수 있다.In FIG. 2B , the
도 2c를 참조하면, 전자 장치(200)는 상기 콘텐트(230)를 상기 어플리케이션의 실행 화면 상에서 자동으로 재생할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 콘텐트(230)의 삽입 또는 표시에 관한 사용자 요청을 수신하면, 상기 콘텐트(230)의 자동 재생을 위한 마커를 생성하고, 상기 생성된 마커를 상기 콘텐트에 삽입하여 인코딩할 수 있다. 상기 마커는 상기 콘텐트의 자동 재생에 필요한 정보를 포함할 수 있다. 예를 들어, 상기 전자 장치(200)는 하나 이상의 외부 전자 장치에서 접근 가능한 상기 콘텐트의 주소 정보, 상기 콘텐트가 재생될 위치 정보 또는 상기 콘텐트의 자동 재생 횟수 중 적어도 하나를 기반으로 상기 마커를 생성할 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는 상기 콘텐트를 구성하는 복수 개의 프레임들 중 첫번째 프레임의 일측에 상기 마커를 인코딩하거나, 또는 상기 복수 개의 프레임 전체에 상기 마커를 인코딩할 수 있다. 전자 장치(200)가 상기 인코딩된 콘텐트를 상기 어플리케이션의 관리 서버로 전송하면, 상기 인코딩된 콘텐트가 상기 어플리케이션의 실행 화면 내 상기 콘텐트의 디스플레이 공간에 표시될 수 있다. 이후, 전자 장치(200)는 상기 어플리케이션의 실행 화면에 표시된 상기 인코딩된 콘텐트로부터 상기 마커를 검출할 수 있다. 전자 장치(200)는 상기 검출된 마커로부터 상기 콘텐트의 자동 재생에 연관되는 정보를 획득하고, 상기 획득한 정보를 기반으로 상기 콘텐트를 상기 실행 화면 내 상기 콘텐트의 디스플레이 공간에 자동 재생할 수 있다. 예시적으로, 상기 콘텐트의 디스플레이 공간은 상기 어플리케이션의 실행 화면에서 상기 콘텐트가 삽입된 위치로서, 상기 콘텐트의 삽입 이후 감지되는 사용자 입력에 의해 상기 실행 화면이 변경되면 상기 디스플레이 공간의 위치도 변경될 수 있다. 전자 장치(200)는 상기 실행 화면 내 상기 디스플레이 공간이 변경되더라도 상기 콘텐트를 자연스럽게 자동 재생하기 위해, 상기 사용자 입력에 따라 변경되는 상기 디스플레이 공간의 위치를 지속적으로 추적할 수 있다. 이로 인해, 전자 장치(200)는 실행 중인 어플리케이션이 움직이는 영상 타입의 콘텐트에 대한 자동 재생을 지원하지 않더라도, 상기 콘텐트가 상기 어플리케이션의 실행 화면에서 자동 재생되는 것 같은 시각적 효과를 제공할 수 있으며, 상기 콘텐트를 삽입한 사용자가 전달하고자 하는 감정이나 정보에 대한 보다 직관적인 확인이 가능해질 수 있다.Referring to FIG. 2C , the
도 3은 일 실시 예에 따른 전자 장치(200)의 구성을 도시하는 블록도이다.3 is a block diagram illustrating a configuration of an
도 3을 참조하면, 전자 장치(200)는 어플리케이션 실행 중 사용자에 의해 선택된, 움직이는 영상 타입의 제1 콘텐트를 상기 어플리케이션의 실행 화면 상에서 자동 재생하도록 지원하는 장치로서, 통신 모듈(310), 디스플레이(320), 프로세서(330) 및/또는 메모리(340)를 포함할 수 있다. 도 3에서, 전자 장치(200)는 도 1에 도시된 전자 장치(101) 또는 도 2에 도시된 전자 장치(200)에 대응될 수 있다. 다양한 실시 예에 따라, 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다.Referring to FIG. 3 , the
일 실시 예에서, 통신 모듈(310)(예: 도 1의 통신 모듈(190))은 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104)) 또는 외부 서버(예: 도 1의 서버(108))와의 통신 연결을 설정할 수 있다. 예를 들어, 통신 모듈(310)은 자동 재생 대상으로 확인된 제1 콘텐트를 외부 서버로 전송하거나, 상기 제1 콘텐트를 상기 외부 서버로부터 획득할 수 있다. 본 발명의 다양한 실시 예에 따라, 통신 모듈(310)은 셀룰러 통신, Wi-Fi(wireless-fidelity), 블루투스, NFC(near field communication), 또는 UWB(ultra-wide band) 통신 중 적어도 하나의 통신 방식을 제공할 수 있다.In one embodiment, the communication module 310 (eg, the communication module 190 of FIG. 1) is one or more external electronic devices (eg, the
일 실시 예에서, 디스플레이(320)(예: 도 1의 디스플레이 모듈(160))는 사용자에 의해 선택된 상기 제1 콘텐트를 어플리케이션의 실행 화면 상에 디스플레이 할 수 있다. 본 발명의 다양한 실시 예에 따라, 디스플레이(320)는 상기 실행 화면 내에 상기 제1 콘텐트를 자동으로 재생하거나, 또는 상기 제1 콘텐트의 자동 재생을 위한 설정 메뉴를 출력할 수 있다.In one embodiment, the display 320 (eg, the
일 실시 예에서, 디스플레이(320)는 LCD(liquid crystal display), TFT-LCD(thin film transistor LCD), OLED(organic light emitting diodes), 발광다이오드(LED), AMOLED(active matrix organic LED), 플렉서블 디스플레이(flexible display) 및 3차원 디스플레이(3-dimension display) 중 적어도 하나 이상으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(transparent OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.In one embodiment, the
일 실시 예에서, 메모리(340)(예: 도 1의 메모리(130))는, 실행 시에, 적어도 하나의 프로세서(330)(예: 도 1의 프로세서(120))가 각종 동작들을 수행하도록 제어하는 인스트럭션들을 저장할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 사용자에 의해 선택된 제1 콘텐트의 자동 재생을 제공하기 위한 동작들을 수행할 수 있다.In one embodiment, the memory 340 (eg, the memory 130 of FIG. 1 ), when executed, causes at least one processor 330 (eg, the
본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트를 실행 중인 어플리케이션을 통해 전송 또는 상기 어플리케이션의 실행 화면에 삽입하는 과정에서 상기 제1 콘텐트의 자동 재생을 지원하기 위한 처리 동작들을 수행할 수 있다. According to various embodiments of the present disclosure, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 제1 어플리케이션 실행 중 제1 콘텐트의 선택에 관한 사용자 입력을 획득할 수 있다. 상기 사용자 입력은 상기 제1 어플리케이션을 통해 상기 제1 콘텐트를 하나 이상의 다른 사용자의 전자 장치와 공유하거나, 또는 상기 제1 콘텐트를 상기 제1 어플리케이션의 실행 화면에 삽입하기 위한 요청일 수 있다. In one embodiment, the at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 선택을 확인하면, 통신 모듈(310)을 통해 상기 제1 콘텐트를 외부 서버(예: 도 1의 서버(108))로 전송할 수 있다. 상기 제1 콘텐트는 상기 외부 서버의 메모리 공간 또는 상기 외부 서버에 의해 관리되는 데이터베이스에 저장될 수 있다.In one embodiment, when the at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 전송에 대한 응답으로, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득할 수 있다. 예를 들어, 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104))에서 접근 가능한 네트워크 주소로서, 상기 외부 서버에 의해 관리되는 상기 제1 콘텐트의 url(uniform resource locator)을 포함할 수 있다.In one embodiment, the at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 자동 재생을 위해 상기 제1 콘텐트에 삽입할 마커의 위치를 결정할 수 있다. 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 원본 파일에 대한 훼손을 최소화하도록, 상기 마커의 위치를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 대한 에지(edge) 분석을 수행하여 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출 결과를 기반으로 상기 마커의 위치를 결정할 수 있다. 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역이 검출되지 않으면, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 외부 주변에 그림자, 액자 또는 반사면과 같은 그래픽 효과가 적용된 패딩 영역을 추가하고, 상기 추가된 패딩 영역을 기반으로 상기 마커의 위치를 결정할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 테두리 선 또는 모서리 영역을 확인하고, 상기 확인된 테두리 선 또는 모서리 영역을 기반으로 상기 마커의 위치를 결정할 수도 있다.In one embodiment, at least one
본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 실행 중인 어플리케이션의 종류에 따라 상이하게 상기 마커의 위치를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 콘텐트 삽입 시 실행 중인 어플리케이션에 의해 추가되는 표시가 있는지 확인하고, 상기 표시와 중첩되지 않도록 상기 마커의 위치를 결정할 수 있다.According to various embodiments of the present disclosure, at least one
본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 사용자 선택을 기반으로 상기 마커의 위치를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 분석 결과 또는 실행 중인 어플리케이션의 종류에 따라 상기 마커의 배치가 가능한 하나 이상의 위치를 표시한 선택 목록을 미리보기 형식으로 디스플레이(320) 상에 출력할 수 있다. 적어도 하나의 프로세서(330)는 상기 선택 목록 중 사용자에 의해 선택된 위치를 상기 마커의 위치로 결정할 수 있다.According to various embodiments of the present disclosure, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 결정된 마커의 위치를 기준으로 상기 제1 콘텐트의 상대좌표를 계산할 수 있다. 상기 제1 콘텐트의 상대 좌표는 상기 결정된 마커의 위치를 기준으로 계산된 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나에 위치한 모서리의 상대좌표를 포함할 수 있다. 적어도 하나의 프로세서(330)는 상기 계산된 제1 콘텐트의 상대좌표를 기반으로 상기 어플리케이션의 실행 화면에서 상기 제1 콘텐트가 재생되는 위치와 크기를 확인할 수 있다. 상기 제1 콘텐트가 재생되는 위치는 상기 어플리케이션의 실행화면에 표시된 마커를 기준으로 실시간 계산되기 때문에, 상기 실행 화면 상에서 상기 제1 콘텐트가 재생되는 동안 사용자 입력이나 지정된 이벤트에 의해 상기 어플리케이션의 실행 화면이 변경되더라도 자연스럽게 상기 제1 콘텐트의 재생 위치도 변경될 수 있다.In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 외부 서버로부터 획득한 제1 콘텐트의 주소 정보 또는 상기 계산된 상대좌표를 포함하는 제1 콘텐트의 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성할 수 있다. 예시적으로, 적어도 하나의 프로세서(330)는 상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 1차원 바코드(예: UPC(universal product code), EAN(european article number), 또는 Code 128) 또는 2차원 바코드(예: QR 코드(quick response code), 데이터 매트릭스 코드(data matrix code), PDF417, Data glyphs 또는 m-code) 형태로 변환하여 상기 마커를 생성할 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 주소 정보 또는 상기 위치 정보를 사용자의 개인 키(private key)로 전자서명을 수행하고, 상기 전자서명 데이터를 함께 상기 마커로 생성할 수 있다. 상기 마커에 포함된 상기 전자서명 데이터는 상기 제1 콘텐트의 작성(또는 전송) 주체 또는 상기 마커에 대한 진위여부를 확인하는 데 이용될 수 있다.In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 생성된 마커를 상기 결정된 마커의 위치에 상기 삽입하여 인코딩할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 포함된 복수 개의 프레임들 중 첫번째 프레임 내 상기 결정된 위치에 상기 마커를 인코딩할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 포함된 전체 프레임의 상기 결정된 위치에 상기 마커를 인코딩할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 인코딩된 마커가 사용자의 눈에 최소한으로 보여지도록, 상기 제1 콘텐트에 마커를 인코딩하는 과정에서 알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 적용할 수 있다.In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 마커가 인코딩된 콘텐트를 실행 중인 어플리케이션을 통해 삽입 또는 전송할 수 있다. 상기 인코딩된 콘텐트는 상기 어플리케이션의 실행 화면에 삽입되어 디스플레이될 수 있다.In one embodiment, at least one
본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트를 실행 중인 어플리케이션을 통해 디스플레이 하는 과정에서 상기 제1 콘텐트의 자동 재생을 제공하기 위한 동작들을 수행할 수 있다.According to various embodiments of the present disclosure, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 제1 어플리케이션이 포그라운드 상태(foreground process)임을 확인할 수 있다. 포그라운드 상태는 실행 중인 어플리케이션의 실행 화면이 디스플레이(320) 상에서 노출되는 상태를 의미할 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 포그라운드 상태로 확인된 상기 제1 어플리케이션에 대해, 움직이는 영상 타입의 콘텐트의 자동 재생 기능이 설정되어 있는지 여부를 확인하고, 상기 자동 재생 기능이 설정된 어플리케이션에 한해 상기 제1 콘텐트의 자동 재생을 위한 프로세스를 수행할 수 있다.In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 어플리케이션의 실행 화면을 캡처하고, 상기 캡처된 이미지로부터 제1 콘텐트에 연관되는 마커를 검출할 수 있다. 상기 마커는 상기 제1 콘텐트의 자동 재생을 위한 정보를 포함할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 지정된 시간 마다 또는 지정된 이벤트(예: 실행 화면의 변경 또는 사용자 입력 수신) 감지 시 상기 제1 어플리케이션의 실행 화면을 캡처할 수 있다. In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 검출된 마커를 기반으로 상기 제1 콘텐트가 상기 제1 어플리케이션의 실행 화면에서 자동 재생되어야 함을 확인할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 마커로부터 획득한 주소 정보가 지정된 형식의 데이터(예: 네트워크 url 형식의 데이터)를 포함하고 있음을 확인하면, 상기 제1 콘텐트를 자동 재생 대상으로 판단할 수 있다.In an embodiment, the at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트를 자동 재생 대상으로 판단하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 또는 상기 제1 콘텐트를 재생할 위치 정보 중 적어도 하나를 확인할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치에서 접근 가능한 네트워크 주소로서, 외부 서버에 의해 저장된 상기 제1 콘텐트의 url 주소를 포함할 수 있다. 상기 위치 정보는 상기 제1 콘텐트가 재생되는 위치의 좌표로서, 상기 실행 화면에서 검출된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나의 모서리의 상대좌표를 포함할 수 있다.In one embodiment, if the at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 통신 모듈(310)을 이용하여 상기 주소 정보를 기반으로 외부 서버(예: 도 1의 서버(108))로부터 상기 제1 콘텐트를 획득할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 획득한 제1 콘텐트를 전자 장치(200)의 캐시 메모리(cache memory)에 저장하여 관리함으로써, 상기 제1 콘텐트에 대한 중복 다운로드를 방지하고, 상기 외부 서버의 부하를 감소시킬 수 있다. 이로 인해, 전자 장치(200)는 상기 제1 콘텐트의 재생이 종료된 후 다시 재생하고자 할 때, 상기 외부 서버로부터 다시 상기 제1 콘텐트를 획득할 필요 없이 캐시 메모리로부터 상기 제1 콘텐트를 로드함으로써, 자동 재생의 응답 속도를 높일 수 있다.In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 위치 정보를 기반으로 디스플레이(320) 상의 상기 실행 화면 내에 상기 제1 콘텐트를 표시할 재생 영역을 확인할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 상기 실행 화면 내 좌표와 상기 제1 콘텐트의 크기를 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(330)는 상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 이 경우, 적어도 하나의 프로세서(330)는 상기 실행 화면의 캡처 이미지에 대해 이미지 분석을 수행하여, 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출할 수 있다. 적어도 하나의 프로세서(330)는 상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다.According to an embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 확인된 재생 영역에서 상기 획득한 제1 콘텐트를 자동 재생할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 실행 화면의 재생 영역 상에서 상기 제1 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행화면의 변경을 감지하면, 상기 실행 화면으로부터 상기 마커가 검출되는지 여부를 다시 확인할 수 있다. 상기 확인 결과 상기 마커가 검출되면, 적어도 하나의 프로세서(330)는 상기 마커로부터 획득한 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정할 수 있다. 상기 제1 콘텐트의 재생 영역은 고정된 위치가 아닌, 상기 제1 어플리케이션의 실행 화면에서 검출된 마커를 기준으로 실시간 계산되므로, 적어도 하나의 프로세서(330)는 상기 실행 화면의 변경에 대응하여 상기 제1 콘텐트의 재생 영역을 조정함으로써, 자연스럽게 상기 제1 콘텐트의 자동 재생을 지속할 수 있다. 상기 확인 결과 상기 실행화면으로부터 상기 마커가 더 이상 검출되지 않는 것으로 확인되면, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 자동 재생을 정지시킬 수 있다.In one embodiment, at least one
도 4는 일 실시 예에 따른 전자 장치(200)의 세부 구성을 설명하는 도면이다. 도 4를 참조하여 설명되는 기능이나 동작은 도 3의 전자 장치(200)의 적어도 하나의 프로세서(330)에 의해 수행되는 기능으로 이해될 수 있다. 적어도 하나의 프로세서(330)는 도 4에 도시된 소프트웨어 모듈들을 구현하기 위해 메모리(340)에 저장된 명령어들(예: 인스트럭션(instruction))을 실행시킬 수 있고, 기능과 연관된 하드웨어(예: 도 3의 통신 모듈(310) 또는 디스플레이(320))를 제어할 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는 도 4에 도시된 구성 요소들로 제한되지 않으며, 도 1에 도시된 구성 요소들 중 전자 장치(200)에서 요구되는 기능에 대응하는 구성 요소를 추가 포함할 수 있다.4 is a diagram illustrating a detailed configuration of an
도 4를 참조하면, 전자 장치(200)는 편집 유닛(410)과 화면 인식 유닛(420)을 포함할 수 있다. 본 발명의 다양한 실시 예에 따라, 전자 장치(200)는 어플리케이션 실행 중 콘텐트에 대하여 수행하는 동작에 따라, 편집 유닛(410) 또는 화면 인식 유닛(420)의 적어도 일부 기능이 선택적으로 수행될 수 있다. 예를 들어, 실행 중인 어플리케이션을 통해 선택된 콘텐트를 전송(또는 삽입)하는 동작들을 수행하는 경우, 전자 장치(200)는 편집 유닛(410)의 기능을 수행하여, 상기 선택된 콘텐트에 자동 재생을 위한 마커를 인코딩할 수 있다. 다른 예를 들어, 상기 어플리케이션을 통해 상기 콘텐트를 획득하여 디스플레이 하는 동작을 수행하는 경우, 전자 장치(200)는 화면 인식 유닛(420)의 기능을 수행하여, 상기 콘텐트로부터 인식된 마커를 기반으로 상기 콘텐트를 자동 재생할 수 있다. 다양한 실시 예에 따라, 상기 마커는 1차원 바코드(예: UPC(universal product code), EAN(european article number), 또는 Code 128) 또는 2차원 바코드(예: QR 코드(quick response code), 데이터 매트릭스 코드(data matrix code), PDF417, Data glyphs 또는 m-code)를 포함할 수 있다.Referring to FIG. 4 , the
일 실시 예에서, 편집 유닛(410)은 실행 중인 어플리케이션을 통해 움직이는 영상 타입의 제1 콘텐트를 전송 또는 삽입하는 과정에서 상기 제1 콘텐트의 자동 재생을 위한 처리를 수행하는 구성으로, 상기 제1 콘텐트의 자동 재생에 필요한 정보를 포함하는 마커를 생성하여 상기 제1 콘텐트에 인코딩할 수 있다. 편집 유닛(410)은 업로드 모듈(411), 위치 계산 모듈(412), 마커 생성 모듈(413) 또는 마커 합성 모듈(414)을 포함할 수 있다.In one embodiment, the editing unit 410 is configured to perform a process for automatically playing the first content in a process of transmitting or inserting the first content of a moving image type through an application being executed, the first content A marker including information necessary for automatic reproduction of may be generated and encoded in the first content. The editing unit 410 may include an upload module 411 , a location calculation module 412 , a marker creation module 413 or a marker synthesis module 414 .
일 실시 예에서, 업로드 모듈(411)은 어플리케이션 실행 중 사용자에 의해 선택된 제1 콘텐트에 대해, 자동 재생 대상으로 지정된 콘텐트에 대응하는지 여부를 확인할 수 있다. 예시적으로, 전자 장치(200)는 복수 개의 프레임이 순차적으로 재생되는 움직이는 영상 타입의 콘텐트 또는 동영상 포맷을 갖는 콘텐트를 상기 자동 재생 대상으로 지정할 수 있다. 상기 제1 콘텐트가 상기 자동 재생 대상으로 지정된 콘텐트에 대응하는 것으로 확인되면, 업로드 모듈(411)은 통신 모듈(예: 도 1의 통신 모듈(190) 또는 도 3의 통신 모듈(310))을 통해 상기 제1 콘텐트를 외부 서버(예: 도 1의 서버(108))로 전송할 수 있다. 상기 외부 서버는 하나 이상의 전자 장치에 의해 상기 자동 재생 대상으로 지정된 콘텐트를 저장 및 관리하는 서버일 수 있다. 다양한 실시 예에 따라, 업로드 모듈(411)은 상기 제1 콘텐트의 전송에 대한 응답으로, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치에 의해 접근 가능한 네트워크 주소로서, url(uniform resource locator) 형식의 데이터를 포함할 수 있다.In one embodiment, the upload module 411 may check whether the first content selected by the user while the application is running corresponds to content designated as an automatic playback target. For example, the
일 실시 예에서, 위치 계산 모듈(412)은 상기 제1 콘텐트의 자동 재생을 위해 상기 제1 콘텐트에 삽입할 마커의 위치를 결정할 수 있다. 위치 계산 모듈(412)은 상기 제1 콘텐트에 대해, 마커가 추가되더라도 원본 파일의 정보 손실이 적은 위치를 상기 마커의 위치로 결정할 수 있다. 예를 들어, 위치 계산 모듈(412)은 상기 제1 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출된 영역 중 적어도 일부를 상기 마커의 위치로 결정할 수 있다. 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역이 검출되지 않으면, 위치 계산 모듈(412)은 상기 제1 콘텐트의 외부 주변에 마커 삽입을 위한 별도의 패딩 영역을 추가할 수 있다. 위치 계산 모듈(412)은 상기 제1 콘텐트의 외부 주변에 그림자, 액자 또는 반사면과 같은 그래픽 효과가 적용된 패딩 영역을 추가하고, 상기 패딩 영역을 상기 마커의 위치로 결정할 수 있다. 다른 예를 들어, 위치 계산 모듈(412)은 실행 중인 어플리케이션의 종류를 기반으로 상기 마커의 위치를 결정할 수 있다. 위치 계산 모듈(412)는 콘텐트 삽입 시 실행 중인 어플리케이션에 의해 추가되는 표시가 있는지 확인하고, 상기 표시와 중첩되지 않도록 상기 마커의 위치를 결정할 수 있다. 또 다른 예를 들어, 위치 계산 모듈(412)은 상기 제1 콘텐트에 대하여 확인된 테두리 선 또는 모서리 영역을 기반으로 상기 마커의 위치를 결정할 수도 있다.In one embodiment, the location calculation module 412 may determine the location of a marker to be inserted into the first content for automatic playback of the first content. The position calculation module 412 may determine a position of the first content where information loss of the original file is small even if the marker is added as the position of the marker. For example, the position calculation module 412 detects an area in which a pixel change is less than a threshold value in the first content based on edge analysis of the first content, and uses at least a part of the detected area as the marker. position can be determined. If an area in which the pixel change is less than the threshold value is not detected in the first content, the location calculation module 412 may add a separate padding area for inserting a marker to the outer periphery of the first content. The position calculation module 412 may add a padding area to which a graphic effect such as a shadow, a picture frame or a reflective surface is applied to the outer periphery of the first content, and determine the padding area as the position of the marker. For another example, the location calculation module 412 may determine the location of the marker based on the type of application being executed. The position calculation module 412 may check whether there is a mark added by an application being executed when content is inserted, and may determine the position of the marker so as not to overlap with the mark. For another example, the location calculation module 412 may determine the location of the marker based on the identified border line or corner area of the first content.
일 실시 예에서, 위치 결정 모듈(412)은 상기 결정한 마커의 위치를 기반으로 상기 제1 콘텐트를 재생할 위치를 결정할 수 있다. 상기 제1 콘텐트가 재생되는 크기와 위치는 디스플레이의 크기나 해상도에 따라 달라질 수 있으므로, 위치 결정 모듈(412)은 상기 마커의 위치를 기준으로 하는 상기 제1 콘텐트의 상대좌표를 계산할 수 있다. 상기 제1 콘텐트의 상대좌표는 상기 마커의 위치를 기준으로 계산된 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나에 위치한 모서리의 상대좌표를 포함할 수 있다. In an embodiment, the location determination module 412 may determine a location to reproduce the first content based on the determined location of the marker. Since the size and position at which the first content is reproduced may vary depending on the size or resolution of the display, the location determination module 412 may calculate relative coordinates of the first content based on the location of the marker. The relative coordinates of the first content may include the relative coordinates of a corner located at at least one of an upper left corner, a lower left corner, an upper right corner, and a lower right corner of the first content calculated based on the location of the marker.
일 실시 예에서, 마커 생성 모듈(413)은 상기 외부 서버로부터 획득한 상기 제1 콘텐트의 주소 정보 또는 상기 계산된 상대좌표를 포함하는 제1 콘텐트의 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성할 수 있다. 마커 생성 모듈(413)은 상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 1차원 바코드 또는 2차원 바코드의 형태로 변환하는 방식으로 상기 마커를 생성할 수 있다. 다양한 실시 예에 따라, 마커 생성 모듈(413)은 상기 외부 서버에 의해 설정된 상기 제1 콘텐트의 자동 재생 횟수를 추가 고려하여 상기 마커를 생성할 수 있다.In one embodiment, the marker generation module 413 generates the marker based on at least one of address information of the first content acquired from the external server or location information of the first content including the calculated relative coordinates. can do. The marker generation module 413 may generate the marker by converting at least one of the address information and the location information into a 1D barcode or 2D barcode. According to various embodiments, the marker generation module 413 may generate the marker by additionally considering the number of times of automatic reproduction of the first content set by the external server.
일 실시 예에서, 마커 합성 모듈(414)은 상기 생성된 마커를 상기 제1 콘텐트의 적어도 일부 프레임에 합성(삽입)하여 인코딩할 수 있다. 예를 들어, 마커 합성 모듈(414)은 상기 제1 콘텐트에 포함된 복수 개의 프레임들 중 적어도 하나의 프레임(예: 첫번째 프레임 이미지 또는 스틸 이미지)을 선택하고, 상기 선택된 프레임 내 상기 결정된 마커의 위치에 상기 마커를 합성할 수 있다. 다른 예를 들어, 마커 합성 모듈(414)은 상기 제1 콘텐트에 포함된 복수 개의 프레임들 전체에 상기 마커를 합성하여 인코딩할 수 있다. 상기 마커가 인코딩된 콘텐트는 업로드 모듈(411)에 의해 실행 중인 어플리케이션의 관리 서버로 전송되어, 상기 어플리케이션의 실행 화면에 삽입될 수 있다.In one embodiment, the marker composition module 414 may synthesize (insert) the generated marker into at least some frames of the first content and encode it. For example, the marker synthesis module 414 selects at least one frame (eg, a first frame image or a still image) among a plurality of frames included in the first content, and determines the position of the marker in the selected frame. The marker can be synthesized in For another example, the marker synthesizing module 414 may synthesize and encode the markers in all of a plurality of frames included in the first content. The marker-encoded content is transmitted to the management server of the running application by the upload module 411 and can be inserted into the running screen of the application.
일 실시 예에서, 화면 인식 유닛(420)은 실행 중인 어플리케이션을 통해 상기 제1 콘텐트를 디스플레이 하는 과정에서 상기 제1 콘텐트의 자동 재생을 제공하기 위한 구성으로, 상기 제1 콘텐트로부터 검출된 마커에 지정된 형식의 데이터가 포함되어 있으면 상기 제1 콘텐트를 자동 재생 대상으로 판단할 수 있다. 화면 인식 유닛(420)은 상기 마커를 이용하여 외부 서버로부터 상기 제1 콘텐트를 획득하고, 상기 마커를 기반으로 확인된 위치에서 상기 제1 콘텐트를 재생할 수 있다. 화면 인식 유닛(420)은 전면 앱 확인 모듈(421), 실시간 화면 캡처 모듈(422), 화면 인식 모듈(423), 재생 영역 계산 모듈(424) 또는 다운로드 모듈(425)을 포함할 수 있다. In one embodiment, the screen recognition unit 420 is a component for providing automatic playback of the first content in the process of displaying the first content through an application being executed, and is assigned to a marker detected from the first content. If formatted data is included, the first content may be determined as an automatic playback target. The screen recognition unit 420 may acquire the first content from an external server using the marker and play the first content at a location identified based on the marker. The screen recognition unit 420 may include a front app identification module 421, a real-time screen capture module 422, a screen recognition module 423, a playback area calculation module 424, or a download module 425.
일 실시 예에서, 전면 앱 확인 모듈(421)은 포그라운드 상태(foreground process)인 어플리케이션의 식별자를 확인할 수 있다. 포그라운드 상태는 현재 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이(320)) 상에 실행화면이 노출되고 있는 상태를 의미할 수 있다. 전면 앱 확인 모듈(421)은 상기 확인된 식별자를 기반으로 실행 중인 어플리케이션의 자동 재생 기능 설정 여부를 확인할 수 있다. 예시적으로, 전자 장치(200)는 불필요한 전력 소모를 방지하기 위해, 각 어플리케이션에 대해 움직이는 영상 타입의 콘텐트 또는 동영상 포맷을 갖는 콘텐트의 자동 재생 기능을 제공할 지 여부를 미리 설정해두고, 상기 자동 재생 기능이 설정된 어플리케이션에 대해서만 상기 제1 콘텐트의 자동 재생을 위한 프로세스를 수행할 수 있다.In one embodiment, the front app checking module 421 may check the identifier of the application in the foreground state (foreground process). The foreground state may mean a state in which an execution screen is currently being exposed on a display (eg, the
일 실시 예에서, 실시간 화면 캡처 모듈(422)은 포그라운드 상태인 어플리케이션의 실행 화면을 캡처할 수 있다. 예를 들어, 실시간 화면 캡처 모듈(422)은, 포그라운드 상태의 어플리케이션에 대해 상기 자동 재생 기능이 설정된 것으로 확인된 경우, 지정된 시간(예: 15초 또는 30초)마다 현재 디스플레이 상에 노출된 실행 화면을 캡처할 수 있다. 다른 예를 들어, 실시간 화면 캡처 모듈(422)은 지정된 이벤트(예: 실행 화면의 변경 또는 사용자 입력 수신)가 감지되면 상기 실행 화면을 캡처할 수 있다.In one embodiment, the real-time screen capture module 422 may capture an execution screen of an application in a foreground state. For example, the real-time screen capture module 422, when it is confirmed that the auto-play function is set for the application in the foreground state, executes the current display displayed on the display every designated time (eg, 15 seconds or 30 seconds). You can capture the screen. For another example, the real-time screen capture module 422 may capture the execution screen when a specified event (eg, change of execution screen or reception of a user input) is detected.
일 실시 예에서, 화면 인식 모듈(423)은, 실시간 화면 캡처 모듈(422)에 의해 캡처된 실행 화면의 이미지로부터 상기 제1 콘텐트에 연관되는 마커가 검출되는지 여부를 확인할 수 있다. 상기 마커는 검출이 용이한 1차원 바코드 또는 2차원 바코드 형태를 포함할 수 있다. 화면 인식 모듈(423)은 컴퓨터 비전(computer vision) 기술을 이용하여 상기 캡처된 실행 화면의 이미지에 상기 마커가 포함되어 있는지 여부를 지속적으로 확인할 수 있다.In one embodiment, the screen recognition module 423 may check whether a marker associated with the first content is detected from the image of the execution screen captured by the real-time screen capture module 422 . The marker may include a form of a one-dimensional barcode or a two-dimensional barcode that is easy to detect. The screen recognition module 423 may continuously check whether the marker is included in the captured execution screen image using computer vision technology.
다양한 실시 예에 따라, 화면 인식 모듈(423)은 상기 검출된 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인할 수 있다. 예를 들어, 화면 인식 모듈(423)은 상기 검출된 마커로부터 지정된 형식의 데이터(예: 네트워크 url 형식의 데이터)가 인식됨을 확인하면, 상기 제1 콘텐트를 자동 재생 대상으로 판단할 수 있다.According to various embodiments, the screen recognition module 423 may check whether the first content is automatically reproduced based on the detected marker. For example, the screen recognition module 423 may determine the first content as an automatic playback target when confirming that data in a specified format (eg, data in a network url format) is recognized from the detected marker.
일 실시 예에서, 재생 영역 계산 모듈(424)은 상기 마커로부터 상기 제1 콘텐트를 재생할 위치 정보를 확인할 수 있다. 상기 위치 정보는 상기 제1 콘텐트가 재생되는 위치의 좌표로서, 상기 실행 화면에서 검출된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나의 모서리의 상대좌표를 포함할 수 있다. 재생 영역 계산 모듈(424)은 상기 위치 정보를 기반으로 상기 어플리케이션의 실행 화면 내 상기 제1 콘텐트의 재생 영역을 계산할 수 있다. 예를 들어, 재생 영역 계산 모듈(424)은 상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 상기 실행 화면 내 좌표와 상기 제1 콘텐트의 크기(비율)를 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 결정할 수 있다. 다양한 실시 예에 따라, 재생 영역 계산 모듈(424)은 상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 재생 영역 계산 모듈(424)은 상기 실행 화면의 캡처 이미지에 대해 이미지 분석을 수행하여, 상기 실행 화면 내 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출할 수 있다. 재생 영역 계산 모듈(424)은 상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다.In an embodiment, the play area calculation module 424 may check location information for reproducing the first content from the marker. The location information is a coordinate of a location where the first content is reproduced, and is a corner of at least one of upper left corner, lower left corner, upper right corner, or lower right corner of the first content based on the position of the marker detected on the execution screen. Relative coordinates may be included. The play area calculation module 424 may calculate the play area of the first content within the execution screen of the application based on the location information. For example, the play area calculation module 424 calculates the size (ratio) of the first content and coordinates within the execution screen where the first content is to be reproduced based on the location information, and based on the calculation result A reproduction area of the first content may be determined. According to various embodiments, the play area calculation module 424 may check the play area of the first content based on image segmentation of the execution screen. The play area calculation module 424 performs image analysis on the captured image of the execution screen and detects a boundary between a content area displaying a frame image of the first content in the execution screen and a background area surrounding the frame image. can do. The playback area calculation module 424 may determine the playback area of the first content based on the detected boundary.
다양한 실시 예에 따라, 재생 영역 계산 모듈(424)은 상기 실행 화면의 재생 영역 상에서 상기 제1 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행 화면의 변경을 감지하면, 변경된 실행 화면에 대응하는 제1 콘텐트의 재생 영역을 다시 계산할 수 있다. 상기 실행 화면의 변경이 감지되면, 실시간 캡처 모듈(422)은 상기 변경이 감지된 실행 화면을 실시간 캡처하고, 화면 인식 모듈(423)은 상기 실시간 캡처된 이미지로부터 상기 마커가 여전히 검출되는지 여부를 확인할 수 있다. 상기 확인 결과 상기 마커가 여전히 검출되면, 재생 영역 계산 모듈(424)은 상기 마커로부터 확인한 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정할 수 있다. 상기 확인 결과 상기 마커가 더 이상 검출되지 않으면, 재생 영역 계산 모듈(424)의 동작은 종료될 수 있다.According to various embodiments of the present disclosure, when the play area calculation module 424 detects a change in the execution screen due to a user's input or a designated event while the first content is being reproduced on the play area of the execution screen, the changed execution screen is displayed. A reproduction area of the corresponding first content may be recalculated. When a change of the running screen is detected, the real-time capture module 422 captures the running screen where the change is detected in real time, and the screen recognition module 423 checks whether the marker is still detected from the real-time captured image. can If the marker is still detected as a result of the checking, the reproduction area calculation module 424 recalculates the coordinates and size of the first content to be reproduced based on the location information confirmed from the marker, and based on the calculation result, the playback area calculation module 424 calculates the first content. 1 You can adjust the playback area of the content. As a result of the check, when the marker is no longer detected, the operation of the reproduction area calculation module 424 may end.
일 실시 예에서, 다운로드 모듈(425)은 상기 마커로부터 상기 제1 콘텐트의 원본파일이 저장된 주소 정보를 획득할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치에서 접근 가능한 네트워크 주소로서, 외부 서버에 의해 저장된 상기 제1 콘텐트의 url 주소를 포함할 수 있다. 예를 들어, 다운로드 모듈(425)은 상기 주소 정보를 이용하여 상기 제1 콘텐트의 전송 요청을 외부 서버로 전송하고, 상기 전송 요청에 대한 응답으로 상기 외부 서버로부터 상기 제1 콘텐트의 원본파일을 다운로드할 수 있다. 전자 장치(200)는 재생 영역 계산 모듈(424)에 의해 확인된 상기 제1 콘텐트의 재생 영역에서 상기 다운로드된 제1 콘텐트가 자동으로 재생되도록 할 수 있다. 상기 제1 콘텐트의 자동 재생은 실행 중인 어플리케이션의 실행 화면에서 상기 마커가 검출되는 동안 지속될 수 있으며, 상기 실행 화면의 변경으로 상기 마커가 더 이상 검출되지 않으면 상기 제1 콘텐트의 자동 재생은 정지될 수 있다.In one embodiment, the download module 425 may obtain address information where the original file of the first content is stored from the marker. The address information is a network address accessible by the
도 5는 일 실시 예에 따른 서버(500)의 구성을 도시하는 블록도이다. 5 is a block diagram illustrating a configuration of a server 500 according to an exemplary embodiment.
도 5를 참조하면, 서버(500)는 하나 이상의 외부 전자 장치(예: 도 2의 전자 장치(200))로부터 획득한 움직이는 영상 타입의 제1 콘텐트를 저장 및 관리하는 장치로서, 통신 모듈(510), 프로세서(520) 또는 메모리(530)를 포함할 수 있다. 도 5에서, 서버(500)는 도 1에 도시된 서버(108) 또는 도 3을 참조하여 설명된 외부 서버에 대응될 수 있으며, 도 1의 전자 장치(101)에 관한 설명 중 통신 모듈(510), 프로세서(120), 또는 메모리(130)에 관한 설명이 서버(500)에 적절하게 적용될 수 있다.Referring to FIG. 5 , a server 500 is a device for storing and managing first content of a moving image type obtained from one or more external electronic devices (eg, the
일 실시 예에서, 통신 모듈(510)은 하나 이상의 외부 전자 장치와의 통신 연결을 지원할 수 있다. 예를 들어, 통신 모듈(510)은 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(101) 또는 도 3의 전자 장치(200))로부터 상기 제1 콘텐트의 저장 요청 또는 전송 요청을 획득할 수 있다. 본 발명의 다양한 실시 예에 따라, 통신 모듈(510)은 셀룰러 통신, Wi-Fi(wireless-fidelity), 블루투스, NFC(near field communication), 또는 UWB(ultra-wide band) 통신 중 적어도 하나의 통신 방식을 제공할 수 있다.In one embodiment, the
일 실시 예에서, 메모리(530)는, 실행 시에, 적어도 하나의 프로세서(520)가 각종 동작들을 수행하도록 제어하는 인스트럭션들을 저장할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 제1 콘텐트 저장 요청에 응답하여 상기 제1 콘텐트를 저장 및 관리하고, 제1 콘텐트 전송 요청에 응답하여 상기 제1 콘텐트를 하나 이상의 외부 전자 장치로 전송하는 동작들을 수행할 수 있다.In one embodiment, the
일 실시 예에서, 적어도 하나의 프로세서(520)는 통신 모듈(510)을 통해 제1 외부 전자 장치로부터 상기 제1 콘텐트의 저장 요청을 수신하면, 상기 제1 콘텐트를 메모리(530) 또는 서버(500)에 의해 관리되는 데이터베이스에 저장할 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상(motion picture) 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 상기 제1 콘텐트를 저장한 후 상기 제1 콘텐트의 유효기간을 설정할 수 있다. 상기 유효기간은 서버(500)에 의해 저장된 제1 콘텐트가 메모리(530) 또는 상기 데이터베이스에서 유지되는 기간을 나타낼 수 있다. 적어도 하나의 프로세서(520)는 상기 제1 콘텐트가 메모리(530) 또는 상기 데이터베이스에 저장된 후 상기 제1 콘텐트에 대하여 설정된 유효기간의 경과 여부를 지속적으로 확인하고, 상기 유효기간이 경과함을 확인하면 메모리(530) 또는 상기 데이터베이스로부터 상기 제1 콘텐트를 삭제할 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 상기 제1 콘텐트의 반복 재생 횟수 또는 재생 옵션(예: 포워드 재생 또는 리버스 재생)을 추가 설정하고, 상기 설정을 상기 제1 콘텐트에 대응하여 함께 저장 및 관리할 수 있다.In one embodiment, when at least one
다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 악의적인 사용자의 접근을 방지하기 위해, 상기 제1 외부 전자 장치에 대한 사용자 인증을 수행할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 상기 저장 요청 수신 시 상기 제1 외부 전자 장치에 대한 인증을 수행하고, 상기 인증이 성공적으로 수행되면 상기 제1 콘텐트를 메모리(530) 또는 상기 데이터베이스에 저장할 수 있다.According to various embodiments, at least one
일 실시 예에서, 적어도 하나의 프로세서(520)는 하나 이상의 외부 전자 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성할 수 있다. 상기 주소 정보는 서버(500)에 의해 상기 제1 콘텐트가 저장된 메모리(530) 또는 상기 데이터베이스의 네트워크 주소로서, url(uniform resource locator) 형식의 데이터를 포함할 수 있다.In one embodiment, at least one
일 실시 예에서, 적어도 하나의 프로세서(520)는 상기 저장 요청에 대한 응답으로, 통신 모듈(510)을 통해 상기 생성된 주소 정보를 상기 제1 외부 전자 장치로 전송할 수 있다. 상기 제1 외부 전자 장치는 서버(500)로부터 수신한 상기 주소 정보를 이용하여 상기 제1 콘텐트의 자동 재생을 지원하기 위해 상기 제1 콘텐트에 삽입할 마커를 생성할 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 상기 저장 요청에 응답하여, 상기 제1 콘텐트에 대하여 설정된 유효기간을 상기 주소 정보와 함께 상기 제1 외부 전자 장치로 전송할 수 있다. 이 경우, 상기 제1 외부 전자 장치는 상기 제1 콘텐트의 유효기간을 포함하도록 상기 마커를 생성할 수 있다. In an embodiment, the at least one
일 실시 예에서, 적어도 하나의 프로세서(520)는 통신 모듈(510)을 통해 제2 외부 전자 장치로부터 상기 제1 콘텐트의 전송 요청을 수신하면, 상기 제1 콘텐트를 상기 제2 외부 전자 장치로 전송할 수 있다. 상기 전송 요청은, 상기 제2 외부 전자 장치가 실행 중인 어플리케이션의 실행 화면에서 감지한 마커로부터 획득한 제1 콘텐트의 식별자와 주소 정보를 포함할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 상기 전송 요청을 기반으로 확인된 상기 제1 콘텐트의 식별자와 주소 정보를 이용하여, 상기 메모리(530) 또는 서버(500)에 의해 관리되는 데이터베이스에 상기 제1 콘텐트가 저장되어 있는지 확인할 수 있다. 상기 확인 결과 상기 제1 콘텐트가 메모리(530) 또는 상기 데이터베이스에 저장되어 있는 것으로 확인되면, 적어도 하나의 프로세서(520)는 상기 전송 요청에 대한 응답으로 상기 제1 콘텐트를 상기 제2 외부 전자 장치로 전송할 수 있다. 상기 확인 결과 상기 제1 콘텐트가 메모리(530) 또는 상기 데이터베이스에 저장되어 있지 않으면, 적어도 하나의 프로세서(520)는 상기 제1 콘텐트가 저장되어 있지 않음을 나타내는 신호를 상기 제2 외부 전자 장치로 전달할 수 있다. 예시적으로, 적어도 하나의 프로세서(520)는 상기 전송 요청에 포함된 상기 주소 정보가 유효하지 않음을 나타내는 데이터를 리턴할 수 있다. 상기 제2 외부 전자 장치는 서버(500)로부터 상기 신호를 수신하면, 별다른 메시지의 출력 없이 상기 제1 콘텐트의 자동 재생을 제공하기 위한 프로세스를 중단할 수 있다. 이 경우, 상기 제2 외부 전자 장치는 상기 제1 외부 전자 장치에 의해 상기 마커가 인코딩된 제1 콘텐트를, 실행 중인 어플리케이션의 실행화면을 통해 표시할 수 있다.In an embodiment, when at least one
다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 허가되지 않은(또는 다운로드 권한이 없는) 사용자의 접근을 방지하기 위해, 상기 제2 외부 전자 장치에 대한 사용자 인증을 수행할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 상기 제1 콘텐트의 전송 요청을 전송한 제2 외부 전자 장치에 대한 인증을 수행하고, 상기 인증이 성공적으로 수행된 것으로 확인되면 상기 제1 콘텐트의 저장 여부 확인 후 상기 제2 외부 전자 장치에 상기 전송 요청에 대한 회신을 전송할 수 있다.According to various embodiments, the at least one
본 발명의 다양한 실시 예에 따라, 상기 제1 외부 전자 장치와 상기 제2 외부 전자 장치는 실행 중인 어플리케이션을 통해 상기 제1 콘텐트를 전송 또는 삽입하는 장치인지, 상기 제1 콘텐트를 디스플레이 하는 장치인지에 따른 구분이 있을 뿐이며, 상기 제1 외부 전자 장치와 상기 제2 외부 전자 장치 모두 도 3을 참조하여 설명된 기능을 구비할 수 있다.According to various embodiments of the present disclosure, the first external electronic device and the second external electronic device are devices that transmit or insert the first content through an application being executed or display the first content. Both the first external electronic device and the second external electronic device may have the functions described with reference to FIG. 3 .
일 실시 예에서, 적어도 하나의 프로세서(520)는 상기 주소 정보를 통해 접근하는 하나 이상의 외부 전자 장치에 의한 트래픽 증가와 서버 부하를 방지하기 위해, 상기 제1 콘텐트에 대한 다운로드 횟수 제한을 설정할 수도 있다. 적어도 하나의 프로세서(520)는 상기 제1 콘텐트가 상기 제2 외부 전자 장치를 비롯한 하나 이상의 외부 전자 장치에 의해 다운로드 되는 횟수를 확인하고, 상기 확인된 다운로드 횟수가 상기 설정된 제한을 초과하면 상기 제1 콘텐트를 메모리(530) 또는 상기 데이터베이스로부터 삭제할 수 있다.In one embodiment, the at least one
도 6은 일 실시 예에 따른 서버(500)의 세부 구성을 설명하는 도면이다. 도 6을 참조하여 설명되는 기능이나 동작은 도 5의 서버(500)의 적어도 하나의 프로세서(520)에 의해 수행되는 기능으로 이해될 수 있다. 적어도 하나의 프로세서(520)는 도 6에 도시된 소프트웨어 모듈들을 구현하기 위해 메모리(530)에 저장된 명령어들(예: 인스트럭션(instruction))을 실행시킬 수 있고, 기능과 연관된 하드웨어(예: 도 5의 통신 모듈(510) 또는 메모리(530))을 제어할 수 있다. 다양한 실시 예에 따라, 서버(500)는 도 6에 도시된 구성 요소들로 제한되지 않으며, 도 1에 도시된 구성 요소들 중 서버(500)에서 요구되는 기능에 대응하는 구성 요소를 추가 포함할 수 있다.6 is a diagram illustrating a detailed configuration of a server 500 according to an exemplary embodiment. A function or operation described with reference to FIG. 6 may be understood as a function performed by at least one
도 6을 참조하면, 서버(500)는 콘텐트 송수신 모듈(610), 콘텐트 유효기간 계산 모듈(620) 또는 콘텐트 데이터베이스(630)를 포함할 수 있다. 다양한 실시 예에 따라, 콘텐트 송수신 모듈(610) 및 콘텐트 유효기간 계산 모듈(620)은 도 5에 도시된 적어도 하나의 프로세서(520)에 의해 구현되는 소프트웨어 모듈일 수 있다. 다양한 실시 예에 따라, 콘텐트 데이터베이스(630)는 도 5에 도시된 메모리(530)에 포함되는 기능 또는 구성일 수 있다.Referring to FIG. 6 , the server 500 may include a content transmission/reception module 610, a content validity period calculation module 620, or a
일 실시 예에서, 콘텐트 송수신 모듈(610)은 하나 이상의 외부 전자 장치로부터 제1 콘텐트의 저장 요청 또는 전송 요청을 수신할 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상(motion picture) 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다. In an embodiment, the content transmission/reception module 610 may receive a storage request or a transmission request of the first content from one or more external electronic devices. The first content may be a motion picture type content in which a plurality of image frames are sequentially displayed, or content having a video file format.
일 실시 예에서, 콘텐트 송수신 모듈(610)은 제1 외부 전자 장치로부터 상기 제1 콘텐트의 저장 요청을 수신하면, 상기 제1 콘텐트를 콘텐트 데이터베이스(630)에 저장할 수 있다. 콘텐트 송수신 모듈(610)은 상기 저장 요청에 대한 응답으로, 상기 제1 콘텐트가 저장된 주소 정보를 상기 제1 외부 전자 장치로 전송할 수 있다. 상기 주소 정보는 하나 이상의 외부 전자 장치에 의해 접근 가능한 콘텐트 데이터베이스(630)의 네트워크 주소를 포함할 수 있다. In an embodiment, the content transmission/reception module 610 may store the first content in the
일 실시 예에서, 콘텐트 송수신 모듈(610)은 제2 외부 전자 장치로부터 상기 제1 콘텐트의 전송 요청을 수신하면, 상기 제1 콘텐트의 저장 여부를 확인한 후 상기 제1 콘텐트를 상기 제2 외부 전자 장치로 전송할 수 있다. 예를 들어, 콘텐트 송수신 모듈(610)은 상기 전송 요청을 기반으로 상기 제2 외부 전자 장치에 의해 요청된 제1 콘텐트의 식별자와 주소 정보를 확인하고, 상기 확인된 제1 콘텐트의 식별자와 주소 정보를 기반으로 상기 제1 콘텐트가 콘텐트 데이터베이스(630)에 저장되어 있는지 여부를 확인할 수 있다. 상기 확인 결과 상기 제1 콘텐트가 콘텐트 데이터베이스(630)에 저장되어 있으면, 콘텐트 송수신 모듈(610)은 상기 전송 요청에 대한 응답으로 상기 제1 콘텐트를 상기 제2 외부 전자 장치로 전송할 수 있다. 상기 확인 결과 상기 제1 콘텐트가 콘텐트 데이터베이스(630)에 저장되어 있지 않으면, 콘텐트 송수신 모듈(610)은 상기 제1 콘텐트가 저장되어 있지 않음을 나타내는 신호를 상기 외부 전자 장치로 전달할 수 있다. 상기 신호는 상기 전송 요청에 포함된 주소 정보가 유효하지 않음을 나타내는 데이터를 포함할 수 있다.In an embodiment, when receiving a transmission request for the first content from a second external electronic device, the content transmitting/receiving module 610 checks whether the first content is stored and transmits the first content to the second external electronic device. can be sent to For example, the content transmission/reception module 610 checks the identifier and address information of the first content requested by the second external electronic device based on the transmission request, and determines the identified identifier and address information of the first content. Based on , it may be determined whether the first content is stored in the
일 실시 예에서, 콘텐트 유효기간 계산 모듈(620)은 상기 제1 콘텐트에 대하여 설정된 유효기간의 경과 여부를 확인할 수 있다. 예를 들어, 콘텐트 유효기간 계산 모듈(620)은 상기 제1 외부 전자 장치로부터 수신한 상기 제1 콘텐트가 콘텐트 데이터베이스(630)에서 유지되는 기간을 나타내는 유효기간을 설정할 수 있다. 상기 유효기간은 콘텐트 데이터베이스(630)에 저장되는 콘텐트 모두에 대해 일률적으로 설정되거나, 또는 콘텐트 유형이나 서버(500)의 부하 상태에 따라 동적으로 설정될 수 있다. 콘텐트 유효기간 계산 모듈(620)은 상기 제1 콘텐트가 콘텐트 데이터베이스(630)에 저장된 시점을 기준으로 상기 설정된 유효기간이 경과하였는지 지속적으로 확인하고, 상기 유효기간이 경과되면 콘텐트 데이터베이스(630)에 저장된 상기 제1 콘텐트를 삭제할 수 있다. 다양한 실시 예에 따라, 상기 제1 콘텐트의 저장을 요청한 제1 외부 전자 장치로부터 삭제 요청이 있으면, 상기 제1 콘텐트는 상기 제1 콘텐트에 대해 설정된 유효기간이 경과하지 않았더라도 콘텐트 데이터베이스(630)로부터 삭제될 수 있다.In an embodiment, the content valid period calculation module 620 may check whether the valid period set for the first content has elapsed. For example, the content validity period calculation module 620 may set a validity period indicating a period during which the first content received from the first external electronic device is maintained in the
도 7은 일 실시 예에 따른, 움직이는 영상(motion picture) 형식의 콘텐트를 제공하는 흐름도를 나타낸다. 도 7에서, 제1 전자 장치(710)는 실행 중인 어플리케이션을 통해 콘텐트를 전송(또는 삽입)하는 장치이고, 제2 전자 장치(720)는 상기 어플리케이션을 통해 상기 콘텐트를 획득하여 디스플레이 하는 장치일 수 있다. 제1 전자 장치(710)와 제2 전자 장치(720) 모두 도 1의 전자 장치(101) 또는 도 3의 전자 장치(200)에 대응될 수 있으며, 상기 콘텐트와 관련하여 수행되는 프로세스에 따라 구분될 수 있다. 서버(720)는 상기 콘텐트를 저장 및 관리하는 장치일 수 있다.7 is a flowchart of providing content in a motion picture format, according to an exemplary embodiment. In FIG. 7 , the first electronic device 710 may be a device that transmits (or inserts) content through an application being executed, and the second
도 7을 참조하면, 동작 701에서 제1 전자 장치(710)는 제1 어플리케이션 실행 중 대상 콘텐트의 선택에 관한 사용자 입력을 확인할 수 있다. 상기 대상 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상(motion picture) 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다. 상기 사용자 입력은 상기 제1 어플리케이션을 통해 상기 대상 콘텐트를 하나 이상의 다른 전자 장치와 공유하거나 상기 대상 콘텐트를 상기 제1 어플리케이션의 실행 화면에 삽입하기 위한 요청을 포함할 수 있다. 다양한 실시 예에 따라, 상기 제1 어플리케이션은 제1 전자 장치(710)와 제2 전자 장치(720) 사이의 콘텐트 공유 기능을 제공하는 메신저 어플리케이션일 수 있다. Referring to FIG. 7 , in operation 701, the first electronic device 710 may check a user input related to selection of target content while the first application is running. The target content may be a motion picture type content in which a plurality of image frames are sequentially displayed, or content having a video file format. The user input may include a request for sharing the target content with one or more other electronic devices through the first application or inserting the target content into an execution screen of the first application. According to various embodiments, the first application may be a messenger application that provides a content sharing function between the first electronic device 710 and the second
일 실시 예에 따르면, 동작 703에서 제1 전자 장치(710)는 상기 제1 어플리케이션의 실행화면으로부터 선택이 감지된 상기 대상 콘텐트를 서버(720)로 전송하고, 상기 대상 콘텐트를 서버(720)에서 저장 및 관리하도록 요청할 수 있다.According to an embodiment, in operation 703, the first electronic device 710 transmits the target content for which selection is detected from the execution screen of the first application to the
일 실시 예에 따르면, 동작 705에서 서버(720)는 제1 전자 장치(710)로부터 획득한 대상 콘텐트를 서버(720)의 메모리(예: 도 5의 메모리(530)) 또는 서버(720)에 의해 관리되는 데이터베이스에 저장할 수 있다. 다양한 실시 예에 따라, 서버(720)는 제1 전자 장치(710)에 대한 사용자 인증을 수행하고, 상기 인증이 성공적으로 수행됨을 확인하면 상기 대상 콘텐트를 상기 메모리 또는 상기 데이터베이스에 저장할 수 있다.According to an embodiment, in operation 705, the
일 실시 예에 따르면, 서버(720)는 동작 705에서, 상기 대상 콘텐트를 저장한 후 상기 대상 콘텐트가 저장된 메모리 또는 데이터베이스에 관한 주소 정보를 생성할 수 있다. 상기 주소 정보는 하나 이상의 전자 장치에 의해 접근 가능한 네트워크 주소로서, url(uniform resource locator) 형식의 데이터를 포함할 수 있다. 다양한 실시 예에 따라, 서버(720)는 상기 대상 콘텐트를 저장한 후, 상기 대상 콘텐트에 대하여 유효기간을 설정하여 관리할 수 있다. 상기 유효기간은 상기 대상 콘텐트가 상기 메모리 또는 상기 데이터베이스에서 유지되는 기간을 나타낼 수 있다.According to an embodiment, in operation 705, the
일 실시 예에 따르면, 동작 707에서 제1 전자 장치(710)는 서버(720)로부터 상기 주소 정보를 획득할 수 있다. 예를 들어, 서버(720)는 상기 대상 콘텐트의 저장 요청에 대한 응답으로 상기 대상 콘텐트의 주소 정보를 제1 전자 장치(710)로 전송할 수 있다. According to an embodiment, in operation 707, the first electronic device 710 may obtain the address information from the
일 실시 예에 따르면, 동작 709에서 제1 전자 장치(710)는 상기 대상 콘텐트의 자동 재생을 위해 상기 대상 콘텐트에 삽입할 마커의 위치를 결정할 수 있다. 제1 전자 장치(710)는 마커 삽입에 의해 상기 대상 콘텐트의 원본파일 정보가 훼손되는 것을 최소화하도록, 상기 대상 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 마커의 위치를 결정할 수 있다. 예를 들어, 제1 전자 장치(710)는 에지 분석을 통해 상기 대상 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출된 영역의 적어도 일부를 상기 마커의 위치로 결정할 수 있다. 상기 대상 콘텐트에서 픽셀 변화가 임계치 이하인 영역이 검출되지 않으면, 제1 전자 장치(710)는 상기 대상 콘텐트의 외부 주변에 패딩 영역을 추가할 수 있다. 제1 전자 장치(710)는 상기 패딩 영역에 그림자, 액자 또는 반사면 중 적어도 하나의 그래픽 효과를 적용하고, 상기 적어도 하나의 그래픽 효과가 적용된 패딩 영역을 상기 마커의 위치로 결정할 수 있다. 다른 예를 들어, 제1 전자 장치(710)는 상기 대상 콘텐트의 테두리 선 또는 모서리 영역을 기반으로 상기 마커의 위치를 결정하거나, 또는 상기 제1 어플리케이션에 의해 추가되는 표시와 중첩되지 않도록 상기 마커의 위치를 결정할 수도 있다.According to an embodiment, in operation 709, the first electronic device 710 may determine a position of a marker to be inserted into the target content for automatic reproduction of the target content. The first electronic device 710 may determine the location of the marker based on an edge analysis of the target content to minimize damage to original file information of the target content due to marker insertion. For example, the first electronic device 710 may detect an area in which a pixel change is less than a threshold value in the target content through edge analysis, and determine at least a part of the detected area as the position of the marker. If an area in which the pixel change is less than the threshold value is not detected in the target content, the first electronic device 710 may add a padding area to the outer periphery of the target content. The first electronic device 710 may apply at least one graphic effect among a shadow, a picture frame, and a reflective surface to the padding area, and determine the padding area to which the at least one graphic effect is applied as the position of the marker. For another example, the first electronic device 710 determines the location of the marker based on the border line or corner area of the target content, or places the marker so that it does not overlap with a display added by the first application. location can also be determined.
일 실시 예에 따르면, 제1 전자 장치(710)는 동작 709에서, 상기 결정한 마커의 위치를 기반으로 상기 대상 콘텐트가 재생될 위치를 결정할 수 있다. 상기 대상 콘텐트가 재생되는 크기와 위치는 디스플레이의 크기나 해상도에 따라 달라질 수 있으므로, 제1 전자 장치(710)은 상기 결정된 마커의 위치를 기준으로 상기 대상 콘텐트의 상대좌표를 계산할 수 있다. 상기 대상 콘텐트의 상대좌표는 상기 마커의 위치를 기준으로 계산된 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나에 위치한 모서리의 상대좌표를 포함할 수 있다.According to an embodiment, in operation 709, the first electronic device 710 may determine a position where the target content is to be reproduced based on the determined position of the marker. Since the size and position at which the target content is reproduced may vary depending on the size or resolution of the display, the first electronic device 710 may calculate relative coordinates of the target content based on the determined position of the marker. The relative coordinates of the target content may include the relative coordinates of a corner located at at least one of an upper left corner, a lower left corner, an upper right corner, and a lower right corner of the first content calculated based on the position of the marker.
일 실시 예에 따르면, 동작 711에서 제1 전자 장치(710)는 서버(720)로부터 획득한 주소 정보와 상기 계산된 상대좌표를 포함하는 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성할 수 있다. 예를 들어, 제1 전자 장치(710)는 상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 1차원 바코드(예: UPC(universal product code), EAN(european article number), 또는 Code 128) 또는 2차원 바코드(예: QR 코드(quick response code), 데이터 매트릭스 코드(data matrix code), PDF417, Data glyphs 또는 m-code) 형태로 변환하여 상기 마커를 생성할 수 있다. According to an embodiment, in operation 711, the first electronic device 710 may generate the marker based on at least one of address information obtained from the
일 실시 예에 따르면, 동작 713에서 제1 전자 장치(710)는 상기 생성된 마커를 상기 대상 콘텐트의 적어도 일부 프레임에 삽입하여 인코딩할 수 있다. 예를 들어, 제1 전자 장치(710)는 상기 대상 콘텐트에 포함된 복수 개의 프레임들 중 첫번째 프레임 내 상기 결정된 마커의 위치에, 상기 생성된 마커를 인코딩할 수 있다. 다른 예를 들어, 제1 전자 장치(710)는 상기 대상 콘텐트에 포함된 복수 개의 프레임마다 상기 결정된 마커의 위치에 상기 생성된 마커를 인코딩할 수 있다. 제1 전자 장치(710)는 상기 마커를 상기 대상 콘텐트에 인코딩하는 과정에서, 상기 대상 콘텐트에 인코딩된 마커가 사용자의 눈에 잘 보이지 않도록 하기 위해, 알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 적용할 수 있다.According to an embodiment, in operation 713, the first electronic device 710 inserts and encodes the generated marker into at least some frames of the target content. For example, the first electronic device 710 may encode the generated marker at the position of the determined marker in a first frame among a plurality of frames included in the target content. For another example, the first electronic device 710 may encode the generated marker at the position of the determined marker for every plurality of frames included in the target content. In the process of encoding the markers into the target content, the first electronic device 710 performs an alpha blending operation or steganography to make the markers encoded in the target content less visible to the user's eyes At least one image processing method among steganography) may be applied.
일 실시 예에 따르면, 동작 715에서 제1 전자 장치(710)는 상기 마커가 인코딩된 대상 콘텐트를 상기 제1 어플리케이션을 통해 제2 전자 장치(720)로 전송할 수 있다. 상기 마커가 인코딩된 대상 콘텐트는 상기 제1 어플리케이션의 실행 화면에 삽입되어, 제1 전자 장치(710)와 제2 전자 장치(720)의 디스플레이 상에 표시될 수 있다.According to an embodiment, in operation 715, the first electronic device 710 may transmit the target content encoded with the marker to the second
일 실시 예에 따르면, 동작 717에서 제2 전자 장치(730)는 포그라운드 상태에 있는 제1 어플리케이션의 실행 화면을 실시간 캡처할 수 있다. 포그라운드 상태는 실행 중인 어플리케이션의 실행 화면이 현재 제2 전자 장치(730)의 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이(320)) 상에서 노출되는 상태를 의미할 수 있다. 다양한 실시 예에 따라, 제2 전자 장치(730)는 포그라운드 상태의 제1 어플리케이션에 대해 상기 움직이는 영상 타입의 콘텐트의 자동 재생 기능이 설정된 것으로 확인하면, 지정된 시간마다 또는 지정된 이벤트(예: 실행 화면의 변경 또는 사용자 입력 수신) 감지 시 상기 제1 어플리케이션의 실행 화면을 실시간 캡처할 수 있다. 예를 들어, 제2 전자 장치(730)는 상기 마커가 인코딩된 대상 콘텐트가 표시된 상기 제1 어플리케이션의 실행 화면을 실시간 캡처하고, 상기 캡처된 이미지로부터 상기 마커를 검출할 수 있다.According to an embodiment, in operation 717, the second
일 실시 예에 따르면, 동작 719에서 제2 전자 장치(730)는 상기 검출된 마커를 기반으로 상기 대상 콘텐트의 주소 정보 및 상기 대상 콘텐트의 재생 영역을 확인할 수 있다. 동적 719에서, 제2 전자 장치(730)는 상기 마커가 지정된 형식의 데이터(예: 네트워크 url 형식의 데이터)를 포함하고 있음을 확인하면, 상기 대상 콘텐트를 자동 재생 대상으로 판단하고, 상기 마커로부터 상기 대상 콘텐트의 주소 정보 또는 위치 정보를 확인할 수 있다. 상기 주소 정보는 서버(720)에 의해 상기 대상 콘텐트가 저장된 메모리 또는 데이터베이스의 네트워크 주소를 포함할 수 있다. 상기 위치 정보는 상기 대상 콘텐트가 재생되는 위치의 좌표로서, 상기 검출된 마커의 위치를 기준으로 하는 상기 대상 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나의 모서리의 상대좌표를 포함할 수 있다. 제2 전자 장치(730)는 상기 위치 정보를 기반으로 상기 대상 콘텐트가 재생될 상기 실행 화면 내 좌표와 상기 대상 콘텐트의 크기(비율)를 계산하고, 상기 계산 결과를 기반으로 상기 대상 콘텐트의 재생 영역을 확인할 수 있다. 다양한 실시예에 따라, 제2 전자 장치(730)는 상기 캡처된 이미지에 대해 이미지 분석(image segmentation)을 수행할 수 있다. 제2 전자 장치(730)는 상기 수행 결과를 기반으로 상기 인코딩된 대상 콘텐트가 표시된 콘텐트 영역과 이를 둘러싼 배경 영역 사이의 경계를 검출하고, 상기 검출된 경계에 따라 상기 대상 콘텐트의 재생 영역을 확인할 수 있다.According to an embodiment, in operation 719, the second
일 실시 예에 따르면, 동작 721에서 제2 전자 장치(730)는 상기 마커로부터 확인한 주소 정보를 기반으로 서버(720)에 상기 대상 콘텐트를 전송하여 줄 것을 요청할 수 있다. According to an embodiment, in operation 721, the second
일 실시 예에 따르면, 동작 723에서 제2 전자 장치(730)는 상기 전송 요청에 대한 응답으로 서버(720)로부터 상기 대상 콘텐트를 획득할 수 있다. 다양한 실시 예에 따라, 서버(720)는 제2 전자 장치(730)에 대한 사용자 인증을 수행하고, 상기 인증이 성공적으로 수행됨을 확인하면 상기 대상 콘텐트가 상기 주소 정보에 의해 지시된 주소에 저장되어 있는지 여부를 확인할 수 있다. 서버(720)는, 상기 확인 결과 상기 대상 콘텐트가 상기 주소에 저장되어 있으면, 상기 대상 콘텐트를 제2 전자 장치(730)로 전송할 수 있다. 상기 확인 결과 상기 대상 콘텐트가 상기 주소에 저장되어 있지 않으면, 서버(720)는 상기 대상 콘텐트가 저장되어 있지 않음을 나타내는 신호를 제2 전자 장치(730)로 전달할 수 있다. 제2 전자 장치(730)는, 서버(720)로부터 상기 신호를 수신하는 경우, 별다른 메시지를 출력하지 않고 상기 대상 콘텐트의 자동 재생을 제공하기 위한 프로세스를 중단할 수 있다. According to an embodiment, in operation 723, the second
일 실시 예에 따르면, 동작 725에서 제2 전자 장치(730)는 서버(720)로부터 획득한 상기 대상 콘텐트를, 상기 확인한 재생 영역 상에서 자동 재생할 수 있다. 다양한 실시 예에 따라, 제2 전자 장치(730)는 상기 제1 어플리케이션의 실행 화면 내 상기 재생 영역 상에서 상기 대상 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행화면의 변경을 감지하면, 상기 실행 화면으로부터 상기 마커가 검출되는지 여부를 다시 확인할 수 있다. 상기 확인 결과 상기 마커가 검출되면, 제2 전자 장치(730)는 상기 마커로부터 획득한 위치 정보를 기반으로 상기 대상 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 대상 콘텐트의 재생 영역을 조정할 수 있다. 상기 대상 콘텐트의 재생 영역은 고정된 위치가 아닌, 상기 제1 어플리케이션의 실행 화면에서 검출된 마커를 기준으로 실시간 계산될 수 있다. 제2 전자 장치(730)는 상기 실행 화면의 변경에 대응하여 상기 대상 콘텐트의 재생 영역을 조정함으로써, 자연스럽게 상기 대상 콘텐트의 자동 재생을 지속할 수 있다. 상기 확인 결과 상기 실행화면으로부터 상기 마커가 더 이상 검출되지 않는 것으로 확인되면, 제2 전자 장치(730)는 상기 대상 콘텐트의 자동 재생을 정지시킬 수 있다.According to an embodiment, in operation 725, the second
도 8a, 도 8b 및 도 8c는 일 실시 예에 따른, 콘텐트에 대하여 마커를 삽입하는 방식을 설명하는 도면이다.8A, 8B, and 8C are diagrams illustrating a method of inserting a marker into content, according to an exemplary embodiment.
일 실시 예에서, 전자 장치(예: 도 3의 전자 장치(200) 또는 도 7의 제1 전자 장치(710))는 움직이는 영상 타입의 콘텐트의 자동 재생에 필요한 정보들을 이용하여 마커를 생성하고, 상기 생성된 마커를 상기 콘텐트에 삽입할 수 있다. 전자 장치(200)는 상기 콘텐트의 원본 파일(800) 정보가 훼손되는 것을 최소화하기 위해, 상기 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 마커가 삽입되는 위치를 결정할 수 있다. 예를 들어, 전자 장치(200)는 상기 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출된 영역 중 적어도 일부에 상기 마커를 삽입할 수 있다.In an embodiment, an electronic device (eg, the
도 8b를 참조하면, 전자 장치(200)는 상기 콘텐트(800)의 좌측 상단, 좌측 하단, 우측 상단, 또는 우측 하단에 위치한 모서리 영역들에 대해, 픽셀 변화가 상기 임계치 이하인 것으로 검출할 수 있다. 전자 장치(200)는 상기 검출된 모서리 영역들 중 좌측 하단의 모서리 영역에 마커(811)를 삽입하여 인코딩할 수 있다. 상기 마커(811)는, 상기 마커가 삽입된 위치를 기준으로 하는 콘텐트의 재생 영역(810)에 관한 상대적 좌표를 나타내는 위치 정보를 포함할 수 있다. 상기 콘텐트 재생 영역(810)의 크기와 위치는 디스플레이의 크기나 해상도에 따라 달라질 수 있기 때문에, 전자 장치(200)는 상기 마커(811)의 위치를 기준으로 계산된 콘텐트 재생 영역(810)의 상대 좌표를 상기 마커(811)에 기록할 수 있다. 예를 들어, 전자 장치(200)는 마커(811)가 삽입된 위치를 기준으로 계산된 상기 콘텐트 재생 영역(810)의 원점(예: 좌측 상단 모서리) 좌표와, 상기 콘텐트 재생 영역(810)의 수직 비율 또는 수평 비율을 포함하도록, 상기 마커(811)를 생성할 수 있다. 도 8b에서, 전자 장치(200)는 마커(811)의 위치를 기준으로 상기 콘텐트 재생 영역(810)의 원점(예: 좌측 상단 모서리) 좌표를 x=-0.2, y=-3.9로 계산하고, 상기 계산된 좌표를 기반으로 마커(811)를 생성할 수 있다. 전자 장치(200)는 마커(811)의 크기를 기준으로 상기 콘텐트 재생 영역(810)의 수평 및 수직 비율을 w=4.4, h=4.4로 계산하고, 상기 계산된 비율을 기반으로 마커(811)를 생성할 수 있다.Referring to FIG. 8B , the
다양한 실시 예에 따라, 전자 장치(200)는 복수 개의 마커를 상기 콘텐트(800)에 대해 삽입할 수 있다. 도 8c를 참조하면, 전자 장치(200)는 상기 콘텐트(800)에 대하여 삽입되는 마커(821, 822)가 콘텐트 재생 영역(820)의 좌, 우, 상, 하 좌표를 지시하도록, 상기 콘텐트(800)의 좌측 하단 모서리 부분과, 대각선 방향의 우측 상단 모서리 부분에 각각 마커(821, 822)를 삽입하여 인코딩할 수 있다.According to various embodiments, the
도 9a, 도 9b, 도 9c 및 도 9d는 일 실시 예에 따른, 움직이는 영상 타입의 콘텐트에 마커를 인코딩하는 방식을 설명하는 도면이다.9A, 9B, 9C, and 9D are diagrams illustrating a method of encoding a marker in content of a moving image type, according to an exemplary embodiment.
일 실시 예에서, 전자 장치(예: 도 3의 전자 장치(200) 또는 도 7의 제1 전자 장치(710))는 콘텐트의 원본 파일에 대한 손상을 방지하도록, 상기 콘텐트 주변에 패딩 영역을 추가하여 마커를 인코딩할 수 있다. 예를 들어, 전자 장치(200)는 도 9a와 같이, 콘텐트(910)의 하단에 별도의 패딩 영역을 추가하고, 상기 추가된 패딩 영역(911) 내에 상기 마커를 배치할 수 있다. 다른 예를 들어, 전자 장치(200)는 도 9b와 같이, 콘텐트(920)의 좌측 하단 모서리 주변에 소정 크기의 패딩 영역(921)을 추가하고, 상기 추가된 패딩 영역(921)에 마커를 삽입하여 인코딩할 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는, 상기 패딩 영역(911, 921)이 상기 콘텐트(910, 920)에 대해 자연스럽게 표시되도록, 상기 패딩 영역(911, 921)에 대해 그림자, 액자 또는 반사면과 같은 그래픽 효과를 적용할 수 있다.In an embodiment, the electronic device (eg, the
다양한 실시 예에 따라, 전자 장치(200)는 상기 마커의 배치를 위해 콘텐트의 내부를 변경할 수 있다. 도 9c를 참조하면, 전자 장치(200)는 콘텐트(930)의 일측 모서리 부분을 접힘 처리하고, 상기 접힘 처리된 영역(931)에 상기 마커를 삽입하여 인코딩할 수 있다.According to various embodiments, the
다양한 실시 예에 따라, 전자 장치(200)는 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이(320))의 모양을 고려하여 콘텐트에 상기 마커를 인코딩할 수 있다. 도 9d를 참조하면, 콘텐트(940)가 원형의 디스플레이를 구비한 웨어러블 장치(예: 스마트워치)에서 표시되는 경우, 상기 콘텐트(940)는 상기 디스플레이 형태에 따라 원형으로 출력될 수 있다. 전자 장치(200)는 웨어러블 장치에서 디스플레이를 통해 노출되는 콘텐트(940) 영역의 바깥 부분에 마커(941)를 인코딩 함으로써, 상기 마커(941)가 사용자의 눈에 보이지 않도록 할 수 있다.According to various embodiments, the
도 10은 일 실시 예에 따른, 전자 장치의 동작 방법을 도시하는 흐름도이다. 일 실시 예에 따르면, 전자 장치(200)는 실행 중인 어플리케이션을 통해 움직이는 영상 타입의 제1 콘텐트를 전송 또는 삽입하는 과정에서 상기 제1 콘텐트의 자동 재생을 위한 처리를 수행하는 장치로서, 도 1에 도시된 전자 장치(101), 도 3에 도시된 전자 장치(200) 또는 도 7에 도시된 제1 전자 장치(710)에 대응될 수 있다. 도 10의 동작들은 전자 장치(200)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(330))에 의해 수행될 수 있다.10 is a flowchart illustrating a method of operating an electronic device according to an exemplary embodiment. According to an embodiment, the
도 10을 참조하면, 동작 1010에서 전자 장치(200)는 제1 어플리케이션 실행 중 사용자 입력이 감지된 제1 콘텐트를 외부 서버(예: 도 1의 서버(108))로 전송할 수 있다. 상기 사용자 입력은 상기 제1 어플리케이션을 통해 상기 제1 콘텐트를 하나 이상의 다른 사용자의 전자 장치와 공유하거나, 또는 상기 제1 콘텐트를 상기 제1 어플리케이션의 실행 화면에 삽입하기 위한 요청일 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트로서, 상기 외부 서버의 메모리 공간 또는 상기 외부 서버에 의해 관리되는 데이터베이스에 저장될 수 있다.Referring to FIG. 10 , in operation 1010, the
일 실시 예에 따르면, 동작 1020에서 전자 장치(200)는 상기 제1 콘텐트의 전송에 대한 응답으로, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104))에서 접근 가능한 네트워크 주소로서, 상기 외부 서버에 의해 관리되는 상기 제1 콘텐트의 url(uniform resource locator)을 포함할 수 있다.According to an embodiment, in operation 1020, the
일 실시 예에 따르면, 동작 1030에서 전자 장치(200)는 상기 제1 콘텐트에 삽입할 마커의 위치를 결정할 수 있다. 전자 장치(200)는 상기 제1 콘텐트의 원본 파일에 대한 훼손을 최소화하도록, 상기 마커의 위치를 결정할 수 있다. 예를 들어, 전자 장치(200)는 상기 제1 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출된 영역 중 적어도 일부를 상기 마커의 위치를 결정할 수 있다. 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역이 검출되지 않으면, 전자 장치(200)는 상기 제1 콘텐트의 외부 주변에 그림자, 액자 또는 반사면과 같은 그래픽 효과가 적용된 패딩 영역을 추가하고, 상기 추가된 패딩 영역을 기반으로 상기 마커의 위치를 결정할 수 있다. 다른 예를 들어, 전자 장치(200)는 상기 제1 콘텐트의 테두리 선 또는 모서리 영역을 확인하고, 상기 확인된 테두리 선 또는 모서리 영역을 기반으로 상기 마커의 위치를 결정할 수도 있다. 또 다른 예를 들어, 전자 장치(200)는 콘텐트 삽입 시 상기 제1 어플리케이션에 의해 추가되는 표시가 있는지 확인하고, 상기 표시와 중첩되지 않도록 상기 마커의 위치를 결정할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1040에서 전자 장치(200)는 상기 제1 콘텐트를 재생할 위치 정보를 확인할 수 있다. 예시적으로, 상기 위치 정보는 상기 결정된 마커의 위치를 기준으로 계산된 상기 제1 콘텐트의 상대좌표를 포함할 수 있다. 전자 장치(200)는 상기 결정된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나에 위치한 모서리의 상대좌표를 계산할 수 있다. 전자 장치(200)는 상기 계산된 제1 콘텐트의 상대좌표를 기반으로 상기 어플리케이션의 실행 화면에서 상기 제1 콘텐트가 재생되는 위치와 크기를 확인할 수 있다. 상기 제1 콘텐트가 재생되는 위치는 상기 어플리케이션의 실행화면에 표시된 마커를 기준으로 실시간 계산되기 때문에, 상기 실행 화면 상에서 상기 제1 콘텐트가 재생되는 동안 사용자 입력이나 지정된 이벤트에 의해 상기 어플리케이션의 실행 화면이 변경되더라도 자연스럽게 상기 제1 콘텐트의 재생 위치도 변경될 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1050에서 전자 장치(200)는 상기 외부 서버로부터 획득한 제1 콘텐트의 주소 정보 또는 상기 확인된 제1 콘텐트의 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성할 수 있다. 예를 들어, 전자 장치(200)는 상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 1차원 바코드(예: UPC(universal product code), EAN(european article number), 또는 Code 128) 또는 2차원 바코드(예: QR 코드(quick response code), 데이터 매트릭스 코드(data matrix code), PDF417, Data glyphs 또는 m-code) 형태로 변환하여 상기 마커를 생성할 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는 상기 주소 정보 또는 상기 위치 정보를 사용자의 개인 키(private key)로 전자서명을 수행하고, 상기 전자서명 데이터를 함께 상기 마커로 생성할 수 있다. 상기 마커에 포함된 상기 전자서명 데이터는 상기 제1 콘텐트의 작성(또는 전송) 주체 또는 상기 마커에 대한 진위여부를 확인하는 데 이용될 수 있다.According to an embodiment, in operation 1050, the
일 실시 예에 따르면, 동작 1060에서 전자 장치(200)는 상기 제1 콘텐트에 상기 생성된 마커를 인코딩 할 수 있다. 예를 들어, 전자 장치(200)는 상기 제1 콘텐트에 포함된 복수 개의 프레임들 중 첫번째 프레임 내 상기 결정된 위치에 상기 마커를 삽입하여 인코딩 할 수 있다. 다른 예를 들어, 전자 장치(200)는 상기 제1 콘텐트에 포함된 전체 프레임의 상기 결정된 위치에 상기 마커를 삽입하여 인코딩할 수 있다. 본 발명의 다양한 실시 예에 따라, 전자 장치(200)는 상기 제1 콘텐트에 인코딩된 마커가 사용자의 눈에 최소한으로 보여지도록, 상기 제1 콘텐트에 마커를 인코딩하는 과정에서 알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 적용할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1070에서 전자 장치(200)는 실행 중인 상기 제1 어플리케이션을 통해 상기 마커가 인코딩된 콘텐트를 전송할 수 있다. 상기 인코딩된 콘텐트는 상기 제1 어플리케이션의 실행 화면에 디스플레이 되어, 다른 전자 장치(200)와 공유될 수 있다.According to an embodiment, in
도 11은 일 실시 예에 따른, 전자 장치의 동작 방법을 도시하는 흐름도이다. 일 실시 예에 따르면, 전자 장치(200)는 실행 중인 어플리케이션을 통해 움직이는 영상 타입의 제1 콘텐트를 디스플레이 하는 과정에서 상기 제1 콘텐트의 자동 재생을 제공하는 장치로서, 도 1에 도시된 전자 장치(101), 도 3에 도시된 전자 장치(200) 또는 도 7에 도시된 제2 전자 장치(730)에 대응될 수 있다. 도 11의 동작들은 전자 장치(200)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(330))에 의해 수행될 수 있다.11 is a flowchart illustrating a method of operating an electronic device according to an embodiment. According to an embodiment, the
도 11을 참조하면, 동작 1110에서 전자 장치(200)는 포그라운드 상태(foreground process)인 제1 어플리케이션의 실행 화면에서 제1 콘텐트에 연관되는 마커를 감지할 수 있다. 포그라운드 상태는 실행 중인 제1 어플리케이션의 실행 화면이 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이(320)) 상에서 노출되는 상태를 의미할 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는 상기 제1 어플리케이션에 대해 움직이는 영상 타입의 콘텐트의 자동 재생 기능이 설정되어 있는지 여부를 확인하면, 지정된 시간 마다 또는 지정된 이벤트(예: 실행 화면의 변경 또는 사용자 입력 수신) 감지 시 상기 제1 어플리케이션의 실행 화면을 캡처할 수 있다. 전자 장치(200)는 상기 캡처된 이미지로부터 제1 콘텐트에 연관되는 마커를 검출할 수 있다.Referring to FIG. 11 , in operation 1110, the
일 실시 예에 따르면, 동작 1120에서 전자 장치(200)는 상기 감지된 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인할 수 있다. 예를 들어, 전자 장치(200)는 상기 마커가 지정된 형식의 데이터(예: 네트워크 url 형식의 데이터)를 포함하고 있음을 확인하면, 상기 제1 콘텐트가 상기 제1 어플리케이션의 실행 화면에서 자동 재생되어야 함을 확인할 수 있다.According to an embodiment, in operation 1120, the
일 실시 예에 따르면, 동작 1130에서 전자 장치(200)는 상기 감지된 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 또는 상기 제1 콘텐트를 재생할 위치 정보 중 적어도 하나를 확인할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치에서 접근 가능한 네트워크 주소로서, 외부 서버에 의해 저장된 상기 제1 콘텐트의 url 주소를 포함할 수 있다. 상기 위치 정보는 상기 제1 콘텐트가 재생되는 위치의 좌표로서, 상기 실행 화면에서 검출된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나의 모서리의 상대좌표를 포함할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1140에서 전자 장치(200)는 상기 주소 정보를 기반으로 외부 서버(예: 도 1의 서버(108), 도 5의 서버(500), 또는 도 7의 서버(720))로부터 상기 제1 콘텐트를 획득할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1150에서 전자 장치(200)는 상기 위치 정보를 기반으로 상기 제1 콘텐트를 표시할 재생 영역을 확인할 수 있다. 예를 들어, 전자 장치(200)는 상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 상기 실행 화면 내 좌표와 상기 제1 콘텐트의 크기(또는 비율)를 계산하고, 상기 계산 결과를 기반으로 상기 제1 어플리케이션의 실행 화면 내에 상기 제1 콘텐트를 표시할 재생 영역을 확인할 수 있다. 다른 예를 들어, 전자 장치(200)는 상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 전자 장치(200)는 상기 실행 화면의 캡처 이미지에 대해 이미지 분석을 수행하여, 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출하고, 상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1160에서 전자 장치(200)는 상기 확인된 재생 영역에서 상기 획득한 제1 콘텐트를 자동 재생할 수 있다. 본 발명의 다양한 실시 예에 따라, 전자 장치(200)는 상기 실행 화면의 재생 영역 상에서 상기 제1 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행화면의 변경을 감지하면, 상기 실행 화면으로부터 상기 마커가 검출되는지 여부를 다시 확인할 수 있다. 상기 확인 결과 상기 마커가 검출되면, 전자 장치(200)는 상기 마커로부터 획득한 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정할 수 있다. 상기 확인 결과 상기 실행화면으로부터 상기 마커가 더 이상 검출되지 않는 것으로 확인되면, 전자 장치(200)는 상기 제1 콘텐트의 자동 재생을 정지시킬 수 있다. 상기 제1 콘텐트의 재생 영역은 고정된 위치가 아닌, 상기 제1 어플리케이션의 실행 화면에서 검출된 마커를 기준으로 실시간 계산되므로, 전자 장치(200)는 상기 실행 화면의 변경에 대응하여 상기 제1 콘텐트의 재생 영역을 조정함으로써, 자연스럽게 상기 제1 콘텐트의 자동 재생을 지속할 수 있다.According to an embodiment, in
도 12a 및 도 12b는 일 실시 예에 따라, 어플리케이션의 설정을 반영하여 콘텐트를 제공하는 과정을 설명하는 도면이다. 12A and 12B are diagrams illustrating a process of providing content by reflecting application settings, according to an embodiment.
일 실시 예에서, 전자 장치(200)는 움직이는 영상 타입의 콘텐트를 실행 중인 어플리케이션의 실행 화면 내 재생 영역 상에 자동 재생하는 과정에서, 상기 어플리케이션에 대한 디스플레이 설정을 확인할 수 있다. 예를 들어, 도 12a에서, 전자 장치(200)는 상기 어플리케이션에서 콘텐트 첨부 시 표시되는 이미지 프레임이 각진 모서리 형태의 사각형으로 설정됨을 확인하고, 상기 확인된 설정에 따라 각진 모서리 형태의 사각형 프레임(1210) 내에 상기 콘텐트를 재생할 수 있다. 다른 예를 들어, 도 12b에서, 전자 장치(200)는 상기 어플리케이션에서 콘텐트 첨부 시 표시되는 이미지 프레임이 둥근 모서리를 갖는 사각형으로 설정됨을 확인할 수 있다. 이 경우, 전자 장치(200)는 상기 콘텐트의 테두리 영역을 둥근 모서리 형태의 사각형으로 변경하고, 둥근 모서리 형태의 사각형 프레임(1220) 내에 상기 콘텐트를 재생할 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는 이미지 분석(image segmentation) 기법을 이용하여 상기 어플리케이션의 실행 화면 내 상기 이미지 프레임의 모양과 곡률을 확인하고, 이를 상기 콘텐트에 적용하여 재생할 수도 있다.In an embodiment, the
도 13은 일 실시 예에 따른 서버의 동작 방법을 도시하는 흐름도이다. 일 실시 예에 따르면, 서버(500)는 하나 이상의 외부 전자 장치(예: 도 2의 전자 장치(200))로부터 획득한 움직이는 영상 타입의 제1 콘텐트를 저장 및 관리하는 장치로서, 도 5에 도시된 서버(500) 또는 도 7에 도시된 서버(720)에 대응될 수 있다. 도 13의 동작들은 서버(500)에 포함된 적어도 하나의 프로세서(예: 도 5의 적어도 하나의 프로세서(520))에 의해 수행될 수 있다.13 is a flowchart illustrating a method of operating a server according to an embodiment. According to an embodiment, the server 500 is a device for storing and managing first content of a moving image type acquired from one or more external electronic devices (eg, the
일 실시 예에 따르면, 동작 1310에서 서버(500)는 제1 외부 장치(예: 도 7의 제1 전자 장치(710))로부터 상기 제1 콘텐트의 저장 요청을 수신할 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상(motion picture) 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1320에서 서버(500)는 상기 제1 콘텐트를 서버(500)의 메모리(예: 도 5의 메모리(530)) 또는 서버(500)에 의해 관리되는 데이터베이스에 저장하고, 하나 이상의 외부 전자 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성할 수 있다. 상기 주소 정보는 서버(500)에 의해 상기 제1 콘텐트가 저장된 메모리 또는 데이터베이스의 네트워크 주소로서, url(uniform resource locator) 형식의 데이터를 포함할 수 있다. 다양한 실시 예에 따라, 서버(500)는 상기 제1 콘텐트를 저장한 후 상기 제1 콘텐트의 유효기간을 설정할 수 있다. 상기 유효기간은 서버(500)에 의해 저장된 제1 콘텐트가 상기 메모리 또는 상기 데이터베이스에서 유지되는 기간을 나타낼 수 있다. 서버(500)는 상기 제1 콘텐트가 상기 메모리 또는 상기 데이터베이스에 저장된 후 상기 제1 콘텐트에 대하여 설정된 유효기간의 경과 여부를 지속적으로 확인하고, 상기 유효기간이 경과함을 확인하면 상기 제1 콘텐트를 삭제할 수 있다. 다양한 실시 예에 따라, 서버(500)는 악의적인 사용자의 접근을 방지하기 위해, 상기 제1 외부 장치에 대한 사용자 인증을 수행할 수 있다. 예를 들어, 서버(500)는 상기 저장 요청 수신 시 상기 제1 외부 장치에 대한 인증을 수행하고, 상기 인증이 성공적으로 수행되면 상기 제1 콘텐트를 상기 메모리 또는 상기 데이터베이스에 저장할 수 있다.According to one embodiment, in
일 실시 예에 따르면, 동작 1330에서 서버(500)는 상기 저장 요청에 대한 응답으로, 상기 생성된 주소 정보를 상기 제1 외부 장치로 전송할 수 있다. 상기 제1 외부 장치는 서버(500)로부터 수신한 상기 주소 정보를 이용하여 상기 제1 콘텐트의 자동 재생을 지원하기 위해 상기 제1 콘텐트에 삽입할 마커를 생성할 수 있다. 다양한 실시 예에 따라, 서버(500)는 상기 저장 요청에 응답하여, 상기 제1 콘텐트에 대하여 설정된 유효기간을 상기 주소 정보와 함께 상기 제1 외부 장치로 전송할 수 있다. 이 경우, 상기 마커는 상기 제1 콘텐트의 유효기간을 포함하여 생성될 수 있다.According to an embodiment, in
일 실시 예에 따르면, 동작 1340에서 서버(500)는 제2 외부 장치(예: 도 7의 제2 전자 장치(730))로부터 상기 제1 콘텐트의 전송 요청을 수신할 수 있다. 상기 전송 요청은 상기 제2 외부 장치가 실행 중인 어플리케이션의 실행 화면에서 감지한 마커로부터 획득한 제1 콘텐트의 식별자와 주소 정보를 포함할 수 있다. 서버(500)는 상기 전송 요청으로부터 상기 제1 콘텐트의 식별자와 주소 정보를 확인하고, 상기 제1 콘텐트가 상기 주소 정보에 의해 지시된 주소(상기 메모리 또는 상기 데이터베이스)에 저장되어 있는지 확인할 수 있다.According to an embodiment, in operation 1340, the server 500 may receive a transmission request for the first content from a second external device (eg, the second
일 실시 예에 따르면, 동작 1350에서 서버(500)는 상기 전송 요청에 대한 응답으로, 상기 제1 콘텐트를 상기 제2 외부 장치로 전송할 수 있다. 상기 확인 결과 상기 제1 콘텐트가 상기 메모리 또는 상기 데이터베이스에 저장되어 있으면, 서버(500)는 상기 제1 콘텐트를 상기 제2 외부 장치로 전송할 수 있다. 상기 확인 결과 상기 제1 콘텐트가 메모리(530) 또는 상기 데이터베이스에 저장되어 있지 않으면, 서버(500)는 상기 제1 콘텐트가 저장되어 있지 않음을 나타내는 신호를 상기 제2 외부 장치로 전달할 수 있다. 다양한 실시 예에 따라, 서버(500)는 허가되지 않은(또는 다운로드 권한이 없는) 사용자의 접근을 방지하기 위해, 상기 제2 외부 장치에 대한 사용자 인증을 수행할 수 있다. 예를 들어, 서버(500)는 상기 제1 콘텐트의 전송 요청을 전송한 제2 외부 장치에 대한 인증을 수행하고, 상기 인증이 성공적으로 수행된 것으로 확인되면 상기 제1 콘텐트의 저장 여부 확인 후 상기 제2 외부 장치에 상기 전송 요청에 대한 회신을 전송할 수 있다.According to an embodiment, in
일 실시 예에 따른 전자 장치(예: 전자 장치(200))는, 통신 모듈(예: 통신 모듈(310)), 디스플레이(예: 디스플레이(320)), 상기 통신 모듈 및 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서(예: 프로세서(330)), 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리(예: 메모리(340))를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 어플리케이션 실행 중 제1 콘텐트의 선택을 확인함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 외부 서버(예: 서버(500))로 전송하고, 상기 통신 모듈을 통해 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득하고, 상기 제1 콘텐트에 대하여 삽입할 마커의 위치를 결정하고, 상기 제1 콘텐트의 적어도 일부 프레임 내 상기 결정된 위치에 상기 주소 정보를 포함하는 상기 마커를 인코딩하고, 상기 인코딩된 콘텐트를 상기 제1 어플리케이션을 통해 전송하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device (eg, the electronic device 200) according to an embodiment includes a communication module (eg, the communication module 310), a display (eg, the display 320), and operatively connected to the communication module and the display. at least one processor (e.g., processor 330) and a memory (e.g., memory 340) operatively coupled to the at least one processor, wherein, when executed, the at least one processor A, in response to confirmation of selection of the first content while the first application is running, the first content is transmitted to an external server (eg, the server 500) through the communication module, and the external server through the communication module Obtains address information of the stored first content, determines the location of a marker to be inserted with respect to the first content, and places the marker including the address information at the determined location within at least some frames of the first content. Instructions for encoding and transmitting the encoded content through the first application may be stored.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 결정된 마커의 위치를 기준으로 상기 제1 콘텐트가 재생될 좌표를 지시하는 위치 정보를 계산하고, 상기 주소 정보 또는 상기 계산된 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성하고, 상기 생성된 마커를 상기 제1 콘텐트의 적어도 일부 프레임에 삽입하여 인코딩 하도록 할 수 있다.In an embodiment, the instructions may include calculating, by the at least one processor, location information indicating a coordinate at which the first content will be reproduced based on the determined location of the marker, the address information or the calculated location information The marker may be generated based on at least one of the above, and the generated marker may be inserted into at least some frames of the first content to be encoded.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출된 영역을 기반으로 상기 마커의 위치를 결정하도록 할 수 있다.In one embodiment, the instructions include: the at least one processor detects an area in which a pixel change is less than a threshold value in the first content based on an edge analysis of the first content, and determines the detected area Based on this, the position of the marker may be determined.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 콘텐트에서 픽셀 변화가 상기 임계치 이하인 영역이 검출되지 않으면, 상기 제1 콘텐트의 주변에 패딩 영역을 추가하고, 상기 패딩 영역에 상기 마커를 삽입하도록 할 수 있다.In one embodiment, the instructions include, if the at least one processor does not detect an area in which the pixel change is less than the threshold value in the first content, add a padding area around the first content, and add a padding area to the padding area. The marker may be inserted.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 1차원 바코드 또는 2차원 바코드 형태로 변환하여 상기 마커를 생성할 수 있다.In one embodiment, in the instructions, the at least one processor may generate the marker by converting at least one of the address information and the location information into a form of a 1D barcode or a 2D barcode.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 이용하여 상기 마커를 상기 제1 콘텐트의 적어도 일부 프레임에 인코딩하도록 할 수 있다.In one embodiment, the instructions may cause the at least one processor to set the marker to at least a portion of the first content by using at least one image processing method of an alpha blending operation or steganography. You can encode it into frames.
일 실시 예에서, 제1 콘텐트는 복수의 이미지 프레임을 포함하는 움직이는 영상(motion picture) 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다.In one embodiment, the first content may be a motion picture including a plurality of image frames or content having a video file format.
다른 실시 예에 따른 전자 장치(예: 전자 장치(200))는, 통신 모듈(예: 통신 모듈(310)), 디스플레이(예: 디스플레이(320)), 상기 통신 모듈 및 상기 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서(예: 프로세서(330)), 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리(예: 메모리(340))를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 어플리케이션의 실행 화면에서 제1 콘텐트에 연관되는 마커를 감지함에 응답하여, 상기 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인하고, 상기 제1 콘텐트가 자동 재생되어야 함을 확인하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 및 상기 제1 콘텐트를 재생할 위치 정보를 확인하고, 상기 통신 모듈을 통해 상기 주소 정보를 기반으로 외부 서버(예: 서버(500))로부터 상기 제1 콘텐트를 획득하고, 상기 위치 정보를 기반으로 상기 디스플레이 상의 상기 실행 화면 내 상기 제1 콘텐트의 재생 영역을 확인하고, 상기 확인된 재생 영역에 상기 획득한 제1 콘텐트를 자동 재생하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device (eg, the electronic device 200) according to another embodiment includes a communication module (eg, the communication module 310), a display (eg, the display 320), and the communication module and the display operably. at least one processor coupled thereto (eg, processor 330) and a memory operatively coupled to the at least one processor (eg, memory 340), wherein the memory, when executed, comprises: In response to detecting a marker associated with the first content on the execution screen of the first application, the processor determines whether or not the first content is automatically reproduced based on the marker, and indicates that the first content should be automatically reproduced. If confirmed, the address information where the first content is stored and the location information where the first content is to be reproduced are checked from the marker, and the external server (eg, the server 500) based on the address information is provided through the communication module. Instructions for acquiring first content, identifying a play area of the first content within the execution screen on the display based on the location information, and automatically playing the acquired first content in the checked play area. can be saved
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 어플리케이션의 실행 화면이 상기 디스플레이 상에 표시되고 있음을 확인하면, 상기 제1 어플리케이션의 실행 화면을 캡처하고, 상기 캡처된 이미지로부터 상기 마커를 검출하도록 할 수 있다.In one embodiment, the instructions include, when the at least one processor confirms that the execution screen of the first application is being displayed on the display, capturing the execution screen of the first application, and the captured image It is possible to detect the marker from.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 마커로부터 상기 제1 콘텐트의 주소 정보를 획득하고, 상기 주소 정보가 지정된 형식의 데이터를 포함하는지 여부를 확인하고, 상기 주소 정보가 상기 지정된 형식의 데이터를 포함하는 것으로 확인되면, 상기 제1 콘텐트를 자동 재생 대상으로 판단하도록 할 수 있다.In one embodiment, the instructions include: obtaining address information of the first content from the marker, determining whether the address information includes data in a designated format, and determining whether the address information is If it is confirmed that the content has the specified format, the first content can be determined as an automatic playback target.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 마커로부터 상기 제1 콘텐트의 위치 정보를 획득하고, 상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표 및 상기 제1 콘텐트의 크기를 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 확인하도록 할 수 있다.In an embodiment, the instructions include, by the at least one processor, acquiring location information of the first content from the marker, and based on the location information, a coordinate where the first content is to be reproduced and a location of the first content. A size may be calculated, and a reproduction area of the first content may be identified based on the calculation result.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 어플리케이션의 실행 화면의 변경을 감지하면, 상기 실행 화면에서 상기 마커가 검출되는지 여부를 확인하고, 상기 확인 결과 상기 마커가 검출되면, 상기 마커를 기반으로 상기 제1 콘텐트가 재생될 좌표 및 상기 제1 콘텐트의 크기를 재계산하고, 상기 재계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정할 수 있다.In an embodiment, the instructions include, when the at least one processor detects a change in the execution screen of the first application, determines whether the marker is detected on the execution screen, and as a result of the check, the marker is detected. , the coordinates at which the first content will be reproduced and the size of the first content may be recalculated based on the marker, and the reproduction area of the first content may be adjusted based on the recalculated result.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 확인 결과 상기 마커가 검출되지 않으면, 상기 제1 콘텐트의 자동 재생을 정지하도록 할 수 있다.In one embodiment, the instructions may cause the at least one processor to stop automatically playing the first content when the marker is not detected as a result of the check.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출하고, 상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인하도록 할 수 있다.In one embodiment, the instructions may cause the at least one processor to perform an operation between a content area where the frame image of the first content is displayed and a background area surrounding the frame image based on image analysis (image segmentation) of the execution screen. A boundary of , and based on the detected boundary, a reproduction area of the first content may be identified.
다른 실시 예에 따른 전자 장치(예: 도 5의 서버(500) 또는 도 7의 서버(720))는, 통신 모듈(예: 통신 모듈(510)), 상기 통신 모듈과 작동적으로 연결된 적어도 하나의 프로세서(예: 프로세서(520)), 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리(예: 메모리(530))를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 외부 장치(예: 제1 전자 장치(710))로부터 제1 콘텐트의 저장 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 메모리 또는 데이터베이스에 저장하고, 하나 이상의 외부 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성하고, 상기 통신 모듈을 통해 상기 주소 정보를 상기 제1 외부 장치로 전송하고, 제2 외부 장치(예: 제2 전자 장치(730))로부터 상기 제1 콘텐트의 전송 요청을 수신함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 상기 제2 외부 장치로 전송하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to another embodiment (eg, the server 500 of FIG. 5 or the
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 콘텐트의 유효기간을 설정하고, 상기 제1 콘텐트의 저장 요청에 대한 응답으로 상기 설정된 유효기간에 관한 정보를 상기 제1 외부 장치로 전송하도록 할 수 있다.In one embodiment, the instructions may include, by the at least one processor, setting a validity period of the first content, and transmitting information about the set validity period in response to a request for storage of the first content to the first external You can send it to your device.
일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 콘텐트의 유효기간이 경과함을 확인하면, 상기 메모리 또는 상기 데이터베이스에서 상기 제1 콘텐트를 삭제하도록 할 수 있다.In one embodiment, the instructions may cause the at least one processor to delete the first content from the memory or the database when it is confirmed that the validity period of the first content has elapsed.
일 실시 예에 따른 전자 장치(예: 전자 장치(200))의 동작 방법은, 제1 어플리케이션 실행 중 제1 콘텐트의 선택을 확인함에 응답하여, 상기 제1 콘텐트를 외부 서버(예: 서버(500))로 전송하는 동작, 상기 외부 서버로부터, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득하는 동작, 상기 제1 콘텐트에 대하여 삽입할 마커의 위치를 결정하는 동작, 상기 제1 콘텐트의 적어도 일부 프레임 내 상기 결정된 위치에 상기 주소 정보를 포함하는 상기 마커를 인코딩하는 동작, 및 상기 인코딩된 콘텐트를 상기 제1 어플리케이션을 통해 전송하는 동작을 포함할 수 있다.An operating method of an electronic device (eg, the electronic device 200) according to an embodiment includes, in response to confirmation of selection of first content while a first application is running, the first content is transmitted to an external server (eg, the server 500). )), obtaining address information of the first content stored by the external server from the external server, determining the location of a marker to be inserted with respect to the first content, It may include encoding the marker including the address information at the determined location in at least some frames, and transmitting the encoded content through the first application.
다른 실시 예에 따른 전자 장치(예: 전자 장치(200))의 동작 방법은, 제1 어플리케이션의 실행 화면에서 제1 콘텐트에 연관되는 마커를 감지함에 응답하여, 상기 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인하는 동작, 상기 제1 콘텐트가 자동 재생되어야 함을 확인하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 및 상기 제1 콘텐트를 재생할 위치 정보를 확인하는 동작, 상기 주소 정보를 기반으로 외부 서버(예: 서버(500))로부터 상기 제1 콘텐트를 획득하는 동작, 상기 위치 정보를 기반으로 상기 실행 화면 내 상기 제1 콘텐트의 재생 영역을 확인하는 동작, 및 상기 확인된 재생 영역에 상기 획득한 제1 콘텐트를 자동 재생하는 동작을 포함할 수 있다.An operating method of an electronic device (eg, the electronic device 200) according to another embodiment includes, in response to detecting a marker associated with first content on an execution screen of a first application, the first content based on the marker. Checking whether the first content is to be played automatically, and if it is determined that the first content is to be played automatically, checking address information where the first content is stored and information on a location where the first content is to be reproduced from the marker, the address information Obtaining the first content from an external server (eg, the server 500) based on, checking the playback area of the first content in the execution screen based on the location information, and the confirmed playback An operation of automatically playing the acquired first content in the area may be included.
다른 실시 예에 따른 전자 장치(예: 도 5의 서버(500) 또는 도 7의 서버(720))의 동작 방법은, 제1 외부 장치(예: 제1 전자 장치(710))로부터 제1 콘텐트의 저장 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 전자 장치의 메모리 또는 데이터베이스에 저장하는 동작, 하나 이상의 외부 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성하는 동작, 상기 생성한 주소 정보를 상기 제1 외부 장치로 전송하는 동작, 및 제2 외부 장치(예: 제2 전자 장치(730))로부터 상기 제1 콘텐트의 전송 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 제2 외부 장치로 전송하는 동작을 포함할 수 있다.An operation method of an electronic device (eg, the server 500 of FIG. 5 or the
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be devices of various types. The electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. An electronic device according to an embodiment of this document is not limited to the aforementioned devices.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C," "A, B 및 C 중 적어도 하나", 및 " A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C," "at least one of A, B and C", and "A Each of the phrases such as "at least one of , B, or C" may include any one of the items listed together in that phrase, or all possible combinations thereof. Terms such as "first", "second", or "first" or "secondary" may simply be used to distinguish that component from other corresponding components, and may refer to that component in other respects (eg, importance or order) is not limited. A (eg, first) component is said to be "coupled" or "connected" to another (eg, second) component, with or without the terms "functionally" or "communicatively." When mentioned, it means that the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in this document may include a unit implemented by hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, "비일시적"은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document describe one or more instructions stored in a storage medium (eg,
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어??)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store??) or on two user devices. It can be distributed (eg downloaded or uploaded) online, directly between (eg smartphones). In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the components described above may include a singular object or a plurality of entities. According to various embodiments, one or more components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by modules, programs, or other components are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
Claims (20)
통신 모듈;
디스플레이;
상기 통신 모듈 및 상기 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고,
상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가,
제1 어플리케이션 실행 중 제1 콘텐트의 선택을 확인함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 외부 서버로 전송하고,
상기 통신 모듈을 통해 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득하고,
상기 제1 콘텐트에 대하여 삽입할 마커의 위치를 결정하고,
상기 제1 콘텐트의 적어도 일부 프레임 내 상기 결정된 위치에 상기 주소 정보를 포함하는 상기 마커를 인코딩하고,
상기 인코딩된 콘텐트를 상기 제1 어플리케이션을 통해 전송하도록 하는 인스트럭션들을 저장하는, 전자 장치.In electronic devices,
communication module;
display;
at least one processor operatively connected with the communication module and the display; and
a memory operatively coupled with the at least one processor;
The memory, when executed, the at least one processor,
Transmitting the first content to an external server through the communication module in response to confirming selection of the first content while the first application is running;
Obtaining address information of the first content stored by the external server through the communication module;
determining a position of a marker to be inserted with respect to the first content;
Encoding the marker including the address information at the determined position in at least some frames of the first content;
An electronic device that stores instructions for transmitting the encoded content through the first application.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 결정된 마커의 위치를 기준으로 상기 제1 콘텐트가 재생될 좌표를 지시하는 위치 정보를 계산하고,
상기 주소 정보 또는 상기 계산된 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성하고,
상기 생성된 마커를 상기 제1 콘텐트의 적어도 일부 프레임에 삽입하여 인코딩하도록 하는 인스트럭션들을 저장하는, 전자 장치.The method of claim 1,
The instructions, the at least one processor,
Calculating location information indicating coordinates at which the first content will be reproduced based on the location of the determined marker;
generating the marker based on at least one of the address information and the calculated location information;
and storing instructions for encoding the generated marker by inserting it into at least some frames of the first content.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고,
상기 검출된 영역을 기반으로 상기 마커의 위치를 결정하도록 하는, 전자 장치.The method of claim 1,
The instructions, the at least one processor,
Detecting an area in which a pixel change is less than a threshold value in the first content based on an edge analysis of the first content;
An electronic device for determining a location of the marker based on the detected area.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 콘텐트에서 픽셀 변화가 상기 임계치 이하인 영역이 검출되지 않으면, 상기 제1 콘텐트의 주변에 패딩 영역을 추가하고,
상기 패딩 영역에 상기 마커를 삽입하도록 하는, 전자 장치.The method of claim 3,
The instructions, the at least one processor,
adding a padding area to the periphery of the first content when a region having a pixel change equal to or less than the threshold value is not detected in the first content;
and inserting the marker into the padding area.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 1차원 바코드 또는 2차원 바코드 형태로 변환하여 상기 마커를 생성하도록 하는, 전자 장치.The method of claim 2,
The instructions, the at least one processor,
An electronic device configured to generate the marker by converting at least one of the address information and the location information into a form of a one-dimensional barcode or a two-dimensional barcode.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 이용하여 상기 마커를 상기 제1 콘텐트의 적어도 일부 프레임에 인코딩하도록 하는, 전자 장치.The method of claim 1,
The instructions, the at least one processor,
The electronic device, wherein the marker is encoded in at least some frames of the first content using at least one image processing method selected from an alpha blending operation and steganography.
상기 제1 콘텐트는,
복수의 이미지 프레임을 포함하는 움직이는 영상(motion picture) 또는 동영상 파일 포맷을 갖는 콘텐트인, 전자 장치.The method of claim 1,
The first content,
An electronic device that is content having a motion picture or video file format including a plurality of image frames.
통신 모듈;
디스플레이;
상기 통신 모듈 및 상기 디스플레이와 작동적으로 연결된 적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고,
상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가,
제1 어플리케이션의 실행 화면에서 제1 콘텐트에 연관되는 마커를 감지함에 응답하여, 상기 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인하고,
상기 제1 콘텐트가 자동 재생되어야 함을 확인하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 및 상기 제1 콘텐트를 재생할 위치 정보를 확인하고,
상기 통신 모듈을 통해 상기 주소 정보를 기반으로 외부 서버로부터 상기 제1 콘텐트를 획득하고,
상기 위치 정보를 기반으로 상기 디스플레이 상의 상기 실행 화면 내 상기 제1 콘텐트의 재생 영역을 확인하고,
상기 확인된 재생 영역에 상기 획득한 제1 콘텐트를 자동 재생하도록 하는 인스트럭션들을 저장하는, 전자 장치.In electronic devices,
communication module;
display;
at least one processor operatively connected with the communication module and the display; and
a memory operatively coupled with the at least one processor;
The memory, when executed, the at least one processor,
In response to detecting a marker associated with the first content on the execution screen of the first application, determine whether the first content is automatically reproduced based on the marker;
If it is confirmed that the first content should be automatically played, check address information where the first content is stored and location information to reproduce the first content from the marker;
Obtaining the first content from an external server based on the address information through the communication module;
Checking a play area of the first content within the execution screen on the display based on the location information;
and storing instructions for automatically playing the acquired first content in the checked play area.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 어플리케이션의 실행 화면이 상기 디스플레이 상에 표시되고 있음을 확인하면, 상기 제1 어플리케이션의 실행 화면을 캡처하고,
상기 캡처된 이미지로부터 상기 마커를 검출하도록 하는, 전자 장치.The method of claim 8,
The instructions, the at least one processor,
If it is confirmed that the execution screen of the first application is displayed on the display, capturing the execution screen of the first application;
Detect the marker from the captured image.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 마커로부터 상기 제1 콘텐트의 주소 정보를 획득하고,
상기 주소 정보가 지정된 형식의 데이터를 포함하는지 여부를 확인하고,
상기 주소 정보가 상기 지정된 형식의 데이터를 포함하는 것으로 확인되면, 상기 제1 콘텐트를 자동 재생 대상으로 판단하도록 하는, 전자 장치.The method of claim 8,
The instructions, the at least one processor,
obtaining address information of the first content from the marker;
check whether the address information contains data in a specified format;
If it is confirmed that the address information includes data in the designated format, the electronic device determines the first content as an automatic playback target.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 마커로부터 상기 제1 콘텐트의 위치 정보를 획득하고,
상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표 및 상기 제1 콘텐트의 크기를 계산하고,
상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 확인하도록 하는, 전자 장치.The method of claim 8,
The instructions, the at least one processor,
obtaining location information of the first content from the marker;
Calculate coordinates at which the first content will be reproduced and a size of the first content based on the location information;
An electronic device configured to determine a reproduction area of the first content based on the calculation result.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 어플리케이션의 실행 화면의 변경을 감지하면, 상기 실행 화면에서 상기 마커가 검출되는지 여부를 확인하고,
상기 확인 결과 상기 마커가 검출되면, 상기 마커를 기반으로 상기 제1 콘텐트가 재생될 좌표 및 상기 제1 콘텐트의 크기를 재계산하고,
상기 재계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정하도록 하는, 전자 장치.The method of claim 11,
The instructions, the at least one processor,
When detecting a change in the execution screen of the first application, determining whether the marker is detected in the execution screen;
If the marker is detected as a result of the checking, recalculating coordinates at which the first content is to be reproduced and a size of the first content are recalculated based on the marker;
An electronic device configured to adjust a reproduction area of the first content based on a result of the recalculation.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 확인 결과 상기 마커가 검출되지 않으면, 상기 제1 콘텐트의 자동 재생을 정지하도록 하는, 전자 장치.The method of claim 12,
The instructions, the at least one processor,
If the marker is not detected as a result of the check, the electronic device stops automatic reproduction of the first content.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출하고,
상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인하도록 하는, 전자 장치.The method of claim 8,
The instructions, the at least one processor,
Detecting a boundary between a content area displaying a frame image of the first content and a background area surrounding the frame image based on image segmentation of the execution screen;
An electronic device that determines a reproduction area of the first content based on the detected boundary.
통신 모듈;
상기 통신 모듈과 작동적으로 연결된 적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고,
상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가,
제1 외부 장치로부터 제1 콘텐트의 저장 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 메모리 또는 데이터베이스에 저장하고,
하나 이상의 외부 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성하고,
상기 통신 모듈을 통해 상기 주소 정보를 상기 제1 외부 장치로 전송하고,
제2 외부 장치로부터 상기 제1 콘텐트의 전송 요청을 수신함에 응답하여, 상기 통신 모듈을 통해 상기 제1 콘텐트를 상기 제2 외부 장치로 전송하도록 하는 인스트럭션들을 저장하는, 전자 장치.In electronic devices,
communication module;
at least one processor operatively connected with the communication module; and
a memory operatively coupled with the at least one processor;
The memory, when executed, the at least one processor,
In response to receiving a storage request for first content from a first external device, storing the first content in the memory or database;
generating address information of the first content accessible by one or more external devices;
Transmitting the address information to the first external device through the communication module;
An electronic device that stores instructions for transmitting the first content to the second external device through the communication module in response to receiving a transmission request of the first content from the second external device.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 콘텐트의 유효기간을 설정하고,
상기 제1 콘텐트의 저장 요청에 대한 응답으로 상기 설정된 유효기간에 관한 정보를 상기 제1 외부 장치로 전송하도록 하는, 전자 장치.The method of claim 15
The instructions, the at least one processor,
Set the validity period of the first content,
An electronic device configured to transmit information regarding the set validity period to the first external device in response to a request for storing the first content.
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 콘텐트의 유효기간이 경과함을 확인하면, 상기 메모리 또는 상기 데이터베이스에서 상기 제1 콘텐트를 삭제하도록 하는, 전자 장치.The method of claim 16
The instructions, the at least one processor,
and deleting the first content from the memory or the database when it is confirmed that the expiration date of the first content has elapsed.
제1 어플리케이션 실행 중 제1 콘텐트의 선택을 확인함에 응답하여, 상기 제1 콘텐트를 외부 서버로 전송하는 동작;
상기 외부 서버로부터, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득하는 동작;
상기 제1 콘텐트에 대하여 삽입할 마커의 위치를 결정하는 동작;
상기 제1 콘텐트의 적어도 일부 프레임 내 상기 결정된 위치에 상기 주소 정보를 포함하는 상기 마커를 인코딩하는 동작; 및
상기 인코딩된 콘텐트를 상기 제1 어플리케이션을 통해 전송하는 동작을 포함하는, 방법.In the operating method of the electronic device,
transmitting the first content to an external server in response to confirming selection of the first content while the first application is running;
obtaining, from the external server, address information of the first content stored by the external server;
determining a position of a marker to be inserted with respect to the first content;
encoding the marker including the address information at the determined position in at least some frames of the first content; and
and transmitting the encoded content through the first application.
제1 어플리케이션의 실행 화면에서 제1 콘텐트에 연관되는 마커를 감지함에 응답하여, 상기 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인하는 동작;
상기 제1 콘텐트가 자동 재생되어야 함을 확인하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 및 상기 제1 콘텐트를 재생할 위치 정보를 확인하는 동작;
상기 주소 정보를 기반으로 외부 서버로부터 상기 제1 콘텐트를 획득하는 동작;
상기 위치 정보를 기반으로 상기 실행 화면 내 상기 제1 콘텐트의 재생 영역을 확인하는 동작; 및
상기 확인된 재생 영역에 상기 획득한 제1 콘텐트를 자동 재생하는 동작을 포함하는, 방법.In the operating method of the electronic device,
In response to detecting a marker associated with the first content on the execution screen of the first application, checking whether the first content is automatically reproduced based on the marker;
if it is confirmed that the first content is to be played automatically, checking address information where the first content is stored and information on a location where the first content is to be reproduced from the marker;
obtaining the first content from an external server based on the address information;
checking a reproduction area of the first content within the execution screen based on the location information; and
and automatically playing the acquired first content in the checked play area.
제1 외부 장치로부터 제1 콘텐트의 저장 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 전자 장치의 메모리 또는 데이터베이스에 저장하는 동작;
하나 이상의 외부 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성하는 동작;
상기 생성한 주소 정보를 상기 제1 외부 장치로 전송하는 동작; 및
제2 외부 장치로부터 상기 제1 콘텐트의 전송 요청을 수신함에 응답하여, 상기 제1 콘텐트를 상기 제2 외부 장치로 전송하는 동작을 포함하는, 방법.In the operating method of the electronic device,
In response to receiving a storage request for first content from a first external device, storing the first content in a memory or database of the electronic device;
generating address information of the first content accessible by one or more external devices;
transmitting the generated address information to the first external device; and
and transmitting the first content to the second external device in response to receiving a transmission request for the first content from the second external device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210091546A KR20230011021A (en) | 2021-07-13 | 2021-07-13 | Apparatus and method for providing content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210091546A KR20230011021A (en) | 2021-07-13 | 2021-07-13 | Apparatus and method for providing content |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230011021A true KR20230011021A (en) | 2023-01-20 |
Family
ID=85108467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210091546A Pending KR20230011021A (en) | 2021-07-13 | 2021-07-13 | Apparatus and method for providing content |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230011021A (en) |
-
2021
- 2021-07-13 KR KR1020210091546A patent/KR20230011021A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210375022A1 (en) | Electronic device for providing animated image and method therefor | |
US11943399B2 (en) | Electronic device for providing various functions through application using a camera and operating method thereof | |
CN108415705B (en) | Webpage generation method and device, storage medium and equipment | |
US20240020084A1 (en) | Screen sharing method and electronic device therefor | |
US20200252594A1 (en) | Device for displaying content and operation method therefor | |
CN112257006B (en) | Page information configuration method, device, equipment and computer readable storage medium | |
CN113609358B (en) | Content sharing method, device, electronic equipment and storage medium | |
US11238622B2 (en) | Method of providing augmented reality contents and electronic device therefor | |
US12236057B2 (en) | Audio playback and screen display method and device therefor | |
US20230410253A1 (en) | Electronic device for image generation, and operating method of electronic device | |
US20230367459A1 (en) | Electronic device for performing screen capture and method for capturing screen by electronic device | |
KR20230011021A (en) | Apparatus and method for providing content | |
US20230026123A1 (en) | Method and electronic device for generating content based on capacity of external device | |
EP4325874A1 (en) | Electronic device and operation method of electronic device | |
US20230273842A1 (en) | Method of generating screenshot and electronic device performing the method | |
US20230343367A1 (en) | Image processing method and electronic device supporting same | |
US20240037722A1 (en) | Electronic device for encoding video, and control method therefor | |
US20230328196A1 (en) | Electronic device for providing video conference, and method therefor | |
KR20240111666A (en) | Method for providing non-destructive editing function and electronic device for supporting the same | |
KR20240069552A (en) | Electronic device for displaying virtual object and method for controlling the same | |
KR20250059243A (en) | Electronic device and feature extraction-based image display method using the same | |
KR20250011555A (en) | Electronic device, method, and non-transitory computer readable storage medium for sharing generated image | |
KR20250112117A (en) | Electronic device, method and non-trnasitory computer readable medium for editing content | |
KR20250060775A (en) | Electronic device and method for generating a video in electronic device | |
KR20230100091A (en) | Electronic device and operation method of electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20210713 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20240715 Comment text: Request for Examination of Application |