KR102638468B1 - Electronic apparatus and operating method thereof - Google Patents

Electronic apparatus and operating method thereof Download PDF

Info

Publication number
KR102638468B1
KR102638468B1 KR1020160042948A KR20160042948A KR102638468B1 KR 102638468 B1 KR102638468 B1 KR 102638468B1 KR 1020160042948 A KR1020160042948 A KR 1020160042948A KR 20160042948 A KR20160042948 A KR 20160042948A KR 102638468 B1 KR102638468 B1 KR 102638468B1
Authority
KR
South Korea
Prior art keywords
electronic device
video
image
metadata
processor
Prior art date
Application number
KR1020160042948A
Other languages
Korean (ko)
Other versions
KR20160131882A (en
Inventor
박현희
김재문
김성오
이용만
김광태
김수형
염동현
이기혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/147,459 priority Critical patent/US10062405B2/en
Publication of KR20160131882A publication Critical patent/KR20160131882A/en
Application granted granted Critical
Publication of KR102638468B1 publication Critical patent/KR102638468B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Abstract

본 개시의 다양한 실시 예에서는 동영상을 포함한 멀티미디어 데이터를 처리하는 전자장치에서 동영상의 화질을 유지하면서 압축 효율을 높일 수 있는 동영상 압축장치 및 방법을 제안한다. 이를 위해, 메모리 또는 카메라로부터 대상 영상을 획득하고, 상기 획득한 대상 영상의 속성 정보에 대응하는 메타 데이터를 생성하며, 상기 생성한 메타 데이터를 적어도 기반으로 하여 상기 대상 영상을 압축하는 동영상 압축장치 및 방법을 제공할 수 있다.Various embodiments of the present disclosure propose a video compression device and method that can increase compression efficiency while maintaining video quality in electronic devices that process multimedia data, including video. To this end, a video compression device that acquires a target image from a memory or a camera, generates metadata corresponding to attribute information of the acquired target image, and compresses the target image based at least on the generated metadata; and A method can be provided.

Description

전자 장치 및 그의 동작 방법{ELECTRONIC APPARATUS AND OPERATING METHOD THEREOF}Electronic device and operating method thereof {ELECTRONIC APPARATUS AND OPERATING METHOD THEREOF}

본 개시의 다양한 실시 예들은 전자 장치 및 그의 동작 방법에 관한 것이다.Various embodiments of the present disclosure relate to electronic devices and methods of operating the same.

최근 다양한 종류의 멀티미디어 서비스를 지원하는 방송 서비스는 통신 기술과의 융합이 이루어지고 있다. 이러한 영상 통신 서비스는 빠른 정보 처리가 가능한 전자장치와 더불어 고속의 정보 전달을 지원하는 광 대역 네트워크를 기반으로 하고 있다.Recently, broadcasting services that support various types of multimedia services are converging with communication technology. These video communication services are based on electronic devices capable of rapid information processing as well as a broadband network that supports high-speed information transmission.

상기 영상 통신 서비스를 지원하는 전자장치는 이미지 처리인해 많은 전력 소모가 발생할 수 있다. 특히 처리할 이미지의 해상도는 디스플레이 시에 전자장치의 소비 전력을 결정하는 주요한 요인이 될 수 있다. 예컨대 휴대가 가능한 전자장치 (이하 '휴대 단말'이라 칭함)에서 디스플레이 시의 소비 전력은 처리할 이미지의 해상도에 비례하여 증가할 수 있다.Electronic devices that support the video communication service may consume a lot of power due to image processing. In particular, the resolution of the image to be processed can be a major factor in determining the power consumption of electronic devices during display. For example, in portable electronic devices (hereinafter referred to as 'portable terminals'), power consumption during display may increase in proportion to the resolution of the image to be processed.

상기 이미지 해상도의 증가는 처리할 이미지에 관한 정보를 전달할 링크 상에서의 대역폭을 증가시키거나 저장 공간을 증가시키는 원인이 될 수 있다. 일 예로 하나의 전자장치 내에서 애플리케이션 프로세서 (AP: Application Processor)가 디스플레이 디바이스로 프레임을 전송하기 위한 대역폭 또는 하나의 전자장치가 다른 전자장치로 멀티미디어 데이터를 전달하기 위한 대역폭은 디스플레이 해상도 또는 전달할 멀티미디어 데이터의 크기에 비례하여 증가할 수 있다.The increase in image resolution may result in increased bandwidth or increased storage space on the link carrying information about the image to be processed. For example, the bandwidth for an application processor (AP) within one electronic device to transmit a frame to a display device or the bandwidth for one electronic device to transmit multimedia data to another electronic device is determined by the display resolution or the multimedia data to be transmitted. It can increase in proportion to the size of .

더욱 향상된 화질에 대한 사용자의 요구에 따라, 휴대 단말 등의 전자장치는 고화질/대화면 (4K UHD 급, 수십 Mbps 급) 동영상 촬영이 가능하게 되었다. 이와 더불어 전자장치에는 압축 효율이 향상된 HEVC 등을 기반으로 하는 비디오 코덱 (video codec) 기술이 적용되었다.In response to user demands for improved picture quality, electronic devices such as mobile terminals have become capable of recording high-definition/large-screen (4K UHD, tens of Mbps) videos. In addition, video codec technology based on HEVC, which has improved compression efficiency, has been applied to electronic devices.

하지만, 고화질 또는 대용량의 영상 (4K UHD 급 영상 등)을 처리하는 데에 전자장치는 많은 양의 리소스를 사용할 수 있다. 예를 들면, 고화질의 영상의 변환 또는 보정과 관련된 많은 양의 데이터 연산을 수행하기 위해, 전자장치는 상대적으로 많은 양의 메모리 또는 처리 자원 (processing resource)이 요구되었다. 또한, 다른 전자장치로 대용량의 영상을 전송하기 위해, 데이터 전송량 또는 전송 속도를 증가시킬 수 있도록, 전자장치는, 상대적으로 많은 양의 네트워킹 자원을 사용할 수 있다.However, electronic devices can use a large amount of resources to process high-definition or large-capacity video (4K UHD video, etc.). For example, in order to perform large amounts of data operations related to conversion or correction of high-definition images, electronic devices require a relatively large amount of memory or processing resources. Additionally, in order to transmit a large amount of video to another electronic device, the electronic device can use a relatively large amount of networking resources to increase the data transmission amount or transmission speed.

따라서, 전자장치에서는 촬영된 동영상의 화질을 유지하면서 효율적으로 동영상을 압축하기 위한 방안을 마련하는 것이 필요하였다.Therefore, it was necessary for electronic devices to come up with a method to efficiently compress video while maintaining the image quality of the captured video.

본 개시의 다양한 실시 예에 따르면, 동영상을 포함한 멀티미디어 데이터를 처리하는 전자장치에서 동영상의 화질을 유지하면서 압축 효율을 높일 수 있는 동영상 압축장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, it is possible to provide a video compression device and method that can increase compression efficiency while maintaining video quality in an electronic device that processes multimedia data including video.

본 개시의 다양한 실시 예에 따르면, 동영상을 포함한 멀티미디어 데이터를 처리하는 전자장치에서 메타 데이터를 이용하여 동영상을 압축하는 장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, an apparatus and method for compressing a video using metadata in an electronic device that processes multimedia data including a video can be provided.

본 개시의 다양한 실시 예에 따르면, 동영상을 포함한 멀티미디어 데이터를 처리하는 전자장치에서 압축 비디오 스트림으로부터 불필요한 데이터를 제거하고, 상기 불필요한 데이터가 제거된 비디오 스트림을 재압축하는 동영상 압축장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, a video compression apparatus and method are provided for removing unnecessary data from a compressed video stream and recompressing the video stream from which the unnecessary data has been removed in an electronic device that processes multimedia data including video. You can.

본 개시의 다양한 실시 예에 따르면, 동영상을 포함한 멀티미디어 데이터를 처리하는 전자장치에서 메타 데이터를 기반으로 압축 비디오 스트림을 복원 후 재압축하는 압축장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, a compression device and method for restoring and then recompressing a compressed video stream based on metadata in an electronic device that processes multimedia data, including video, can be provided.

본 개시의 다양한 실시 예에 따르면, 전자장치에서 영상 획득 시에 생성된 변수 (parameter)를 보관하고, 이후 획득되는 영상을 압축할 시에 상기 보관하고 있는 변수를 사용하여 압축을 수행하는 압축장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, a compression device that stores variables (parameters) created when acquiring an image in an electronic device and performs compression using the stored variables when compressing a later acquired image; A method can be provided.

본 개시의 다양한 실시 예에 따른 전자장치는, 메모리와, 상기 메모리 또는 기능적으로 연결된 카메라로부터 대상 영상을 획득하고, 상기 획득한 대상 영상의 속성 정보에 대응하는 메타 데이터를 획득하는 이미지 신호 프로세서 및 상기 메타 데이터를 적어도 기반으로 하여 상기 대상 영상을 압축하는 프로세서를 포함할 수 있다.An electronic device according to various embodiments of the present disclosure includes a memory, an image signal processor that acquires a target image from the memory or a functionally connected camera, and acquires metadata corresponding to attribute information of the acquired target image; It may include a processor that compresses the target image based on at least metadata.

본 개시의 다양한 실시 예에 따른 전자장치에서 동영상을 압축하는 방법은, 메모리 또는 카메라로부터 대상 영상을 획득하는 과정과, 상기 획득한 대상 영상의 속성 정보에 대응하는 메타 데이터를 생성하는 과정 및 상기 생성한 메타 데이터를 적어도 기반으로 하여 상기 대상 영상을 압축하는 과정을 포함하되, 상기 대상 영상을 압축하는 과정은, 압축된 대상 영상을 복원하고, 미리 저장된 메타 데이터를 적어도 기반으로 하여 상기 복원한 대상 영상을 재압축하는 과정을 포함할 수 있다.A method of compressing a video in an electronic device according to various embodiments of the present disclosure includes a process of acquiring a target image from a memory or a camera, a process of generating metadata corresponding to attribute information of the acquired target image, and the generation of metadata corresponding to attribute information of the acquired target image. Compressing the target image based at least on metadata, wherein the process of compressing the target image includes restoring the compressed target image, and compressing the target image based at least on pre-stored metadata. It may include a process of recompressing.

본 개시의 다양한 실시 예에 따른 전자장치의 컴퓨터 판독 가능한 기록 매체는, 메모리 또는 카메라로부터 대상 영상을 획득하는 동작과, 상기 획득한 대상 영상의 속성 정보에 대응하는 메타 데이터를 생성하는 동작 및 상기 생성한 메타 데이터를 적어도 기반으로 하여 상기 대상 영상을 압축하는 동작을 실행시키기 위한 프로그램을 기록할 수 있다.A computer-readable recording medium of an electronic device according to various embodiments of the present disclosure includes an operation of acquiring a target image from a memory or a camera, an operation of generating metadata corresponding to attribute information of the acquired target image, and the generation of metadata corresponding to attribute information of the acquired target image. A program for executing an operation of compressing the target video based at least on metadata may be recorded.

본 개시의 다양한 실시 예에 따라 동영상을 압축하는 장치 및 방법은, 화질의 손실 없이 동영상의 압축 효율을 향상시킬 수 있을 뿐만 아니라, 저장 공간을 효율적으로 사용할 수 있다. 또한, 프로세서에서 영상을 압축할 시, 영상을 분석하여 압축하는 것이 아니라 영상 획득 시에 생성된 변수를 보관하고, 상기 보관 중인 변수를 활용하여 영상 압축을 수행함으로써, 압축 연산을 빠르게 수행할 수 있을 뿐만 아니라, 연산 복잡도를 낮을 수 있을 것이다.Apparatus and methods for compressing video according to various embodiments of the present disclosure can not only improve compression efficiency of video without loss of image quality, but also use storage space efficiently. In addition, when compressing an image in a processor, rather than analyzing and compressing the image, the variables created when acquiring the image are stored, and the image is compressed using the stored variables, so the compression operation can be performed quickly. In addition, computational complexity may be lowered.

도 1은 제안된 다양한 실시 예에 따른, 무선 터미널을 포함하는 네트워크 환경을 도시한 도면이다.
도 2는 제안된 다양한 실시 예에 따른, 전자장치에 대한 블록 구성을 도시한 도면이다.
도 3은 제안된 다양한 실시 예에 따른, 프로그램 모듈에 대한 블록 구성을 도시한 도면이다.
도 4는 제안된 다양한 실시 예에 따른, 전자장치에서 동영상 압축을 수행하는 동영상 압축장치의 구성에 대한 일 예를 도시한 도면이다.
도 5는 본 개시에서 제안된 다양한 실시 예에 따라 전자장치에서 수행하는 제어 흐름을 도시한 도면이다.
도 6은 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 메타 데이터를 고려하여 압축을 수행하는 제어 흐름을 도시한 도면이다.
도 7은 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 재압축을 수행하는 시나리오를 도시한 도면이다.
도 8은 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 메타 데이터를 기반으로 이미지를 압축 또는 재압축하는 예를 도시한 도면이다.
도 9는 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 Histogram 정보를 이용해서 HEVC (high efficiency video coding)의 SAO (sample adaptive offset) 과정을 효과적으로 수행하는 시나리오를 도시한 도면이다.
도 10은 본 개시에서 제안된 다양한 실시 예에 따른 전자장치가 인지 기반 비디오 압축 (perceptual video coding)을 수행할 때, 메타 데이터를 활용하는 실시 예를 도시한 것이다.
1 is a diagram illustrating a network environment including a wireless terminal according to various proposed embodiments.
FIG. 2 is a diagram illustrating the block configuration of an electronic device according to various proposed embodiments.
Figure 3 is a diagram illustrating the block configuration of a program module according to various proposed embodiments.
FIG. 4 is a diagram illustrating an example of the configuration of a video compression device that performs video compression in an electronic device according to various proposed embodiments.
FIG. 5 is a diagram illustrating control flow performed by an electronic device according to various embodiments proposed in the present disclosure.
FIG. 6 is a diagram illustrating a control flow in which an electronic device performs compression considering metadata, according to various embodiments proposed in the present disclosure.
FIG. 7 is a diagram illustrating a scenario in which an electronic device performs recompression according to various embodiments proposed in the present disclosure.
FIG. 8 is a diagram illustrating an example of an electronic device compressing or recompressing an image based on metadata, according to various embodiments proposed in the present disclosure.
FIG. 9 is a diagram illustrating a scenario in which an electronic device effectively performs a sample adaptive offset (SAO) process of high efficiency video coding (HEVC) using histogram information, according to various embodiments proposed in this disclosure.
FIG. 10 illustrates an example in which metadata is utilized when an electronic device performs perception-based video compression (perceptual video coding) according to various embodiments proposed in the present disclosure.

이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 이는 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경 (modifications), 균등물 (equivalents), 및/또는 대체물 (alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Hereinafter, various embodiments of the present disclosure are described with reference to the attached drawings. This is not intended to limit the technology described in this disclosure to specific embodiments, and should be understood to include various modifications, equivalents, and/or alternatives to the embodiments of this disclosure. In connection with the description of the drawings, similar reference numbers may be used for similar components.

본 개시에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징 (예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In the present disclosure, expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of corresponding features (e.g., components such as values, functions, operations, or parts). , and does not rule out the existence of additional features.

본 개시에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In the present disclosure, expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, “A or B”, “at least one of A and B”, or “at least one of A or B” (1) includes at least one A, (2) includes at least one B, or (3) it may refer to all cases including both at least one A and at least one B.

본 개시에서 사용된 "제 1", "제 2", "첫 째", 또는 "둘 째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 개시에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.As used in this disclosure, expressions such as “first”, “second”, “first”, or “second” may modify various elements regardless of order and/or importance, and may refer to one element It is only used to distinguish from other components and does not limit the components. For example, a first user device and a second user device may represent different user devices regardless of order or importance. For example, a first component may be renamed a second component without departing from the scope of rights set forth in the present disclosure, and similarly, the second component may also be renamed to the first component.

어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어 ((operatively or communicatively) coupled with/to)" 있다거나 "접속되어 (connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 또 다른 구성요소 (예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 또 다른 구성요소 (예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (e.g., a first component) is “(operatively or communicatively) coupled with/to” another component (e.g., a second component). When referred to as being “connected to,” it should be understood that any component may be directly connected to the other component or may be connected through another component (e.g., a third component). On the other hand, when a component (e.g., a first component) is said to be “directly connected” or “directly connected” to another component (e.g., a second component), the component and the It may be understood that another component (eg, a third component) does not exist between other components.

본 개시에서 사용된 표현 "~하도록 구성된 (또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한 (suitable for)", "~하는 능력을 가지는 (having the capacity to)", "~하도록 설계된 (designed to)", "~하도록 변경된 (adapted to)", "~하도록 만들어진 (made to)", 또는 "~를 할 수 있는 (capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된 (또는 설정된)"은 하드웨어적으로 "특별히 설계된 (specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된 (또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서 (예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (generic-purpose processor) (예: CPU 또는 application processor)를 의미할 수 있다. The expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. It can be used interchangeably with ", "designed to," "adapted to," "made to," or "capable of." The term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware. Instead, in some contexts, the expression “a device configured to” may mean that the device is “capable of” working with other devices or components. For example, the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device. , may refer to a general-purpose processor (e.g., CPU or application processor) capable of performing the corresponding operations.

본 개시에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.Terms used in the present disclosure are merely used to describe specific embodiments and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions, unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as generally understood by a person of ordinary skill in the technical field described in this disclosure. Among the terms used in this disclosure, terms defined in general dictionaries may be interpreted to have the same or similar meaning as the meaning they have in the context of related technology, and unless clearly defined in this disclosure, have an ideal or excessively formal meaning. It is not interpreted as In some cases, even terms defined in the present disclosure cannot be interpreted to exclude embodiments of the present disclosure.

본 개시의 다양한 실시 예들에 따른 전자장치는, 예를 들면, 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 영상 전화기, 전자책 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치 (wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형 (예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트렌즈, 또는 머리 착용형 장치 (head-mounted-device(HMD)), 직물 또는 의류 일체형 (예: 전자 의복), 신체 부착형 (예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형 (예: implantable circuit) 중 적어도 하나를 포함할 수 있다. Electronic devices according to various embodiments of the present disclosure include, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, Desktop PC (desktop personal computer), laptop PC (laptop personal computer), netbook computer, workstation, server, PDA (personal digital assistant), PMP (portable multimedia player), MP3 player, mobile medical It may include at least one of a device, a camera, or a wearable device. According to various embodiments, the wearable device may be an accessory (e.g., a watch, ring, bracelet, anklet, necklace, glasses, contact lenses, or a head-mounted-device (HMD)), a fabric or clothing piece ( It may include at least one of a body-attached type (e.g., an electronic garment), a body-attachable type (e.g., a skin pad or a tattoo), or a bioimplantable type (e.g., an implantable circuit).

어떤 실시 예들에서, 전자장치는 가전제품(home appliance)일 수 있다. 가전제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 오토매이션 컨트롤 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔 (예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.In some embodiments, the electronic device may be a home appliance. Home appliances include, for example, televisions, DVD (digital video disk) players, stereos, refrigerators, air conditioners, vacuum cleaners, ovens, microwave ovens, washing machines, air purifiers, set-top boxes, and home automation controls. Home automation control panel, security control panel, TV box (e.g. Samsung HomeSyncTM, Apple TVTM, or Google TVTM), game console (e.g. XboxTM, PlayStationTM), electronic dictionary, electronic key, camcorder It may include at least one of a (camcorder), or an electronic picture frame.

다른 실시 예에서, 전자장치는, 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA (magnetic resonance angiography), MRI (magnetic resonance imaging), CT (computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 (navigation) 장치, GPS 수신기 (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), 자동차 인포테인먼트 (infotainment) 장치, 선박용 전자 장비 (예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기 (avionics), 보안 기기, 차량용 헤드 유닛 (head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM (automatic teller's machine), 상점의 POS (point of sales), 또는 사물 인터넷 장치 (internet of things) (예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.In another embodiment, the electronic device may include various medical devices (e.g., various portable medical measurement devices (such as blood sugar monitors, heart rate monitors, blood pressure monitors, or body temperature monitors), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), CT (computed tomography), imaging device, or ultrasound device, etc.), navigation device, GPS receiver (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), automobile infotainment device, marine Electronic equipment (e.g. marine navigation systems, gyrocompasses, etc.), avionics, security devices, head units for vehicles, industrial or home robots, ATMs (automatic teller's machines) in financial institutions, POS in stores (point of sales), or internet of things (e.g. light bulbs, various sensors, electric or gas meters, sprinkler systems, fire alarms, thermostats, street lights, toasters, exercise equipment, It may include at least one of a hot water tank, heater, boiler, etc.).

어떤 실시 예에 따르면, 전자장치는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자장치는 플렉서블 전자장치일 수 있다. 또한, 본 개시의 실시 예에 따른 전자장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자장치를 포함할 수 있다.According to some embodiments, the electronic device may be a piece of furniture or part of a building/structure, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (e.g., It may include at least one of water, electricity, gas, or radio wave measuring devices, etc.). In various embodiments, the electronic device may be one or a combination of more than one of the various devices described above. An electronic device according to some embodiments may be a flexible electronic device. Additionally, electronic devices according to embodiments of the present disclosure are not limited to the above-described devices and may include new electronic devices according to technological developments.

본 개시에서 제안된 다양한 실시 예에서는 비디오 압축 효율을 향상시키기 위해, 이미지 처리가 가능한 전자장치에서 메타 데이터를 이용하여 대상 영상 (target image)을 압축 또는 재압축하는 방안을 마련할 것이다.In order to improve video compression efficiency, various embodiments proposed in this disclosure will provide a method of compressing or recompressing a target image using metadata in an electronic device capable of image processing.

일 실시 예에 따르면, 실시간 압축 효율을 높이기 위해, 전자장치는 외부 또는 내부 카메라를 통해 촬영된 영상을 메타 데이터를 이용하여 압축할 수 있다. 이런 경우, 상기 전자장치는 촬영 영상에 대한 이미지 신호 처리 (image signal processing) 또는 이미지 센싱 (image sensing) 시에 상기 촬영 영상에 대응한 메타 데이터를 생성할 수 있다. 상기 생성된 메타 데이터는 대상 영상의 압축을 위해 사용될 수 있다. 즉, 상기 전자장치는 생성된 메타 데이터를 이용하여 대상 영상을 압축할 수 있다. 상기 전자장치는 생성된 메타 데이터를 별도의 저장 영역에 대상 영상에 대응하여 기록될 수도 있다.According to one embodiment, to increase real-time compression efficiency, an electronic device may compress images captured through an external or internal camera using metadata. In this case, the electronic device may generate metadata corresponding to the captured image during image signal processing or image sensing. The generated metadata can be used to compress the target image. That is, the electronic device can compress the target image using the generated metadata. The electronic device may record the generated metadata corresponding to the target image in a separate storage area.

일 실시 예에 따르면, 시간 및/또는 리소스의 효율적인 사용을 위해, 전자장치는 외부 또는 내부 메모리에 저장된 영상을 메타 데이터를 이용하여 재압축할 수 있다. 상기 외부 또는 내부 메모리에 저장된 영상은 기존 또는 제안된 방식에 의해 압축이 이루어진 영상일 수 있다. 이런 경우, 상기 전자장치는 미리 설정된 대기상태에서 재압축을 수행하는 것이 바람직할 수 있다. 상기 대기상태는 전자장치가 다른 동작에 최소한의 영향을 미치면서 재압축을 수행할 수 있는 상태일 수 있다. 예컨대, 상기 대기상태는 디스플레이의 오프 상태 또는 충전 상태 또는 디스플레이가 오프되어 충전 중인 상태 등이 될 수 있다.According to one embodiment, for efficient use of time and/or resources, an electronic device may recompress images stored in external or internal memory using metadata. The image stored in the external or internal memory may be an image compressed using an existing or proposed method. In this case, it may be desirable for the electronic device to perform recompression in a preset standby state. The standby state may be a state in which the electronic device can perform recompression with minimal impact on other operations. For example, the standby state may be a display off state or a charging state, or a display off state and a charging state.

상기 전자장치는, 예를 들어, 메모리에 저장된 압축 영상을 복원하고, 상기 복원한 영상을 상기 압축 영상에 대응한 메타 데이터를 이용하여 재압축할 수 있다. 상기 압축 영상에 대응한 메타 데이터는 실시간으로 생성되거나 사전에 생성되어 저장될 수도 있다. 상기 재압축 시, 상기 전자장치는 사용자의 주관 화질을 유지하거나 객관 화질 (PSNR (peak signal to noise ratio), SSIM (structural similarity index))을 일정 이상 유지하면서 GOP (group of picture) 단위로 대상 영상에 대한 재압축을 수행할 수 있다. 상기 전자장치는 재압축이 이루어진 압축 영상을 메모리에 저장된 기존 영상을 대신하여 저장할 수 있다. 여기서 상기 PSNR은 서로 다른 두 영상에 대한 차이를 수치나 단위, 정량적으로 인지할 수 있도록 하는 숫자 등을 사용하여 나타낼 수 있는 값일 수 있다. 상기 SSIM은 구조적 유사 지수를 의미한다. 예컨대, 상기 SSIM은 압축 및 변환 등에 의해 발생하는 왜곡에 대하여 원본 영상에 대한 유사도를 측정하는 방법으로써, MSE (mean square error) 또는 PSNR을 이용하는 방법보다 더 정확한 비교가 가능할 수 있다.For example, the electronic device may restore a compressed image stored in a memory and recompress the restored image using metadata corresponding to the compressed image. Metadata corresponding to the compressed video may be created in real time or may be created and stored in advance. During the recompression, the electronic device stores the target image in units of GOP (group of picture) while maintaining the user's subjective image quality or objective image quality (PSNR (peak signal to noise ratio), SSIM (structural similarity index)) above a certain level. Recompression can be performed. The electronic device can store the recompressed compressed image instead of the existing image stored in the memory. Here, the PSNR may be a value that can be expressed using numbers, units, or numbers that enable quantitative recognition of the difference between two different images. The SSIM means structural similarity index. For example, the SSIM is a method of measuring similarity to the original image with respect to distortion caused by compression and transformation, and may enable more accurate comparison than methods using MSE (mean square error) or PSNR.

일 실시 예에 따르면, 전자장치는 미리 설정된 대기상태에서 외부 전자장치의 도움을 받아 대상 영상을 압축 또는 재압축할 수 있다. 이를 위해, 상기 전자장치는 대상 영상과, 상기 대상 영상에 대응한 메타 데이터를 상기 외부 전자장치로 제공할 수 있다. 상기 전자장치는 상기 외부 전자장치로부터 메타 데이터를 이용하여 압축 또는 재압축이 이루어진 압축 영상을 받을 수 있다. 상기 전자장치는 상기 외부 전자장치로부터 받은 압축 영상을 지정된 저장 영역에 기록하거나 메모리에 저장된 기존 영상을 대신하여 저장할 수 있다.According to one embodiment, the electronic device may compress or recompress the target image with the help of an external electronic device in a preset standby state. To this end, the electronic device may provide the target image and metadata corresponding to the target image to the external electronic device. The electronic device can receive a compressed image that has been compressed or recompressed using metadata from the external electronic device. The electronic device can record compressed images received from the external electronic device in a designated storage area or store them instead of existing images stored in memory.

상기 대상 영상은 카메라에 의해 실시간으로 촬영된 영상이거나 메모리에 저장된 영상일 수 있다. 예컨대, 상기 메모리에 저장된 영상은 기존 또는 제안된 방식에 의해 압축이 이루어진 영상일 수 있다. The target image may be an image captured in real time by a camera or an image stored in memory. For example, the image stored in the memory may be an image compressed using an existing or proposed method.

상기 대기 상태는 전자장치가 다른 동작에 최소한의 영향을 미치면서 외부 전자장치와의 통신을 수행할 수 있는 상태일 수 있다. 예컨대, 상기 대기상태는 디스플레이가 오프되었으나 통신 가능한 상태 또는 충전 중에 디스플레이가 오프되었으나 통신 가능한 상태 등이 될 수 있다. The standby state may be a state in which an electronic device can communicate with an external electronic device with minimal influence on other operations. For example, the standby state may be a state in which the display is off but communication is possible, or a state in which the display is off but communication is possible during charging.

상기 외부 전자장치는 클라우드 서버 (cloud server), 홈 서버 (home server), 홈 호스트 컴퓨터 (home host computer), 퍼스널 컴퓨터 (personal computer) 등이 될 수 있다.The external electronic device may be a cloud server, home server, home host computer, personal computer, etc.

본 개시에서 제안된 다양한 실시 예에 따라 대상 영상을 압축하기 위해 참조하는 메타 데이터는 대상 영상이 가지는 속성 정보를 기반으로 생성할 수 있다. 예컨대, 상기 대상 영상의 속성 정보는, 상기 대상 영상에 대응하는 색상, 밝기, 노출 (exposure), 히스토그램 (histogram), 관심 영역, 선명도 (sharpness), 복잡도, 질감 (texture), 피부 색상 (skin tone), 비트레이트 정보, 심도 (depth), 또는 그 조합을 포함할 수 있다.According to various embodiments proposed in this disclosure, metadata referenced to compress the target image may be generated based on attribute information of the target image. For example, the attribute information of the target image includes color, brightness, exposure, histogram, region of interest, sharpness, complexity, texture, and skin tone corresponding to the target image. ), bitrate information, depth, or a combination thereof.

이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자장치가 설명된다. 본 개시에서, 사용자라는 용어는 전자장치를 사용하는 사람 또는 전자장치를 사용하는 장치 (예: 인공지능 전자장치)를 지칭할 수 있다. Hereinafter, electronic devices according to various embodiments will be described with reference to the accompanying drawings. In this disclosure, the term user may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using an electronic device.

도 1은 본 개시에서 제안된 다양한 실시 예에 따른 네트워크 환경(100)의 일 예를 도시한 도면이다.FIG. 1 is a diagram illustrating an example of a network environment 100 according to various embodiments proposed in the present disclosure.

도 1을 참조하면, 네트워크 환경(100) 내의 전자장치(101)는 버스(110), 프로세서(120), 메모리(130), 영상 처리 모듈(140), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시 예에서는, 전자장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가로 구비할 수 있다. Referring to FIG. 1, the electronic device 101 in the network environment 100 includes a bus 110, a processor 120, a memory 130, an image processing module 140, an input/output interface 150, and a display 160. , and may include a communication interface 170. In some embodiments, the electronic device 101 may omit at least one of the components or may additionally include another component.

버스(110)는, 예를 들면, 구성요소들(120-170)을 서로 연결하고, 구성요소들(120-170) 간의 통신 (예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.Bus 110 may include, for example, circuitry that connects components 120-170 to each other and carries communications (e.g., control messages and/or data) between components 120-170. You can.

프로세서(120)는, 중앙처리장치 (central processing unit (CPU)), 어플리케이션 프로세서 (application processor (AP)), 커뮤니케이션 프로세서 (communication processor (CP)), 또는 이미지 신호 프로세서 (image signal processor (ISP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자장치(101)의 적어도 하나의 다른 구성요소들의 제어, 이미지 신호 처리 (image signal processing) 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. The processor 120 may be a central processing unit (CPU), an application processor (AP), a communication processor (CP), or an image signal processor (ISP). It may include one or more of the following. The processor 120 may, for example, perform operations or data processing related to control, image signal processing, and/or communication of at least one other component of the electronic device 101.

상기 ISP가 프로세서(120)에 포함되는 경우, 상기 프로세서(120)는 대상 영상을 획득하고, 상기 획득한 대상 영상의 속성 정보에 대응하는 메타 데이터를 생성하며, 상기 생성한 메타 데이터에 적어도 기반하여 상기 대상 영상을 압축하거나 재압축하도록 설정될 수 있다. 상기 프로세서(120)는 메타 데이터를 적어도 기반으로 하여 대상 영상을 압축 또는 재압축할 방법을 결정할 수 있다.When the ISP is included in the processor 120, the processor 120 acquires a target image, generates metadata corresponding to attribute information of the acquired target image, and at least based on the generated metadata. It may be set to compress or recompress the target image. The processor 120 may determine a method to compress or recompress the target image based at least on metadata.

상기 프로세서(120)는 메모리(130) 또는 기능적으로 연결된 카메라를 이용하여 대상 영상을 획득할 수 있다. 그 외에 상기 프로세서(120)는 스트리밍 서비스를 통해 대상 영상을 획득할 수도 있다. 상기 스트리밍 서비스는 통신 인터페이스(170)를 통해 외부 전자장치(102, 104) 또는 서버(106)로부터 영상 데이터를 받는 서비스를 포함할 수 있다.The processor 120 may acquire a target image using the memory 130 or a functionally connected camera. In addition, the processor 120 may acquire the target image through a streaming service. The streaming service may include a service that receives video data from the external electronic devices 102 and 104 or the server 106 through the communication interface 170.

상기 프로세서(120)는 상기 획득한 대상 영상의 속성 정보를 이용하여 메타 데이터를 생성할 수 있다. 상기 획득한 대상 영상의 속성 정보는, 상기 대상 영상에 대응하는 색상, 밝기, 노출 (exposure), 히스토그램 (histogram), 관심 영역, 선명도 (sharpness), 복잡도, 질감 (texture), 피부 색상 (skin tone), 비트레이트 정보, 심도 (depth), 또는 그 조합을 포함할 수 있다.The processor 120 may generate metadata using attribute information of the acquired target image. The attribute information of the acquired target image includes color, brightness, exposure, histogram, region of interest, sharpness, complexity, texture, and skin tone corresponding to the target image. ), bitrate information, depth, or a combination thereof.

일 실시 예에 따르면, 상기 프로세서(120)는 실시간 비디오 압축 시에 압축 효율을 높이기 위해서, 압축 전에 ISP (또는 이미지 센서 등)에서 생성된 메타 데이터를 영상 압축 시에 활용할 수 있다.According to one embodiment, in order to increase compression efficiency during real-time video compression, the processor 120 may utilize metadata generated by an ISP (or image sensor, etc.) before compression when compressing video.

일 실시 예에 따르면, 상기 프로세서(120)는 압축된 비디오 스트림을 효율적으로 만들기 위해, 사용자의 주관 화질을 유지하거나 객관 화질 (PSNR, SSIM) 을 일정 이상 유지하면서 대상 영상에 대한 재압축을 수행할 수 있다. 이 경우, 영상 압축 이전에 수행되는 이미지 신호 처리 과정에서 얻어진 메타 데이터 (rate control, mode decision, texture 정보 등)를 이용하면, 비디오 압축 효율을 향상시킬 수 있다.According to one embodiment, in order to efficiently create a compressed video stream, the processor 120 performs recompression of the target image while maintaining the user's subjective image quality or objective image quality (PSNR, SSIM) above a certain level. You can. In this case, video compression efficiency can be improved by using metadata (rate control, mode decision, texture information, etc.) obtained during image signal processing performed before video compression.

상기 프로세서(120)는 대상 영상을 획득하는 동작과 메타 데이터를 생성하는 동작을 병렬로 수행할 수 있다. 상기 프로세서(120)는 대상 영상을 압축하기 이전에 전자장치(101)에 대한 상태 정보를 확인하고, 상기 확인한 상태 정보가 지정된 조건을 만족하는지를 판단할 수 있다. 즉, 상기 프로세서(120)는 전자장치(101)에 대한 상태 정보가 지정된 조건을 만족하는 경우에 한하여 대상 영상을 압축하는 동작을 수행할 수 있다. 예컨대, 상기 상태 정보는 메모리(130)의 잔량, 이미지 신호의 처리 성능, 처리 가능한 이미지 신호의 데이터 량, 전자장치(101)의 충전 상태, 전자장치(101)와 연결된 외부 전자장치, 또는 그 조합을 포함할 수 있다.The processor 120 may perform operations of acquiring a target image and generating metadata in parallel. The processor 120 may check status information about the electronic device 101 before compressing the target image and determine whether the confirmed status information satisfies a specified condition. That is, the processor 120 can perform an operation of compressing the target image only when the status information about the electronic device 101 satisfies specified conditions. For example, the status information may include the remaining amount of memory 130, image signal processing performance, data amount of image signals that can be processed, charging status of the electronic device 101, external electronic device connected to the electronic device 101, or a combination thereof. may include.

상기 프로세서(120)는, 예를 들면, 상태 정보에 포함된 메모리 잔량 정보를 기반으로 메모리 잔량이 지정된 범위에 속하는지를 판단하고, 상기 메모리 잔량이 지정된 범위에 속할 시에 한하여 대상 영상을 압축할 수 있다.For example, the processor 120 determines whether the remaining memory amount is within a specified range based on the remaining memory amount information included in the status information, and compresses the target image only when the remaining memory amount falls within the specified range. there is.

상기 프로세서(120)는, 예를 들면, 대상 영상을 압축하는 동작의 적어도 일부로, 상기 대상 영상의 적어도 일부 구간에 대한 해상도, 영상 비트 레이트, 영상 비트 깊이, 영상 프레임 레이트, 영상 컬러 스페이스, 음성 비트 레이트, 음성 비트 깊이, 음성 샘플 레이트 중 적어도 하나를 변경하고, 상기 변경에 따른 정보를 적어도 기반으로 하여 상기 적어도 일부 구간에 대한 압축률을 결정하도록 설정될 수 있다.For example, as at least part of the operation of compressing the target image, the processor 120 may configure the resolution, image bit rate, image bit depth, image frame rate, image color space, and audio bit for at least a portion of the target image. It may be set to change at least one of the rate, voice bit depth, and voice sample rate, and determine the compression rate for at least some sections based on at least information according to the change.

예컨대, 프로세서(120)는 대상 영상의 제 1 구간을 제 1 방법 (scheme)으로 압축하도록 설정하고, 상기 대상 영상의 제 2 구간을 제 2 방법으로 압축하도록 설정할 수 있다. 이런 경우, 상기 프로세서(120)는 제 1 구간에 대응하는 제 1 메타 데이터와 제 2 구간에 대응한 제 2 메타 데이터에 의해 메타 데이터를 생성할 수 있다. 상기 프로세서(120)는 제 1 메타 데이터를 제 1 방법을 참조하여 생성하고, 제 2 메타 데이터를 제 2 방법을 참조하여 생성할 수 있다.For example, the processor 120 may be set to compress the first section of the target image using a first method (scheme), and may be set to compress the second section of the target image using the second method. In this case, the processor 120 may generate metadata using first metadata corresponding to the first section and second metadata corresponding to the second section. The processor 120 may generate first metadata with reference to a first method and generate second metadata with reference to a second method.

상기 프로세서(120)는 대상 영상을 압축하는 동작의 적어도 일부로, 제 1 구간 또는 제 2 구간의 압축 결과가 미리 설정된 영상 품질을 만족하도록, 제 1 방법 또는 제 2 방법을 결정할 수 있다. 예컨대, 상기 프로세서(120)는 대상 영상의 적어도 일부 구간 중 관심 영역 (region of interest)이 포함된 구간을 확인하고, 상기 확인한 관심 영역이 포함된 구간에 지정된 수준의 비트 레이트를 이용하여 상기 대상 영상을 압축하는 방법을 결정할 수 있다.As at least part of the operation of compressing the target image, the processor 120 may determine a first method or a second method so that the compression result of the first section or the second section satisfies a preset image quality. For example, the processor 120 identifies a section containing a region of interest among at least some sections of the target image, and converts the target image using a bit rate at a level specified for the section containing the identified region of interest. You can decide how to compress.

메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(180)을 저장할 수 있다. 프로그램(180)은, 예를 들면, 커널(181), 미들웨어(183), 어플리케이션 프로그래밍 인터페이스 (application programming interface (API))(185), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(187) 등을 포함할 수 있다. 커널(181), 미들웨어(183), 또는 API(185)의 적어도 일부는, 운영 시스템 (operating system (OS))으로 지칭될 수 있다.Memory 130 may include volatile and/or non-volatile memory. For example, the memory 130 may store commands or data related to at least one other component of the electronic device 101. According to one embodiment, memory 130 may store software and/or program 180. The program 180 may include, for example, a kernel 181, a middleware 183, an application programming interface (API) 185, and/or an application program (or “application”) 187, etc. may include. At least a portion of the kernel 181, middleware 183, or API 185 may be referred to as an operating system (OS).

일 실시 예에 따르면, 메모리(130)는 상기 프로세서(120)에 의해 지정된 영역에 메타 데이터 및/또는 압축 또는 압축되지 않은 영상 데이터를 저장할 수 있다. 예컨대, 상기 메모리(130)는 대상 영상의 적어도 일부로 메타 데이터를 저장할 수 있다.According to one embodiment, the memory 130 may store metadata and/or compressed or uncompressed image data in an area designated by the processor 120. For example, the memory 130 may store metadata as at least part of the target image.

상기 메모리(130)는 상기 프로세서(120)의 요청에 응답하여 지정된 영역에 저장된 영상 및/또는 메타 데이터를 읽고, 이를 상기 프로세서(120)로 제공할 수 있다. 상기 메모리(130)는 상기 프로세서(120)에 의해 재압축된 영상을 기존에 기록된 영상을 대신하여 기록할 수도 있다.The memory 130 may read images and/or metadata stored in a designated area in response to a request from the processor 120 and provide them to the processor 120. The memory 130 may record images recompressed by the processor 120 instead of previously recorded images.

상기 전자장치(101)는 프로세서(120)가 ISP를 포함하지 않을 경우, 영상 처리 모듈(140)을 별도로 구비할 수도 있다. 이런 경우, 상기 영상 처리 모듈(140)은 상기 프로세서(120)에 의한 이미지 신호 처리 동작을 대신하여 수행할 수 있다.If the processor 120 does not include an ISP, the electronic device 101 may be separately equipped with an image processing module 140. In this case, the image processing module 140 may perform the image signal processing operation on behalf of the processor 120.

도 1에서는 영상 처리 모듈(140)을 프로세서(120) 및 메모리(130)와 독립된 구성으로 나타내고 있지만, 다양한 실시 예들은 이에 한정되지 않는다. 영상 처리 모듈(140)은, 예를 들면, 프로세서(120)와 통합되어 (integrated with) 구현될 수 있고, 메모리(130)에 소프트웨어 형태로 저장되어 프로세서(120)에서 실행될 수 있는 형태로 구현될 수 있다. 또한, 영상 처리 모듈(140)은, 예를 들면, 프로세서(120) 및 메모리(130)에 분산되어 구현될 수 있다. 이런 경우, 이미지 신호 처리를 위한 메타 데이터를 생성하는 동작을 영상 처리 모듈(140)이 수행하도록 하고, 상기 생성된 메타 데이터에 적어도 기반하여 대상 영상을 압축하는 동작을 프로세서(120)가 수행하도록 구현할 수 있다.In FIG. 1, the image processing module 140 is shown as a component independent of the processor 120 and the memory 130, but various embodiments are not limited thereto. For example, the image processing module 140 may be implemented integrated with the processor 120, and may be stored in the memory 130 in software form and implemented in a form that can be executed on the processor 120. You can. Additionally, the image processing module 140 may be implemented distributed over, for example, the processor 120 and the memory 130. In this case, the image processing module 140 may be implemented to perform an operation of generating metadata for image signal processing, and the processor 120 may be implemented to perform an operation of compressing the target image based at least on the generated metadata. You can.

커널(181)은, 예를 들면, 다른 프로그램들 (예: 미들웨어(183), API(185), 또는 어플리케이션 프로그램(187))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들 (예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(181)은 미들웨어(183), API(185), 또는 어플리케이션 프로그램(187)에서 전자장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. Kernel 181, for example, provides system resources (e.g., middleware 183, API 185, or application program 187) used to execute operations or functions implemented in other programs (e.g., : Bus 110, processor 120, or memory 130, etc.) can be controlled or managed. In addition, the kernel 181 provides an interface for controlling or managing system resources by accessing individual components of the electronic device 101 in the middleware 183, API 185, or application program 187. You can.

미들웨어(183)는, 예를 들면, API(185) 또는 어플리케이션 프로그램(187)이 커널(181)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. The middleware 183 may, for example, perform an intermediary role so that the API 185 or the application program 187 can communicate with the kernel 181 to exchange data.

또한, 미들웨어(183)는 어플리케이션 프로그램(187)으로부터 수신된 하나 이상의 작업 요청을 우선순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(183)는 어플리케이션 프로그램(187) 중 적어도 하나에 전자장치(101)의 시스템 리소스 (예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선순위를 부여할 수 있다. 예컨대, 미들웨어(183)는 적어도 하나의 어플리케이션 프로그램에 부여된 우선순위에 따라 하나 이상의 작업 요청을 처리함으로써, 상기 하나 이상의 작업 요청에 대응한 스케줄링 또는 로드 밸런싱 등을 수행할 수 있다.Additionally, the middleware 183 may process one or more work requests received from the application program 187 according to priority. For example, the middleware 183 may use system resources (e.g., bus 110, processor 120, or memory 130, etc.) of the electronic device 101 for at least one of the application programs 187. Priority can be given. For example, the middleware 183 may process one or more work requests according to the priority given to at least one application program, thereby performing scheduling or load balancing in response to the one or more work requests.

API(185)는, 예를 들면, 어플리케이션 프로그램(187)이 커널(181) 또는 미들웨어(183)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. The API 185 is, for example, an interface for the application program 187 to control functions provided by the kernel 181 or middleware 183, such as file control, window control, image processing, or It may include at least one interface or function (e.g., command) for character control, etc.

입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자장치(101)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스(150)는 전자장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. 예컨대, 입출력 인터페이스(150)는 다수의 이미지 센서를 포함할 수 있다. 상기 입출력 인터페이스(150)에 포함된 다수의 이미지 센서는 서로 다른 특성이 있을 수 있다. 상기 입출력 인터페이스(150)는 다수의 이미지 센서에 의해 촬영된 이미지들을 버스(110)를 통해 영상 처리 모듈(140), 메모리(130), 디스플레이(160), 통신 인터페이스(170) 등으로 전달할 수 있다. 상기 촬영된 이미지들은 서로 다른 이미지 특성이 있을 수 있다. 이는 이미지 센서의 특성, 촬영을 위해 설정된 조건 등의 차이에 따른 것일 수 있다.For example, the input/output interface 150 may serve as an interface that can transmit commands or data input from a user or another external device to other component(s) of the electronic device 101. Additionally, the input/output interface 150 may output commands or data received from other component(s) of the electronic device 101 to the user or other external device. For example, the input/output interface 150 may include multiple image sensors. A plurality of image sensors included in the input/output interface 150 may have different characteristics. The input/output interface 150 can transmit images captured by a plurality of image sensors to the image processing module 140, memory 130, display 160, communication interface 170, etc. through the bus 110. . The captured images may have different image characteristics. This may be due to differences in the characteristics of the image sensor, conditions set for shooting, etc.

디스플레이(160)는, 예를 들면, 액정 디스플레이 (liquid crystal display(LCD)), 발광 다이오드 (light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드 (organic light-emitting diode (OLED)) 디스플레이, 또는 마이크로 전자기계 시스템 (micro electromechanical systems (MEMS)) 디스플레이, 또는 전자종이 (electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 각종 콘텐츠 (예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)를 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.Display 160 may be, for example, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display, or It may include a micro electromechanical systems (MEMS) display, or an electronic paper display. For example, the display 160 may display various contents (e.g., text, images, videos, icons, or symbols). The display 160 may include a touch screen and may receive, for example, a touch, gesture, proximity, or hovering input using an electronic pen or a part of the user's body.

통신 인터페이스(170)는, 예를 들면, 전자장치(101)와 외부 장치 (예: 제 1 외부 전자장치(102), 제 2 외부 전자장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치 (예: 제 2 외부 전자장치(104) 또는 서버(106))와 통신할 수 있다.The communication interface 170, for example, establishes communication between the electronic device 101 and an external device (e.g., the first external electronic device 102, the second external electronic device 104, or the server 106). You can. For example, the communication interface 170 may be connected to the network 162 through wireless or wired communication and communicate with an external device (eg, the second external electronic device 104 or the server 106).

무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE (long-term evolution), LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (wireless broadband), 또는 GSM (global system for mobile communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신(164)을 포함할 수 있다. 근거리 통신(164)은, 예를 들면, WiFi (wireless fidelity), 블루투스 (bluetooth), NFC (near field communication), MST (magnetic stripe transmission), 또는 지그비 (Zigbe) 등에서 적어도 하나를 포함할 수 있다. 무선 통신은 예들 들면, GPS (global positioning system), 또는 GNSS (global navigation satellite system)를 이용할 수 있다. 유선 통신은, 예를 들면, USB (universal serial bus), HDMI (high definition multimedia interface), RS-232 (recommended standard 232), 또는 POTS (plain old telephone service) 등에서 적어도 하나를 포함할 수 있다. 네트워크(162)는 통신 네트워크 (telecommunications network), 예를 들면, 컴퓨터 네트워크 (computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화망 (telephone network) 중 적어도 하나를 포함할 수 있다.Wireless communication is, for example, a cellular communication protocol, for example, LTE (long-term evolution), LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal) At least one of mobile telecommunications system), WiBro (wireless broadband), or GSM (global system for mobile communications) may be used. Additionally, wireless communication may include, for example, short-range communication 164. The short-range communication 164 may include at least one of, for example, WiFi (wireless fidelity), Bluetooth (bluetooth), near field communication (NFC), magnetic stripe transmission (MST), or Zigbe. Wireless communication may use, for example, a global positioning system (GPS) or a global navigation satellite system (GNSS). Wired communication may include at least one of, for example, universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard 232 (RS-232), or plain old telephone service (POTS). The network 162 may include at least one of a telecommunications network, for example, a computer network (eg, LAN or WAN), the Internet, or a telephone network.

일 실시 예에 따르면, 통신 인터페이스(170)는 프로세서(120)로부터의 제어에 응답하여 외부 전자장치(102, 104) 또는 서버(106)로 대상 영상의 압축을 요청할 수 있다. 이를 위해, 상기 통신 인터페이스(170)는 대상 영상 및/또는 상기 대상 영상에 대응한 메타 데이터를 상기 외부 전자장치로 제공할 수 있다. 상기 통신 인터페이스(170)는 외부 전자장치(102, 104) 또는 서버(106)로부터 제공되는 압축 영상을 수신하고, 상기 수신한 압축 영상을 상기 프로세서(120)로 전달할 수 있다.According to one embodiment, the communication interface 170 may request compression of the target image from the external electronic devices 102 and 104 or the server 106 in response to control from the processor 120. To this end, the communication interface 170 may provide the target image and/or metadata corresponding to the target image to the external electronic device. The communication interface 170 may receive compressed video provided from an external electronic device 102 or 104 or a server 106, and transmit the received compressed video to the processor 120.

제 1 및 제 2 외부 전자장치(102, 104) 각각은 전자장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 서버(106)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자장치 (예: 전자장치(102,104), 또는 서버(106))에서 실행될 수 있다. 한 실시 예에 따르면, 전자장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 추가로, 그와 연관된 적어도 일부 기능을 다른 장치 (예: 전자장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자장치 (예: 전자장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자장치(101)로 전달할 수 있다. 전자장치(101)는 수신된 결과를 그대로 또는 추가로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.Each of the first and second external electronic devices 102 and 104 may be of the same or different type as the electronic device 101. According to one embodiment, server 106 may include one or more groups of servers. According to various embodiments, all or part of the operations performed in the electronic device 101 may be executed in one or more electronic devices (eg, the electronic devices 102 and 104, or the server 106). According to one embodiment, when the electronic device 101 needs to perform a certain function or service automatically or upon request, the electronic device 101 additionally performs the function or service instead of executing the function or service on its own. At least some of the related functions may be requested from another device (eg, the electronic device 102 or 104, or the server 106). Another electronic device (e.g., electronic device 102, 104, or server 106) may execute the requested function or additional function and transmit the result to electronic device 101. The electronic device 101 may provide the requested function or service by processing the received result as is or additionally. For this purpose, for example, cloud computing, distributed computing, or client-server computing technologies may be used.

도 2는 본 개시에서 제안된 다양한 실시 예에 따른 전자장치(201)의 구성을 도시한 도면이다. FIG. 2 is a diagram illustrating the configuration of an electronic device 201 according to various embodiments proposed in the present disclosure.

도 2를 참조하면, 전자장치(201)는, 예를 들면, 도 1에 도시된 전자장치(101)의 전체 또는 일부를 포함할 수 있다. 전자장치(201)는 하나 이상의 프로세서 (예: AP (application processor))(210), 통신 모듈(220), 가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298)를 포함할 수 있다.Referring to FIG. 2, the electronic device 201 may include, for example, all or part of the electronic device 101 shown in FIG. 1. The electronic device 201 includes one or more processors (e.g., AP (application processor)) 210, a communication module 220, a subscriber identification module 224, a memory 230, a sensor module 240, and an input device 250. ), display 260, interface 270, audio module 280, camera module 291, power management module 295, battery 296, indicator 297, and motor 298. there is.

프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC (system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 프로세서(210)는 GPU (graphic processing unit) 및/또는 이미지 신호 프로세서 (image signal processor)를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들 (예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다.The processor 210, for example, can run an operating system or application program to control a number of hardware or software components connected to the processor 210, and can perform various data processing and calculations. The processor 210 may be implemented, for example, as a system on chip (SoC). According to one embodiment, the processor 210 may further include a graphic processing unit (GPU) and/or an image signal processor. The processor 210 may include at least some of the components shown in FIG. 2 (eg, the cellular module 221). The processor 210 may load commands or data received from at least one of the other components (eg, non-volatile memory) into the volatile memory, process them, and store various data in the non-volatile memory.

본 개시에서 제안된 다양한 실시 예에 따르면, 프로세서(210)는 도 1을 참조하여 설명된 프로세서(120) 및/또는 영상 처리 모듈(140)에 의해 수행되는 동작들이 모두 수행될 수 있도록 설정될 수 있다. 이에 대한 구체적인 설명은 도 1을 참조하여 이루어진 바와 동일하므로, 중복 설명은 생략하도록 한다.According to various embodiments proposed in the present disclosure, the processor 210 may be set to perform all operations performed by the processor 120 and/or the image processing module 140 described with reference to FIG. 1. there is. Since the detailed description for this is the same as that made with reference to FIG. 1, redundant description will be omitted.

통신 모듈(220)은, 도 1의 통신 인터페이스(170)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GPS 모듈(227), NFC 모듈(228) 및 RF (radio frequency) 모듈(229)을 포함할 수 있다.The communication module 220 may have the same or similar configuration as the communication interface 170 of FIG. 1. The communication module 220 includes, for example, a cellular module 221, a WiFi module 223, a Bluetooth module 225, a GPS module 227, an NFC module 228, and a radio frequency (RF) module 229. may include.

셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈 (예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 CP를 포함할 수 있다.For example, the cellular module 221 may provide voice calls, video calls, text services, or Internet services through a communication network. According to one embodiment, the cellular module 221 may use the subscriber identification module (eg, SIM card) 224 to distinguish and authenticate the electronic device 201 within the communication network. According to one embodiment, the cellular module 221 may perform at least some of the functions that the processor 210 can provide. According to one embodiment, the cellular module 221 may include a CP.

WiFi 모듈(223), 블루투스 모듈(225), GPS 모듈(227) 또는 NFC 모듈(228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GPS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부 (예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. Each of the WiFi module 223, Bluetooth module 225, GPS module 227, or NFC module 228 may include, for example, a processor for processing data transmitted and received through the corresponding module. According to some embodiments, at least some (e.g., two or more) of the cellular module 221, WiFi module 223, Bluetooth module 225, GPS module 227, or NFC module 228 are one integrated chip. (IC) or may be included within an IC package.

RF 모듈(229)은, 예를 들면, 통신 신호 (예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버 (transceiver), PAM (power amp module), 주파수 필터 (frequency filter), LNA (low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GPS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. For example, the RF module 229 may transmit and receive communication signals (eg, RF signals). The RF module 229 may include, for example, a transceiver, a power amp module (PAM), a frequency filter, a low noise amplifier (LNA), or an antenna. According to another embodiment, at least one of the cellular module 221, WiFi module 223, Bluetooth module 225, GPS module 227, or NFC module 228 transmits and receives RF signals through a separate RF module. You can.

일 실시 예에 따르면, 통신 모듈(220)은 도 1에서의 통신 인터페이스(170)에 의해 수행되는 동작이 동일하게 수행될 수 있도록 설정될 수 있다. 즉, 상기 통신 모듈(220)은 프로세서(210)로부터의 제어에 응답하여 외부 전자장치로 대상 영상의 압축을 요청할 수 있다. 이를 위해, 상기 통신 모듈(220)은 대상 영상 및/또는 상기 대상 영상에 대응한 메타 데이터를 상기 외부 전자장치로 제공할 수 있다. 상기 통신 모듈(220)은 외부 전자장치로부터 제공되는 압축 영상을 수신하고, 상기 수신한 압축 영상을 상기 프로세서(210)로 전달할 수 있다.According to one embodiment, the communication module 220 may be set to perform the same operations performed by the communication interface 170 in FIG. 1. That is, the communication module 220 may request compression of the target image from an external electronic device in response to control from the processor 210. To this end, the communication module 220 may provide the target image and/or metadata corresponding to the target image to the external electronic device. The communication module 220 may receive compressed video provided from an external electronic device and transmit the received compressed video to the processor 210.

가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM (embedded SIM)을 포함할 수 있으며, 고유한 식별 정보 (예: ICCID (integrated circuit card identifier)) 또는 가입자 정보 (예: IMSI (international mobile subscriber identity))를 포함할 수 있다. Subscriber identity module 224 may include, for example, a card and/or an embedded SIM that includes a subscriber identity module and may include unique identification information (e.g., an integrated circuit card identifier (ICCID)) or May include subscriber information (e.g. IMSI (international mobile subscriber identity)).

메모리(230) (예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 상기 메모리(230)는 상기 프로세서(210)의 제어에 응답하여 대상 영상 및/또는 상기 대상 영상에 대응한 메타 데이터를 지정된 영역에 기록할 수 있다. 상기 메모리(230)는 상기 프로세서(210)의 제어에 응답하여 특정 대상 영상 및/또는 상기 특정 대상 영상에 대응한 메타 데이터를 읽고, 상기 읽은 특정 대상 영상 및/또는 상기 특정 대상 영상에 대응한 메타 데이터를 상기 프로세서(210)로 제공할 수 있다.Memory 230 (eg, memory 130) may include, for example, internal memory 232 or external memory 234. The memory 230 may record the target image and/or metadata corresponding to the target image in a designated area in response to the control of the processor 210. The memory 230 reads a specific target image and/or metadata corresponding to the specific target image in response to the control of the processor 210, and reads the metadata corresponding to the read specific target image and/or the specific target image. Data may be provided to the processor 210.

내장 메모리(232)는, 예를 들면, 휘발성 메모리 (예: DRAM (dynamic RAM), SRAM (static RAM), 또는 SDRAM (synchronous dynamic RAM) 등), 비휘발성 메모리 (non-volatile Memory) (예: OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리 (예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브 (solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다. The built-in memory 232 may include, for example, volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (e.g., OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (e.g. NAND flash or NOR flash, etc.), It may include at least one of a hard drive or a solid state drive (SSD).

외장 메모리(234)는 플래시 드라이브 (flash drive), 예를 들면, CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card) 또는 메모리 스틱 (memory stick) 등을 더 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자장치(201)와 기능적 및/또는 물리적으로 연결될 수 있다.The external memory 234 may be a flash drive, for example, CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), or memory stick, etc. may be further included. The external memory 234 may be functionally and/or physically connected to the electronic device 201 through various interfaces.

센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러 센서(240H) (예: RGB (red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV (ultra violet) 센서(240M) 중에서 적어도 하나를 포함할 수 있다. 추가로 또는 대체로 (additionally or alternatively), 센서 모듈(240)은, 예를 들면, 후각 센서 (E-nose sensor), EMG 센서 (electromyography sensor), EEG 센서 (electroencephalogram sensor), ECG 센서 (electrocardiogram sensor), IR (infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서를 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서, 전자장치(201)는 프로세서(210)의 일부 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.For example, the sensor module 240 may measure a physical quantity or sense the operating state of the electronic device 201 and convert the measured or sensed information into an electrical signal. The sensor module 240 includes, for example, a gesture sensor 240A, a gyro sensor 240B, an atmospheric pressure sensor 240C, a magnetic sensor 240D, an acceleration sensor 240E, a grip sensor 240F, and a proximity sensor ( 240G), color sensor (240H) (e.g. RGB (red, green, blue) sensor), biometric sensor (240I), temperature/humidity sensor (240J), illuminance sensor (240K), or UV (ultra violet) sensor ( 240M) may include at least one. Additionally or alternatively, the sensor module 240 may include, for example, an olfactory sensor (E-nose sensor), an EMG sensor (electromyography sensor), an EEG sensor (electroencephalogram sensor), an ECG sensor (electrocardiogram sensor) , may include an IR (infrared) sensor, an iris sensor, and/or a fingerprint sensor. The sensor module 240 may further include a control circuit for controlling at least one sensor included therein. In some embodiments, the electronic device 201 further includes a processor configured to control the sensor module 240, either as part of the processor 210 or separately, so that the sensor module 240 is configured to control the sensor module 240 while the processor 210 is in a sleep state. The module 240 can be controlled.

입력 장치(250)는, 예를 들면, 터치 패널 (touch panel)(252), (디지털) 펜 센서 (pen sensor)(254), 키(256), 또는 초음파 (ultrasonic) 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어 (tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. The input device 250 may include, for example, a touch panel 252, a (digital) pen sensor 254, a key 256, or an ultrasonic input device 258. It can be included. The touch panel 252 may use at least one of, for example, a capacitive type, a resistive type, an infrared type, or an ultrasonic type. Additionally, the touch panel 252 may further include a control circuit. The touch panel 252 may further include a tactile layer to provide a tactile response to the user.

(디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트 (sheet)를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키 패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(288)를 통해, 입력 도구가 발생한 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.The (digital) pen sensor 254 may be, for example, part of a touch panel or may include a separate recognition sheet. Keys 256 may include, for example, physical buttons, optical keys, or key pads. The ultrasonic input device 258 can detect ultrasonic waves generated by the input tool through the microphone 288 and check data corresponding to the detected ultrasonic waves.

디스플레이(260)는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266)를 포함할 수 있다. Display 260 may include a panel 262, a holographic device 264, or a projector 266.

패널(262)은, 도 1의 디스플레이(160)와 동일 또는 유사한 구성을 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게 (flexible), 투명하게 (transparent), 또는 착용할 수 있게 (wearable) 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나의 모듈로 구성될 수도 있다. The panel 262 may include the same or similar configuration as the display 160 of FIG. 1 . The panel 262 may be implemented as flexible, transparent, or wearable, for example. The panel 262 may be composed of the touch panel 252 and one module.

한 실시 예에 따르면, 패널(262)은 적어도 하나의 센서를 포함할 수 있다. 예컨대, 패널(262)은 압력 센서 (또는 포스 센서 (interchangeably used hereinafter))를 포함할 수 있다. 상기 압력 센서는 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 센서일 수 있다. 상기 압력 센서는 상기 터치 패널(252)과 일체형으로 구현되거나, 또는 상기 터치 패널(252)과 별도로 하나 이상의 센서로 구현될 수도 있다.According to one embodiment, panel 262 may include at least one sensor. For example, panel 262 may include a pressure sensor (or force sensor (interchangeably used hereinafter)). The pressure sensor may be a sensor capable of measuring the intensity of pressure in response to a user's touch. The pressure sensor may be implemented integrally with the touch panel 252, or may be implemented as one or more sensors separately from the touch panel 252.

홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자장치(201)의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이(260)는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266)를 제어하기 위한 제어 회로를 더 포함할 수 있다. The hologram device 264 can display a three-dimensional image in the air using light interference. The projector 266 can display an image by projecting light onto the screen. The screen may be located, for example, inside or outside the electronic device 201. According to one embodiment, the display 260 may further include a control circuit for controlling the panel 262, the hologram device 264, or the projector 266.

인터페이스(270)는, 예를 들면, HDMI (high-definition multimedia interface)(272), USB (universal serial bus)(274), 광 인터페이스 (optical interface)(276), 또는 D-sub (D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가로 또는 대체로, 인터페이스(270)는, 예를 들면, MHL (mobile high-definition link) 인터페이스, SD (secure digital) 카드/MMC (multi-media card) 인터페이스, 또는 IrDA (infrared data association) 규격 인터페이스를 포함할 수 있다. The interface 270 is, for example, a high-definition multimedia interface (HDMI) 272, a universal serial bus (USB) 274, an optical interface 276, or a D-sub (D-subminiature). )(278). Interface 270 may be included in, for example, communication interface 170 shown in FIG. 1 . Additionally or alternatively, the interface 270 may be, for example, a mobile high-definition link (MHL) interface, a secure digital (SD) card/multi-media card (MMC) interface, or an infrared data association (IrDA) standard interface. may include.

오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(150)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. The audio module 280 can, for example, convert sound and electrical signals in two directions. At least some components of the audio module 280 may be included in, for example, the input/output interface 150 shown in FIG. 1 . The audio module 280 may process sound information input or output through, for example, a speaker 282, a receiver 284, an earphone 286, or a microphone 288.

카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서 (예: 전면 센서 또는 후면 센서), 렌즈, ISP (image signal processor), 또는 플래시 (flash) (예: LED 또는 xenon lamp 등) 등을 포함할 수 있다. 즉, 카메라 모듈(291)은 서로 다른 특성의 이미지 센서들을 포함할 수 있다. 상기 서로 다른 특성은 촬영된 이미지의 특성을 결정하는 요건으로써, 이미지의 종류 (흑백, 컬러 등), 해상도, 화각 등에 관한 특성이 될 수 있다.The camera module 291 is, for example, a device that can capture still images and moving images. According to one embodiment, the camera module 291 includes one or more image sensors (e.g., a front sensor or a rear sensor), a lens, and an image signal processor (ISP). , or a flash (e.g., LED or xenon lamp, etc.). That is, the camera module 291 may include image sensors with different characteristics. The different characteristics are requirements that determine the characteristics of the captured image, and may be characteristics related to the type of image (black and white, color, etc.), resolution, angle of view, etc.

전력 관리 모듈(295)은, 예를 들면, 전자장치(201)의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈(295)은 PMIC (power management integrated circuit), 충전 IC (charger integrated circuit), 또는 배터리(296) 또는 연료 게이지 (battery or fuel gauge) 등을 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 (rechargeable battery) 및/또는 태양 전지 (solar battery)를 포함할 수 있다. The power management module 295 may manage the power of the electronic device 201, for example. According to one embodiment, the power management module 295 may include a power management integrated circuit (PMIC), a charger integrated circuit (IC), a battery 296, or a fuel gauge. PMIC may have wired and/or wireless charging methods. The wireless charging method includes, for example, a magnetic resonance method, a magnetic induction method, or an electromagnetic wave method, and may further include an additional circuit for wireless charging, for example, a coil loop, a resonance circuit, or a rectifier. there is. The battery gauge may measure, for example, the remaining amount of the battery 296, voltage, current, or temperature during charging. Battery 296 may include, for example, a rechargeable battery and/or a solar battery.

인디케이터(297)는 전자장치(201) 또는 그 일부 (예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동 (vibration), 또는 햅틱 (haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자장치(201)는 모바일 TV 지원을 위한 처리 장치 (예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB (digital multimedia broadcasting), DVB (digital video broadcasting), 또는 미디어플로 (mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다. The indicator 297 may display a specific state of the electronic device 201 or a part thereof (e.g., the processor 210), for example, a booting state, a message state, or a charging state. The motor 298 can convert electrical signals into mechanical vibration and generate vibration or haptic effects. Although not shown, the electronic device 201 may include a processing unit (eg, GPU) to support mobile TV. A processing device for supporting mobile TV may process media data according to standards such as, for example, digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or mediaFloTM.

본 개시에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품 (component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자장치는 본 개시에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자장치의 구성요소들 중 일부를 결합하여 하나의 개체 (entity)를 구성함으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.Each of the components described in this disclosure may be composed of one or more components, and the names of the components may vary depending on the type of electronic device. In various embodiments, an electronic device may be configured to include at least one of the components described in this disclosure, some components may be omitted, or other additional components may be included. Additionally, by combining some of the components of an electronic device according to various embodiments to form a single entity, the functions of the corresponding components before being combined can be performed in the same manner.

도 3은 본 개시에서 제안된 다양한 실시 예에 따른 프로그램 모듈의 구성을 도시한 도면이다. Figure 3 is a diagram illustrating the configuration of a program module according to various embodiments proposed in the present disclosure.

도 3을 참조하면, 프로그램 모듈(310) (예: 프로그램(180))은 전자장치에 관련된 자원을 제어하는 운영 체제 (operating system(OS)) 및/또는 운영 체제에서 구동되는 다양한 어플리케이션 (예: 어플리케이션 프로그램(187))을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드 (android), iOS, 윈도우 (windows), 심비안 (symbian), 타이젠 (tizen), 또는 바다 (bada) 등이 될 수 있다.Referring to FIG. 3, the program module 310 (e.g., program 180) is an operating system (OS) that controls resources related to an electronic device and/or various applications (e.g., running on the operating system). It may include an application program (187). The operating system may be, for example, android, iOS, windows, symbian, tizen, or bada.

프로그램 모듈(310)은 커널(320), 미들웨어(330), 어플리케이션 프로그래밍 인터페이스 (application programming interface (API))(360), 및/또는 어플리케이션(370)을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자장치에 프리로드 (preload) 되거나, 외부 전자장치 (예: 전자장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.The program module 310 may include a kernel 320, middleware 330, an application programming interface (API) 360, and/or an application 370. At least a portion of the program module 310 may be preloaded into the electronic device or downloaded from an external electronic device (eg, the electronic devices 102 and 104, the server 106, etc.).

상기 프로그램 모듈(310)에 포함된 커널(320), 미들웨어(330), API(360) 및 어플리케이션 (370) 각각의 예로써, 도 1의 프로그램(180)에 포함된 커널(181), 미들웨어(183), API(185) 및 어플리케이션(187)이 될 수 있다.As examples of each of the kernel 320, middleware 330, API 360, and application 370 included in the program module 310, the kernel 181 and middleware ( 183), API (185), and application (187).

커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC (inter-process communication) 드라이버 등을 포함할 수 있다. The kernel 320 may include, for example, a system resource manager 321 and/or a device driver 323. The system resource manager 321 may control, allocate, or retrieve system resources. According to one embodiment, the system resource manager 321 may include a process management unit, a memory management unit, or a file system management unit. The device driver 323 may include, for example, a display driver, camera driver, Bluetooth driver, shared memory driver, USB driver, keypad driver, WiFi driver, audio driver, or IPC (inter-process communication) driver, etc. there is.

미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(330)는 런타임 라이브러리(335), 어플리케이션 매니저 (application manager)(341), 윈도우 매니저 (window manager)(342), 멀티미디어 매니저 (multimedia manager)(343), 리소스 매니저 (resource manager)(344), 파워 매니저 (power manager)(345), 데이터베이스 매니저 (database manager)(346), 패키지 매니저 (package manager)(347), 연결 매니저 (connectivity manager)(348), 통지 매니저 (notification manager)(349), 위치 매니저 (location manager)(350), 그래픽 매니저 (graphic manager)(351), 또는 보안 매니저 (security manager)(352) 중 적어도 하나를 포함할 수 있다.For example, the middleware 330 provides functions commonly required by the application 370 or provides various functions through the API 360 so that the application 370 can efficiently use limited system resources inside the electronic device. Functions may be provided as an application 370. According to one embodiment, the middleware 330 includes a runtime library 335, an application manager 341, a window manager 342, a multimedia manager 343, and a resource manager ( resource manager (344), power manager (345), database manager (346), package manager (347), connectivity manager (348), notification manager ( It may include at least one of a notification manager (349), a location manager (350), a graphic manager (351), or a security manager (352).

런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다. The runtime library 335 may include, for example, a library module used by a compiler to add new functions through a programming language while the application 370 is running. The runtime library 335 may perform functions such as input/output management, memory management, or arithmetic functions.

어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370) 중 적어도 하나의 어플리케이션의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다. The application manager 341 may, for example, manage the life cycle of at least one application among the applications 370 . The window manager 342 can manage GUI resources used on the screen. The multimedia manager 343 can identify the format required to play various media files and encode or decode the media file using a codec suitable for the format. The resource manager 344 may manage resources such as source code, memory, or storage space of at least one of the applications 370.

파워 매니저(345)는, 예를 들면, 바이오스 (BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(346)는 어플리케이션(370) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신 (update)을 관리할 수 있다. For example, the power manager 345 may operate in conjunction with a basic input/output system (BIOS) to manage batteries or power and provide power information necessary for the operation of electronic devices. The database manager 346 may create, search, or change a database to be used by at least one of the applications 370. The package manager 347 can manage the installation or update of applications distributed in the form of package files.

연결 매니저(348)는, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(349)는 도착 메시지, 약속, 근접성 알림 등의 사건 (event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(350)는 전자장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자장치가 전화 기능을 포함한 경우, 미들웨어(330)는 전자장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저 (telephony manager)를 더 포함할 수 있다. The connection manager 348 can manage wireless connections, such as WiFi or Bluetooth. The notification manager 349 can display or notify events such as arrival messages, appointments, and proximity notifications in a way that does not disturb the user. The location manager 350 can manage location information of the electronic device. The graphics manager 351 can manage graphic effects or user interfaces related thereto to be provided to the user. The security manager 352 can provide various security functions necessary for system security or user authentication. According to one embodiment, when the electronic device includes a phone function, the middleware 330 may further include a telephony manager for managing the voice or video call function of the electronic device.

미들웨어(330)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어(330)는 차별화된 기능을 제공하기 위해 운영 체제의 종류별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.Middleware 330 may include a middleware module that forms a combination of various functions of the above-described components. The middleware 330 may provide specialized modules for each type of operating system to provide differentiated functions. Additionally, the middleware 330 may dynamically delete some existing components or add new components.

API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼별로 두 개 이상의 API 셋을 제공할 수 있다.The API 360 is, for example, a set of API programming functions and may be provided in different configurations depending on the operating system. For example, in the case of Android or iOS, one API set can be provided for each platform, and in the case of Tizen, two or more API sets can be provided for each platform.

어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 또는 시계(384) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다. 상기 어플리케이션(370)은 건강관리 (health care) (예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공 (예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 어플리케이션을 포함할 수도 있다.The application 370 includes, for example, home 371, dialer 372, SMS/MMS (373), instant message (IM) 374, browser 375, camera 376, and alarm 377. , one or more applications that can perform functions such as contact 378, voice dial 379, email 380, calendar 381, media player 382, album 383, or clock 384. It can be included. The application 370 is an application that can perform functions such as health care (e.g., measuring exercise amount or blood sugar level) or providing environmental information (e.g., providing atmospheric pressure, humidity, or temperature information). It may also include .

한 실시 예에 따르면, 어플리케이션(370)은 전자장치 (예: 전자장치(101))와 외부 전자장치 사이의 정보 교환을 지원하는 어플리케이션 (이하, 설명의 편의상, "정보 교환 어플리케이션"이라 칭함)을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자장치에 특정 정보를 전달하기 위한 알림 전달 (notification relay) 어플리케이션, 또는 외부 전자장치를 관리하기 위한 장치 관리 (device management) 어플리케이션을 포함할 수 있다. According to one embodiment, the application 370 is an application that supports information exchange between an electronic device (e.g., the electronic device 101) and an external electronic device (hereinafter referred to as an “information exchange application” for convenience of explanation). It can be included. The information exchange application may include, for example, a notification relay application for delivering specific information to an external electronic device, or a device management application for managing an external electronic device.

예를 들면, 알림 전달 어플리케이션은 전자장치의 다른 어플리케이션 (예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자장치로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. For example, the notification delivery application may include a function to deliver notification information generated from another application of the electronic device (e.g., SMS/MMS application, email application, health management application, or environmental information application, etc.) to an external electronic device. there is. Additionally, the notification delivery application may, for example, receive notification information from an external electronic device and provide it to the user.

장치 관리 어플리케이션은, 예를 들면, 전자장치와 통신하는 외부 전자장치의 적어도 하나의 기능 (예: 외부 전자장치 자체 (또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기 (또는, 해상도) 조절), 외부 전자장치에서 동작하는 어플리케이션 또는 외부 전자장치에서 제공되는 서비스 (예: 통화 서비스 또는 메시지 서비스 등)를 관리 (예: 설치, 삭제, 또는 갱신)할 수 있다. The device management application may, for example, control at least one function of an external electronic device in communication with the electronic device, such as turning on/off the external electronic device itself (or some component part) or brightness of a display (or , resolution) adjustment), applications running on an external electronic device, or services provided by an external electronic device (e.g., call service or message service, etc.) can be managed (e.g., installation, deletion, or update).

한 실시 예에 따르면, 어플리케이션(370)은 외부 전자장치의 속성 정보에 따라 지정된 어플리케이션 (예: 모바일 의료 기기의 건강관리 어플리케이션 등)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(370)은 외부 전자장치로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(370)은 프리로드 어플리케이션 (preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션 (third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈(310)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다. According to one embodiment, the application 370 may include an application designated according to attribute information of an external electronic device (eg, a health care application for a mobile medical device, etc.). According to one embodiment, the application 370 may include an application received from an external electronic device. According to one embodiment, the application 370 may include a preloaded application or a third party application that can be downloaded from a server. The names of components of the program module 310 according to the illustrated embodiment may vary depending on the type of operating system.

다양한 실시 예에 따르면, 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(310)의 적어도 일부는, 예를 들면, 프로세서 (예: 프로세서(210))에 의해 구현 (implement)(예: 실행)될 수 있다. 프로그램 모듈(310)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.According to various embodiments, at least a portion of the program module 310 may be implemented as software, firmware, hardware, or a combination of at least two or more thereof. At least a portion of the program module 310 may be implemented (eg, executed) by, for example, a processor (eg, the processor 210). At least a portion of the program module 310 may include, for example, modules, programs, routines, sets of instructions, or processes for performing one or more functions.

본 개시에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어 (firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위를 의미할 수 있다. "모듈"은, 예를 들면, 유닛, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 바꾸어 사용 (interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC (application-specific integrated circuit) 칩, FPGAs (field-programmable gate arrays) 또는 프로그램 가능 논리 장치 (programmable-logic device) 중 적어도 하나를 포함할 수 있다. The term “module” used in this disclosure may mean, for example, a unit including one or a combination of two or more of hardware, software, or firmware. “Module” may be used interchangeably with terms such as unit, logic, logic block, component, or circuit, for example. A “module” may be the smallest unit of integrated parts or a part thereof. “Module” may be the minimum unit or part of one or more functions. A “module” may be implemented mechanically or electronically. For example, a “module” is an application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs), or programmable-logic device, known or to be developed, that performs certain operations. It can contain at least one.

다양한 실시 예에 따른 장치 (예: 모듈들 또는 그 기능들) 또는 방법 (예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체 (computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서 (예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)가 될 수 있다. At least a portion of the device (e.g., modules or functions thereof) or method (e.g., operations) according to various embodiments may be stored in, for example, a computer-readable storage media in the form of a program module. It can be implemented with instructions stored in . When the instruction is executed by a processor (eg, processor 120), the one or more processors may perform the function corresponding to the instruction. The computer-readable storage medium may be, for example, memory 130.

컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CD-ROM(compact disc read only memory), DVD (digital versatile disc), 자기-광 매체 (magneto-optical media)(예: 플롭티컬 디스크 (floptical disk)), 하드웨어 장치 (예: ROM(read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.Computer-readable recording media include hard disks, floppy disks, magnetic media (e.g. magnetic tape), optical media (e.g. CD-ROM (compact disc read only memory), DVD (e.g. digital versatile disc, magneto-optical media (e.g., floptical disk), hardware devices (e.g., read only memory (ROM), random access memory (RAM), or flash memory, etc. ), etc. In addition, program instructions may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc. The above-described hardware devices include a variety of It may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱 (heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. 그리고 본 개시에 개시된 실시 예는 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.A module or program module according to various embodiments may include at least one of the above-described components, some of them may be omitted, or may further include other additional components. Operations performed by modules, program modules, or other components according to various embodiments may be executed sequentially, in parallel, iteratively, or in a heuristic manner. Additionally, some operations may be executed in a different order, omitted, or other operations may be added. Additionally, the embodiments disclosed in this disclosure are presented for explanation and understanding of technical content, and do not limit the scope of the technology described in this disclosure. Accordingly, the scope of the present disclosure should be construed as including all changes or various other embodiments based on the technical idea of the present disclosure.

도 4는 본 개시에서 제안된 다양한 실시 예에 따라 전자장치에서 이미지 압축을 위한 구성을 도시한 도면이다.FIG. 4 is a diagram illustrating a configuration for image compression in an electronic device according to various embodiments proposed in the present disclosure.

도 4를 참조하면, 전자장치는 이미지 압축을 위해 프로세서(410), 카메라 모듈(420), 및 메모리(430)를 포함할 수 있다. 상기 카메라 모듈(420)은 센서(422)와 ISP(424)를 포함할 수 있다.Referring to FIG. 4, the electronic device may include a processor 410, a camera module 420, and a memory 430 for image compression. The camera module 420 may include a sensor 422 and an ISP 424.

상기 프로세서(410)는 카메라 모듈(420) 또는 메모리(430)로부터 압축 또는 재압축을 수행할 대상 영상을 받을 수 있다. 상기 프로세서(410)는 압축 또는 재압축을 수행할 대상 영상을 미리 설정된 단위 (일 예로 GOP)로 받을 수 있다. 상기 프로세서(410)는 압축 또는 재압축을 수행할 대상 영상을 스트리밍 서비스를 기반으로 외부 전자장치 또는 외부 저장매체로부터 받을 수도 있다.The processor 410 may receive an image to be compressed or recompressed from the camera module 420 or the memory 430. The processor 410 may receive an image to be compressed or recompressed in a preset unit (for example, GOP). The processor 410 may receive an image to be compressed or recompressed from an external electronic device or external storage medium based on a streaming service.

상기 프로세서(410)는 메타 데이터를 적어도 기반으로 하여 상기 카메라 모듈(420)로부터 제공되는 대상 영상에 대해 실시간으로 압축을 수행할 수 있다. 상기 프로세서(410)는 상기 메모리(430)로부터 제공되는 대상 영상을 복원 후, 메타 데이터를 적어도 기반으로 하여 상기 복원한 대상 영상을 재압축할 수 있다. 상기 메타 데이터는 상기 카메라 모듈(420)로부터 제공되거나 메모리(430) 또는 외부 메모리 또는 외부 디바이스로부터 제공될 수 있다.The processor 410 may perform real-time compression on the target image provided from the camera module 420 based at least on metadata. The processor 410 may restore the target image provided from the memory 430 and then recompress the restored target image based on at least metadata. The metadata may be provided from the camera module 420, memory 430, external memory, or an external device.

일 실시 예에 따르면, 상기 프로세서(410)는 대상 영상을 압축하기 위해 고려할 메타 데이터를 상기 카메라 모듈(420)을 구성하는 센서(422) (일 예로 이미지 센서) 또는 ISP(424)로부터 획득하거나 상기 카메라 모듈(420)로부터 획득한 상기 대상 영상의 속성 정보를 사용하여 생성할 수도 있다. According to one embodiment, the processor 410 obtains metadata to be considered for compressing the target image from the sensor 422 (for example, an image sensor) or the ISP 424 constituting the camera module 420. It may also be generated using attribute information of the target image obtained from the camera module 420.

상기 프로세서(410)는 고정 비트 레이트 (CBR: constant bitrate) 방식 또는 가변 비트 레이트 (VBR: variable bitrate) 방식을 기반으로 대상 영상에 대한 실시간 압축을 수행할 수 있다. The processor 410 may perform real-time compression on the target image based on a constant bitrate (CBR) method or a variable bitrate (VBR) method.

상기 CBR 방식은 압축할 비트 스트림의 처음부터 끝까지 동일한 비트 레이트를 사용하여 압축을 수행하는 방식이다. 일반적으로 영상 압축 시에 CBR 방식이 적용되며, 이 경우 짧은 시간에 압축을 수행할 수 있으나, 움직임이 많은 영상을 압축할 경우 화질 저하가 발생할 수 있다. The CBR method is a method that performs compression using the same bit rate from the beginning to the end of the bit stream to be compressed. Generally, the CBR method is applied when compressing video, and in this case, compression can be performed in a short time, but when compressing video with a lot of movement, image quality may deteriorate.

상기 VBR 방식은 크게 세 가지 타입에 의한 압축을 지원한다. 예컨대, 평균 (average)/최대(max)/최소(min)로 구분할 수 있다. 일반적으로 평균 비트 레이트를 사용하여 압축을 수행하고, 움직임이 많으면 최대 비트 레이트를 사용하여 압축을 수행하며, 움직임이 적으면 최소 비트 레이트를 사용하여 압축을 수행할 수 있다. 즉, 상기 VBR 방식은 대상 영상 전체에 대해 개략적인 압축 (이하 '단순 VBR 압축'이라 칭함)을 수행하고, 그 후 추가로 상세 압축 (이하 '추가 VBR 압축'이라 칭함)을 다시 한번 수행할 수 있다.The VBR method largely supports three types of compression. For example, it can be divided into average/maximum/min. In general, compression can be performed using an average bit rate, if there is a lot of motion, compression can be performed using the maximum bit rate, and if there is little motion, compression can be performed using the minimum bit rate. In other words, the VBR method performs rough compression (hereinafter referred to as 'simple VBR compression') on the entire target image, and then performs additional detailed compression (hereinafter referred to as 'additional VBR compression') once again. there is.

따라서, VBR 방식이 CBR 방식에 비해, 상대적으로 작은 용량과 좋은 화질의 압축 영상을 생성할 수 있다. 하지만, VBR 방식이 CBR 방식에 비해 상대적으로 압축 작업이 복잡할 뿐만 아니라 상기 압축 작업을 위해 필요한 시간이 증가할 수 있다.Therefore, compared to the CBR method, the VBR method can generate compressed images with relatively small capacity and good image quality. However, not only is the compression operation of the VBR method relatively more complicated than the CBR method, but the time required for the compression operation may increase.

일 실시 예에 따르면, 상기 프로세서(410)는 메타 데이터를 적어도 기반으로 하여 CBR 방식에 따른 압축 또는 VBR 방식에 따른 단순 VBR 압축이 이루어진 압축 영상에 대한 재압축을 수행할 수 있다. 상기 프로세서(410)는 재압축을 위한 대상 압축 영상이 단순 VBR 압축에 의해 생성된 경우, 추가 VBR 압축에 의한 재압축을 수행할 수 있다. 이런 경우, VBR 방식에 의한 압축을 수행하더라도, 추가 VBR 압축을 대기상태에서 수행할 수 있으므로, VBR 방식의 적용으로 인한 소비 시간이 증가하는 문제를 해소할 수 있다.According to one embodiment, the processor 410 may perform recompression on a compressed image that has been compressed according to the CBR method or simple VBR compressed according to the VBR method, based at least on metadata. If the target compressed image for recompression is generated by simple VBR compression, the processor 410 may perform recompression by additional VBR compression. In this case, even if compression is performed using the VBR method, additional VBR compression can be performed in a standby state, thereby solving the problem of increased consumption time due to application of the VBR method.

상술한 바에 따르면, 상기 프로세서(410)는 압축 영상을 분석하여 재압축할 필요 없이 실시간 또는 미리 생성된 메타 데이터를 참조하여 영상을 압축하거나 재압축할 수 있도록 설정될 수 있다.According to the above, the processor 410 can be set to compress or recompress the image by referring to real-time or pre-generated metadata without the need to analyze and recompress the compressed image.

상기 프로세서(410)는 상기 획득한 대상 영상의 속성 정보를 이용하여 메타 데이터를 생성할 수 있다. 상기 획득한 대상 영상의 속성 정보는, 상기 대상 영상에 대응하는 색상, 밝기, 노출 (exposure), 히스토그램 (histogram), 관심 영역, 선명도 (sharpness), 복잡도, 질감 (texture), 피부 색상 (skin tone), 비트레이트 정보, 심도 (depth), 또는 그 조합을 포함할 수 있다.The processor 410 may generate metadata using attribute information of the acquired target image. The attribute information of the acquired target image includes color, brightness, exposure, histogram, region of interest, sharpness, complexity, texture, and skin tone corresponding to the target image. ), bitrate information, depth, or a combination thereof.

일 실시 예에 따르면, 상기 프로세서(410)는 실시간 비디오 압축 시에 압축 효율을 높이기 위해서, 압축 전에 상기 카메라 모듈(420)을 구성하는 센서(422) (이미지 센서 등) 또는 ISP(424)로부터 획득한 메타 데이터 또는 상기 메모리(430) 또는 외부 메모리 또는 외부 디바이스로부터 획득한 메타 데이터를 영상 압축 시에 활용할 수 있다.According to one embodiment, in order to increase compression efficiency when compressing real-time video, the processor 410 acquires data from the sensor 422 (image sensor, etc.) or the ISP 424 constituting the camera module 420 before compression. Metadata or metadata obtained from the memory 430 or an external memory or external device can be used when compressing an image.

일 실시 예에 따르면, 상기 프로세서(410)는 압축된 비디오 스트림을 효율적으로 만들기 위해, 사용자의 주관 화질을 유지하거나 객관 화질 (PSNR, SSIM)을 일정 이상 유지하면서 대상 영상을 재압축할 수 있다. 이 경우, 영상 압축 이전에 수행되는 이미지 신호 처리 과정에서 얻어진 메타 데이터 (rate control, mode decision, texture 정보 등)를 이용하면, 비디오 압축 효율을 향상시킬 수 있다.According to one embodiment, in order to efficiently create a compressed video stream, the processor 410 may recompress the target image while maintaining the user's subjective image quality or objective image quality (PSNR, SSIM) above a certain level. In this case, video compression efficiency can be improved by using metadata (rate control, mode decision, texture information, etc.) obtained during image signal processing performed before video compression.

상기 프로세서(410)는 대상 영상을 획득하는 동작과 메타 데이터를 생성하는 동작을 병렬로 수행할 수 있다. 이는 메타 데이터를 실시간으로 생성할 수 있도록 하기 위함이다. The processor 410 may perform operations of acquiring a target image and generating metadata in parallel. This is to enable metadata to be created in real time.

상기 프로세서(410)는 대상 영상을 압축하기 이전에 전자장치에 대한 상태 정보를 확인하고, 상기 확인한 상태 정보가 지정된 조건을 만족하는지를 판단할 수 있다. 이는 CBR 방식에 의한 압축 또는 단순 VBR 압축에 의해 획득한 압축 영상을 메타 데이터를 이용하여 추가 VBR 압축을 수행할지를 판단하기 위함이다. 상기 상태 정보는 추가 압축을 위해 트리거 (trigger)될 수 있다. The processor 410 may check status information about the electronic device before compressing the target image and determine whether the checked status information satisfies a specified condition. This is to determine whether to perform additional VBR compression using metadata on compressed images obtained by compression using the CBR method or simple VBR compression. The status information can be triggered for additional compression.

상기 프로세서(410)는, 예를 들면, 전자장치에 대한 상태 정보가 지정된 조건을 만족하는 경우에 한하여 대상 영상을 압축하는 동작을 수행할 수 있다. 상기 상태 정보는 메모리 잔량, 이미지 신호의 처리 성능, 처리 가능한 이미지 신호의 데이터 량, 전자장치의 충전 상태, 전자장치와 연결된 외부 전자장치, 또는 그 조합을 포함할 수 있다.For example, the processor 410 may perform an operation of compressing a target image only when status information about the electronic device satisfies specified conditions. The status information may include remaining memory capacity, image signal processing performance, data amount of image signals that can be processed, charging status of the electronic device, external electronic device connected to the electronic device, or a combination thereof.

상기 프로세서(410)는, 예를 들면, 상태 정보에 포함된 메모리 잔량 정보를 기반으로 메모리 잔량이 지정된 범위에 속하는지를 판단하고, 상기 메모리 잔량이 지정된 범위에 속할 시에 한하여 대상 영상을 압축할 수 있다.For example, the processor 410 determines whether the remaining memory amount falls within a specified range based on the remaining memory amount information included in the status information, and compresses the target image only when the remaining memory amount falls within the specified range. there is.

상기 프로세서(410)는 네트워크를 통해 연결된 서버 (클라우드 서버 등)를 인지하고, 상기 인지한 서버로 압축되지 않은 영상 또는 단순 압축 (CBR 방식에 의한 압축 또는 단순 VBR 압축)이 이루어진 압축 영상을 제공할 수 있다. 이런 경우, 단순 압축이 이루어진 압축 영상의 재압축은 서버에 의해 수행될 수 있다. 상기 프로세서(410)는 상기 서버로부터 재압축이 이루어진 압축 영상을 네트워크를 통해 제공받을 수 있다.The processor 410 recognizes a server (cloud server, etc.) connected through a network, and provides uncompressed video or compressed video with simple compression (CBR compression or simple VBR compression) to the recognized server. You can. In this case, recompression of the compressed video that has simply been compressed can be performed by the server. The processor 410 can receive the recompressed compressed video from the server through the network.

상기 프로세서(410)는 메모리(430)의 상황을 감시하고, 상기 감시를 통해 저장 영역이 부족한 것으로 판단될 시에 재압축 동작을 구동 (triggering)시킬 수 있다.The processor 410 monitors the status of the memory 430 and triggers a recompression operation when it is determined through the monitoring that the storage area is insufficient.

상기 프로세서(410)는, 예를 들면, 대상 영상을 압축하는 동작의 적어도 일부로, 상기 대상 영상의 적어도 일부 구간에 대한 해상도, 영상 비트 레이트, 영상 비트 깊이, 영상 프레임 레이트, 영상 컬러 스페이스, 음성 비트 레이트, 음성 비트 깊이, 음성 샘플 레이트 중 적어도 하나를 변경하고, 상기 변경에 따른 정보를 적어도 기반으로 하여 상기 적어도 일부 구간에 대한 압축률을 결정하도록 설정될 수 있다.For example, as at least part of the operation of compressing the target image, the processor 410 may configure the resolution, image bit rate, image bit depth, image frame rate, image color space, and audio bit for at least a portion of the target image. It may be set to change at least one of the rate, voice bit depth, and voice sample rate, and determine the compression rate for at least some sections based on at least information according to the change.

상기 프로세서(410)는 대상 영상을 제 1 구간과 제 2 구간으로 구분하고, 상기 구분이 이루어진 제 1 구간과 제 2 구간에 대해 상이한 압축률을 적용할 수 있다. The processor 410 may divide the target image into a first section and a second section and apply different compression rates to the divided first section and the second section.

이를 위해, 상기 프로세서(410)는 제 1 구간에 대해 제 1 방법 (scheme)으로 압축하도록 설정하고, 제 2 구간에 대해 제 2 방법으로 압축하도록 설정할 수 있다. 이 경우, 상기 프로세서(410)는 제 1 구간에 대응하는 제 1 메타 데이터와 제 2 구간에 대응한 제 2 메타 데이터에 의해 메타 데이터를 생성할 수 있다. 상기 프로세서(410)는 제 1 메타 데이터를 제 1 방법을 참조하여 생성하고, 제 2 메타 데이터를 제 2 방법을 참조하여 생성할 수 있다.To this end, the processor 410 can be set to compress the first section using a first method (scheme), and can be set to compress the second section using a second method. In this case, the processor 410 may generate metadata using first metadata corresponding to the first section and second metadata corresponding to the second section. The processor 410 may generate first metadata with reference to a first method and generate second metadata with reference to a second method.

상기 프로세서(410)는 대상 영상을 압축하는 동작의 적어도 일부로, 제 1 구간 또는 제 2 구간의 압축 결과가 미리 설정된 영상 품질을 만족하도록, 제 1 방법 또는 제 2 방법을 결정할 수 있다. 이는 제 1 구간과 제 2 구간에 대응한 압축 영상의 품질이 비슷한 수준으로 유지될 수 있도록 할 것이다. As at least part of the operation of compressing the target image, the processor 410 may determine a first method or a second method so that the compression result of the first section or the second section satisfies a preset image quality. This will ensure that the quality of the compressed video corresponding to the first section and the second section is maintained at a similar level.

상기 프로세서(410)는 대상 영상의 적어도 일부 구간 중 관심 영역 (region of interest)이 포함된 구간을 확인하고, 상기 확인한 관심 영역이 포함된 구간에 지정된 수준의 비트 레이트를 이용하여 상기 대상 영상을 압축하는 방법을 결정할 수 있다.The processor 410 identifies a section containing a region of interest among at least some sections of the target image, and compresses the target image using a bit rate at a level specified for the section containing the identified region of interest. You can decide how to do it.

메모리(430)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(430)는 상기 프로세서(410)에 의해 지정된 영역에 메타 데이터 및/또는 압축 또는 압축되지 않은 영상 데이터를 저장할 수 있다. 예컨대, 상기 메모리(430)는 대상 영상의 적어도 일부로 메타 데이터를 저장할 수 있다. 이때, 상기 메모리(430)에는 대상 영상의 전부 또는 일부가 저장될 수 있으며, 메타 데이터 또한 전부 또는 일부가 저장될 수 있다.Memory 430 may include volatile and/or non-volatile memory. The memory 430 may store metadata and/or compressed or uncompressed image data in an area designated by the processor 410. For example, the memory 430 may store metadata as at least part of the target image. At this time, all or part of the target image may be stored in the memory 430, and all or part of the metadata may also be stored in the memory 430.

상기 메모리(430)는 상기 프로세서(410)의 요청에 응답하여 지정된 영역에 저장된 영상 및/또는 메타 데이터를 읽고, 이를 상기 프로세서(410)로 제공할 수 있다. 상기 메모리(430)는 상기 프로세서(410)에 의해 재압축된 영상을 기존에 기록된 영상을 대신하여 기록할 수도 있다. 상기 메타 데이터는 상기 대상 영상의 일부로써 상기 메모리(430)에 기록될 수도 있다.The memory 430 may read images and/or metadata stored in a designated area in response to a request from the processor 410 and provide them to the processor 410. The memory 430 may record images recompressed by the processor 410 instead of previously recorded images. The metadata may be recorded in the memory 430 as part of the target image.

도 5는 본 개시에서 제안된 다양한 실시 예에 따라 전자장치에서 수행하는 제어 흐름을 도시한 도면이다.FIG. 5 is a diagram illustrating control flow performed by an electronic device according to various embodiments proposed in the present disclosure.

도 5를 참조하면, 전자장치는 510단계에서 소스 비트 스트림을 입력받을 수 있다. 상기 소스 비트 스트림은 압축 또는 재압축을 위한 대상 영상에 대응한 비트 스트림을 지시할 수 있다.Referring to FIG. 5, the electronic device can receive a source bit stream in step 510. The source bit stream may indicate a bit stream corresponding to the target image for compression or recompression.

일 실시 예에 따르면, 상기 소스 비트 스트림은 내부 또는 외부 카메라에 의해 촬영되어 이미지 센서를 통해 제공되거나 내부 또는 외부 메모리에 기록된 비트 스트림 중에서 선택되거나 스트리밍 서비스를 기반으로 네트워크를 통해 제공될 수 있다. 상기 소스 비트 스트림은 압축 또는 재압축을 위해 미리 설정된 단위 (일 예로 GOP)로 제공될 수 있다.According to one embodiment, the source bit stream may be captured by an internal or external camera and provided through an image sensor, selected from bit streams recorded in an internal or external memory, or provided through a network based on a streaming service. The source bit stream may be provided in preset units (eg, GOP) for compression or recompression.

상기 전자장치는 520단계에서 메타 데이터를 적어도 기반으로 하여 상기 소스 비트 스트림에 대한 압축 또는 재압축을 수행할 수 있다. 상기 압축은 실시간으로 이루어지는 압축으로써, CBR 방식에 의한 압축 또는 단순 VBR 압축에 해당할 수 있다.In step 520, the electronic device may compress or recompress the source bit stream based on at least metadata. The compression is performed in real time and may correspond to CBR compression or simple VBR compression.

일 실시 예에 따르면, 전자장치는 메타 데이터를 고려하여 카메라에 의해 촬영된 영상에 대한 실시간 압축을 수행할 수 있다. 예컨대, 메타 데이터는 카메라로부터 제공되는 소스 비트 스트림에 대한 이미지 신호 처리 시에 생성하거나 센서 (이미지 센서)에 의해 생성될 수도 있다. 상기 생성된 메타 데이터는 실시간 압축에 있어, 효율적인 사용을 위해 가공될 수도 있다. 상기 가공은 이미지 신호 처리 시에 수행되는 연산과 압축 시에 수행되는 연산 중 중복되는 연산을 배제하기 위해, 메타 데이터가 활용될 수 있다. 즉, 상기 전자장치는 압축을 위한 연산을 통해 획득한 정보 중에서 메타 데이터를 통해 획득할 수 있는 경우, 해당 연산을 생략할 수 있게 된다. 이는 결과적으로 압축 시의 연산량을 줄일 수 있도록 한다.According to one embodiment, an electronic device may perform real-time compression on an image captured by a camera by considering metadata. For example, metadata may be generated during image signal processing for a source bit stream provided from a camera or may be generated by a sensor (image sensor). The generated metadata may be processed for efficient use in real-time compression. The processing may utilize metadata to exclude overlapping operations among operations performed during image signal processing and operations performed during compression. That is, if the electronic device can obtain information through metadata among the information obtained through the compression operation, the corresponding operation can be omitted. As a result, the amount of computation during compression can be reduced.

상기 전자장치는 대상 영상을 획득하는 동작과 메타 데이터를 생성하는 동작을 병렬로 수행할 수 있다. 이는 메타 데이터를 실시간으로 생성할 수 있도록 하기 위함이다.The electronic device may perform an operation of acquiring a target image and an operation of generating metadata in parallel. This is to enable metadata to be created in real time.

또한, 상기 전자장치는 실시간 압축 시에 VBR 방식을 기반으로 비트 레이트를 제어함으로써, 압축된 영상의 화질을 유지할 수 있다.Additionally, the electronic device can maintain the image quality of the compressed video by controlling the bit rate based on the VBR method during real-time compression.

좀 더 구체적으로 설명하면, 전자장치는 소스 비트 스트림을 압축하기 위해 고려할 메타 데이터를 카메라 모듈을 구성하는 센서 (일 예로 이미지 센서)로부터 제공받거나 소스 비트 스트림의 속성 정보를 사용하여 생성할 수 있다.To be more specific, the electronic device may receive metadata to be considered for compressing the source bit stream from a sensor (for example, an image sensor) constituting the camera module, or may generate it using attribute information of the source bit stream.

상기 소스 비트 스트림의 속성 정보는, 상기 소스 비트 스트림에 대응하는 색상, 밝기, 노출 (exposure), 히스토그램 (histogram), 관심 영역, 선명도 (sharpness), 복잡도, 질감 (texture), 피부 색상 (skin tone), 비트레이트 정보, 심도 (depth), 또는 그 조합을 포함할 수 있다.The attribute information of the source bit stream includes color, brightness, exposure, histogram, region of interest, sharpness, complexity, texture, and skin tone corresponding to the source bit stream. ), bitrate information, depth, or a combination thereof.

상기 전자장치는 CBR 방식 또는 VBR 방식을 기반으로 소스 비트 스트림에 대한 실시간 압축을 수행할 수 있다. 이때, 상기 VBR 방식에 의한 실시간 압축은 단순 VBR 압축에 해당할 수 있다.The electronic device can perform real-time compression on the source bit stream based on the CBR method or VBR method. At this time, real-time compression using the VBR method may correspond to simple VBR compression.

일 실시 예에 따르면, 전자장치는 메타 데이터를 고려하여 메모리 또는 스트리밍 서비스를 통해 제공되는 압축 영상에 대한 재압축을 수행할 수 있다. 이때 상기 메타 데이터는 압축 시에 생성하여 미리 저장될 수 있다. 상기 재압축을 위해 상기 전자장치는 소스 비트 스트림에 대한 복원을 수행함으로써, 복원된 영상을 획득할 수 있다. According to one embodiment, the electronic device may perform recompression on compressed video provided through a memory or streaming service by considering metadata. At this time, the metadata may be created during compression and stored in advance. For the recompression, the electronic device can obtain a restored image by performing restoration on the source bit stream.

상기 전자장치는 복원된 영상의 화질 수준을 평가하고, 그 결과를 기반으로 상기 복원된 영상에 있어서 고화질 부호화 영역을 검출할 수 있다. 상기 전자장치는 복원된 영상에 대한 화질 측정을 통해 미리 설정된 기준 이상의 화질을 가지는 고화질 부호화 영역을 검출할 수 있다. 예컨대, 상기 전자장치는 PSNR 방식 또는 SSIM 방식을 기반으로 복원된 영상의 화질을 측정하고, 이를 기반으로 고화질 부호화 영역을 검출할 수 있다.The electronic device may evaluate the image quality level of the reconstructed image and detect a high-quality encoding area in the reconstructed image based on the result. The electronic device can detect a high-definition encoding area with image quality higher than a preset standard through image quality measurement on the restored image. For example, the electronic device can measure the image quality of the reconstructed image based on the PSNR method or the SSIM method and detect a high-quality encoding area based on this.

상기 전자장치는 상기 평가가 이루어진 복원된 영상의 화질 수준을 기반으로 상기 복원된 영상에 있어서 재압축할 대상 영역의 새로운 압축 조건을 설정할 수 있다. 예컨대, 상기 전자장치는 압축 조건으로 양자화 파라미터 (QP: quantization parameter)를 결정할 수 있다. 여기서 QP는 양자화 정도를 조정하기 위해 옵션으로 설정될 수 있는 수치를 나타낸다. 일 예로 상기 QP를 조절함으로써, 이미지의 화질을 조정할 수 있다.The electronic device may set new compression conditions for a target area to be recompressed in the restored image based on the image quality level of the reconstructed image for which the evaluation was made. For example, the electronic device may determine a quantization parameter (QP) as a compression condition. Here, QP represents a value that can be set as an option to adjust the degree of quantization. For example, by adjusting the QP, the quality of the image can be adjusted.

상기 전자장치는 새로 결정된 압축 조건 및 메타 데이터를 기반으로 소정 단위에 상응한 크기를 가지는 소스 비트 스트림, 즉 GOP 단위의 프레임 데이터 (복원된 영상)에 대한 재압축을 수행할 수 있다. 상기 전자장치는 GOP 단위의 전체 프레임 데이터에 대한 재압축이 완료될 때까지 화질 수신을 평가하고, 이를 기반으로 재압축할 영역의 새로운 압축 조건을 설정하며, 이를 기반으로 재압축을 수행하는 동작을 반복할 것이다.The electronic device may perform recompression on frame data (restored video) in a GOP unit, that is, a source bit stream with a size corresponding to a predetermined unit, based on the newly determined compression conditions and metadata. The electronic device evaluates image quality reception until recompression of the entire frame data in the GOP unit is completed, sets new compression conditions for the area to be recompressed based on this, and performs recompression based on this. will repeat

상기 전자장치는 GOP 단위의 프레임 데이터에 대한 재압축이 완료되면, 다음 재압축할 GOP 단위의 소스 비트 스트림이 존재하는지를 판단한다. 상기 전자장치는 재압축할 소스 비트 스트림이 존재한다면, 상술한 동작을 반복하여 해당 소스 비트 스트림에 대한 재압축을 수행할 수 있다.When recompression of frame data in GOP units is completed, the electronic device determines whether there is a source bit stream in GOP units to be next recompressed. If there is a source bit stream to be recompressed, the electronic device may perform recompression of the source bit stream by repeating the above-described operation.

상술한 바에 따르면, 상기 전자장치는 압축 영상을 분석하여 재압축할 필요 없이 실시간 또는 미리 생성된 메타 데이터를 참조하여 영상을 압축하거나 재압축할 수 있도록 설정될 수 있다.According to the above, the electronic device can be set to compress or recompress the video by referring to real-time or pre-generated metadata without the need to analyze and recompress the compressed video.

상술한 바를 정리하면, 전자장치는 Quality Assessment 단계에서 GOP 단위로 복원된 영상 및 이전에 복원된 영상들의 분석 결과를 통해 동영상의 화질 수준을 평가한다. 이때 PSNR과 같이 객관 화질을 유추하는 방식을 진행할 수 있다. 상기 평가 방법은 구현에 따라 상이할 수 있다. 상기 평가된 화질이 기준 화질보다 높을 경우, 조각 (slice) 혹은 블록 (block) 단위로 quantization parameter (QP)를 조절하여, 사용자 관점에서 과도한 정보를 제거함으로써, 압축에 따른 데이터 양을 줄일 수 있다.To summarize the above, in the Quality Assessment stage, the electronic device evaluates the image quality level of the video through the analysis results of the restored image and previously restored images in GOP units. At this time, a method of inferring objective image quality, such as PSNR, can be used. The evaluation method may differ depending on implementation. If the evaluated image quality is higher than the standard image quality, the amount of data due to compression can be reduced by adjusting the quantization parameter (QP) on a slice or block basis to remove excessive information from the user's perspective.

일 실시 예에 따르면, 전자장치는 압축된 비디오 스트림을 효율적으로 만들기 위해, 사용자의 주관 화질을 유지하거나 객관 화질 (PSNR, SSIM) 을 일정 이상 유지하면서 대상 영상에 대한 재압축을 수행할 수 있다. 이 경우, 영상 압축 이전에 수행되는 이미지 신호 처리 과정에서 얻어진 메타 데이터 (rate control, mode decision, texture 정보 등)를 이용하면, 비디오 압축 효율을 향상시킬 수 있다.According to one embodiment, in order to efficiently create a compressed video stream, the electronic device may perform recompression of the target image while maintaining the user's subjective image quality or objective image quality (PSNR, SSIM) above a certain level. In this case, video compression efficiency can be improved by using metadata (rate control, mode decision, texture information, etc.) obtained during image signal processing performed before video compression.

상기 전자장치는 대상 영상을 압축하기 이전에 전자장치에 대한 상태 정보를 확인하고, 상기 확인한 상태 정보가 지정된 조건을 만족하는지를 판단할 수 있다. 이는 CBR 방식에 의한 압축 또는 단순 VBR 압축에 의해 획득한 압축 영상을 메타 데이터를 이용하여 추가 VBR 압축을 수행할지를 판단하기 위함이다. 상기 상태 정보는 추가 압축을 위해 트리거 (trigger)될 수 있다. The electronic device may check state information about the electronic device before compressing the target image and determine whether the confirmed state information satisfies a specified condition. This is to determine whether to perform additional VBR compression using metadata on compressed images obtained by compression using the CBR method or simple VBR compression. The status information can be triggered for additional compression.

상기 전자장치는, 예를 들면, 전자장치에 대한 상태 정보가 지정된 조건을 만족하는 경우에 한하여 대상 영상을 압축하는 동작을 수행할 수 있다. 상기 상태 정보는 메모리 잔량, 이미지 신호의 처리 성능, 처리 가능한 이미지 신호의 데이터 량, 전자장치의 충전 상태, 전자장치와 연결된 외부 전자장치, 또는 그 조합을 포함할 수 있다.For example, the electronic device may perform an operation of compressing a target image only when state information about the electronic device satisfies a specified condition. The status information may include remaining memory capacity, image signal processing performance, data amount of image signals that can be processed, charging status of the electronic device, external electronic device connected to the electronic device, or a combination thereof.

상기 전자장치는, 예를 들면, 상태 정보에 포함된 메모리 잔량 정보를 기반으로 메모리 잔량이 지정된 범위에 속하는지를 판단하고, 상기 메모리 잔량이 지정된 범위에 속할 시에 한하여 대상 영상을 압축할 수 있다.For example, the electronic device may determine whether the remaining memory amount falls within a specified range based on the remaining memory amount information included in the status information, and compress the target image only when the remaining memory amount falls within the specified range.

상기 전자장치는 네트워크를 통해 연결된 서버 (클라우드 서버 등)를 인지하고, 상기 인지한 서버로 압축되지 않은 영상 또는 단순 압축 (CBR 방식에 의한 압축 또는 단순 VBR 압축)이 이루어진 압축 영상을 제공할 수 있다. 이런 경우, 단순 압축이 이루어진 압축 영상의 재압축은 서버에 의해 수행될 수 있다. 상기 전자장치는 상기 서버로부터 재압축이 이루어진 압축 영상을 네트워크를 통해 받을 수 있다.The electronic device recognizes a server (cloud server, etc.) connected through a network, and provides uncompressed video or compressed video with simple compression (CBR compression or simple VBR compression) to the recognized server. . In this case, recompression of the compressed video that has simply been compressed can be performed by the server. The electronic device can receive the recompressed compressed video from the server through the network.

상기 전자장치는 메모리의 상황을 감시하고, 상기 감시를 통해 저장 영역이 부족한 것으로 판단될 시에 재압축 동작을 구동 (triggering)시킬 수 있다.The electronic device monitors the memory status and triggers a recompression operation when it is determined through the monitoring that the storage area is insufficient.

상기 전자장치는, 예를 들면, 대상 영상을 압축하는 동작의 적어도 일부로, 상기 대상 영상의 적어도 일부 구간에 대한 해상도, 영상 비트 레이트, 영상 비트 깊이, 영상 프레임 레이트, 영상 컬러 스페이스, 음성 비트 레이트, 음성 비트 깊이, 음성 샘플 레이트 중 적어도 하나를 변경하고, 상기 변경에 따른 정보를 적어도 기반으로 하여 상기 적어도 일부 구간에 대한 압축률을 결정하도록 설정될 수 있다.For example, as at least part of the operation of compressing the target image, the electronic device may include resolution, image bit rate, image bit depth, image frame rate, image color space, and audio bit rate for at least a portion of the target image. It may be set to change at least one of voice bit depth and voice sample rate, and determine a compression rate for at least some sections based on at least information according to the change.

상기 전자장치는 대상 영상을 제 1 구간과 제 2 구간으로 구분하고, 상기 구분이 이루어진 제 1 구간과 제 2 구간에 대해 상이한 압축률을 적용할 수 있다. The electronic device may divide the target image into a first section and a second section and apply different compression rates to the divided first section and second section.

이를 위해, 상기 전자장치는 제 1 구간에 대해 제 1 방법 (scheme)으로 압축하도록 설정하고, 제 2 구간에 대해 제 2 방법으로 압축하도록 설정할 수 있다. 이 경우, 상기 전자장치는 제 1 구간에 대응하는 제 1 메타 데이터와 제 2 구간에 대응한 제 2 메타 데이터에 의해 메타 데이터를 생성할 수 있다. 상기 전자장치는 제 1 메타 데이터를 제 1 방법을 참조하여 생성하고, 제 2 메타 데이터를 제 2 방법을 참조하여 생성할 수 있다.To this end, the electronic device can be set to compress the first section using a first method (scheme), and the second section can be set to compress using the second method. In this case, the electronic device may generate metadata using first metadata corresponding to the first section and second metadata corresponding to the second section. The electronic device may generate first metadata with reference to a first method and generate second metadata with reference to a second method.

상기 전자장치는 대상 영상을 압축하는 동작의 적어도 일부로, 제 1 구간 또는 제 2 구간의 압축 결과가 미리 설정된 영상 품질을 만족하도록, 제 1 방법 또는 제 2 방법을 결정할 수 있다. 이는 제 1 구간과 제 2 구간에 대응한 압축 영상의 품질이 비슷한 수준으로 유지될 수 있도록 할 것이다. As at least part of the operation of compressing the target image, the electronic device may determine a first method or a second method so that the compression result of the first section or the second section satisfies a preset image quality. This will ensure that the quality of the compressed video corresponding to the first section and the second section is maintained at a similar level.

상기 전자장치는 대상 영상의 적어도 일부 구간 중 관심 영역 (region of interest)이 포함된 구간을 확인하고, 상기 확인한 관심 영역이 포함된 구간에 지정된 수준의 비트 레이트를 이용하여 상기 대상 영상을 압축하는 방법을 결정할 수 있다.The electronic device identifies a section containing a region of interest among at least some sections of the target image, and compresses the target image using a bit rate at a level specified for the section containing the identified region of interest. can be decided.

상기 전자장치는 530단계에서 압축에 의해 생성된 압축 비트 스트림을 저장할 수 있다. 상기 전자장치는, 예를 들어, 상기 압축 비트 스트림을 내부 메모리, 외부 메모리, 외부 디바이스 중 적어도 하나에 저장할 수 있다. 상기 저장된 압축 비트 스트림은 상기 전자장치에 의해 복원되거나 외부 디바이스의 요청에 의해 제공될 수도 있다. The electronic device may store the compressed bit stream generated by compression in step 530. For example, the electronic device may store the compressed bit stream in at least one of internal memory, external memory, and an external device. The stored compressed bit stream may be restored by the electronic device or provided upon request from an external device.

도 6은 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 메타 데이터를 고려하여 압축을 수행하는 제어 흐름을 도시한 도면이다.FIG. 6 is a diagram illustrating a control flow in which an electronic device performs compression considering metadata, according to various embodiments proposed in the present disclosure.

도 6을 참조하면, 전자장치는 610단계에서 압축할 대상인 압축 대상 영상을 입력으로 한다. 상기 전자장치는, 예를 들어, 카메라 모듈을 통해 압축 대상 영상을 발생하거나 메모리 또는 스트리밍 서비스를 통해 제공되는 압축 영상을 복원하여 압축 대상 영상을 발생할 수도 있다. 상기 전자장치는 압축 대상 영상이 카메라 모듈을 통해 발생하면 초기 압축을 수행할 수 있으며, 압축 대상 영상이 복원에 의해 발생하면 재압축을 수행할 수 있다.Referring to FIG. 6, in step 610, the electronic device inputs an image to be compressed. For example, the electronic device may generate an image to be compressed through a camera module, or may generate an image to be compressed by restoring a compressed image provided through a memory or streaming service. The electronic device can perform initial compression when the image to be compressed is generated through a camera module, and can perform recompression when the image to be compressed is generated through restoration.

상기 전자장치는 620단계에서 압축 대상 영상의 부분 또는 전체 화질을 측정할 수 있다. 상기 전자장치는, 예를 들어, 복원 또는 생성된 압축 대상 영상의 화질 수준을 평가하고, 그 결과를 기반으로 상기 압축 대상 영상에 있어서 고화질 부호화 영역을 검출할 수 있다. 즉, 상기 전자장치는 압축 대상 영상에 대한 화질 측정을 통해 미리 설정된 기준 이상의 화질을 가지는 고화질 부호화 영역을 검출할 수 있다. 상기 전자장치는, 예를 들어, PSNR 방식 또는 SSIM 방식을 기반으로 압축 대상 영상의 화질을 측정하고, 이를 기반으로 고화질 부호화 영역을 검출할 수 있다.In step 620, the electronic device can measure the partial or entire image quality of the image to be compressed. For example, the electronic device may evaluate the image quality level of the restored or generated image to be compressed and detect a high-definition encoding area in the image to be compressed based on the result. That is, the electronic device can detect a high-definition encoding area with image quality higher than a preset standard through image quality measurement for the image to be compressed. For example, the electronic device may measure the image quality of the video to be compressed based on the PSNR method or the SSIM method and detect a high-definition encoding area based on this.

상기 전자장치는 614단계에서 측정된 압축 대상 영상이 부분 또는 전체 화질이 미리 설정된 조건을 만족하는지를 판단할 수 있다. 상기 전자장치는, 예를 들어, 압축 대상 영상이 재압축이 필요한지를 판단하는 기준 화질에 상응한 임계 값을 판단 조건으로 미리 설정할 수 있다. 하지만, 상기 미리 설정된 조건은 사용자의 요구에 따라, 다양한 판단을 위한 조건들이 사용되거나 설정될 수 있음은 물론이다.In step 614, the electronic device may determine whether the partial or total image quality of the compressed image measured satisfies preset conditions. For example, the electronic device may preset a threshold value corresponding to the reference image quality for determining whether the image to be compressed requires recompression as a decision condition. However, it goes without saying that the preset conditions can be used or set as various conditions for judgment depending on the user's request.

상기 전자장치는 압축 대상 영상으로부터 측정된 화질이 미리 설정된 조건을 만족할 시에 616단계로 진행하고, 상기 압축 대상 영상으로부터 측정된 화질이 미리 설정된 조건을 만족하지 못할 시에 618단계로 진행할 수 있다.The electronic device may proceed to step 616 when the image quality measured from the image to be compressed satisfies a preset condition, and may proceed to step 618 when the image quality measured from the image to be compressed does not satisfy the preset condition.

상기 전자장치는 616단계에서 제1 압축 조건에 의해 압축 대상 영상의 일부 또는 전체를 압축할 수 있다. 상기 전자장치는 618단계에서 제2 압축 조건에 의해 압축 대상 영상의 일부 또는 전체를 압축할 수 있다.In step 616, the electronic device may compress part or all of the image to be compressed according to the first compression condition. In step 618, the electronic device may compress part or all of the image to be compressed according to the second compression condition.

상기 전자장치는, 예를 들어, 제1 압축 조건을 재압축을 통해 얻고자 하는 압축률을 고려하여 미리 설정할 수 있고, 제2 압축 조건을 최초 압축을 통해 얻고자 하는 압축률을 고려하여 미리 설정할 수 있다. 예컨대, 상기 최초 압축은 카메라 모듈에 의해 생성된 영상을 처음으로 압축하는 것이 될 수 있고, 상기 재압축은 메모리 또는 스트리밍 서비스를 통해 제공되어 복원된 영상을 다시 압축하는 것이 될 수 있다. 이런 경우, 상기 제1 압축 조건은 제2 압축 조건에 비해 상대적으로 높은 압축률을 얻을 수 있도록 마련됨이 바람직할 것이다. 그뿐만 아니라, 상기 제1 압축 조건과 상기 제2 압축 조건은 해당 압축 대상 영상을 압축하기 위해 참조할 메타 데이터를 포함할 수 있다. 그렇지 않고, 상기 메타 데이터는 별도의 절차를 통해 제공될 수도 있다. 상기 전자장치가 압축을 위해 메타 데이터를 고려하는 방안에 대해서는 이미 앞에서 충분히 설명되었으므로, 그 설명을 생략할 것이다.For example, the electronic device may preset the first compression condition in consideration of the compression rate to be obtained through recompression, and may preset the second compression condition in consideration of the compression rate to be obtained through initial compression. . For example, the initial compression may be to compress the image generated by the camera module for the first time, and the recompression may be to recompress the restored image provided through a memory or streaming service. In this case, it would be desirable to set the first compression condition to obtain a relatively high compression ratio compared to the second compression condition. In addition, the first compression condition and the second compression condition may include metadata to be referenced for compressing the corresponding compression target image. Alternatively, the meta data may be provided through a separate procedure. Since the method by which the electronic device considers metadata for compression has already been sufficiently described, the description will be omitted.

일 실시 예에 따르면, 상기 제1 및 제2 압축 조건은 QP를 결정할 수 있다. 상기 QP는 양자화 정도를 조정하기 위해 옵션으로 설정될 수 있는 수치를 나타낸다. 일 예로 상기 QP를 조절함으로써, 이미지의 화질을 조정할 수 있다.According to one embodiment, the first and second compression conditions may determine QP. The QP represents a value that can be set as an option to adjust the degree of quantization. For example, by adjusting the QP, the quality of the image can be adjusted.

상기 전자장치는 제1 압축 조건에 의해 압축된 영상 또는 제2 압축 조건에 의해 압축된 영상을 내부 또는 외부 메모리에 기록하거나 외부 디바이스로 전송할 수 있다.The electronic device may record an image compressed by a first compression condition or an image compressed by a second compression condition to an internal or external memory or transmit it to an external device.

도 7은 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 재압축을 수행하는 시나리오를 도시한 도면이다.FIG. 7 is a diagram illustrating a scenario in which an electronic device performs recompression according to various embodiments proposed in the present disclosure.

도 7에 따르면, 전자장치는 소정의 단위 구간 (GOP) 별로 재압축을 처리함을 확인할 수 있다. 이와 같이 소정의 단위 구간 (GOP) 별로 재압축을 수행하는 것은 압축이 중단되는 상황이 갑작스럽게 발생할 경우에 대처하기 위함이다. 전자장치는 GOP를 구성하는 폐쇄적 GOP (closed-GOP) 구간과 개방적 GOP (open-GOP) 구간에서의 압축을 달리 적용할 수 있다.According to FIG. 7, it can be confirmed that the electronic device processes recompression for each predetermined unit section (GOP). In this way, recompression is performed for each predetermined unit section (GOP) in order to cope with a situation in which compression is suddenly interrupted. The electronic device may apply different compression to the closed GOP (closed-GOP) section and the open GOP (open-GOP) section that constitutes the GOP.

예컨대, 전자장치는 closed-GOP 구간에서는 인프라 프레임 (infra frame, I-frame 또는 I-slice)를 포함한 재압축을 수행할 수 있다. 이 경우, closed-GOP 구간에서의 I-프레임 (또는 I-slice), 예측 프레임 (previous frame 또는 predicted frame, P-frame 또는 P-slice) 및 쌍방 프레임 (bidirectional frame, B-frame 또는 B-slice)로 이루어진 10Mb 정보를 5Mb로 압축됨을 확인할 수 있다. 그리고 open-GOP 구간에서는 I-프레임 (또는 I-slice)을 그대로 유지하면서 P-프레임 (또는 P-slice)과, B-프레임 (또는 B-slice)에 대한 재압축을 수행할 수 있다.For example, the electronic device can perform recompression including an infrastructure frame (infra frame, I-frame, or I-slice) in the closed-GOP section. In this case, I-frame (or I-slice), predicted frame (previous frame or predicted frame, P-frame or P-slice) and bidirectional frame (bidirectional frame, B-frame or B-slice) in closed-GOP interval. You can see that 10Mb information consisting of ) is compressed to 5Mb. And in the open-GOP section, recompression can be performed on the P-frame (or P-slice) and B-frame (or B-slice) while maintaining the I-frame (or I-slice).

일반적으로, GOP는 이미지를 압축하기 위한 기본 단위로써, 하나의 키 프레임에서 다음 키 프레임까지의 프레임 모음을 의미할 수 있다. 상기 GOP에 대해서는 두 가지의 옵션이 존재하는데, 하나가 장면 검출 (scene detection) 기술과 다른 하나가 closed-GOP이다. 일 예로 상기 closed-GOP 구간에서는 GOP 구성 중 다음 I 프레임 전의 B 프레임을 빼고 압축을 수행할 수 있다.In general, GOP is a basic unit for compressing images and can refer to a collection of frames from one key frame to the next key frame. There are two options for the GOP, one is a scene detection technology and the other is closed-GOP. For example, in the closed-GOP section, compression can be performed by excluding the B frame before the next I frame in the GOP configuration.

상술한 바에 따르면, 전자장치는 동영상 재압축이 용이하도록 최초 동영상 압축 시 closed-GOP 혹은 clean random access (CRA)를 이용하여 압축을 수행할 수 있다. 상기 CRA는 특정 프레임을 압축 시에 배제하기 위해 설정될 수 있다. 상기 CRA로 지정된 프레임 (I-프레임, B-프레임, P-프레임)은 압축 시에 참조될 수 있다. 즉, 특정 프레임에서 CRA로 지정된 프레임 사이에 존재하는 적어도 하나의 프레임은 압축 시에 배제될 것이다.According to the above, the electronic device can perform compression using closed-GOP or clean random access (CRA) when initially compressing the video to facilitate video recompression. The CRA can be set to exclude specific frames when compressing. Frames (I-frame, B-frame, P-frame) designated by the CRA can be referenced during compression. That is, at least one frame that exists between a specific frame and a frame designated as CRA will be excluded during compression.

본 개시에서 제안된 다양한 실시 예에 따라, 압축 절차가 GOP 단위로 처리하는 이유는, 동영상 처리 과정이 갑작스럽게 중단된 경우, 비디오 스트림에 영향을 주지 않으면서 독립적으로 처리 가능하도록 하기 위함이다. 그리고 앞에서도 밝힌 바와 같이 open-GOP에서 재압축할 때, 상기 전자장치는 P-프레임과 B-프레임 (P/B-slice)에 대해서만 재압축을 진행할 수 있다.According to various embodiments proposed in this disclosure, the reason the compression procedure is processed in GOP units is to enable independent processing without affecting the video stream when the video processing process is suddenly stopped. And as previously stated, when recompressing in open-GOP, the electronic device can only perform recompression for P-frames and B-frames (P/B-slice).

본 개시에서 제안된 다양한 실시 예에 따라, 전자장치에서 이미지 압축 시에 메타 데이터를 활용하는 방안은, 메타 데이터를 어떻게 구성하는지에 의해 다양하게 마련될 수 있다.According to various embodiments proposed in this disclosure, methods of utilizing metadata when compressing images in an electronic device can be provided in various ways depending on how the metadata is configured.

도 8은 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 메타 데이터를 기반으로 이미지를 압축 또는 재압축하는 예를 도시한 도면이다.FIG. 8 is a diagram illustrating an example of an electronic device compressing or recompressing an image based on metadata, according to various embodiments proposed in the present disclosure.

도 8을 참조하면, 전자장치는 동영상을 촬영할 시, ISP에서 다양한 메타 데이터를 생성할 수 있다. 그 중에서 Histogram, Sharpness, Exposure 정보, Skin tone 정보 등을 활용하면, 이미지를 효율적으로 압축 또는 재압축할 수 있다.Referring to FIG. 8, when an electronic device captures a video, the ISP can generate various metadata. Among them, images can be efficiently compressed or recompressed by using histogram, sharpness, exposure information, skin tone information, etc.

도 9는 본 개시에서 제안된 다양한 실시 예에 따라, 전자장치가 Histogram 정보를 이용해서 HEVC (high efficiency video coding)의 SAO (sample adaptive offset) 과정을 효과적으로 수행하는 시나리오를 도시한 도면이다.FIG. 9 is a diagram illustrating a scenario in which an electronic device effectively performs a sample adaptive offset (SAO) process of high efficiency video coding (HEVC) using histogram information, according to various embodiments proposed in this disclosure.

도 9를 참조하면, HEVC의 SAO는 밴드 오프셋 (BO: band offset)과 에지 오프셋 (EO: edge offset)으로 구성된다. 상기 BO와 EO는 적응적 샘플 오프셋 계산 방법을 정의하는 것이다. 상기 적응적 샘플 오프셋은 각 영역에 적합한 오프셋 값을 계산하고, 이를 이용해 양자화 오류를 감소시키기 위해 제안된 루프 내 필터 기술에 해당한다. 상기 BO와 상기 EO는 적응적 샘플 오프셋의 유형을 정의한 것이다. 상기 BO는 특정 밝기 대역에서 원본 화소와의 값 차이가 발생하는 경우에 사용하는 것이 효율적인 오프셋 계산 방법이 될 수 있다. 상기 EO는 경계 정보를 포함한 영역에서 더 효율적인 오프셋 계산 방법이 될 수 있다.Referring to FIG. 9, HEVC's SAO consists of a band offset (BO) and an edge offset (EO). The BO and EO define an adaptive sample offset calculation method. The adaptive sample offset corresponds to an in-loop filter technique proposed to calculate an offset value appropriate for each region and use this to reduce quantization error. The BO and the EO define the type of adaptive sample offset. The BO can be an efficient offset calculation method to use when a difference in value from the original pixel occurs in a specific brightness band. The EO can be a more efficient offset calculation method in areas containing boundary information.

따라서, 전자장치는 SAO의 압축 효율을 높이기 위해서 SAO 타입을 BO 혹은 EO로 선택하는 과정이 필요할 수 있다. 이를 위해, 전자장치는 영상의 histogram 정보를 이용할 수 있다. Therefore, the electronic device may need to select the SAO type as BO or EO in order to increase the compression efficiency of SAO. For this purpose, the electronic device can use histogram information of the image.

상기 전자장치는 ISP에서 이미 histogram 정보를 획득한 상태이므로, 이미지 압축을 위해 histogram 정보를 중복해서 계산할 필요가 없게 된다. 이는 결과적으로 이미지 압축을 위한 연산 복잡도를 낮출 수 있도록 한다.Since the electronic device has already obtained the histogram information from the ISP, there is no need to calculate the histogram information repeatedly for image compression. This ultimately reduces the computational complexity for image compression.

도 10은 본 개시에서 제안된 다양한 실시 예에 따른 전자장치가 인지 기반 비디오 압축 (perceptual video coding)을 수행할 때, 메타 데이터를 활용하는 실시 예를 도시한 것이다. FIG. 10 illustrates an example in which an electronic device utilizes metadata when performing perception-based video compression (perceptual video coding) according to various embodiments proposed in the present disclosure.

도 10을 참조하면, 사람의 눈은 공간적 / 시간적 주파수에 따라 contrast sensitivity function (CSF)이 밴드 패스 필터 (band pass filter)의 특성이 있다. 따라서 영상 안에서 영역의 밝기, texture 성분에 따라, 사람 눈이 인지하는 민감도가 서로 다르다. 이러한 특성을 이용해서 이미지를 압축할 때, 사람의 눈에 더 민감한 영역에 데이터를 더 할당하고, 덜 민감한 영역에 데이터를 덜 할당할 경우, 동일한 압축률로 압축을 하더라도 더 좋은 화질을 얻을 수 있다. 특히, 얼굴과 같이 사람이 더 민감하게 인지하는 영역을 ROI (region on interest)로 설정하여 영역별 비트 레이트 제어 (rate-control)를 적용함으로써, 인지 화질을 향상시킬 수 있다.Referring to FIG. 10, the human eye has a contrast sensitivity function (CSF) that has the characteristics of a band pass filter depending on spatial/temporal frequency. Therefore, the sensitivity perceived by the human eye is different depending on the brightness and texture of the area in the image. When compressing an image using these characteristics, if more data is allocated to areas that are more sensitive to the human eye and less data is allocated to less sensitive areas, better image quality can be obtained even when compressed at the same compression rate. In particular, perceived image quality can be improved by setting an area that humans perceive more sensitively, such as the face, as a ROI (region on interest) and applying bit rate control (rate-control) for each area.

한편, 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시에서 제안한 다양한 실시 예에 따른 범위에서 벗어나지 않는 한도 내에서 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 여러 가지 변형에 의한 실시할 수 있음은 물론이다. 그러므로 본 개시에 따른 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐만 아니라, 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다. 그뿐만 아니라, 이러한 변형 실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.Meanwhile, although specific embodiments have been described in the detailed description of the present disclosure, various modifications may be made by those skilled in the art without departing from the scope of the various embodiments proposed in the present disclosure. Of course it can be done. Therefore, the scope according to the present disclosure should not be limited to the described embodiments, but should be determined not only by the scope of the patent claims described later, but also by the scope of the patent claims and their equivalents. In addition, these modified implementations should not be understood individually from the technical spirit or perspective of the present disclosure.

Claims (20)

전자장치에 있어서,
이미지 센서를 포함하는 카메라;
상기 카메라와 기능적으로 연결된 프로세서; 및
상기 카메라 및 상기 프로세서와 기능적으로 연결되고, 이미지 스트림들을 포함하는 비디오를 캡처하는 동안 상기 이미지 센서에 의해 획득된 상기 이미지 스트림들의 속성 정보를 포함하는 메타 데이터를 생성하도록 구성되는 ISP(image signal processor)를 포함하고,
상기 프로세서는:
상기 비디오를 캡처하기 위한 사용자 요청을 수신하는 것에 응답하여, 상기 카메라가 상기 비디오를 캡처하도록 제어하고,
상기 비디오에 대응하는 상기 메타 데이터와 함께 상기 비디오를 획득하고 ― 상기 메타 데이터는 상기 비디오를 캡처하는 동안 상기 ISP에 의해 생성됨 ―,
상기 획득된 비디오 및 상기 메타 데이터를 저장하고,
상기 비디오를 캡처하는 동안 상기 ISP에 의해 생성된 상기 메타 데이터를 이용하여 상기 획득된 비디오를 고정 비트 레이트(CBR) 방식으로 압축하고,
상기 저장된 비디오를 상기 CBR 방식으로 압축된 비디오로 대체하고, 그리고,
상기 전자장치의 상태 정보가 미리결정된 조건을 만족하는 경우, 상기 CBR 방식으로 압축된 비디오를 복원한 이후, 상기 비디오를 캡처하는 동안 상기 ISP에 의해 생성된 상기 메타 데이터를 이용하여 가변 비트 레이트(VBR) 방식으로 재압축하도록 구성되는
전자장치.
In electronic devices,
A camera including an image sensor;
a processor functionally connected to the camera; and
An image signal processor (ISP) functionally connected to the camera and the processor and configured to generate metadata containing attribute information of the image streams obtained by the image sensor while capturing video containing the image streams. Including,
The processor:
In response to receiving a user request to capture the video, control the camera to capture the video,
Obtain the video along with the metadata corresponding to the video, wherein the metadata is generated by the ISP while capturing the video,
storing the acquired video and the metadata,
Compressing the obtained video in a constant bit rate (CBR) manner using the metadata generated by the ISP while capturing the video,
Replace the stored video with a video compressed using the CBR method, and
If the state information of the electronic device satisfies a predetermined condition, after restoring the video compressed by the CBR method, variable bit rate (VBR) is generated using the metadata generated by the ISP while capturing the video. ) configured to be recompressed in a manner
Electronic devices.
제 1 항에 있어서,
상기 이미지 스트림들의 속성 정보는, 상기 이미지 스트림들에 대응하는 색상, 밝기, 노출 (exposure), 히스토그램 (histogram), 관심 영역, 선명도 (sharpness), 복잡도, 질감 (texture), 피부 색상 (skin tone), 비트레이트 정보, 심도 (depth), 또는 그 조합을 포함하는 전자장치.
According to claim 1,
The attribute information of the image streams includes color, brightness, exposure, histogram, region of interest, sharpness, complexity, texture, and skin tone corresponding to the image streams. , an electronic device that includes bitrate information, depth, or a combination thereof.
삭제delete 삭제delete 제 1 항에 있어서,
상기 상태 정보는 상기 전자장치의 메모리의 잔량, 상기 ISP의 성능, 상기 ISP에 의해 처리되는 데이터 량, 상기 전자장치의 충전 상태, 상기 전자장치와 연결된 외부 전자장치, 또는 그 조합을 포함하는 전자장치.
According to claim 1,
The status information includes the remaining amount of memory of the electronic device, the performance of the ISP, the amount of data processed by the ISP, the charging state of the electronic device, an external electronic device connected to the electronic device, or a combination thereof. .
삭제delete 삭제delete 제 1 항에 있어서, 상기 프로세서는,
상기 비디오를 압축하는 동작의 적어도 일부로, 상기 비디오의 적어도 일부 구간에 대한 해상도, 영상 비트 레이트, 영상 비트 깊이, 영상 프레임 레이트, 영상 컬러 스페이스, 음성 비트 레이트, 음성 비트 깊이, 또는 음성 샘플 레이트 중 적어도 하나를 변경하고, 그리고 상기 변경에 기초하여 상기 적어도 일부 구간에 대한 압축률을 결정하도록 추가로 구성되는 전자장치.
The method of claim 1, wherein the processor:
At least as part of the operation of compressing the video, at least one of resolution, video bit rate, video bit depth, video frame rate, video color space, audio bit rate, audio bit depth, or audio sample rate for at least a portion of the video An electronic device further configured to change one, and determine a compression rate for the at least some sections based on the change.
제 1 항에 있어서, 상기 프로세서는,
상기 비디오의 제 1 구간을 제 1 방법 (scheme)에 의해 압축하고 그리고, 상기 비디오의 제 2 구간을 제 2 방법으로 압축하도록 추가로 구성되고, 그리고
상기 ISP는,
상기 제 1 방법을 참조하여 상기 제 1 구간에 대응하는 제 1 메타 데이터를 생성하고,
상기 제 2 방법을 참조하여 상기 제 2 구간에 대응하는 제 2 메타 데이터를 생성하고, 그리고
상기 제 1 메타 데이터 및 상기 제 2 메타 데이터를 포함하도록 상기 메타 데이터를 구성하도록 추가로 구성되는
전자장치.
The method of claim 1, wherein the processor:
compressing a first section of the video by a first scheme and compressing a second section of the video by a second method, and
The ISP is,
Generate first metadata corresponding to the first section with reference to the first method,
Generate second metadata corresponding to the second section by referring to the second method, and
further configured to configure the metadata to include the first metadata and the second metadata.
Electronic devices.
삭제delete 제 1 항에 있어서, 상기 프로세서는,
상기 비디오의 적어도 일부 구간들 중 관심 영역 (region of interest)을 포함하는 구간을 확인하고, 그리고 상기 관심 영역을 포함하는 상기 확인된 구간에 지정된 수준의 비트 레이트를 이용하여 상기 비디오를 압축하도록 추가로 구성되는 전자장치.
The method of claim 1, wherein the processor:
Identify a section including a region of interest among at least some sections of the video, and further compress the video using a bit rate at a level specified for the identified section including the region of interest. Consisting of electronic devices.
제 1 항에 있어서, 상기 프로세서는,
상기 전자장치의 메모리에 상기 이미지 스트림의 적어도 일부로서 상기 메타 데이터를 저장하도록 구성되는 전자장치.
The method of claim 1, wherein the processor:
An electronic device configured to store the metadata as at least part of the image stream in a memory of the electronic device.
전자장치에서 동영상을 압축하는 방법으로서,
제 1 항, 제 2 항, 제 5 항, 제 8 항, 제 9 항, 제 11 항 및 제 12 항 중 어느 한 항의 전자장치에 의해 실행되는 방법
As a method of compressing video in an electronic device,
Method performed by the electronic device of any one of claims 1, 2, 5, 8, 9, 11, and 12
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제 1 항, 제 2 항, 제 5 항, 제 8 항, 제 9 항, 제 11 항 및 제 12 항 중 어느 한 항의 전자장치에 의해 실행되는 동작을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium recording a program for executing an operation performed by the electronic device of any one of claims 1, 2, 5, 8, 9, 11, and 12. .
KR1020160042948A 2015-05-06 2016-04-07 Electronic apparatus and operating method thereof KR102638468B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/147,459 US10062405B2 (en) 2015-05-06 2016-05-05 Electronic device and method for operating the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562157596P 2015-05-06 2015-05-06
US62/157,596 2015-05-06

Publications (2)

Publication Number Publication Date
KR20160131882A KR20160131882A (en) 2016-11-16
KR102638468B1 true KR102638468B1 (en) 2024-02-21

Family

ID=57540770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160042948A KR102638468B1 (en) 2015-05-06 2016-04-07 Electronic apparatus and operating method thereof

Country Status (1)

Country Link
KR (1) KR102638468B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102623391B1 (en) * 2017-01-10 2024-01-11 삼성전자주식회사 Method for Outputting Image and the Electronic Device supporting the same
WO2018169176A1 (en) * 2017-03-17 2018-09-20 엘지전자 주식회사 Method and device for transmitting and receiving 360-degree video on basis of quality
KR102235082B1 (en) * 2017-12-19 2021-04-05 대구대학교 산학협력단 Method for power saving of terminal using mobile edge computing server
KR102499187B1 (en) 2018-02-12 2023-02-13 삼성전자주식회사 Electronic device for compression processing image acquired by using camera and method for operating thefeof
KR20210083840A (en) * 2019-12-27 2021-07-07 삼성전자주식회사 Electronic device for video editing with dynamic tone metadata and operating method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007180970A (en) 2005-12-28 2007-07-12 Matsushita Electric Ind Co Ltd Video processor and monitoring camera system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103210418B (en) * 2010-11-23 2016-08-17 杜比实验室特许公司 The content metadata of high dynamic range images strengthens

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007180970A (en) 2005-12-28 2007-07-12 Matsushita Electric Ind Co Ltd Video processor and monitoring camera system

Also Published As

Publication number Publication date
KR20160131882A (en) 2016-11-16

Similar Documents

Publication Publication Date Title
US11216178B2 (en) Video encoding method and electronic device adapted thereto
KR102445699B1 (en) Electronic device and operating method thereof
KR102349428B1 (en) Method for processing image and electronic device supporting the same
KR102390184B1 (en) Electronic apparatus and method for displaying image thereof
AU2016212943B2 (en) Image processing method and electronic device for supporting the same
KR102638468B1 (en) Electronic apparatus and operating method thereof
US10062405B2 (en) Electronic device and method for operating the same
KR102515269B1 (en) Apparatus and method for streaming video in an electronic device
KR102339798B1 (en) Method for processing sound of electronic device and electronic device thereof
KR102332782B1 (en) Video data compression considering a vision system
KR102657050B1 (en) Electronic device and method for capturing an image in the electronic device
KR102509939B1 (en) Electronic device and method for encoding image data thereof
KR102496225B1 (en) Method for video encoding and electronic device supporting the same
KR102424296B1 (en) Method, storage medium and electronic device for providing a plurality of images
CN106454005B (en) Electronic device and image encoding method of electronic device
KR102482067B1 (en) Electronic apparatus and operating method thereof
US11051042B2 (en) Image processing device and method
KR20170086977A (en) Method and apparatus for processing image data
KR20170019809A (en) Method and Apparatus for Generating a Video Content
KR102423364B1 (en) Method for providing image and electronic device supporting the same
EP3104304A1 (en) Electronic apparatus and method of extracting still images
KR102379898B1 (en) Electronic device for providing a graphic indicator related to a focus and method of operating the same
KR102407624B1 (en) Method for processing image of electronic device and electronic device thereof
KR102434754B1 (en) Electronic device and method for displaying content thereof
KR102457247B1 (en) Electronic device for processing image and method for controlling thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)