KR20230011021A - Apparatus and method for providing content - Google Patents

Apparatus and method for providing content Download PDF

Info

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
Application number
KR1020210091546A
Other languages
Korean (ko)
Inventor
김규원
김현수
이희국
최인호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210091546A priority Critical patent/KR20230011021A/en
Publication of KR20230011021A publication Critical patent/KR20230011021A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation 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/4316Generation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/462Content 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/4621Controlling 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

콘텐트를 제공하는 장치 및 그 방법{APPARATUS AND METHOD FOR PROVIDING CONTENT}Apparatus and method for providing content {APPARATUS AND METHOD FOR PROVIDING CONTENT}

본 문서에 개시되는 다양한 실시 예들은 전자 장치에서 실행 중인 어플리케이션을 통해 콘텐트를 제공하는 기술에 관한 것이다.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 network environment 100 according to an embodiment.

도 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 network environment 100, an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or through a second network 199. It may communicate with at least one of the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 . According to an embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or the antenna module 197 may be included. In some embodiments, in the electronic device 101, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added. In some embodiments, some of these components (eg, sensor module 176, camera module 180, or antenna module 197) are integrated into one component (eg, display module 160). It can be.

프로세서(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 processor 120, for example, executes software (eg, the program 140) to cause at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or calculations. According to one embodiment, as at least part of data processing or operation, the processor 120 transfers commands or data received from other components (eg, sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 . According to an embodiment, the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, when the electronic device 101 includes the main processor 121 and the auxiliary processor 123, the auxiliary processor 123 may use less power than the main processor 121 or be set to be specialized for a designated function. can The secondary processor 123 may be implemented separately from or as part of the main processor 121 .

보조 프로세서(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 secondary processor 123 may, for example, take the place of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, running an application). ) state, together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states. According to one embodiment, the auxiliary processor 123 (eg, an image signal processor or a communication processor) may be implemented as part of other functionally related components (eg, the camera module 180 or the communication module 190). there is. According to an embodiment, the auxiliary processor 123 (eg, a neural network processing device) may include a hardware structure specialized for processing an artificial intelligence model. AI models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself where the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example Not limited. The artificial intelligence model may include a plurality of artificial neural network layers. Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the foregoing, but is not limited to the foregoing examples. The artificial intelligence model may include, in addition or alternatively, software structures in addition to hardware structures.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101 . The data may include, for example, input data or output data for software (eg, program 140) and commands related thereto. The memory 130 may include volatile memory 132 or non-volatile memory 134 .

프로그램(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 application 146 .

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.The input module 150 may receive a command or data to be used for a component (eg, the processor 120) of the electronic device 101 from an outside of the electronic device 101 (eg, a user). The input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals to the outside of the electronic device 101 . The sound output module 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback. A receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.The display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device. According to an embodiment, the display module 160 may include a touch sensor configured to detect a touch or a pressure sensor configured to measure the intensity of force generated by the touch.

오디오 모듈(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 input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).

센서 모듈(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 interface 177 may support one or more specified protocols that may be used to directly or wirelessly connect the electronic device 101 to an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 may be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

햅틱 모듈(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 camera module 180 may capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(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 battery 189 may supply power to at least one component of the electronic device 101 . According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(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 electronic device 102, the electronic device 104, or the server 108). Establishment and communication through the established communication channel may be supported. The communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication. According to one embodiment, the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : a local area network (LAN) communication module or a power line communication module). Among these communication modules, the corresponding communication module is a first network 198 (eg, a local area communication network such as Bluetooth, wireless fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or a second network 199 (eg : It can communicate with the external electronic device 104 through a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a long-distance communication network such as a computer network (eg, LAN or WAN). These various types of communication modules may be integrated as one component (eg, a single chip) or implemented as a plurality of separate components (eg, multiple chips). The wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199. The electronic device 101 may be identified or authenticated.

무선 통신 모듈(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 antenna module 197 may transmit or receive signals or power to the outside (eg, an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is selected from the plurality of antennas by the communication module 190, for example. It can be. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna. According to some embodiments, other components (eg, a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module 197 in addition to the radiator.

다양한 실시 예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시 예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗면 또는 측면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module 197 may form a mmWave antenna module. According to one embodiment, the mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, a lower surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, array antennas) disposed on or adjacent to a second surface (eg, a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. there is.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, 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 electronic device 104 through the server 108 connected to the second network 199 . Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 . According to an embodiment, all or part of operations executed in the electronic device 101 may be executed in one or more external electronic devices among the external electronic devices 102 , 104 , or 108 . For example, when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service by itself. Alternatively or additionally, one or more external electronic devices may be requested to perform the function or at least part of the service. One or more external electronic devices receiving the request may execute at least a part of the requested function or service or an additional function or service related to the request, and deliver the execution result to the electronic device 101 . The electronic device 101 may provide the result as at least part of a response to the request as it is or additionally processed. To this end, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an internet of things (IoT) device. Server 108 may be an intelligent server using machine learning and/or neural networks. According to an embodiment, the external electronic device 104 or server 108 may be included in the second network 199 . The electronic device 101 may be applied to intelligent services (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.

도 2a, 도 2b 및 도 2c는 일 실시 예에 따른 전자 장치(200)에서 콘텐트를 제공하는 방식을 설명하는 도면이다.2A, 2B, and 2C are diagrams illustrating a method of providing content in the electronic device 200 according to an exemplary embodiment.

도 2a, 도 2b 및 도 2c에서, 전자 장치(200)는 어플리케이션 실행 중 사용자에 의해 선택된 콘텐트를 다양한 방식으로 상기 어플리케이션의 실행 화면 상에 디스플레이 할 수 있다. 상기 콘텐트는 복수 개의 프레임으로 포함하는 움직이는 영상(motion picture) 타입의 콘텐트이거나 동영상 포맷을 가지는 콘텐트일 수 있다. 본 발명의 다양한 실시 예에 따르면, 상기 어플리케이션은 움직이는 영상 타입의 콘텐트를 전송하여 표시할 수 있는 모바일 앱(mobile app), 또는 상기 콘텐트를 삽입하여 표시할 수 있는 각종 소프트웨어 프로그램을 포함할 수 있다.2A, 2B, and 2C, the electronic device 200 may display the content selected by the user while the application is running on the execution screen of the application in various ways. The content may be a motion picture type content including a plurality of frames or content having a video format. According to various embodiments of the present disclosure, the application may include a mobile app capable of transmitting and displaying moving image type content, or various software programs capable of inserting and displaying the content.

도 2a에서, 전자 장치(200)는 상기 콘텐트의 대표 이미지(210)를 상기 어플리케이션의 실행 화면에 표시할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 어플리케이션이 실행되는 동안 상기 콘텐트의 삽입 또는 표시에 관한 사용자 요청을 수신하면, 상기 어플리케이션이 상기 콘텐트의 자동 재생을 지원하는지 여부를 확인할 수 있다. 상기 어플리케이션이 상기 콘텐트의 자동 재생을 지원하지 않는 것으로 확인되면, 전자 장치(200)는 상기 콘텐트를 구성하는 복수 개의 프레임들 중 첫번째 프레임 이미지 또는 상기 콘텐트의 스틸 이미지를 상기 콘텐트의 대표 이미지(210)로 획득하고, 상기 획득된 대표 이미지(210)를 상기 콘텐트의 디스플레이 공간에 표시할 수 있다. 도 2a와 같이 상기 콘텐트의 대표 이미지(210)가 표시되는 경우, 상기 어플리케이션을 통해 상기 콘텐트를 확인하는 다른 사용자는 상기 콘텐트가 어떠한 타입인지 인지하지 못하여, 상기 콘텐트를 삽입한 사용자가 전달하고자 하는 정보나 감정 표현을 정확하게 파악하기 어려울 수 있다. In FIG. 2A , the electronic device 200 may display the representative image 210 of the content on the execution screen of the application. In an embodiment, when receiving a user request for inserting or displaying the content while the application is running, the electronic device 200 may check whether the application supports automatic playback of the content. If it is determined that the application does not support automatic reproduction of the content, the electronic device 200 converts a first frame image or a still image of the content among a plurality of frames constituting the content into a representative image 210 of the content. , and the acquired representative image 210 can be displayed in the display space of the content. When the representative image 210 of the content is displayed as shown in FIG. 2A, other users checking the content through the application do not recognize what type the content is, so information that the user who inserted the content wants to convey. It can be difficult to accurately grasp the expression of emotions.

도 2b에서, 전자 장치(200)는 상기 콘텐트의 포맷에 관한 표시를 포함하는 이미지(220)를 상기 어플리케이션의 실행 화면에 표시할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 콘텐트의 삽입 또는 표시에 관한 사용자 요청을 수신하면, 상기 콘텐트가 움직이는 영상 타입의 콘텐트 또는 동영상 포맷을 갖는 콘텐트에 대응하는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(200)는 상기 콘텐트가 GIF 포맷의 콘텐트임을 확인하면, 상기 콘텐트의 첫번째 프레임 이미지 또는 스틸 이미지의 일 측에 GIF 포맷에 관한 표시를 추가하고, 상기 표시가 추가된 이미지(220)를 상기 콘텐트의 디스플레이 공간에 표시할 수 있다. 도 2b와 같이 상기 콘텐트의 포맷에 관한 표시를 포함하는 이미지(220)가 제공되는 경우, 상기 어플리케이션을 통해 상기 콘텐트를 확인하는 다른 사용자는 상기 콘텐트가 움직이는 영상 타입의 콘텐트임을 인지할 수 있지만, 상기 콘텐트를 삽입한 사용자가 전달하고자 하는 정보나 감정 표현을 직관적으로 확인하기 어려울 수 있다.In FIG. 2B , the electronic device 200 may display an image 220 including an indication of the format of the content on the execution screen of the application. In an embodiment, when receiving a user request for inserting or displaying the content, the electronic device 200 may determine whether the content corresponds to a moving image type content or a video format content. For example, if the electronic device 200 confirms that the content is in the GIF format, the electronic device 200 adds a display related to the GIF format to one side of a first frame image or still image of the content, and the image to which the display is added ( 220) may be displayed in the display space of the content. When an image 220 including an indication of the format of the content is provided as shown in FIG. 2B, another user who checks the content through the application may recognize that the content is of a moving image type, but the It may be difficult for the user inserting the content to intuitively check information or emotional expression to be conveyed.

도 2c를 참조하면, 전자 장치(200)는 상기 콘텐트(230)를 상기 어플리케이션의 실행 화면 상에서 자동으로 재생할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 콘텐트(230)의 삽입 또는 표시에 관한 사용자 요청을 수신하면, 상기 콘텐트(230)의 자동 재생을 위한 마커를 생성하고, 상기 생성된 마커를 상기 콘텐트에 삽입하여 인코딩할 수 있다. 상기 마커는 상기 콘텐트의 자동 재생에 필요한 정보를 포함할 수 있다. 예를 들어, 상기 전자 장치(200)는 하나 이상의 외부 전자 장치에서 접근 가능한 상기 콘텐트의 주소 정보, 상기 콘텐트가 재생될 위치 정보 또는 상기 콘텐트의 자동 재생 횟수 중 적어도 하나를 기반으로 상기 마커를 생성할 수 있다. 다양한 실시 예에 따라, 전자 장치(200)는 상기 콘텐트를 구성하는 복수 개의 프레임들 중 첫번째 프레임의 일측에 상기 마커를 인코딩하거나, 또는 상기 복수 개의 프레임 전체에 상기 마커를 인코딩할 수 있다. 전자 장치(200)가 상기 인코딩된 콘텐트를 상기 어플리케이션의 관리 서버로 전송하면, 상기 인코딩된 콘텐트가 상기 어플리케이션의 실행 화면 내 상기 콘텐트의 디스플레이 공간에 표시될 수 있다. 이후, 전자 장치(200)는 상기 어플리케이션의 실행 화면에 표시된 상기 인코딩된 콘텐트로부터 상기 마커를 검출할 수 있다. 전자 장치(200)는 상기 검출된 마커로부터 상기 콘텐트의 자동 재생에 연관되는 정보를 획득하고, 상기 획득한 정보를 기반으로 상기 콘텐트를 상기 실행 화면 내 상기 콘텐트의 디스플레이 공간에 자동 재생할 수 있다. 예시적으로, 상기 콘텐트의 디스플레이 공간은 상기 어플리케이션의 실행 화면에서 상기 콘텐트가 삽입된 위치로서, 상기 콘텐트의 삽입 이후 감지되는 사용자 입력에 의해 상기 실행 화면이 변경되면 상기 디스플레이 공간의 위치도 변경될 수 있다. 전자 장치(200)는 상기 실행 화면 내 상기 디스플레이 공간이 변경되더라도 상기 콘텐트를 자연스럽게 자동 재생하기 위해, 상기 사용자 입력에 따라 변경되는 상기 디스플레이 공간의 위치를 지속적으로 추적할 수 있다. 이로 인해, 전자 장치(200)는 실행 중인 어플리케이션이 움직이는 영상 타입의 콘텐트에 대한 자동 재생을 지원하지 않더라도, 상기 콘텐트가 상기 어플리케이션의 실행 화면에서 자동 재생되는 것 같은 시각적 효과를 제공할 수 있으며, 상기 콘텐트를 삽입한 사용자가 전달하고자 하는 감정이나 정보에 대한 보다 직관적인 확인이 가능해질 수 있다.Referring to FIG. 2C , the electronic device 200 can automatically play the content 230 on the execution screen of the application. In one embodiment, when receiving a user request for inserting or displaying the content 230, the electronic device 200 creates a marker for automatically playing the content 230, and uses the created marker as the content You can encode it by inserting it into . The marker may include information necessary for automatically playing the content. For example, the electronic device 200 may generate the marker based on at least one of address information of the content accessible from one or more external electronic devices, information on a location where the content will be reproduced, or the number of times the content is automatically reproduced. can According to various embodiments, the electronic device 200 may encode the marker on one side of a first frame among a plurality of frames constituting the content or encode the marker on all of the plurality of frames. When the electronic device 200 transmits the encoded content to the management server of the application, the encoded content may be displayed in a display space of the content within the execution screen of the application. Then, the electronic device 200 may detect the marker from the encoded content displayed on the execution screen of the application. The electronic device 200 may obtain information related to automatic reproduction of the content from the detected marker, and automatically reproduce the content in a display space of the content within the execution screen based on the obtained information. Exemplarily, the display space of the content is a position where the content is inserted in the execution screen of the application, and when the execution screen is changed by a user input detected after the content is inserted, the display space position may also be changed. there is. The electronic device 200 may continuously track the position of the display space that is changed according to the user input in order to naturally and automatically reproduce the content even if the display space within the execution screen is changed. As a result, the electronic device 200 can provide a visual effect such that the content is automatically played on the running screen of the application even if the running application does not support automatic playback of moving image type content. It may be possible to more intuitively confirm the emotions or information that the user who has inserted the content wants to convey.

도 3은 일 실시 예에 따른 전자 장치(200)의 구성을 도시하는 블록도이다.3 is a block diagram illustrating a configuration of an electronic device 200 according to an exemplary embodiment.

도 3을 참조하면, 전자 장치(200)는 어플리케이션 실행 중 사용자에 의해 선택된, 움직이는 영상 타입의 제1 콘텐트를 상기 어플리케이션의 실행 화면 상에서 자동 재생하도록 지원하는 장치로서, 통신 모듈(310), 디스플레이(320), 프로세서(330) 및/또는 메모리(340)를 포함할 수 있다. 도 3에서, 전자 장치(200)는 도 1에 도시된 전자 장치(101) 또는 도 2에 도시된 전자 장치(200)에 대응될 수 있다. 다양한 실시 예에 따라, 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다.Referring to FIG. 3 , the electronic device 200 is a device that supports automatic playback of first content of a moving image type selected by a user while an application is running on the execution screen of the application, and includes a communication module 310, a display ( 320), a processor 330 and/or a memory 340. In FIG. 3 , the electronic device 200 may correspond to the electronic device 101 shown in FIG. 1 or the electronic device 200 shown in FIG. 2 . According to various embodiments, the first content may be a moving image type content in which a plurality of image frames are sequentially displayed, or content having a video file format.

일 실시 예에서, 통신 모듈(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 electronic device 102 or the electronic device 104 of FIG. 1) or an external server ( Example: A communication connection with the server 108 in FIG. 1 may be established. For example, the communication module 310 may transmit the first content identified as an automatic playback target to an external server or obtain the first content from the external server. According to various embodiments of the present disclosure, the communication module 310 performs at least one of cellular communication, wireless-fidelity (Wi-Fi), Bluetooth, near field communication (NFC), or ultra-wide band (UWB) communication. method can be provided.

일 실시 예에서, 디스플레이(320)(예: 도 1의 디스플레이 모듈(160))는 사용자에 의해 선택된 상기 제1 콘텐트를 어플리케이션의 실행 화면 상에 디스플레이 할 수 있다. 본 발명의 다양한 실시 예에 따라, 디스플레이(320)는 상기 실행 화면 내에 상기 제1 콘텐트를 자동으로 재생하거나, 또는 상기 제1 콘텐트의 자동 재생을 위한 설정 메뉴를 출력할 수 있다.In one embodiment, the display 320 (eg, the display module 160 of FIG. 1 ) may display the first content selected by the user on the execution screen of the application. According to various embodiments of the present disclosure, the display 320 may automatically play the first content within the execution screen or output a setting menu for automatically playing the first content.

일 실시 예에서, 디스플레이(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 display 320 may include a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), organic light emitting diodes (OLED), an active matrix organic LED (AMOLED), a flexible It may be configured with at least one or more of a display (flexible display) and a 3-dimensional display (3-dimension display). In addition, some of these displays may be configured as a transparent type or a light transmission type so that the outside can be seen through them. This may be configured in the form of a transparent display including a transparent OLED (TOLED).

일 실시 예에서, 메모리(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 processor 120 of FIG. 1 ) to perform various operations. Controlling instructions can be stored. For example, at least one processor 330 may perform operations for providing automatic reproduction of the first content selected by the user.

본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트를 실행 중인 어플리케이션을 통해 전송 또는 상기 어플리케이션의 실행 화면에 삽입하는 과정에서 상기 제1 콘텐트의 자동 재생을 지원하기 위한 처리 동작들을 수행할 수 있다. According to various embodiments of the present disclosure, at least one processor 330 is configured to support automatic playback of the first content in the process of transmitting the first content through an application being executed or inserting the first content into an execution screen of the application. processing operations can be performed.

일 실시 예에서, 적어도 하나의 프로세서(330)는 제1 어플리케이션 실행 중 제1 콘텐트의 선택에 관한 사용자 입력을 획득할 수 있다. 상기 사용자 입력은 상기 제1 어플리케이션을 통해 상기 제1 콘텐트를 하나 이상의 다른 사용자의 전자 장치와 공유하거나, 또는 상기 제1 콘텐트를 상기 제1 어플리케이션의 실행 화면에 삽입하기 위한 요청일 수 있다. In one embodiment, the at least one processor 330 may obtain a user input related to selection of the first content while the first application is running. The user input may be a request for sharing the first content with one or more electronic devices of other users through the first application or for inserting the first content into an execution screen of the first application.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 선택을 확인하면, 통신 모듈(310)을 통해 상기 제1 콘텐트를 외부 서버(예: 도 1의 서버(108))로 전송할 수 있다. 상기 제1 콘텐트는 상기 외부 서버의 메모리 공간 또는 상기 외부 서버에 의해 관리되는 데이터베이스에 저장될 수 있다.In one embodiment, when the at least one processor 330 confirms the selection of the first content, the first content is transmitted to an external server (eg, the server 108 of FIG. 1) through the communication module 310. can The first content may be stored in a memory space of the external server or a database managed by the external server.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 전송에 대한 응답으로, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득할 수 있다. 예를 들어, 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104))에서 접근 가능한 네트워크 주소로서, 상기 외부 서버에 의해 관리되는 상기 제1 콘텐트의 url(uniform resource locator)을 포함할 수 있다.In one embodiment, the at least one processor 330 may obtain address information of the first content stored by the external server in response to transmission of the first content. For example, the address information is a network address accessible by the electronic device 200 or one or more external electronic devices (eg, the electronic device 102 or the electronic device 104 of FIG. 1 ), managed by the external server. It may include a url (uniform resource locator) of the first content.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 자동 재생을 위해 상기 제1 콘텐트에 삽입할 마커의 위치를 결정할 수 있다. 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 원본 파일에 대한 훼손을 최소화하도록, 상기 마커의 위치를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 대한 에지(edge) 분석을 수행하여 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출 결과를 기반으로 상기 마커의 위치를 결정할 수 있다. 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역이 검출되지 않으면, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 외부 주변에 그림자, 액자 또는 반사면과 같은 그래픽 효과가 적용된 패딩 영역을 추가하고, 상기 추가된 패딩 영역을 기반으로 상기 마커의 위치를 결정할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 테두리 선 또는 모서리 영역을 확인하고, 상기 확인된 테두리 선 또는 모서리 영역을 기반으로 상기 마커의 위치를 결정할 수도 있다.In one embodiment, at least one processor 330 may determine a location of a marker to be inserted into the first content for automatic playback of the first content. At least one processor 330 may determine the location of the marker to minimize damage to the original file of the first content. For example, at least one processor 330 performs edge analysis on the first content to detect an area in which a pixel change is less than a threshold value in the first content, and based on the detection result, the marker location can be determined. If an area in which the pixel change is less than the threshold value is not detected in the first content, at least one processor 330 adds a padding area to which a graphic effect such as a shadow, a picture frame, or a reflective surface is applied to an outer periphery of the first content, A location of the marker may be determined based on the added padding area. For another example, at least one processor 330 may check the border line or corner area of the first content and determine the position of the marker based on the checked border line or corner area.

본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 실행 중인 어플리케이션의 종류에 따라 상이하게 상기 마커의 위치를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 콘텐트 삽입 시 실행 중인 어플리케이션에 의해 추가되는 표시가 있는지 확인하고, 상기 표시와 중첩되지 않도록 상기 마커의 위치를 결정할 수 있다.According to various embodiments of the present disclosure, at least one processor 330 may differently determine the position of the marker according to the type of application being executed. For example, at least one processor 330 may check whether there is a mark added by an application being executed when content is inserted, and determine the location of the marker so as not to overlap with the mark.

본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 사용자 선택을 기반으로 상기 마커의 위치를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 분석 결과 또는 실행 중인 어플리케이션의 종류에 따라 상기 마커의 배치가 가능한 하나 이상의 위치를 표시한 선택 목록을 미리보기 형식으로 디스플레이(320) 상에 출력할 수 있다. 적어도 하나의 프로세서(330)는 상기 선택 목록 중 사용자에 의해 선택된 위치를 상기 마커의 위치로 결정할 수 있다.According to various embodiments of the present disclosure, at least one processor 330 may determine the location of the marker based on user selection. For example, the at least one processor 330 displays a selection list displaying one or more positions where the marker can be arranged according to the analysis result of the first content or the type of the running application in a preview format (320). can be printed on At least one processor 330 may determine a location selected by a user from the selection list as the location of the marker.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 결정된 마커의 위치를 기준으로 상기 제1 콘텐트의 상대좌표를 계산할 수 있다. 상기 제1 콘텐트의 상대 좌표는 상기 결정된 마커의 위치를 기준으로 계산된 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나에 위치한 모서리의 상대좌표를 포함할 수 있다. 적어도 하나의 프로세서(330)는 상기 계산된 제1 콘텐트의 상대좌표를 기반으로 상기 어플리케이션의 실행 화면에서 상기 제1 콘텐트가 재생되는 위치와 크기를 확인할 수 있다. 상기 제1 콘텐트가 재생되는 위치는 상기 어플리케이션의 실행화면에 표시된 마커를 기준으로 실시간 계산되기 때문에, 상기 실행 화면 상에서 상기 제1 콘텐트가 재생되는 동안 사용자 입력이나 지정된 이벤트에 의해 상기 어플리케이션의 실행 화면이 변경되더라도 자연스럽게 상기 제1 콘텐트의 재생 위치도 변경될 수 있다.In one embodiment, at least one processor 330 may calculate relative coordinates of the first content based on the determined position 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 position of the determined marker. At least one processor 330 may check the location and size of the first content on the execution screen of the application based on the calculated relative coordinates of the first content. Since the location where the first content is reproduced is calculated in real time based on the marker displayed on the execution screen of the application, the execution screen of the application may change due to a user input or a designated event while the first content is being reproduced on the execution screen. Even if it is changed, the reproduction position of the first content may also be naturally changed.

일 실시 예에서, 적어도 하나의 프로세서(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 processor 330 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. Illustratively, the at least one processor 330 converts at least one of the address information and the location information into a 1-dimensional barcode (eg, a universal product code (UPC), a European article number (EAN), or Code 128) or a 2-dimensional barcode. The marker may be generated by converting into a barcode (eg, QR code (quick response code), data matrix code, PDF417, data glyphs, or m-code) form. According to various embodiments, at least one processor 330 may digitally sign the address information or the location information with a user's private key and generate the digital signature data together as the marker. . The electronic signature data included in the marker may be used to verify authenticity of a subject who creates (or transmits) the first content or the marker.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 생성된 마커를 상기 결정된 마커의 위치에 상기 삽입하여 인코딩할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 포함된 복수 개의 프레임들 중 첫번째 프레임 내 상기 결정된 위치에 상기 마커를 인코딩할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 포함된 전체 프레임의 상기 결정된 위치에 상기 마커를 인코딩할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트에 인코딩된 마커가 사용자의 눈에 최소한으로 보여지도록, 상기 제1 콘텐트에 마커를 인코딩하는 과정에서 알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 적용할 수 있다.In one embodiment, at least one processor 330 may encode the generated marker by inserting it into the position of the determined marker. For example, at least one processor 330 may encode the marker at the determined position in a first frame among a plurality of frames included in the first content. For another example, at least one processor 330 may encode the marker at the determined position of the entire frame included in the first content. According to various embodiments of the present disclosure, at least one processor 330 performs alpha blending in a process of encoding markers in the first content so that the markers encoded in the first content are minimally visible to the user's eyes. At least one image processing method of blending operation or steganography may be applied.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 마커가 인코딩된 콘텐트를 실행 중인 어플리케이션을 통해 삽입 또는 전송할 수 있다. 상기 인코딩된 콘텐트는 상기 어플리케이션의 실행 화면에 삽입되어 디스플레이될 수 있다.In one embodiment, at least one processor 330 may insert or transmit the marker-encoded content through a running application. The encoded content may be inserted and displayed on the execution screen of the application.

본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트를 실행 중인 어플리케이션을 통해 디스플레이 하는 과정에서 상기 제1 콘텐트의 자동 재생을 제공하기 위한 동작들을 수행할 수 있다.According to various embodiments of the present disclosure, at least one processor 330 may perform operations for providing automatic reproduction of the first content in the process of displaying the first content through an application that is being executed.

일 실시 예에서, 적어도 하나의 프로세서(330)는 제1 어플리케이션이 포그라운드 상태(foreground process)임을 확인할 수 있다. 포그라운드 상태는 실행 중인 어플리케이션의 실행 화면이 디스플레이(320) 상에서 노출되는 상태를 의미할 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 포그라운드 상태로 확인된 상기 제1 어플리케이션에 대해, 움직이는 영상 타입의 콘텐트의 자동 재생 기능이 설정되어 있는지 여부를 확인하고, 상기 자동 재생 기능이 설정된 어플리케이션에 한해 상기 제1 콘텐트의 자동 재생을 위한 프로세스를 수행할 수 있다.In one embodiment, at least one processor 330 may determine that the first application is in a foreground process. The foreground state may refer to a state in which an execution screen of an application being executed is exposed on the display 320 . According to various embodiments of the present disclosure, the at least one processor 330 determines whether an automatic playback function for moving image type content is set for the first application identified as being in the foreground state, and determines whether the automatic playback function is set. A process for automatically playing the first content may be performed only for the set application.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 어플리케이션의 실행 화면을 캡처하고, 상기 캡처된 이미지로부터 제1 콘텐트에 연관되는 마커를 검출할 수 있다. 상기 마커는 상기 제1 콘텐트의 자동 재생을 위한 정보를 포함할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 지정된 시간 마다 또는 지정된 이벤트(예: 실행 화면의 변경 또는 사용자 입력 수신) 감지 시 상기 제1 어플리케이션의 실행 화면을 캡처할 수 있다. In one embodiment, at least one processor 330 may capture an execution screen of the first application and detect a marker associated with the first content from the captured image. The marker may include information for automatically reproducing the first content. According to various embodiments of the present disclosure, the at least one processor 330 may capture the execution screen of the first application at every designated time or upon detecting a designated event (eg, change of the execution screen or reception of a user input).

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 검출된 마커를 기반으로 상기 제1 콘텐트가 상기 제1 어플리케이션의 실행 화면에서 자동 재생되어야 함을 확인할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 마커로부터 획득한 주소 정보가 지정된 형식의 데이터(예: 네트워크 url 형식의 데이터)를 포함하고 있음을 확인하면, 상기 제1 콘텐트를 자동 재생 대상으로 판단할 수 있다.In an embodiment, the at least one processor 330 may determine that the first content should be automatically played on the execution screen of the first application based on the detected marker. For example, if at least one processor 330 confirms that the address information obtained from the marker includes data in a designated format (eg, data in a network url format), the first content is automatically played back. can judge

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트를 자동 재생 대상으로 판단하면, 상기 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 또는 상기 제1 콘텐트를 재생할 위치 정보 중 적어도 하나를 확인할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치에서 접근 가능한 네트워크 주소로서, 외부 서버에 의해 저장된 상기 제1 콘텐트의 url 주소를 포함할 수 있다. 상기 위치 정보는 상기 제1 콘텐트가 재생되는 위치의 좌표로서, 상기 실행 화면에서 검출된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나의 모서리의 상대좌표를 포함할 수 있다.In one embodiment, if the at least one processor 330 determines that the first content is an automatic playback target, at least one of address information where the first content is stored or information about a location where the first content is to be played is checked from the marker. can The address information is a network address accessible by the electronic device 200 or one or more external electronic devices, and may include a url address of the first content stored by an external server. 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.

일 실시 예에서, 적어도 하나의 프로세서(330)는 통신 모듈(310)을 이용하여 상기 주소 정보를 기반으로 외부 서버(예: 도 1의 서버(108))로부터 상기 제1 콘텐트를 획득할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 획득한 제1 콘텐트를 전자 장치(200)의 캐시 메모리(cache memory)에 저장하여 관리함으로써, 상기 제1 콘텐트에 대한 중복 다운로드를 방지하고, 상기 외부 서버의 부하를 감소시킬 수 있다. 이로 인해, 전자 장치(200)는 상기 제1 콘텐트의 재생이 종료된 후 다시 재생하고자 할 때, 상기 외부 서버로부터 다시 상기 제1 콘텐트를 획득할 필요 없이 캐시 메모리로부터 상기 제1 콘텐트를 로드함으로써, 자동 재생의 응답 속도를 높일 수 있다.In one embodiment, at least one processor 330 may obtain the first content from an external server (eg, the server 108 of FIG. 1) based on the address information using the communication module 310. . According to various embodiments of the present disclosure, at least one processor 330 stores and manages the acquired first content in a cache memory of the electronic device 200, thereby performing redundant download of the first content. can be prevented and the load of the external server can be reduced. For this reason, when the electronic device 200 wants to reproduce the first content again after the reproduction of the first content is finished, the electronic device 200 loads the first content from the cache memory without having to acquire the first content again from the external server, You can increase the response speed of autoplay.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 위치 정보를 기반으로 디스플레이(320) 상의 상기 실행 화면 내에 상기 제1 콘텐트를 표시할 재생 영역을 확인할 수 있다. 예를 들어, 적어도 하나의 프로세서(330)는 상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 상기 실행 화면 내 좌표와 상기 제1 콘텐트의 크기를 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(330)는 상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 이 경우, 적어도 하나의 프로세서(330)는 상기 실행 화면의 캡처 이미지에 대해 이미지 분석을 수행하여, 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출할 수 있다. 적어도 하나의 프로세서(330)는 상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다.According to an embodiment, at least one processor 330 may determine a play area to display the first content within the execution screen on the display 320 based on the location information. For example, at least one processor 330 calculates coordinates within the execution screen where the first content is to be reproduced and a size of the first content based on the location information, and based on the calculation result, the first content It is possible to check the reproduction area of the content. For another example, at least one processor 330 may identify the reproduction area of the first content based on image segmentation of the execution screen. In this case, at least one processor 330 performs image analysis on the captured image of the execution screen to detect a boundary between a content area where the frame image of the first content is displayed and a background area surrounding the frame image. can At least one processor 330 may identify a reproduction area of the first content based on the detected boundary.

일 실시 예에서, 적어도 하나의 프로세서(330)는 상기 확인된 재생 영역에서 상기 획득한 제1 콘텐트를 자동 재생할 수 있다. 본 발명의 다양한 실시 예에 따라, 적어도 하나의 프로세서(330)는 상기 실행 화면의 재생 영역 상에서 상기 제1 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행화면의 변경을 감지하면, 상기 실행 화면으로부터 상기 마커가 검출되는지 여부를 다시 확인할 수 있다. 상기 확인 결과 상기 마커가 검출되면, 적어도 하나의 프로세서(330)는 상기 마커로부터 획득한 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정할 수 있다. 상기 제1 콘텐트의 재생 영역은 고정된 위치가 아닌, 상기 제1 어플리케이션의 실행 화면에서 검출된 마커를 기준으로 실시간 계산되므로, 적어도 하나의 프로세서(330)는 상기 실행 화면의 변경에 대응하여 상기 제1 콘텐트의 재생 영역을 조정함으로써, 자연스럽게 상기 제1 콘텐트의 자동 재생을 지속할 수 있다. 상기 확인 결과 상기 실행화면으로부터 상기 마커가 더 이상 검출되지 않는 것으로 확인되면, 적어도 하나의 프로세서(330)는 상기 제1 콘텐트의 자동 재생을 정지시킬 수 있다.In one embodiment, at least one processor 330 may automatically reproduce the acquired first content in the identified play area. According to various embodiments of the present disclosure, when at least one processor 330 detects a change of the execution screen due to a user's input or a designated event while the first content is reproduced on the play area of the execution screen, the From the execution screen, it can be checked again whether the marker is detected. When the marker is detected as a result of the check, at least one processor 330 recalculates the coordinates and size of the first content to be reproduced based on the location information obtained from the marker, and based on the calculation result, the processor 330 recalculates the coordinates and size of the first content. 1 You can adjust the playback area of the content. Since the playback area of the first content is calculated in real time based on markers detected on the execution screen of the first application rather than a fixed location, the at least one processor 330 controls the first application in response to a change in the execution screen. By adjusting the reproduction area of the first content, the automatic reproduction of the first content may be naturally continued. As a result of the check, when it is confirmed that the marker is no longer detected from the execution screen, at least one processor 330 may stop the automatic reproduction of the first content.

도 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 electronic device 200 according to an exemplary embodiment. A function or operation described with reference to FIG. 4 may be understood as a function performed by at least one processor 330 of the electronic device 200 of FIG. 3 . At least one processor 330 may execute instructions (eg, instructions) stored in the memory 340 to implement the software modules shown in FIG. 4, and hardware related to the function (eg, FIG. 3 It is possible to control the communication module 310 or the display 320). According to various embodiments, the electronic device 200 is not limited to the components shown in FIG. 4, and components corresponding to functions required by the electronic device 200 are added among the components shown in FIG. can include

도 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 electronic device 200 may include an editing unit 410 and a screen recognition unit 420 . According to various embodiments of the present disclosure, the electronic device 200 may selectively perform at least some functions of the editing unit 410 or the screen recognition unit 420 according to an operation performed on content while an application is running. . For example, when performing operations of transmitting (or inserting) selected content through an application being executed, the electronic device 200 performs the function of the editing unit 410 to add a marker for automatic playback to the selected content. can be encoded. For another example, when obtaining and displaying the content through the application, the electronic device 200 performs the function of the screen recognition unit 420 to obtain the content based on the marker recognized from the content. Content can be played automatically. According to various embodiments, the marker may be a one-dimensional barcode (eg, universal product code (UPC), european article number (EAN), or Code 128) or a two-dimensional barcode (eg, quick response code (QR code), data matrix) code (data matrix code), PDF417, Data glyphs or m-code).

일 실시 예에서, 편집 유닛(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 electronic device 200 may designate moving image type content or content having a video format in which a plurality of frames are sequentially reproduced as the automatic playback target. When it is determined that the first content corresponds to the content designated as the automatic playback target, the upload module 411 uses a communication module (eg, the communication module 190 of FIG. 1 or the communication module 310 of FIG. 3 ) The first content may be transmitted to an external server (eg, the server 108 of FIG. 1). The external server may be a server that stores and manages content designated as the automatic playback target by one or more electronic devices. According to various embodiments, the upload module 411 may obtain address information of the first content stored by the external server in response to transmission of the first content. The address information is a network address accessible by the electronic device 200 or one or more external electronic devices, and may include data in the form of a uniform resource locator (url).

일 실시 예에서, 위치 계산 모듈(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 display module 160 of FIG. 1 or the display 320 of FIG. 3 ). The front app check module 421 may check whether the auto play function of the running application is set based on the checked identifier. For example, in order to prevent unnecessary power consumption, the electronic device 200 pre-sets whether or not to provide an automatic playback function of moving image type content or video format content for each application, and sets the automatic playback function. A process for automatically playing the first content may be performed only for the application for which the function is set.

일 실시 예에서, 실시간 화면 캡처 모듈(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 electronic device 200 or one or more external electronic devices, and may include a url address of the first content stored by an external server. For example, the download module 425 transmits a transmission request for the first content to an external server using the address information, and downloads an original file of the first content from the external server in response to the transmission request. can do. The electronic device 200 may automatically reproduce the downloaded first content in the playback area of the first content identified by the playback area calculation module 424 . Automatic reproduction of the first content may continue while the marker is detected on the execution screen of the application being executed, and when the marker is no longer detected due to a change in the execution screen, automatic reproduction of the first content may be stopped. there is.

도 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 electronic device 200 of FIG. 2 ), and includes a communication module 510 ), a processor 520 or a memory 530. In FIG. 5, the server 500 may correspond to the server 108 shown in FIG. 1 or the external server described with reference to FIG. 3, and in the description of the electronic device 101 of FIG. 1, the communication module 510 ), the processor 120, or the description of the memory 130 may be appropriately applied to the server 500.

일 실시 예에서, 통신 모듈(510)은 하나 이상의 외부 전자 장치와의 통신 연결을 지원할 수 있다. 예를 들어, 통신 모듈(510)은 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(101) 또는 도 3의 전자 장치(200))로부터 상기 제1 콘텐트의 저장 요청 또는 전송 요청을 획득할 수 있다. 본 발명의 다양한 실시 예에 따라, 통신 모듈(510)은 셀룰러 통신, Wi-Fi(wireless-fidelity), 블루투스, NFC(near field communication), 또는 UWB(ultra-wide band) 통신 중 적어도 하나의 통신 방식을 제공할 수 있다.In one embodiment, the communication module 510 may support a communication connection with one or more external electronic devices. For example, the communication module 510 obtains a storage request or transmission request of the first content from one or more external electronic devices (eg, the electronic device 101 of FIG. 1 or the electronic device 200 of FIG. 3 ). can According to various embodiments of the present disclosure, the communication module 510 performs at least one of cellular communication, wireless-fidelity (Wi-Fi), Bluetooth, near field communication (NFC), or ultra-wide band (UWB) communication. method can be provided.

일 실시 예에서, 메모리(530)는, 실행 시에, 적어도 하나의 프로세서(520)가 각종 동작들을 수행하도록 제어하는 인스트럭션들을 저장할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 제1 콘텐트 저장 요청에 응답하여 상기 제1 콘텐트를 저장 및 관리하고, 제1 콘텐트 전송 요청에 응답하여 상기 제1 콘텐트를 하나 이상의 외부 전자 장치로 전송하는 동작들을 수행할 수 있다.In one embodiment, the memory 530 may store instructions that, when executed, control the at least one processor 520 to perform various operations. For example, the at least one processor 520 stores and manages the first content in response to a first content storage request, and transmits the first content to one or more external electronic devices in response to the first content transmission request. actions can be performed.

일 실시 예에서, 적어도 하나의 프로세서(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 processor 520 receives a storage request for the first content from a first external electronic device through the communication module 510, the first content is stored in the memory 530 or the server 500. ) can be stored in a database managed by 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. According to various embodiments, at least one processor 520 may set a valid period of the first content after storing the first content. The validity period may indicate a period during which the first content stored by the server 500 is maintained in the memory 530 or the database. At least one processor 520 continuously checks whether the validity period set for the first content has elapsed after the first content is stored in the memory 530 or the database, and if it is confirmed that the validity period has elapsed, The first content may be deleted from the memory 530 or the database. According to various embodiments, at least one processor 520 additionally sets the number of repetitions of reproduction or a reproduction option (eg, forward reproduction or reverse reproduction) of the first content, and sets the settings together in correspondence with the first content. can be stored and managed.

다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 악의적인 사용자의 접근을 방지하기 위해, 상기 제1 외부 전자 장치에 대한 사용자 인증을 수행할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 상기 저장 요청 수신 시 상기 제1 외부 전자 장치에 대한 인증을 수행하고, 상기 인증이 성공적으로 수행되면 상기 제1 콘텐트를 메모리(530) 또는 상기 데이터베이스에 저장할 수 있다.According to various embodiments, at least one processor 520 may perform user authentication on the first external electronic device in order to prevent access by malicious users. For example, at least one processor 520 performs authentication on the first external electronic device upon receiving the storage request, and if the authentication is successfully performed, stores the first content in the memory 530 or the database. can be saved

일 실시 예에서, 적어도 하나의 프로세서(520)는 하나 이상의 외부 전자 장치에 의해 접근 가능한 상기 제1 콘텐트의 주소 정보를 생성할 수 있다. 상기 주소 정보는 서버(500)에 의해 상기 제1 콘텐트가 저장된 메모리(530) 또는 상기 데이터베이스의 네트워크 주소로서, url(uniform resource locator) 형식의 데이터를 포함할 수 있다.In one embodiment, at least one processor 520 may generate address information of the first content accessible by one or more external electronic devices. The address information is a network address of the database or the memory 530 in which the first content is stored by the server 500, and may include data in a uniform resource locator (url) format.

일 실시 예에서, 적어도 하나의 프로세서(520)는 상기 저장 요청에 대한 응답으로, 통신 모듈(510)을 통해 상기 생성된 주소 정보를 상기 제1 외부 전자 장치로 전송할 수 있다. 상기 제1 외부 전자 장치는 서버(500)로부터 수신한 상기 주소 정보를 이용하여 상기 제1 콘텐트의 자동 재생을 지원하기 위해 상기 제1 콘텐트에 삽입할 마커를 생성할 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 상기 저장 요청에 응답하여, 상기 제1 콘텐트에 대하여 설정된 유효기간을 상기 주소 정보와 함께 상기 제1 외부 전자 장치로 전송할 수 있다. 이 경우, 상기 제1 외부 전자 장치는 상기 제1 콘텐트의 유효기간을 포함하도록 상기 마커를 생성할 수 있다. In an embodiment, the at least one processor 520 may transmit the generated address information to the first external electronic device through the communication module 510 in response to the storage request. The first external electronic device may use the address information received from the server 500 to create a marker to be inserted into the first content to support automatic playback of the first content. According to various embodiments, in response to the storage request, at least one processor 520 may transmit the validity period set for the first content together with the address information to the first external electronic device. In this case, the first external electronic device may create the marker to include the valid period of the first content.

일 실시 예에서, 적어도 하나의 프로세서(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 processor 520 receives a transmission request for the first content from a second external electronic device through the communication module 510, the at least one processor 520 transmits the first content to the second external electronic device. can The transmission request may include an identifier and address information of the first content obtained from a marker detected from an execution screen of an application being executed by the second external electronic device. For example, at least one processor 520 stores the information in a database managed by the memory 530 or the server 500 using the identifier and address information of the first content identified based on the transmission request. It may be checked whether the first content is stored. As a result of the check, when it is confirmed that the first content is stored in the memory 530 or the database, at least one processor 520 transmits the first content to the second external electronic device in response to the transmission request. can transmit As a result of the check, if the first content is not stored in the memory 530 or the database, the at least one processor 520 transmits a signal indicating that the first content is not stored to the second external electronic device. can For example, at least one processor 520 may return data indicating that the address information included in the transmission request is invalid. Upon receiving the signal from the server 500, the second external electronic device may stop a process for providing the automatic reproduction of the first content without outputting a special message. In this case, the second external electronic device may display the first content encoded with the marker by the first external electronic device through an execution screen of an application being executed.

다양한 실시 예에 따라, 적어도 하나의 프로세서(520)는 허가되지 않은(또는 다운로드 권한이 없는) 사용자의 접근을 방지하기 위해, 상기 제2 외부 전자 장치에 대한 사용자 인증을 수행할 수 있다. 예를 들어, 적어도 하나의 프로세서(520)는 상기 제1 콘텐트의 전송 요청을 전송한 제2 외부 전자 장치에 대한 인증을 수행하고, 상기 인증이 성공적으로 수행된 것으로 확인되면 상기 제1 콘텐트의 저장 여부 확인 후 상기 제2 외부 전자 장치에 상기 전송 요청에 대한 회신을 전송할 수 있다.According to various embodiments, the at least one processor 520 may perform user authentication on the second external electronic device in order to prevent access by an unauthorized (or not authorized to download) user. For example, the at least one processor 520 performs authentication on the second external electronic device that has transmitted the transmission request of the first content, and if it is confirmed that the authentication has been successfully performed, the first content is stored. After checking whether or not, a response to the transmission request may be transmitted to the second external electronic device.

본 발명의 다양한 실시 예에 따라, 상기 제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 processor 520 may set a limit on the number of downloads of the first content in order to prevent an increase in traffic and server load due to one or more external electronic devices accessed through the address information. . At least one processor 520 checks the number of times the first content is downloaded by one or more external electronic devices including the second external electronic device, and if the checked number of downloads exceeds the set limit, the first content is downloaded. Content can be deleted from the memory 530 or the database.

도 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 processor 520 of the server 500 of FIG. 5 . At least one processor 520 may execute instructions (eg, instructions) stored in the memory 530 to implement the software modules shown in FIG. 6, and hardware related to the function (eg, FIG. 5 It is possible to control the communication module 510 or memory 530). According to various embodiments, the server 500 is not limited to the components shown in FIG. 6, and among the components shown in FIG. 1, components corresponding to functions required by the server 500 may be additionally included. can

도 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 content database 630. According to various embodiments, the content transmission/reception module 610 and the content validity period calculation module 620 may be software modules implemented by at least one processor 520 shown in FIG. 5 . According to various embodiments, the content database 630 may be a function or configuration included in the memory 530 shown in FIG. 5 .

일 실시 예에서, 콘텐트 송수신 모듈(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 content database 630 upon receiving a storage request for the first content from a first external electronic device. The content transmission/reception module 610 may transmit address information where the first content is stored to the first external electronic device in response to the storage request. The address information may include a network address of the content database 630 accessible by one or more external electronic devices.

일 실시 예에서, 콘텐트 송수신 모듈(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 content database 630 . As a result of the check, if the first content is stored in the content database 630, the content transmission/reception module 610 may transmit the first content to the second external electronic device in response to the transmission request. As a result of the check, if the first content is not stored in the content database 630, the content transmitting/receiving module 610 may transmit a signal indicating that the first content is not stored to the external electronic device. The signal may include data indicating that the address information included in the transmission request is invalid.

일 실시 예에서, 콘텐트 유효기간 계산 모듈(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 content database 630 . The validity period may be uniformly set for all contents stored in the content database 630, or may be dynamically set according to the type of content or the load condition of the server 500. The content validity period calculation module 620 continuously checks whether the set validity period has elapsed based on the point in time when the first content is stored in the content database 630, and when the validity period has elapsed, The first content may be deleted. According to various embodiments, when a deletion request is received from the first external electronic device that has requested storage of the first content, the first content is stored from the content database 630 even if the expiration date set for the first content has not elapsed. may be deleted.

도 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 electronic device 720 may be a device that obtains and displays the content through the application. there is. Both the first electronic device 710 and the second electronic device 720 may correspond to the electronic device 101 of FIG. 1 or the electronic device 200 of FIG. 3, and may be classified according to a process performed in relation to the content. It can be. The server 720 may be a device that stores and manages the content.

도 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 electronic device 720 .

일 실시 예에 따르면, 동작 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 server 720, and the server 720 transmits the target content. You can request to store and manage.

일 실시 예에 따르면, 동작 705에서 서버(720)는 제1 전자 장치(710)로부터 획득한 대상 콘텐트를 서버(720)의 메모리(예: 도 5의 메모리(530)) 또는 서버(720)에 의해 관리되는 데이터베이스에 저장할 수 있다. 다양한 실시 예에 따라, 서버(720)는 제1 전자 장치(710)에 대한 사용자 인증을 수행하고, 상기 인증이 성공적으로 수행됨을 확인하면 상기 대상 콘텐트를 상기 메모리 또는 상기 데이터베이스에 저장할 수 있다.According to an embodiment, in operation 705, the server 720 stores the target content obtained from the first electronic device 710 in a memory of the server 720 (eg, the memory 530 of FIG. 5) or the server 720. can be stored in a database managed by According to various embodiments, the server 720 may perform user authentication on the first electronic device 710 and store the target content in the memory or the database when confirming that the authentication is successfully performed.

일 실시 예에 따르면, 서버(720)는 동작 705에서, 상기 대상 콘텐트를 저장한 후 상기 대상 콘텐트가 저장된 메모리 또는 데이터베이스에 관한 주소 정보를 생성할 수 있다. 상기 주소 정보는 하나 이상의 전자 장치에 의해 접근 가능한 네트워크 주소로서, url(uniform resource locator) 형식의 데이터를 포함할 수 있다. 다양한 실시 예에 따라, 서버(720)는 상기 대상 콘텐트를 저장한 후, 상기 대상 콘텐트에 대하여 유효기간을 설정하여 관리할 수 있다. 상기 유효기간은 상기 대상 콘텐트가 상기 메모리 또는 상기 데이터베이스에서 유지되는 기간을 나타낼 수 있다.According to an embodiment, in operation 705, the server 720 may generate address information about a memory or database in which the target content is stored after storing the target content. The address information is a network address accessible by one or more electronic devices and may include data in the form of a uniform resource locator (url). According to various embodiments, the server 720 may set and manage a valid period for the target content after storing the target content. The validity period may indicate a period during which the target content is maintained in the memory or the database.

일 실시 예에 따르면, 동작 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 server 720. For example, the server 720 may transmit address information of the target content to the first electronic device 710 in response to a request for storing the target content.

일 실시 예에 따르면, 동작 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 server 720 and location information including the calculated relative coordinates. . For example, the first electronic device 710 converts at least one of the address information and the location information into a 1D barcode (eg, a universal product code (UPC), a European article number (EAN), or Code 128) or a 2D barcode. The marker may be generated by converting into a barcode (eg, QR code (quick response code), data matrix code, PDF417, data glyphs, or m-code) form.

일 실시 예에 따르면, 동작 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 electronic device 720 through the first application. The marker-encoded target content may be inserted into the execution screen of the first application and displayed on the displays of the first electronic device 710 and the second electronic device 720 .

일 실시 예에 따르면, 동작 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 electronic device 730 may capture the execution screen of the first application in the foreground state in real time. The foreground state may refer to a state in which an execution screen of an application being executed is currently exposed on the display of the second electronic device 730 (eg, the display module 160 in FIG. 1 or the display 320 in FIG. 3 ). . According to various embodiments of the present disclosure, when the second electronic device 730 determines that the automatic playback function of the moving image type content is set for the first application in the foreground state, the second electronic device 730 performs a specified event (eg, an execution screen) at a specified time. change or user input is detected), the execution screen of the first application may be captured in real time. For example, the second electronic device 730 may capture in real time an execution screen of the first application on which the target content encoded with the marker is displayed, and detect the marker from the captured image.

일 실시 예에 따르면, 동작 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 electronic device 730 may check the address information of the target content and the reproduction area of the target content based on the detected marker. In dynamic 719, if the second electronic device 730 confirms that the marker includes data in a designated format (eg, network url format data), the second electronic device 730 determines the target content as an automatic playback target, and from the marker Address information or location information of the target content may be checked. The address information may include a network address of a memory or database in which the target content is stored by the server 720 . The location information is coordinates of a location where the target content is reproduced, and includes relative coordinates of at least one corner among upper left corner, lower left corner, upper right corner, and lower right corner of the target content based on the position of the detected marker. can do. The second electronic device 730 calculates the size (ratio) of the target content and coordinates in the execution screen where the target content is to be reproduced based on the location information, and determines the reproduction area of the target content based on the calculation result. can confirm. According to various embodiments, the second electronic device 730 may perform image segmentation on the captured image. Based on the result of the execution, the second electronic device 730 may detect a boundary between a content area displaying the encoded target content and a background region surrounding the content area, and identify a reproduction area of the target content according to the detected boundary. there is.

일 실시 예에 따르면, 동작 721에서 제2 전자 장치(730)는 상기 마커로부터 확인한 주소 정보를 기반으로 서버(720)에 상기 대상 콘텐트를 전송하여 줄 것을 요청할 수 있다. According to an embodiment, in operation 721, the second electronic device 730 may request the server 720 to transmit the target content based on the address information checked from the marker.

일 실시 예에 따르면, 동작 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 electronic device 730 may obtain the target content from the server 720 in response to the transmission request. According to various embodiments, the server 720 performs user authentication on the second electronic device 730, and if it is confirmed that the authentication is successfully performed, the target content is stored at the address indicated by the address information. You can check whether there is. As a result of the check, if the target content is stored in the address, the server 720 may transmit the target content to the second electronic device 730 . As a result of the check, if the target content is not stored in the address, the server 720 may transmit a signal indicating that the target content is not stored to the second electronic device 730 . Upon receiving the signal from the server 720, the second electronic device 730 may stop a process for automatically reproducing the target content without outputting a special message.

일 실시 예에 따르면, 동작 725에서 제2 전자 장치(730)는 서버(720)로부터 획득한 상기 대상 콘텐트를, 상기 확인한 재생 영역 상에서 자동 재생할 수 있다. 다양한 실시 예에 따라, 제2 전자 장치(730)는 상기 제1 어플리케이션의 실행 화면 내 상기 재생 영역 상에서 상기 대상 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행화면의 변경을 감지하면, 상기 실행 화면으로부터 상기 마커가 검출되는지 여부를 다시 확인할 수 있다. 상기 확인 결과 상기 마커가 검출되면, 제2 전자 장치(730)는 상기 마커로부터 획득한 위치 정보를 기반으로 상기 대상 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 대상 콘텐트의 재생 영역을 조정할 수 있다. 상기 대상 콘텐트의 재생 영역은 고정된 위치가 아닌, 상기 제1 어플리케이션의 실행 화면에서 검출된 마커를 기준으로 실시간 계산될 수 있다. 제2 전자 장치(730)는 상기 실행 화면의 변경에 대응하여 상기 대상 콘텐트의 재생 영역을 조정함으로써, 자연스럽게 상기 대상 콘텐트의 자동 재생을 지속할 수 있다. 상기 확인 결과 상기 실행화면으로부터 상기 마커가 더 이상 검출되지 않는 것으로 확인되면, 제2 전자 장치(730)는 상기 대상 콘텐트의 자동 재생을 정지시킬 수 있다.According to an embodiment, in operation 725, the second electronic device 730 can automatically reproduce the target content acquired from the server 720 on the checked playback area. According to various embodiments, when the second electronic device 730 detects a change in the execution screen due to a user's input or a designated event while the target content is being reproduced on the play area within the execution screen of the first application, From the execution screen, it may be checked again whether the marker is detected. When the marker is detected as a result of the check, the second electronic device 730 recalculates the coordinates and size of the target content to be reproduced based on the location information acquired from the marker, and based on the calculation result, the target content You can adjust the playback area of The reproduction area of the target content may be calculated in real time based on a marker detected on the execution screen of the first application rather than a fixed location. The second electronic device 730 can naturally continue to automatically reproduce the target content by adjusting the playback area of the target content in response to the change of the execution screen. As a result of the check, when it is confirmed that the marker is no longer detected from the execution screen, the second electronic device 730 may stop the automatic reproduction of the target content.

도 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 electronic device 200 of FIG. 3 or the first electronic device 710 of FIG. 7 ) creates a marker using information necessary for automatically playing content of a moving image type, The generated marker may be inserted into the content. The electronic device 200 may determine a location where the marker is inserted based on an edge analysis of the content in order to minimize damage to the information of the original file 800 of the content. For example, the electronic device 200 may detect an area in the content in which a pixel change is less than a threshold value, and insert the marker into at least a part of the detected area.

도 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 electronic device 200 may detect that the pixel change is less than or equal to the threshold value for corner regions located at the upper left corner, lower left corner, upper right corner, or lower right corner of the content 800 . The electronic device 200 may encode by inserting a marker 811 into a lower left corner region among the detected corner regions. The marker 811 may include location information indicating relative coordinates of the reproduction area 810 of the content based on the location where the marker is inserted. Since the size and location of the content playback area 810 may vary depending on the size or resolution of the display, the electronic device 200 determines the relative location of the content playback area 810 calculated based on the position of the marker 811. Coordinates may be recorded on the marker 811 . For example, the electronic device 200 calculates the coordinates of the origin (eg, upper left corner) of the content playback area 810 based on the position where the marker 811 is inserted, and the coordinates of the content playback area 810. The marker 811 may be created to include a vertical ratio or a horizontal ratio. In FIG. 8B , the electronic device 200 calculates the coordinates of the origin (eg, upper left corner) of the content playback area 810 as x=-0.2 and y=-3.9 based on the position of the marker 811, A marker 811 may be created based on the calculated coordinates. The electronic device 200 calculates the horizontal and vertical ratios of the content playback area 810 as w=4.4 and h=4.4 based on the size of the marker 811, and calculates the marker 811 based on the calculated ratio. can create

다양한 실시 예에 따라, 전자 장치(200)는 복수 개의 마커를 상기 콘텐트(800)에 대해 삽입할 수 있다. 도 8c를 참조하면, 전자 장치(200)는 상기 콘텐트(800)에 대하여 삽입되는 마커(821, 822)가 콘텐트 재생 영역(820)의 좌, 우, 상, 하 좌표를 지시하도록, 상기 콘텐트(800)의 좌측 하단 모서리 부분과, 대각선 방향의 우측 상단 모서리 부분에 각각 마커(821, 822)를 삽입하여 인코딩할 수 있다.According to various embodiments, the electronic device 200 may insert a plurality of markers into the content 800 . Referring to FIG. 8C , the electronic device 200 displays the content (821, 822) inserted into the content 800 so that markers 821 and 822 indicate left, right, top, and bottom coordinates of the content reproduction area 820. 800) may be encoded by inserting markers 821 and 822 in the lower left corner and the upper right corner in the diagonal direction, respectively.

도 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 electronic device 200 of FIG. 3 or the first electronic device 710 of FIG. 7 ) adds a padding area around the content to prevent damage to an original file of the content. to encode markers. For example, the electronic device 200 may add a separate padding area to the bottom of the content 910 and place the marker in the added padding area 911, as shown in FIG. 9A. For another example, as shown in FIG. 9B , the electronic device 200 adds a padding area 921 of a predetermined size around the lower left corner of the content 920 and inserts a marker into the added padding area 921. can be encoded. According to various embodiments, the electronic device 200 provides a shadow, a picture frame, or a half screen for the padding areas 911 and 921 so that the padding areas 911 and 921 are naturally displayed with respect to the content 910 and 920 . Graphical effects such as slopes can be applied.

다양한 실시 예에 따라, 전자 장치(200)는 상기 마커의 배치를 위해 콘텐트의 내부를 변경할 수 있다. 도 9c를 참조하면, 전자 장치(200)는 콘텐트(930)의 일측 모서리 부분을 접힘 처리하고, 상기 접힘 처리된 영역(931)에 상기 마커를 삽입하여 인코딩할 수 있다.According to various embodiments, the electronic device 200 may change the inside of the content to arrange the marker. Referring to FIG. 9C , the electronic device 200 may perform a folding process on one corner of the content 930 and insert the marker into the folded area 931 to encode the content 930 .

다양한 실시 예에 따라, 전자 장치(200)는 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이(320))의 모양을 고려하여 콘텐트에 상기 마커를 인코딩할 수 있다. 도 9d를 참조하면, 콘텐트(940)가 원형의 디스플레이를 구비한 웨어러블 장치(예: 스마트워치)에서 표시되는 경우, 상기 콘텐트(940)는 상기 디스플레이 형태에 따라 원형으로 출력될 수 있다. 전자 장치(200)는 웨어러블 장치에서 디스플레이를 통해 노출되는 콘텐트(940) 영역의 바깥 부분에 마커(941)를 인코딩 함으로써, 상기 마커(941)가 사용자의 눈에 보이지 않도록 할 수 있다.According to various embodiments, the electronic device 200 may encode the marker in content considering the shape of the display (eg, the display module 160 of FIG. 1 or the display 320 of FIG. 3 ). Referring to FIG. 9D , when content 940 is displayed on a wearable device (eg, a smart watch) having a circular display, the content 940 may be output in a circular shape according to the display shape. The electronic device 200 encodes the marker 941 on the outside of the content 940 area exposed through the display of the wearable device, thereby making the marker 941 invisible to the user's eyes.

도 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 electronic device 200 is a device that performs a process for automatically reproducing the first content in the process of transmitting or inserting the first content of a moving image type through an application being executed, as shown in FIG. It may correspond to the illustrated electronic device 101 , the electronic device 200 illustrated in FIG. 3 , or the first electronic device 710 illustrated in FIG. 7 . The operations of FIG. 10 may be performed by at least one processor included in the electronic device 200 (eg, the processor 120 of FIG. 1 or the at least one processor 330 of FIG. 3 ).

도 10을 참조하면, 동작 1010에서 전자 장치(200)는 제1 어플리케이션 실행 중 사용자 입력이 감지된 제1 콘텐트를 외부 서버(예: 도 1의 서버(108))로 전송할 수 있다. 상기 사용자 입력은 상기 제1 어플리케이션을 통해 상기 제1 콘텐트를 하나 이상의 다른 사용자의 전자 장치와 공유하거나, 또는 상기 제1 콘텐트를 상기 제1 어플리케이션의 실행 화면에 삽입하기 위한 요청일 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트로서, 상기 외부 서버의 메모리 공간 또는 상기 외부 서버에 의해 관리되는 데이터베이스에 저장될 수 있다.Referring to FIG. 10 , in operation 1010, the electronic device 200 may transmit the first content in which the user input is detected while the first application is running to an external server (eg, the server 108 of FIG. 1 ). The user input may be a request for sharing the first content with one or more electronic devices of other users through the first application or for inserting the first content into an execution screen of the first application. The first content is a moving image type content in which a plurality of image frames are sequentially displayed, or content having a video file format, and may be stored in a memory space of the external server or a database managed by the external server. .

일 실시 예에 따르면, 동작 1020에서 전자 장치(200)는 상기 제1 콘텐트의 전송에 대한 응답으로, 상기 외부 서버에 의해 저장된 제1 콘텐트의 주소 정보를 획득할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치(예: 도 1의 전자 장치(102) 또는 전자 장치(104))에서 접근 가능한 네트워크 주소로서, 상기 외부 서버에 의해 관리되는 상기 제1 콘텐트의 url(uniform resource locator)을 포함할 수 있다.According to an embodiment, in operation 1020, the electronic device 200 may obtain address information of the first content stored by the external server in response to transmission of the first content. The address information is a network address accessible by the electronic device 200 or one or more external electronic devices (eg, the electronic device 102 or the electronic device 104 of FIG. 1 ), and is managed by the external server. It may include the url (uniform resource locator) of the content.

일 실시 예에 따르면, 동작 1030에서 전자 장치(200)는 상기 제1 콘텐트에 삽입할 마커의 위치를 결정할 수 있다. 전자 장치(200)는 상기 제1 콘텐트의 원본 파일에 대한 훼손을 최소화하도록, 상기 마커의 위치를 결정할 수 있다. 예를 들어, 전자 장치(200)는 상기 제1 콘텐트에 대한 에지(edge) 분석을 기반으로 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역을 검출하고, 상기 검출된 영역 중 적어도 일부를 상기 마커의 위치를 결정할 수 있다. 상기 제1 콘텐트에서 픽셀 변화가 임계치 이하인 영역이 검출되지 않으면, 전자 장치(200)는 상기 제1 콘텐트의 외부 주변에 그림자, 액자 또는 반사면과 같은 그래픽 효과가 적용된 패딩 영역을 추가하고, 상기 추가된 패딩 영역을 기반으로 상기 마커의 위치를 결정할 수 있다. 다른 예를 들어, 전자 장치(200)는 상기 제1 콘텐트의 테두리 선 또는 모서리 영역을 확인하고, 상기 확인된 테두리 선 또는 모서리 영역을 기반으로 상기 마커의 위치를 결정할 수도 있다. 또 다른 예를 들어, 전자 장치(200)는 콘텐트 삽입 시 상기 제1 어플리케이션에 의해 추가되는 표시가 있는지 확인하고, 상기 표시와 중첩되지 않도록 상기 마커의 위치를 결정할 수 있다.According to an embodiment, in operation 1030, the electronic device 200 may determine a location of a marker to be inserted into the first content. The electronic device 200 may determine the location of the marker to minimize damage to the original file of the first content. For example, the electronic device 200 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. location 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 electronic device 200 adds 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 the additional The position of the marker may be determined based on the padded area. For another example, the electronic device 200 may check the border line or corner area of the first content and determine the position of the marker based on the checked border line or corner area. For another example, when inserting the content, the electronic device 200 may check whether there is a mark added by the first application and determine the location of the marker so as not to overlap with the mark.

일 실시 예에 따르면, 동작 1040에서 전자 장치(200)는 상기 제1 콘텐트를 재생할 위치 정보를 확인할 수 있다. 예시적으로, 상기 위치 정보는 상기 결정된 마커의 위치를 기준으로 계산된 상기 제1 콘텐트의 상대좌표를 포함할 수 있다. 전자 장치(200)는 상기 결정된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나에 위치한 모서리의 상대좌표를 계산할 수 있다. 전자 장치(200)는 상기 계산된 제1 콘텐트의 상대좌표를 기반으로 상기 어플리케이션의 실행 화면에서 상기 제1 콘텐트가 재생되는 위치와 크기를 확인할 수 있다. 상기 제1 콘텐트가 재생되는 위치는 상기 어플리케이션의 실행화면에 표시된 마커를 기준으로 실시간 계산되기 때문에, 상기 실행 화면 상에서 상기 제1 콘텐트가 재생되는 동안 사용자 입력이나 지정된 이벤트에 의해 상기 어플리케이션의 실행 화면이 변경되더라도 자연스럽게 상기 제1 콘텐트의 재생 위치도 변경될 수 있다.According to an embodiment, in operation 1040, the electronic device 200 may check location information for reproducing the first content. Exemplarily, the location information may include relative coordinates of the first content calculated based on the location of the determined marker. The electronic device 200 may calculate relative coordinates of a corner located at at least one of upper left, lower left, upper right, or lower right of the first content based on the determined location of the marker. The electronic device 200 can check the location and size of the first content on the execution screen of the application based on the calculated relative coordinates of the first content. Since the location where the first content is reproduced is calculated in real time based on the marker displayed on the execution screen of the application, the execution screen of the application may change due to a user input or a designated event while the first content is being reproduced on the execution screen. Even if it is changed, the reproduction position of the first content may also be naturally changed.

일 실시 예에 따르면, 동작 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 electronic device 200 may generate the marker based on at least one of address information of the first content acquired from the external server or location information of the identified first content. . For example, the electronic device 200 may convert at least one of the address information or the location information into a 1-dimensional barcode (eg, a universal product code (UPC), a European article number (EAN), or Code 128) or a 2-dimensional barcode ( Example: The marker may be created by converting into a QR code (quick response code), data matrix code, PDF417, data glyphs, or m-code form. According to various embodiments, the electronic device 200 may digitally sign the address information or the location information using a user's private key and generate the digital signature data together as the marker. The electronic signature data included in the marker may be used to verify authenticity of a subject who creates (or transmits) the first content or the marker.

일 실시 예에 따르면, 동작 1060에서 전자 장치(200)는 상기 제1 콘텐트에 상기 생성된 마커를 인코딩 할 수 있다. 예를 들어, 전자 장치(200)는 상기 제1 콘텐트에 포함된 복수 개의 프레임들 중 첫번째 프레임 내 상기 결정된 위치에 상기 마커를 삽입하여 인코딩 할 수 있다. 다른 예를 들어, 전자 장치(200)는 상기 제1 콘텐트에 포함된 전체 프레임의 상기 결정된 위치에 상기 마커를 삽입하여 인코딩할 수 있다. 본 발명의 다양한 실시 예에 따라, 전자 장치(200)는 상기 제1 콘텐트에 인코딩된 마커가 사용자의 눈에 최소한으로 보여지도록, 상기 제1 콘텐트에 마커를 인코딩하는 과정에서 알파 블렌딩(alpha blending) 연산 또는 스테가노그래피(steganography) 중 적어도 하나의 이미지 처리 방식을 적용할 수 있다.According to an embodiment, in operation 1060, the electronic device 200 may encode the generated marker in the first content. For example, the electronic device 200 may insert and encode the marker at the determined position in a first frame among a plurality of frames included in the first content. For another example, the electronic device 200 may insert and encode the marker at the determined position of the entire frame included in the first content. According to various embodiments of the present disclosure, the electronic device 200 performs alpha blending in a process of encoding markers in the first content so that the markers encoded in the first content are minimally visible to the user's eyes. At least one image processing method of calculation or steganography may be applied.

일 실시 예에 따르면, 동작 1070에서 전자 장치(200)는 실행 중인 상기 제1 어플리케이션을 통해 상기 마커가 인코딩된 콘텐트를 전송할 수 있다. 상기 인코딩된 콘텐트는 상기 제1 어플리케이션의 실행 화면에 디스플레이 되어, 다른 전자 장치(200)와 공유될 수 있다.According to an embodiment, in operation 1070, the electronic device 200 may transmit the marker-encoded content through the first application being executed. The encoded content can be displayed on the execution screen of the first application and shared with other electronic devices 200 .

도 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 electronic device 200 is a device that provides automatic reproduction of first content in the process of displaying first content of a moving image type through an application being executed, and is an electronic device shown in FIG. 1 ( 101), the electronic device 200 shown in FIG. 3 or the second electronic device 730 shown in FIG. 7. The operations of FIG. 11 may be performed by at least one processor included in the electronic device 200 (eg, the processor 120 of FIG. 1 or the at least one processor 330 of FIG. 3 ).

도 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 electronic device 200 may detect a marker associated with the first content on the execution screen of the first application in the foreground process. The foreground state may refer to a state in which an execution screen of the first application being executed is exposed on a display (eg, the display module 160 of FIG. 1 or the display 320 of FIG. 3 ). The first content may be a moving image type content in which a plurality of image frames are sequentially displayed, or content having a video file format. According to various embodiments, when the electronic device 200 checks whether or not an automatic playback function of moving image type content is set for the first application, the electronic device 200 performs a specified event (eg, a change of an execution screen or When a user input is received), an execution screen of the first application may be captured. The electronic device 200 may detect a marker associated with the first content from the captured image.

일 실시 예에 따르면, 동작 1120에서 전자 장치(200)는 상기 감지된 마커를 기반으로 상기 제1 콘텐트의 자동 재생 여부를 확인할 수 있다. 예를 들어, 전자 장치(200)는 상기 마커가 지정된 형식의 데이터(예: 네트워크 url 형식의 데이터)를 포함하고 있음을 확인하면, 상기 제1 콘텐트가 상기 제1 어플리케이션의 실행 화면에서 자동 재생되어야 함을 확인할 수 있다.According to an embodiment, in operation 1120, the electronic device 200 may check whether the first content is automatically reproduced based on the detected marker. For example, if the electronic device 200 confirms that the marker includes data in a designated format (eg, data in a network url format), the first content should be automatically played on the execution screen of the first application. can confirm that

일 실시 예에 따르면, 동작 1130에서 전자 장치(200)는 상기 감지된 마커로부터 상기 제1 콘텐트가 저장된 주소 정보 또는 상기 제1 콘텐트를 재생할 위치 정보 중 적어도 하나를 확인할 수 있다. 상기 주소 정보는 전자 장치(200) 또는 하나 이상의 외부 전자 장치에서 접근 가능한 네트워크 주소로서, 외부 서버에 의해 저장된 상기 제1 콘텐트의 url 주소를 포함할 수 있다. 상기 위치 정보는 상기 제1 콘텐트가 재생되는 위치의 좌표로서, 상기 실행 화면에서 검출된 마커의 위치를 기준으로 상기 제1 콘텐트의 좌측 상단, 좌측 하단, 우측 상단 또는 우측 하단 중 적어도 하나의 모서리의 상대좌표를 포함할 수 있다.According to an embodiment, in operation 1130, the electronic device 200 may check at least one of address information where the first content is stored or location information to reproduce the first content from the detected marker. The address information is a network address accessible by the electronic device 200 or one or more external electronic devices, and may include a url address of the first content stored by an external server. 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.

일 실시 예에 따르면, 동작 1140에서 전자 장치(200)는 상기 주소 정보를 기반으로 외부 서버(예: 도 1의 서버(108), 도 5의 서버(500), 또는 도 7의 서버(720))로부터 상기 제1 콘텐트를 획득할 수 있다.According to an embodiment, in operation 1140, the electronic device 200 sends an external server (eg, the server 108 of FIG. 1, the server 500 of FIG. 5, or the server 720 of FIG. 7) based on the address information. ) to obtain the first content.

일 실시 예에 따르면, 동작 1150에서 전자 장치(200)는 상기 위치 정보를 기반으로 상기 제1 콘텐트를 표시할 재생 영역을 확인할 수 있다. 예를 들어, 전자 장치(200)는 상기 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 상기 실행 화면 내 좌표와 상기 제1 콘텐트의 크기(또는 비율)를 계산하고, 상기 계산 결과를 기반으로 상기 제1 어플리케이션의 실행 화면 내에 상기 제1 콘텐트를 표시할 재생 영역을 확인할 수 있다. 다른 예를 들어, 전자 장치(200)는 상기 실행 화면에 대한 이미지 분석(image segmentation)을 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다. 전자 장치(200)는 상기 실행 화면의 캡처 이미지에 대해 이미지 분석을 수행하여, 상기 제1 콘텐트의 프레임 이미지가 표시된 콘텐트 영역과 상기 프레임 이미지를 둘러싼 배경 영역 사이의 경계를 검출하고, 상기 검출된 경계를 기반으로 상기 제1 콘텐트의 재생 영역을 확인할 수 있다.According to an embodiment, in operation 1150, the electronic device 200 may check a play area to display the first content based on the location information. For example, the electronic device 200 calculates the size (or 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, the electronic device 200 calculates the coordinates of the first content. A play area in which the first content is to be displayed may be identified within the execution screen of the first application. For another example, the electronic device 200 may check the reproduction area of the first content based on image segmentation of the execution screen. The electronic device 200 performs image analysis on the captured image of the execution screen to detect a boundary between a content area where the frame image of the first content is displayed and a background area surrounding the frame image, and the detected boundary Based on, it is possible to check the reproduction area of the first content.

일 실시 예에 따르면, 동작 1160에서 전자 장치(200)는 상기 확인된 재생 영역에서 상기 획득한 제1 콘텐트를 자동 재생할 수 있다. 본 발명의 다양한 실시 예에 따라, 전자 장치(200)는 상기 실행 화면의 재생 영역 상에서 상기 제1 콘텐트를 재생하는 동안 사용자의 입력이나 지정된 이벤트에 의해 상기 실행화면의 변경을 감지하면, 상기 실행 화면으로부터 상기 마커가 검출되는지 여부를 다시 확인할 수 있다. 상기 확인 결과 상기 마커가 검출되면, 전자 장치(200)는 상기 마커로부터 획득한 위치 정보를 기반으로 상기 제1 콘텐트가 재생될 좌표와 크기를 다시 계산하고, 상기 계산 결과를 기반으로 상기 제1 콘텐트의 재생 영역을 조정할 수 있다. 상기 확인 결과 상기 실행화면으로부터 상기 마커가 더 이상 검출되지 않는 것으로 확인되면, 전자 장치(200)는 상기 제1 콘텐트의 자동 재생을 정지시킬 수 있다. 상기 제1 콘텐트의 재생 영역은 고정된 위치가 아닌, 상기 제1 어플리케이션의 실행 화면에서 검출된 마커를 기준으로 실시간 계산되므로, 전자 장치(200)는 상기 실행 화면의 변경에 대응하여 상기 제1 콘텐트의 재생 영역을 조정함으로써, 자연스럽게 상기 제1 콘텐트의 자동 재생을 지속할 수 있다.According to an embodiment, in operation 1160, the electronic device 200 can automatically play the acquired first content in the checked play area. According to various embodiments of the present disclosure, when the electronic device 200 detects a change of the execution screen due to a user's input or a designated event while the first content is reproduced on the play area of the execution screen, the execution screen It can be checked again whether the marker is detected from. When the marker is detected as a result of the check, the electronic device 200 recalculates the coordinates and size of the first content to be reproduced based on the location information acquired from the marker, and based on the calculation result, the first content You can adjust the playback area of As a result of the check, when it is confirmed that the marker is no longer detected from the execution screen, the electronic device 200 may stop the automatic reproduction of the first content. Since the playback area of the first content is calculated in real time based on markers detected on the execution screen of the first application rather than a fixed location, the electronic device 200 controls the display of the first content in response to a change in the execution screen. By adjusting the playback area of , the automatic playback of the first content can be naturally continued.

도 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 electronic device 200 may check the display setting for the application while automatically playing content of the moving image type on the play area of the running screen of the running application. For example, in FIG. 12A , the electronic device 200 confirms that an image frame displayed when attaching content from the application is set to a rectangle with angled corners, and according to the checked setting, a rectangular frame 1210 with angled corners. ), the content can be reproduced. As another example, in FIG. 12B , the electronic device 200 may confirm that an image frame displayed when content is attached in the application is set to a rectangle with rounded corners. In this case, the electronic device 200 may change the border area of the content to a rectangle having rounded corners and reproduce the content within the rectangular frame 1220 having rounded corners. According to various embodiments, the electronic device 200 may check the shape and curvature of the image frame in the execution screen of the application using an image segmentation technique, and apply the result to the content to play it.

도 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 electronic device 200 of FIG. 2 ), as shown in FIG. 5 . may correspond to the server 500 or the server 720 shown in FIG. 7 . The operations of FIG. 13 may be performed by at least one processor (eg, at least one processor 520 of FIG. 5 ) included in the server 500 .

일 실시 예에 따르면, 동작 1310에서 서버(500)는 제1 외부 장치(예: 도 7의 제1 전자 장치(710))로부터 상기 제1 콘텐트의 저장 요청을 수신할 수 있다. 상기 제1 콘텐트는 복수 개의 이미지 프레임이 순차적으로 표시되는 움직이는 영상(motion picture) 타입의 콘텐트이거나, 또는 동영상 파일 포맷을 갖는 콘텐트일 수 있다.According to an embodiment, in operation 1310, the server 500 may receive a storage request for the first content from a first external device (eg, the first electronic device 710 of FIG. 7 ). 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.

일 실시 예에 따르면, 동작 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 operation 1320, the server 500 stores the first content in a memory of the server 500 (eg, the memory 530 of FIG. 5) or a database managed by the server 500, Address information of the first content accessible by one or more external electronic devices may be generated. The address information is a network address of a memory or database in which the first content is stored by the server 500 and may include data in a uniform resource locator (url) format. According to various embodiments, the server 500 may set a valid period of the first content after storing the first content. The validity period may indicate a period during which the first content stored by the server 500 is maintained in the memory or the database. After the first content is stored in the memory or the database, the server 500 continuously checks whether the validity period set for the first content has elapsed, and if it is confirmed that the validity period has elapsed, the first content is stored. can be deleted According to various embodiments, the server 500 may perform user authentication on the first external device in order to prevent access by malicious users. For example, the server 500 may perform authentication on the first external device upon receiving the storage request, and may store the first content in the memory or the database when the authentication is successfully performed.

일 실시 예에 따르면, 동작 1330에서 서버(500)는 상기 저장 요청에 대한 응답으로, 상기 생성된 주소 정보를 상기 제1 외부 장치로 전송할 수 있다. 상기 제1 외부 장치는 서버(500)로부터 수신한 상기 주소 정보를 이용하여 상기 제1 콘텐트의 자동 재생을 지원하기 위해 상기 제1 콘텐트에 삽입할 마커를 생성할 수 있다. 다양한 실시 예에 따라, 서버(500)는 상기 저장 요청에 응답하여, 상기 제1 콘텐트에 대하여 설정된 유효기간을 상기 주소 정보와 함께 상기 제1 외부 장치로 전송할 수 있다. 이 경우, 상기 마커는 상기 제1 콘텐트의 유효기간을 포함하여 생성될 수 있다.According to an embodiment, in operation 1330, the server 500 may transmit the generated address information to the first external device in response to the storage request. The first external device may create a marker to be inserted into the first content to support automatic playback of the first content by using the address information received from the server 500 . According to various embodiments, the server 500 may transmit the validity period set for the first content together with the address information to the first external device in response to the storage request. In this case, the marker may be created including the validity period of the first content.

일 실시 예에 따르면, 동작 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 electronic device 730 of FIG. 7). The transmission request may include an identifier and address information of the first content acquired from a marker detected on an execution screen of an application being executed by the second external device. The server 500 may check the identifier and address information of the first content from the transmission request, and check whether the first content is stored in the address (the memory or the database) indicated by the address information.

일 실시 예에 따르면, 동작 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 operation 1350, the server 500 may transmit the first content to the second external device in response to the transmission request. As a result of the check, if the first content is stored in the memory or the database, the server 500 may transmit the first content to the second external device. As a result of the check, if the first content is not stored in the memory 530 or the database, the server 500 may transmit a signal indicating that the first content is not stored to the second external device. According to various embodiments of the present disclosure, the server 500 may perform user authentication on the second external device in order to prevent access by an unauthorized (or not authorized to download) user. For example, the server 500 performs authentication on the second external device that has transmitted the transmission request of the first content, and if it is confirmed that the authentication has been successfully performed, after checking whether the first content is stored, the server 500 performs authentication on the second external device. A response to the transmission request may be transmitted to the second external device.

일 실시 예에 따른 전자 장치(예: 전자 장치(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 server 720 of FIG. 7) includes a communication module (eg, the communication module 510), and at least one operatively connected to the communication module. a processor (eg, processor 520), and a memory (eg, memory 530) operatively coupled to the at least one processor, wherein the memory, when executed, causes the at least one processor to: In response to receiving a storage request for first content from a first external device (eg, the first electronic device 710), the first content is stored in the memory or database and accessible by one or more external devices. Generating address information of the first content, transmitting the address information to the first external device through the communication module, and transmitting the first content from a second external device (eg, the second electronic device 730) In response to receiving the request, instructions for transmitting the first content to the second external device through the communication module may be stored.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제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 server 720 of FIG. 7 ) according to another embodiment includes first content from a first external device (eg, the first electronic device 710). In response to receiving a storage request, 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, and generating the address In response to transmitting information to the first external device and receiving a transmission request for the first content from a second external device (eg, the second electronic device 730), the first content is transmitted to the second external device. It may include an operation of transmitting to an external device.

본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.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, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101). It may be implemented as software (eg, the program 140) including them. For example, a processor (eg, the processor 120 ) of a device (eg, the electronic device 101 ) may call at least one command among one or more instructions stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, "non-temporary" only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium and It does not discriminate when it is temporarily stored.

일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(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 콘텐트가 재생될 좌표를 지시하는 위치 정보를 계산하고,
상기 주소 정보 또는 상기 계산된 위치 정보 중 적어도 하나를 기반으로 상기 마커를 생성하고,
상기 생성된 마커를 상기 제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에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제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.
청구항 3에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제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.
청구항 2에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 주소 정보 또는 상기 위치 정보 중 적어도 하나를 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.
청구항 1에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
알파 블렌딩(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에 있어서,
상기 제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.
청구항 8에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제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.
청구항 8에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 마커로부터 상기 제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.
청구항 8에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 마커로부터 상기 제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.
청구항 11에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제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.
청구항 12에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 확인 결과 상기 마커가 검출되지 않으면, 상기 제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.
청구항 8에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 실행 화면에 대한 이미지 분석(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.
청구항 15에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제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.
청구항 16에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제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.
KR1020210091546A 2021-07-13 2021-07-13 Apparatus and method for providing content Pending KR20230011021A (en)

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)

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