KR102269590B1 - Method for creating a binary and an electronic device thereof - Google Patents
Method for creating a binary and an electronic device thereof Download PDFInfo
- Publication number
- KR102269590B1 KR102269590B1 KR1020140099009A KR20140099009A KR102269590B1 KR 102269590 B1 KR102269590 B1 KR 102269590B1 KR 1020140099009 A KR1020140099009 A KR 1020140099009A KR 20140099009 A KR20140099009 A KR 20140099009A KR 102269590 B1 KR102269590 B1 KR 102269590B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- image resource
- electronic device
- application
- extracted image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000009434 installation Methods 0.000 claims description 75
- 230000020169 heat generation Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000036541 health Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- -1 electricity Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
Abstract
본 발명의 다양한 실시예에 따르면, 전자 장치에서 바이너리 생성을 제어하기 위한 방법은, 전자 장치에서, 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 상기 어플리케이션에 대한 이미지 리소스를 확인하는 동작; 상기 이미지 리소스에 대한 속성을 판단하는 동작; 상기 속성에 기반하여 상기 이미지 리소스를 압축된 텍스처로 선택적으로 변환하는 동작; 및 상기 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 동작을 포함할 수 있다. 전자 장치에서 바이너리 생성을 제어하기 위한 방법은 본 발명의 다양한 실시예를 통해 구현 가능하다.According to various embodiments of the present disclosure, a method for controlling binary generation in an electronic device includes: checking, in the electronic device, an image resource for an application based on a request for generating a binary code of an application; determining a property of the image resource; selectively converting the image resource into a compressed texture based on the attribute; and when the image resource is converted, generating the binary code for the application based on the converted image resource. A method for controlling binary generation in an electronic device can be implemented through various embodiments of the present invention.
Description
본 발명의 다양한 실시예는 바이너리 생성을 위한 리소스를 변환하기 위한 기술에 관한 것이다.
Various embodiments of the present invention relate to techniques for converting resources for binary generation.
전자 장치는 음성 및 영상 통화 기능, 정보 입출력 기능 및 데이터 송수신과 같은 다양한 서비스를 제공하는 멀티미디어 기기로 발전하고 있다. 전자 장치에서 어플리케이션(Application)이 실행(Launch)되는 경우, CPU에서는 어플리케이션의 리소스 파일 중에서 PNG와 JPG와 같은 일반 압축 이미지를 텍스처 압축 이미지로 변경하여 GPU에 전달한다.
Electronic devices are developing into multimedia devices that provide various services such as voice and video call functions, information input/output functions, and data transmission/reception functions. When an application is launched in the electronic device, the CPU converts general compressed images such as PNG and JPG among resource files of the application into texture compressed images and transmits them to the GPU.
상술한 바와 같이 전자 장치는 어플리케이션 실행 시, 어플리케이션에서 리소스 파일 중 압축 이미지를 텍스처 압축 이미지로 변경하는 과정을 매번 수행함으로써, 어플리케이션 시작 시간이 지연될 수 있다.As described above, when the application is executed, the electronic device performs the process of changing the compressed image among the resource files into the texture compressed image in the application every time, so that the application start time may be delayed.
본 발명의 다양한 실시예에서 전자 장치는 어플리케이션에 대한 바이너리를 생성하는 경우, 어플리케이션의 리소스 파일을 최적화하기 위한 장치 및 방법을 제공할 수 있다. 본 발명의 다양한 실시예에서 전자 장치는 어플리케이션에 대한 바이너리를 생성하는 경우, 어플리케이션의 리소스 파일 중 이미지 파일을 압축된 텍스처(Compressed Texture)로 변환하기 위한 장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, when generating a binary for an application, the electronic device may provide an apparatus and method for optimizing the resource file of the application. According to various embodiments of the present disclosure, when generating a binary for an application, the electronic device may provide an apparatus and method for converting an image file among resource files of the application into a compressed texture.
본 발명의 다양한 실시예에서 전자 장치는 어플리케이션에 대한 바이너리 생성 시, 어플리케이션의 리소스 파일 중 이미지 파일을 다른 이미지 타입으로 변환하기 위한 장치 및 방법을 제공할 수 있다.
According to various embodiments of the present disclosure, when generating a binary for an application, the electronic device may provide an apparatus and method for converting an image file among resource files of an application into another image type.
상술한 바와 같이 전자 장치는 어플리케이션 실행 시, 어플리케이션에서 리소스 파일 중 압축 이미지를 텍스처 압축 이미지로 변경하는 과정을 매번 수행함으로써, 어플리케이션 시작 시간이 지연될 수 있다.As described above, when the application is executed, the electronic device performs the process of changing the compressed image among the resource files into the texture compressed image in the application every time, thereby delaying the application start time.
본 발명의 다양한 실시예에서 전자 장치는 어플리케이션에 대한 바이너리를 생성하는 경우, 어플리케이션의 리소스 파일을 최적화하기 위한 장치 및 방법을 제공할 수 있다. 본 발명의 다양한 실시예에서 전자 장치는 어플리케이션에 대한 바이너리를 생성하는 경우, 어플리케이션의 리소스 파일 중 이미지 파일을 압축된 텍스처(Compressed Texture)로 변환하기 위한 장치 및 방법을 제공할 수 있다.According to various embodiments of the present disclosure, when generating a binary for an application, the electronic device may provide an apparatus and method for optimizing the resource file of the application. According to various embodiments of the present disclosure, when generating a binary for an application, the electronic device may provide an apparatus and method for converting an image file among resource files of the application into a compressed texture.
본 발명의 다양한 실시예에서 전자 장치는 어플리케이션에 대한 바이너리 생성 시, 어플리케이션의 리소스 파일 중 이미지 파일을 다른 이미지 타입으로 변환하기 위한 장치 및 방법을 제공할 수 있다.
According to various embodiments of the present disclosure, when generating a binary for an application, the electronic device may provide an apparatus and method for converting an image file among resource files of an application into another image type.
상술한 바와 같이 전자 장치에서 어플리케이션에 대한 바이너리 생성 시, 어플리케이션의 리소스 파일 중 이미지 파일을 압축된 텍스처 또는 다른 이미지 타입으로 변환함으로써, 어플리케이션의 실행 시간을 감소시키고, 리소스 파일이 차지하는 메모리 사용량을 감소시킬 수 있다.
As described above, when generating a binary for an application in the electronic device, by converting an image file among the resource files of the application into a compressed texture or other image type, the execution time of the application is reduced and the memory usage occupied by the resource file can
도 1은 본 발명의 다양한 실시예에 따른 전자 장치에 대한 블록 구성을 도시하고 있다.
도 2는 본 발명의 다양한 실시예에 따른 프로세서의 상세 블록 구성을 도시하고 있다.
도 3은 전자 장치에서 바이너리 생성을 제어하기 위한 절차를 도시하고 있다.
도 4는 다양한 실시예들에 따른, 응용프로그램 설치 파일의 예를 도시하고 있다.
도 5는 전자 장치에서 어플리케이션의 설치 시, 이미지 리소스를 변환하기 위한 절차를 도시하고 있다.
도 6은 전자 장치에서 바이너리 생성을 제어하기 위한 절차를 도시하고 있다.
도 7은 전자 장치에서 어플리케이션의 설치 시, 이미지 리소스를 변환하기 위한 절차를 도시하고 있다.1 illustrates a block configuration of an electronic device according to various embodiments of the present disclosure.
2 illustrates a detailed block configuration of a processor according to various embodiments of the present invention.
3 illustrates a procedure for controlling binary generation in an electronic device.
4 illustrates an example of an application program installation file, according to various embodiments.
5 illustrates a procedure for converting an image resource when an application is installed in an electronic device.
6 illustrates a procedure for controlling binary generation in an electronic device.
7 illustrates a procedure for converting an image resource when an application is installed in an electronic device.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.Hereinafter, various embodiments of the present invention are described in connection with the accompanying drawings. Various embodiments of the present invention may be subject to various modifications and may have various embodiments, and specific embodiments are illustrated in the drawings and the related detailed description is set forth. However, this is not intended to limit the various embodiments of the present invention to the specific embodiments, and it should be understood to include all modifications and/or equivalents or substitutes included in the spirit and scope of the various embodiments of the present invention. In connection with the description of the drawings, like reference numerals have been used for like components.
본 발명의 다양한 실시예에서 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Expressions such as “include” or “may include” that may be used in various embodiments of the present invention indicate the existence of a disclosed corresponding function, operation, or component, and may include one or more additional functions, operations, or components, etc. are not limited. In addition, in various embodiments of the present invention, terms such as "comprise" or "have" are intended to designate that a feature, number, step, action, component, part, or combination thereof described in the specification is present, It should be understood that it does not preclude the possibility of addition or existence of one or more other features or numbers, steps, operations, components, parts, or combinations thereof.
본 발명의 다양한 실시예에서 “또는” 또는 “ A 또는/및 B 중 적어도 하나” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B” 또는 “ A 또는/및 B 중 적어도 하나” 각각은, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of the present invention, expressions such as “or” or “at least one of A or/and B” include any and all combinations of the words listed together. For example, each of “A or B” or “at least one of A and/or B” may include A, include B, or include both A and B.
본 발명의 다양한 실시예에서 사용된 “제 1,”“제2,”“첫째,”또는“둘째,”등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Expressions such as “first,” “second,” “first,” or “second,” used in various embodiments of the present invention may modify various components of various embodiments, but limit the components. I never do that. For example, the expressions do not limit the order and/or importance of corresponding components. Expressions can be used to distinguish one component from another. For example, both the first user device and the second user device are user devices, and represent different user devices. For example, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component without departing from the scope of the various embodiments of the present disclosure.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 어떤 구성요소와 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 어떤 구성요소와 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다. When a component is referred to as being “connected” or “connected” to another component, the component may be directly connected to or connected to the other component, but the component and the other component may be directly connected to or connected to the other component. It should be understood that there may be other new components in between. On the other hand, when it is said that an element is "directly connected" or "directly connected" to another element, it must be understood that no new element exists between one element and another element. something to do.
본 발명의 다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Terms used in various embodiments of the present invention are used only to describe specific embodiments, and are not intended to limit the various embodiments of the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present invention pertain. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in various embodiments of the present invention, ideal or excessively formal terms not interpreted as meaning
본 발명의 다양한 실시예에 따른 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다. Electronic devices according to various embodiments of the present disclosure include a smart phone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, and a desktop personal computer (PC). computer), a laptop personal computer, a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device ) (e.g., head-mounted-devices (HMDs) such as electronic glasses, electronic apparel, electronic bracelets, electronic necklaces, electronic accessories, electronic tattoos, or smart watches). can
어떤 실시예들에 따르면, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.According to some embodiments, the electronic device may be a smart home appliance. Smart home appliances include, for example, a television, a digital video disk (DVD) player, an audio device, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air purifier, a set-top box, and a TV. It may include at least one of a box (eg, Samsung HomeSync™, Apple TV™, or Google TV™), game consoles, an electronic dictionary, an electronic key, 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), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.According to some embodiments, the electronic device includes various medical devices (eg, magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), computed tomography (CT), imagers, ultrasound machines, etc.), navigation devices, and GPS receivers. (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), automotive infotainment device, marine electronic equipment (eg, marine navigation system and gyro compass, etc.), avionics, It may include at least one of a security device, a head unit for a vehicle, an industrial or household robot, an automatic teller's machine (ATM) of a financial institution, or a point of sales (POS) of a store.
어떤 실시예들에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.According to some embodiments, the electronic device is a piece of furniture or a building/structure, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, : water, electricity, gas, or radio wave measuring device). The electronic device according to various embodiments of the present invention may be a combination of one or more of the various devices described above. Also, the electronic device according to various embodiments of the present disclosure may be a flexible device. Also, it is apparent to those skilled in the art that the electronic device according to various embodiments of the present disclosure is not limited to the above-described devices.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. Hereinafter, an electronic device according to various embodiments will be described with reference to the accompanying drawings. The term user used in various embodiments may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
도 1은 다양한 실시예에 따른, 전자 장치(101)를 포함하는 네트워크 환경(100)를 도시한다. 도 1을 참조하면, 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160) 및 바이너리 생성 모듈(170)을 포함할 수 있다.1 illustrates a
버스(110)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.The
프로세서(120)는, 예를 들면, 버스(110)를 통해 전술한 다른 구성요소들(예: 메모리(130), 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160), 또는 바이너리 생성 모듈(170) 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다. 미도시 되었지만, 그래픽 프로세서는 프로세서(120)의 그래픽 작업으로 인해 생기는 병목 현상을 해결하기 위한 것으로 2D 또는 3D 그래픽을 프로세서(120)가 처리하는 것보다 효율적으로 처리할 수 있다. 한 실시예에 따르면, PNG/JPEG와 같은 리소스가 프로세서(120)에서 압축된 텍스처로 변환되면, 그래픽 프로세서는 압축된 텍스처를 처리하여 디스플레이(150)를 통해 표시하도록 제어할 수 있다.The
메모리(130)는, 프로세서(120) 또는 다른 구성요소들(예: 입출력 인터페이스(140), 디스플레이(150), 통신 인터페이스(160), 또는 바이너리 생성 모듈(170) 등)로부터 수신되거나 프로세서(120) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 메모리(130)는, 예를 들면, 커널(131), 미들웨어(132), 어플리케이션 프로그래밍 인터페이스(API: application programming interface)(133) 또는 어플리케이션(134) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.The
커널(131)은 나머지 다른 프로그래밍 모듈들, 예를 들면, 미들웨어(132), API(133) 또는 어플리케이션(134)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120) 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(131)은 미들웨어(132), API(133) 또는 어플리케이션(134)에서 전자 장치(101)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. The
미들웨어(132)는 API(133) 또는 어플리케이션(134)이 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(132)는 어플리케이션(134)로부터 수신된 작업 요청들과 관련하여, 예를 들면, 어플리케이션(134) 중 적어도 하나의 어플리케이션에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120) 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.The
API(133)는 어플리케이션(134)이 커널(131) 또는 미들웨어(132)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. The
다양한 실시예에 따르면, 어플리케이션(134)는 SMS/MMS 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 어플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 어플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 어플리케이션(134)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(104)) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 정보 교환과 관련된 어플리케이션은, 예를 들어, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다. According to various embodiments, the
예를 들면, 알림 전달 어플리케이션은 전자 장치(101) 의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치(104))로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치(104))로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치(예: 전자 장치(104))의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다. For example, the notification delivery application transmits notification information generated from another application (eg, SMS/MMS application, email application, health care application, or environment information application, etc.) of the electronic device 101 to an external electronic device (eg, the electronic device ( 104))). Additionally or alternatively, the notification delivery application may receive notification information from, for example, an external electronic device (eg, the electronic device 104 ) and provide the notification information to the user. The device management application is, for example, a function of at least a part of an external electronic device (eg, the electronic device 104 ) that communicates with the electronic device 101 (eg, the function of the external electronic device itself (or some component parts). Turn on/off or adjust the brightness (or resolution) of the display), and manage applications running on an external electronic device or services (eg, call service or message service) provided by the external electronic device (eg, install, uninstall, or update) )can do.
다양한 실시예에 따르면, 어플리케이션(134)은 외부 전자 장치(예: 전자 장치(104))의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 어플리케이션(134)은 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 어플리케이션(134)은 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(134)은 전자 장치(101)에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버(106) 또는 전자 장치(104))로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.According to various embodiments, the
입출력 인터페이스(140)은, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 버스(110)를 통해 프로세서(120), 메모리(130), 통신 인터페이스(160), 또는 바이너리 생성 모듈(170)에 전달할 수 있다. 예를 들면, 입출력 인터페이스(140)은 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 프로세서(120)로 제공할 수 있다. 또한, 입출력 인터페이스(140)은, 예를 들면, 버스(110)을 통해 프로세서(120), 메모리(130), 통신 인터페이스(160), 또는 바이너리 생성 모듈(170)로부터 수신된 명령 또는 데이터를 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 입출력 인터페이스(140)은 프로세서(120)를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다. The input/
디스플레이(150)은 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다.The
통신 인터페이스(160)은 전자 장치(101)와 외부 장치(예: 전자 장치(104) 또는 서버(106)) 간의 통신을 연결할 수 있다. 예를 들면, 통신 인터페이스(160)은 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치와 통신할 수 있다. 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.The
한 실시예에 따르면, 네트워크(162)는 통신 네트워크(telecommunications network)일 수 있다. 통신 네트워크 는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 전자 장치(101)와 외부 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 어플리케이션(134), 어플리케이션 프로그래밍 인터페이스(133), 미들웨어(132), 커널(131) 또는 통신 인터페이스(160) 중 적어도 하나에서 지원될 수 있다.According to one embodiment,
한 실시예에 따르면, 서버(106)는 전자 장치(101)에서 구현되는 동작(또는, 기능)들 중 적어도 하나의 동작을 수행함으로써, 전자 장치(101)의 구동을 지원할 수 있다. 예를 들면, 서버(106)는 전자 장치(101)에 구현된 바이너리 생성 모듈(170)을 지원할 수 있는 바이너리 생성 서버 모듈(108)을 포함할 수 있다. 예컨대, 바이너리 생성 서버 모듈(108)은 바이너리 생성 모듈(170)의 적어도 하나의 구성요소를 포함하여, 바이너리 생성 모듈(170)이 수행하는 동작들 중 적어도 하나의 동작을 수행(예: 대행)할 수 있다. According to an embodiment, the server 106 may support driving of the electronic device 101 by performing at least one of the operations (or functions) implemented in the electronic device 101 . For example, the server 106 may include a binary generation server module 108 that can support the
한 실시예에 따르면, 전자 장치(101)는 전자 장치(101)에 포함되는 전체 바이너리를 서버(106)로부터 전달받을 수 있다. 예를 들어, 서버(106)는 바이너리를 생성하고, 생성된 바이너리를 전자 장치(101)에 전송할 수 있다.According to an embodiment, the electronic device 101 may receive the entire binary included in the electronic device 101 from the server 106 . For example, the server 106 may generate a binary and transmit the generated binary to the electronic device 101 .
바이너리 생성 모듈(170)은, 다른 구성요소들(예: 프로세서(120), 메모리(130), 입출력 인터페이스(140), 또는 통신 인터페이스(160) 등)로부터 획득된 정보 중 적어도 일부를 처리하고, 이를 다양한 방법으로 사용자에게 제공 할 수 있다. 예를 들면, 바이너리 생성 모듈(170)은 프로세서(120)를 이용하여 또는 이와는 독립적으로, 전자 장치(101)가 다른 전자 기기(예: 전자 장치(104) 또는 서버(106))와 연동하도록 전자 장치(101)의 적어도 일부 기능을 제어할 수 있다. 한 실시예에 따르면, 바이너리 생성 모듈(170)의 적어도 하나의 구성은 서버(106)(예: 바이너리 생성 서버 모듈(108))에 포함될 수 있으며, 서버(106)로부터 바이너리 생성 모듈(170)에서 구현되는 적어도 하나의 동작을 지원받을 수 있다. 후술하는 도 2를 통하여 바이너리 생성 모듈(170) 에 대한 추가적인 정보가 제공된다.The
도 2는 다양한 실시예들에 따른, 전자 장치(예: 전자 장치(101))의 바이너리 생성 모듈(170)의 블록도를 도시한다. 2 is a block diagram of a
도 2를 참조하면, 바이너리 생성 모듈(170)은 리소스 분석 모듈(210), 메타데이터 생성 모듈(212), 리소스 변환 모듈(220) 및 병렬화 수행 모듈(222)을 포함할 수 있다. 한 실시예에 따르면, 전자 장치는 리소스 분석 모듈(210), 메타데이터 생성 모듈(212), 리소스 변환 모듈(220) 및 병렬화 수행 모듈(222) 중 적어도 일부를 포함하지 않을 수도 있다. Referring to FIG. 2 , the
바이너리 생성 모듈(170)은, 예를 들면, 어플리케이션에 대한 바이너리 코드를 생성할 수 있다. 예를 들어, 바이너리 생성 모듈(170)은 어플리케이션에 대한 설치 또는 빌드를 수행할 수 있다. 예컨대, 바이너리 생성 모듈 (210)은 어플리케이션에 대한 소스 코드(예: C/C++, JAVA, 안드로이드 등으로 작성된 코드)를 바이너리 코드로 변환함으로써 어플리케이션에 대한 빌드를 수행하거나, 변환된 바이너리 코드를 메모리(130)에 저장함으로써 어플리케이션에 대한 설치를 수행할 수 있다.The
예컨대, 바이너리 생성 모듈(170)은, 리소스 변환 모듈(220)에 의해 변환된 리소스를 포함하여 바이너리를 생성할 수 있다. 한 실시예에 따르면, 바이너리 생성 모듈(170)은 메모리(130)에 저장된 바이너리 생성 프로그램을 이용하여 어플리케이션에 대한 바이너리를 생성할 수 있다.For example, the
리소스 분석 모듈(210)은, 어플리케이션의 리소스들 중 이미지 리소스를 추출할 수 있다. 어플리케이션의 리소스로부터 추출된 이미지 리소스는, 예를 들면, PNG 또는 JPG와 같은 압축된 이미지 형태이거나 또는 기 정의된 압축된 텍스처 형태(예: 시스템의 설정 등에 따라 결정된 형식에 따라 미리 압축된 텍스처)를 포함할 수 있다. The resource analysis module 210 may extract an image resource from among the resources of the application. The image resource extracted from the resource of the application is, for example, a compressed image form such as PNG or JPG, or a predefined compressed texture type (eg, a pre-compressed texture according to a format determined according to system settings). may include
한 실시예에 따르면, 리소스 분석 모듈(210)은 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지 확인할 수 있다. According to an embodiment, the resource analysis module 210 may check whether the extracted image resource is a resource convertible into a compressed texture.
한 실시예에 따르면, 리소스 분석 모듈(210)은 추출된 이미지 리소스가 그래픽 프로세서를 통해 병렬화 수행 가능한 리소스인지 확인할 수 있다. 한 실시예에 따르면, 리소스 분석 모듈(210)은 전자 장치(101)의 소모 전류, 발열, 그래픽 프로세서의 특성에 기반하는 병렬화 수행 정보를 메타 데이터로 저장하기 위한 메타데이터 생성 모듈(212)을 포함할 수 있다. 한 실시예에 따르면, 그래픽 프로세서의 특성은 코어(core)의 개수, 메모리, 처리 가능한 데이터 타입, 코어에서 실행 가능한 스레드(thread) 개수, 전압(power), 클럭(clock), 소모 전류, 발열 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 리소스 분석 모듈(210)은 서로 다른 그래픽 프로세서에서 병렬화를 수행할 수 있도록 각 단말의 그래픽 프로세서의 특성을 확인할 수 있다. 한 실시예에 따르면, 병렬화 수행 정보는 그래픽 프로세서에 포함된 다수 개의 코어들 중 일부 코어만을 이용하여 병렬화 수행하거나, 코어들의 클럭을 제어하여 병렬화를 수행하도록 그래픽 프로세서를 제어하기 위한 매개 변수(work group thread, work item, 대역폭)를 포함할 수 있다.According to an embodiment, the resource analysis module 210 may determine whether the extracted image resource is a resource capable of performing parallelization through the graphic processor. According to an embodiment, the resource analysis module 210 includes a metadata generation module 212 for storing parallelization performance information based on current consumption, heat generation, and characteristics of a graphic processor of the electronic device 101 as metadata. can do. According to one embodiment, the characteristics of the graphic processor include the number of cores, memory, data types that can be processed, the number of threads that can be executed in the core, voltage, power, clock, current consumption, and heat generation. It may include at least one. According to an embodiment, the resource analysis module 210 may check the characteristics of the graphic processor of each terminal so that parallelization can be performed in different graphic processors. According to an embodiment, the parallelization execution information is a parameter (work group) for controlling the graphic processor to perform parallelization using only some of the plurality of cores included in the graphic processor or to perform parallelization by controlling clocks of the cores. thread, work item, bandwidth).
리소스 변환 모듈(220)은, 예를 들면, 어플리케이션에 대한 바이너리가 생성되는 것에 기반하여, 해당 어플리케이션에 대한 리소스를 변환할 수 있다. 어플리케이션은 복수의 소스코드와 리소스를 포함할 수 있다. 소스코드는 프로그램의 동작을 정의할 수 있고, 리소스는 어플리케이션에서 사용하는 오디오, 비디오, 이미지, 텍스트 등의 정보를 포함할 수 있다. 예컨대, 바이너리 생성 모듈(170)에 의해 어플리케이션에 대한 설치 또는 빌드가 수행되는 경우, 리소스 변환 모듈(220)은 리소스 분석 모듈(210)로부터 해당 어플리케이션의 리소스를 획득하여 시스템(예: 전자 장치(101), 전자 장치(104), 또는 서버(106)에 대응하는 형태(예: 시스템에 최적화된 형태로서 시스템의 설정(configuration) 또는 사양(specifications) 등에 따라 결정된 형태)로 변환할 수 있다. 한 실시예에 따르면, 리소스 변환 모듈(220)은 메모리(130)에 저장된 리소스 변환 프로그램을 이용함으로써 해당 어플리케이션에 대한 리소스를 변환할 수 있다.The resource conversion module 220 may convert the resource for the application, for example, based on the generation of the binary for the application. An application may include a plurality of source codes and resources. The source code may define the operation of the program, and the resource may include information such as audio, video, image, text, etc. used in the application. For example, when the installation or build of the application is performed by the
한 실시예에 따르면, 리소스 변환 모듈(220)은 추출된 리소스가 압축된 텍스처로 변환 가능한 리소스인 경우, 추출된 리소스를 압축된 텍스처로 변환할 수 있다. According to an embodiment, when the extracted resource is a resource convertible into a compressed texture, the resource conversion module 220 may convert the extracted resource into a compressed texture.
예를 들어, 리소스가 압축 이미지인 경우, 리소스 변환 모듈(220)은 압축 이미지를 디코딩하여 비트맵(Bitmap) 이미지로 변환하고, 비트맵 이미지를 압축된 텍스처로 변환할 수 있다. 예컨대, 리소스 변환 모듈(220)은 그래픽 프로세서에서 지원 가능한 압축된 텍스처로 변환할 수 있다. For example, when the resource is a compressed image, the resource conversion module 220 may decode the compressed image to convert it into a bitmap image, and convert the bitmap image to a compressed texture. For example, the resource conversion module 220 may convert a compressed texture that is supported by the graphic processor.
예를 들어, 리소스가 기 정의된 압축된 텍스처인 경우, 리소스 변환 모듈(220)은 그래픽 프로세서에서 지원 가능한 압축된 텍스처로 변환할 수도 있다. 또한, 그래픽 프로세서에서 지원 가능한 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 리소스 변환 모듈(220)은 리소스를 다른 리소스 타입으로 변환할 수도 있다.For example, when the resource is a predefined compressed texture, the resource conversion module 220 may convert it into a compressed texture supportable by the graphic processor. In addition, when the resource is not a resource that can be converted into a compressed texture that is supported by the graphic processor, the resource conversion module 220 may convert the resource into another resource type.
한 실시예에 따르면, 리소스 변환 모듈(220)은 그래픽 프로세서에 포함된 다수 개의 코어들 중 일부 코어만을 이용하여 병렬화를 통해 리소스를 다른 리소스 타입으로 변환기 위해 병렬화 수행 모듈(222)을 포함할 수 있다. 한 실시예에 따르면, 병렬화 수행 모듈(222)은 그래픽 프로세서에 포함된 다수 개의 코어들의 클럭을 제어하여 병렬화를 통해 리소스를 다른 리소스 타입으로 변환할 수 있다.According to an embodiment, the resource conversion module 220 may include a parallelization performing module 222 to convert a resource into another resource type through parallelization using only some of the plurality of cores included in the graphic processor. . According to an embodiment, the parallelization performing module 222 may control clocks of a plurality of cores included in the graphic processor to convert a resource into another resource type through parallelization.
다양한 실시예에 따르면, 전자 장치는, 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 상기 어플리케이션에 대한 이미지 리소스를 확인하고, 상기 이미지 리소스에 대한 속성을 판단하고, 상기 속성에 기반하여 상기 이미지 리소스를 압축된 텍스처로 선택적으로 변환하고, 상기 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하도록 제어하는 프로세서를 포함하는 전자 장치일 수 있다.According to various embodiments, the electronic device checks an image resource for the application based on a request for generating a binary code of the application, determines a property of the image resource, and determines the image resource based on the property The electronic device may include a processor that selectively converts a resource into a compressed texture, and controls to generate the binary code for the application based on the converted image resource when the image resource is converted.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치와 통신 가능한 외부 전자 장치의 설정에 기반하여 상기 이미지 리소스를 변환하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that converts the image resource based on a setting of an external electronic device capable of communicating with the electronic device.
다양한 실시예에 따르면, 상기 프로세서는, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 메모리 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 메모리 사용량의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 전자 장치일 수 있다.According to various embodiments, the processor generates a binary code for the application based on a memory usage and an unconverted image resource when generating the binary code for the application based on the converted image resource. The electronic device may be an electronic device that determines whether to convert the image resource based on a comparison result of memory usage in cases.
다양한 실시예에 따르면, 상기 프로세서는, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 어플리케이션 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 어플리케이션 구동 소요 시간의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 전자 장치일 수 있다.According to various embodiments, the processor generates a binary code for the application based on an application driving time required for generating the binary code for the application based on the converted image resource and an unconverted image resource. The electronic device may be an electronic device that determines whether to convert the image resource based on a comparison result of an application driving time required for generation.
다양한 실시예에 따르면, 상기 프로세서는, 상기 생성한 바이너리 코드를 상기 전자 장치와 통신 가능한 외부 전자 장치로 전송하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that transmits the generated binary code to an external electronic device capable of communicating with the electronic device.
다양한 실시예에 따르면, 상기 프로세서는, 상기 속성에 기반하여 상기 이미지 리소스를 다른 코덱에 기반하는 이미지 리소스로 변환하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that converts the image resource into an image resource based on another codec based on the attribute.
다양한 실시예에 따르면, 상기 프로세서는, 상기 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지 판단하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that determines whether the image resource is in the form of a compressed image or a predefined compressed texture.
다양한 실시예에 따르면, 전자 장치는, 어플리케이션 설치 시, 상기 어플리케이션에 포함된 이미지 리소스를 확인하고, 상기 이미지 리소스에 대한 속성을 판단하고, 상기 속성에 기반하여 상기 이미지 리소스를 압축된 텍스처로 선택적으로 변환하고, 상기 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스를 포함하도록 상기 어플리케이션에 대한 설치 패키지를 리패키징하고, 상기 리패키징된 어플리케이션에 대한 설치 패키지를 설치하도록 제어하는 프로세서를 포함하는 전자 장치일 수 있다.According to various embodiments, when installing an application, the electronic device checks an image resource included in the application, determines a property of the image resource, and selectively converts the image resource into a compressed texture based on the property an electronic device comprising a processor that converts and, when the image resource is converted, repackages the installation package for the application to include the converted image resource, and controls to install the installation package for the repackaged application can be
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치의 설정에 기반하여 상기 이미지 리소스를 변환하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that converts the image resource based on a setting of the electronic device.
다양한 실시예에 따르면, 상기 프로세서는, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 메모리 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 메모리 사용량의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 전자 장치일 수 있다.According to various embodiments, the processor may include a memory usage when installing the application based on the converted image resource and a memory when installing the application based on an unconverted image resource. The electronic device may determine whether to convert the image resource based on a comparison result of usage.
다양한 실시예에 따르면, 상기 프로세서는, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 어플리케이션 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 어플리케이션 구동 소요 시간의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 전자 장치일 수 있다.According to various embodiments, when the processor performs the installation of the application based on the application driving time required for performing the installation of the application based on the converted image resource and the unconverted image resource It may be an electronic device that determines whether to convert the image resource based on a comparison result of the application driving time required.
다양한 실시예에 따르면, 상기 프로세서는, 상기 속성에 기반하여 상기 이미지 리소스를 다른 코덱에 기반하는 이미지 리소스로 변환하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that converts the image resource into an image resource based on another codec based on the attribute.
다양한 실시예에 따르면, 상기 프로세서는, 상기 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지 판단하는 전자 장치일 수 있다.According to various embodiments, the processor may be an electronic device that determines whether the image resource is in the form of a compressed image or a predefined compressed texture.
도 3은 전자 장치에서 바이너리 생성을 제어하기 위한 절차를 도시하고 있다.3 illustrates a procedure for controlling binary generation in an electronic device.
도 3을 참조하면 301단계에서 전자 장치는 바이너리 생성 이벤트가 발생하는지 확인할 수 있다. 예를 들어, 전자 장치는 어플리케이션에 대한 설치 이벤트가 발생하는지 확인할 수 있다. 다른 예를 들어, 전자 장치는 어플리케이션에 대한 빌드 이벤트가 발생하는지 확인할 수 있다.Referring to FIG. 3 , in
바이너리 생성 이벤트가 발생한 경우, 303단계에서 전자 장치는 바이너리 생성을 위한 리소스를 추출할 수 있다. 예를 들어, 전자 장치는 어플리케이션의 리소스들 중 이미지 리소스를 추출할 수 있다. 추출된 이미지 리소스는, PNG, JPG와 같은 압축된 이미지 형태이거나 기 정의된 압축된 텍스처 형태일 수 있다.When a binary generation event occurs, the electronic device may extract a resource for binary generation in
305단계에서 전자 장치는 압축된 텍스처로 변환 가능한 리소스인지 확인할 수 있다. 예를 들어, 전자 장치는 추출된 이미지 리소스들에 대해 PSNR(Peak Signal-to-Nose Ratio) 또는 MSSIM(Modified Structural Similarity)과 같이 이미지의 품질(quality)을 측정하는 다양한 방법 중 적어도 하나 이상을 이용하여 측정한 값과 기준값의 비교 결과에 기반하여 압축된 텍스처로 변환 가능한 이미지인지 결정할 수 있다. 다른 예를 들어, 전자 장치는 추출된 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트에 포함되는 이미지 리소스가 존재하는지 확인할 수도 있다.In
압축된 텍스처로 변환 가능한 리소스인 경우, 307단계에서 전자 장치는 리소스를 압축된 텍스처로 변환할 수 있다. 예를 들어, 리소스가 PNG, JPEG와 같은 압축 이미지인 경우, 전자 장치는 압축 이미지를 디코딩하여 비트맵(Bitmap) 이미지로 변환하고, 비트맵 이미지를 압축된 텍스처로 변환할 수 있다. 이때, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수 있다. 다른 예를 들어, 리소스가 기 정의된 압축된 텍스처인 경우, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수도 있다. In the case of a resource convertible into a compressed texture, in
압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 311단계에서 전자 장치는 리소스를 다른 리소스 타입으로 변환할 수 있다. 예를 들어, 전자 장치는 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간, 메모리 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 변환할 수 있다. If the resource is not convertible into a compressed texture, in
리소스를 압축된 텍스처 또는 다른 리소스 타입으로 변환한 경우, 309단계에서 전자 장치는 바이너리를 생성할 수 있다. 예를 들어, 전자 장치는 변환된 리소스에 기반하여 어플리케이션의 설치 또는 빌드를 완료할 수 있다.When the resource is converted into a compressed texture or another resource type, the electronic device may generate a binary in
도 4는 다양한 실시예들에 따른, 응용프로그램 설치 파일의 예를 도시하고 있다.4 illustrates an example of an application program installation file, according to various embodiments.
도 4를 참조하면, 응용프로그램 설치 파일(401)은 제1폴더(411), 제2폴더(413), 제3폴더(415)와 같은 하나 또는 그 이상의 폴더들, 및 제1파일(421), 제2파일(423), 제3파일(425)과 같은 하나 또는 그 이상의 파일들을 포함할 수 있다. 여기서, 응용프로그램 설치 파일(401)은 안드로이드 운영체제의 APK(application package) 파일일 수 있다.Referring to FIG. 4 , an application installation file 401 includes one or more folders such as a
제1폴더(411)는 응용프로그램의 외부 리소스에 관한 데이터 또는 소프트웨어 프로그램을 저장하는 폴더일 수 있다. 예를 들면, 제1폴더(411)는 안드로이드 운영체제의 APK(application package) 파일의 “assets” 폴더일 수 있다.The
제2폴더(413)는, 응용프로그램 자체의 메타 정보 데이터를 저장할 수 있다. 여기서, 응용프로그램 자체의 메타 정보 데이터는 응용프로그램 배포시 사용자가 인증서를 통해 전자 서명한 내용을 포함할 수 있다. 예를 들어, 제2폴더(413)는 안드로이드 운영체제의 APK(application package) 파일의 “META-INF” 폴더일 수 있다.The second folder 413 may store meta information data of the application program itself. Here, the meta information data of the application program itself may include contents digitally signed by the user through a certificate when the application program is distributed. For example, the second folder 413 may be a “META-INF” folder of an APK (application package) file of the Android operating system.
제3폴더(415)는 응용프로그램의 내부 리소스에 관한 데이터 또는 소프트웨어 프로그램을 저장하는 폴더일 수 있다. 예를 들면, 제3폴더(415)는 안드로이드 운영체제의 APK(application package) 파일의 “res”폴더일 수 있다. 본 발명의 다양한 실시예들에 따르면, 제3폴더(415)는 이미지 리소스 파일을 포함할 수 있다. The third folder 415 may be a folder for storing data or software programs related to internal resources of an application program. For example, the third folder 415 may be a “res” folder of an APK (application package) file of the Android operating system. According to various embodiments of the present invention, the third folder 415 may include an image resource file.
한 실시예에 따르면, 도 4에 도시되었듯이, 이미지 리소스 파일은 응용프로그램 설치 파일(401)의 제3폴더(415)에 위치할 수 있다. 이는 하나의 실시예에 불과하며, 이미지 리소스 파일은 응용프로그램 설치 파일(401)의 다른 폴더 또는 다른 위치에 위치할 수도 있다.According to one embodiment, as shown in FIG. 4 , the image resource file may be located in the third folder 415 of the application program installation file 401 . This is only one embodiment, and the image resource file may be located in another folder or other location of the application installation file 401 .
제1파일(421)은 응용프로그램의 기본 설정 정보를 저장하는 파일로, 응용프로그램을 구성하는 복수의 파일들 중에 가장 먼저 참조되는 파일일 수 있다. 예를 들어, 제1파일(421)은 안드로이드 운영체제의 “AndroidManifest.xml”일 수 있다. 본 발명의 다양한 실시예에 따르면 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트는 제1파일(421)에 포함될 수 있다.The
한 실시예에 따르면, 도 4에 도시되었듯이, 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트는 응용프로그램 설치 파일(401)의 제1파일(421)에 포함될 수 있다. 이는 하나의 실시예에 불과하며, 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트는 응용프로그램 설치 파일(401)의 다른 파일에 포함될 수도 있다.According to one embodiment, as shown in FIG. 4 , a list convertible into a compressed texture among image resources may be included in the
제2파일(423)은 응용프로그램의 소스 코드를 컴파일하여 생성된 파일로, 응용프로그램의 동작을 구성하는 클래스들의 정보를 포함할 수 있다. 예를 들어, 제2파일(423)은 안드로이드 운영체제의 “classes.dex”일 수 있다. The
제3파일(425)은 응용프로그램의 실행 이전에, 미리 컴파일된 리소스들을 포함할 수 있다. 예를 들면, 제3파일(425)은 안드로이드 운영체제의 “resources.arsc”일 수 있다.The
상술한 실시예에서는 전자 장치에서, 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 이미지 리소스를 변환한다.In the above-described embodiment, the electronic device converts an image resource based on a request for generating a binary code of an application.
다른 실시예에서는 전자 장치는 어플리케이션의 설치 시, 이미지 리소스를 변환할 수도 있다.In another embodiment, the electronic device may convert an image resource when an application is installed.
도 5는 전자 장치에서 어플리케이션의 설치 시, 이미지 리소스를 변환하기 위한 절차를 도시하고 있다.5 illustrates a procedure for converting an image resource when an application is installed in an electronic device.
도 5를 참조하면 501단계에서 전자 장치는 어플리케이션 설치 이벤트가 발생하는지 확인할 수 있다. 한 실시예에 따르면, 안드로이드 시스템에서는 패키지 매니저(package manager) 또는 패키지 인스톨러(package installer)를 이용하여 어플리케이션 설치 패키지인 apk 파일을 설치를 할 수 있다. 한 실시예에 따르면, 전자 장치는 서버 또는 메모리에 저장된 어플리케이션 설치 패키지에 대한 설치 이벤트가 발생하는지 확인할 수 있다.Referring to FIG. 5 , in
어플리케이션 설치 이벤트가 발생한 경우, 503단계에서 전자 장치는 어플리케이션 설치 패키지에 포함된 리소스를 추출할 수 있다. 한 실시예에 따르면, 전자 장치는 어플리케이션의 설치 패키지에 포함된 리소스들 중 이미지 리소스를 추출할 수 있다. 추출된 이미지 리소스는, PNG, JPG와 같은 압축된 이미지 형태이거나 기 정의된 압축된 텍스처 형태일 수 있다.When an application installation event occurs, in
505단계에서 전자 장치는 어플리케이션 설치 패키지에 포함된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지 확인할 수 있다. 한 실시예에 따르면, 전자 장치는 추출된 이미지 리소스들에 대해 PSNR(Peak Signal-to-Nose Ratio) 또는 MSSIM(Modified Structural Similarity)과 같이 이미지의 품질(quality)을 측정하는 다양한 방법 중 적어도 하나 이상을 이용하여 측정한 값과 기준값의 비교 결과에 기반하여 압축된 텍스처로 변환 가능한 이미지인지 결정할 수 있다. 한 실시예에 따르면, 전자 장치는 추출된 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트에 포함되는 이미지 리소스가 존재하는지 확인할 수도 있다.In
어플리케이션 설치 패키지에 포함된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인 경우, 507단계에서 전자 장치는 어플리케이션 설치 파일에 포함된 이미지 리소스를 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 어플리케이션 설치 파일에 포함된 이미지 리소스가 PNG, JPEG와 같은 압축 이미지인 경우, 전자 장치는 압축 이미지를 디코딩하여 비트맵(Bitmap) 이미지로 변환하고, 비트맵 이미지를 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 어플리케이션 설치 패키지에 포함된 이미지 리소스가 기 정의된 압축된 텍스처인 경우, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수도 있다. When the image resource included in the application installation package is a resource convertible into a compressed texture, in
어플리케이션 설치 패키지에 포함된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 511단계에서 전자 장치는 어플리케이션 설치 패키지에 포함된 이미지 리소스를 다른 리소스 타입으로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 어플리케이션 설치 패키지에 포함된 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간, 메모리 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 변환할 수 있다. When the image resource included in the application installation package is not a resource convertible into a compressed texture, in
어플리케이션 설치 패키지에 포함된 이미지 리소스를 압축된 텍스처 또는 다른 리소스 타입으로 변환한 경우, 509단계에서 전자 장치는 변환된 리소스를 포함하도록 어플리케이션 설치 패키지를 리패키징할 수 있다. 한 실시예에 따르면, 전자 장치는 리패키징된 어플리케이션 설치 패키지를 이용하여 어플리케이션의 설치를 완료할 수 있다.When the image resource included in the application installation package is converted into a compressed texture or other resource type, in
한 실시예에 따르면, 전자 장치는 어플리케이션 설치 후에 기준 조건에 기반하여 리소스의 변환 및 어플리케이션 설치 패키지를 리패키징 할 수 있다.According to an embodiment, after the application is installed, the electronic device may convert the resource and repackage the application installation package based on the reference condition.
한 실시예에 따르면, 전자 장치는 충전 중인 경우, 설치된 어플리케이션에 대한 리소스의 변환 및 어플리케이션 설치 패키지를 리패키징 할 수 있다.According to an embodiment, when the electronic device is charging, it may convert a resource for an installed application and repackage an application installation package.
한 실시예에 따르면, 전자 장치는 일정 시간 동안 슬립 모드로 동작 중인 경우, 설치된 어플리케이션에 대한 리소스의 변환 및 어플리케이션 설치 패키지를 리패키징 할 수 있다.According to an embodiment, when the electronic device is operating in the sleep mode for a predetermined time, it is possible to convert a resource for an installed application and repackage an application installation package.
도 6은 전자 장치에서 바이너리 생성을 제어하기 위한 절차를 도시하고 있다.6 illustrates a procedure for controlling binary generation in an electronic device.
도 6을 참조하면 601단계에서 전자 장치는 바이너리 생성 이벤트가 발생하는지 확인할 수 있다. 예를 들어, 전자 장치는 어플리케이션에 대한 설치 이벤트가 발생하는지 확인할 수 있다. 다른 예를 들어, 전자 장치는 어플리케이션에 대한 빌드 이벤트가 발생하는지 확인할 수 있다.Referring to FIG. 6 , in
바이너리 생성 이벤트가 발생한 경우, 603단계에서 전자 장치는 바이너리 생성을 위한 리소스를 추출할 수 있다. 예를 들어, 전자 장치는 어플리케이션의 리소스들 중 이미지 리소스를 추출할 수 있다. 추출된 이미지 리소스는, PNG, JPG와 같은 압축된 이미지 형태이거나 기 정의된 압축된 텍스처 형태일 수 있다.When a binary generation event occurs, the electronic device may extract a resource for binary generation in
605단계에서, 전자 장치는 병렬화 수행 정보를 결정할 수 있다. 한 실시예에 따르면, 전자 장치는 전자 장치의 소모 전류, 발열, 그래픽 프로세서의 특성 및 리소스의 종류에 기반하는 병렬화 수행 정보를 메타 데이터로 저장할 수 있다. 한 실시예에 따르면, 전자 장치는 서로 다른 그래픽 프로세서에서 병렬화를 수행할 수 있도록 각 단말의 그래픽 프로세서의 특성을 확인할 수 있다. 한 실시예에 따르면, 그래픽 프로세서의 특성은 코어(core)의 개수, 메모리, 처리 가능한 데이터 타입, 코어에서 실행 가능한 스레드(thread) 개수, 전압(power), 클럭(clock), 소모 전류, 발열 중 적어도 하나를 포함할 수 있다. . 한 실시예에 따르면, 병렬화 수행 정보는 추출한 리소스의 종류에 기반하여 리소스 변환 과정(혹은 코덱)에서 병렬화 가능한 단계 정보를 포함할 수 있다.In
607단계에서 전자 장치는 압축된 텍스처로 변환 가능한 리소스인지 확인할 수 있다. 예를 들어, 전자 장치는 추출된 이미지 리소스들에 대해 PSNR(Peak Signal-to-Nose Ratio) 또는 MSSIM(Modified Structural Similarity)과 같이 이미지의 품질(quality)을 측정하는 다양한 방법 중 적어도 하나 이상을 이용하여 측정한 값과 기준값의 비교 결과에 기반하여 압축된 텍스처로 변환 가능한 이미지인지 결정할 수 있다. 다른 예를 들어, 전자 장치는 추출된 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트에 포함되는 이미지 리소스가 존재하는지 확인할 수도 있다.In
압축된 텍스처로 변환 가능한 리소스인 경우, 609단계에서 전자 장치는 병렬화 수행 정보에 기반하여 리소스를 압축된 텍스처로 변환할 수 있다. 예를 들어, 리소스가 PNG, JPEG와 같은 압축 이미지인 경우, 전자 장치는 압축 이미지를 디코딩하여 비트맵(Bitmap) 이미지로 변환하고, 비트맵 이미지를 압축된 텍스처로 변환할 수 있다. 이때, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수 있다. 예를 들어, 리소스가 기 정의된 압축된 텍스처인 경우, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수도 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들 중 일부 코어만을 이용하여 병렬화를 통해 리소스를 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들의 클럭을 제어하여 병렬화를 통해 리소스를 압축된 텍스처로 변환할 수 있다. In the case of a resource convertible into a compressed texture, in
압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 613단계에서 전자 장치는 병렬화 수행 정보에 기반하여 리소스를 다른 리소스 타입으로 변환할 수 있다. 예를 들어, 전자 장치는 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간, 메모리 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들 중 일부 코어만을 이용하여 병렬화를 통해 리소스를 다른 리소스 타입으로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들의 클럭을 제어하여 병렬화를 통해 리소스를 다른 리소스 타입으로 변환할 수 있다.If it is not a resource that can be converted into a compressed texture, in
리소스를 압축된 텍스처 또는 다른 리소스 타입으로 변환한 경우, 611단계에서 전자 장치는 바이너리를 생성할 수 있다. 예를 들어, 전자 장치는 변환된 리소스에 기반하여 어플리케이션의 설치 또는 빌드를 완료할 수 있다.When the resource is converted into a compressed texture or another resource type, the electronic device may generate a binary in
도 7은 전자 장치에서 어플리케이션의 설치 시, 이미지 리소스를 변환하기 위한 절차를 도시하고 있다.7 illustrates a procedure for converting an image resource when an application is installed in an electronic device.
도 7을 참조하면 701단계에서 전자 장치는 어플리케이션 설치 이벤트가 발생하는지 확인할 수 있다. 한 실시예에 따르면, 안드로이드 시스템에서는 패키지 매니저(package manager) 또는 패키지 인스톨러(package installer)를 이용하여 어플리케이션 설치 패키지인 apk 파일을 설치를 할 수 있다. 한 실시예에 따르면, 전자 장치는 서버 또는 메모리에 저장된 어플리케이션 설치 패키지에 대한 설치 이벤트가 발생하는지 확인할 수 있다.Referring to FIG. 7 , in
어플리케이션 설치 이벤트가 발생한 경우, 703단계에서 전자 장치는 어플리케이션 설치 패키지에 포함된 리소스를 추출할 수 있다. 한 실시예에 따르면, 전자 장치는 어플리케이션의 설치 패키지에 포함된 리소스들 중 이미지 리소스를 추출할 수 있다. 추출된 이미지 리소스는, PNG, JPG와 같은 압축된 이미지 형태이거나 기 정의된 압축된 텍스처 형태일 수 있다.When an application installation event occurs, the electronic device may extract a resource included in the application installation package in
705단계에서, 전자 장치는 병렬화 수행 정보를 결정할 수 있다. 한 실시예에 따르면, 전자 장치는 전자 장치의 소모 전류, 발열, 그래픽 프로세서의 특성 및 리소스의 종류에 기반하는 병렬화 수행 정보를 메타 데이터로 저장할 수 있다. 한 실시예에 따르면, 전자 장치는 서로 다른 그래픽 프로세서에서 병렬화를 수행할 수 있도록 각 단말의 그래픽 프로세서의 특성을 확인할 수 있다. 한 실시예에 따르면, 그래픽 프로세서의 특성은 코어(core)의 개수, 메모리, 처리 가능한 데이터 타입, 코어에서 실행 가능한 스레드(thread) 개수, 전압(power), 클럭(clock), 소모 전류, 발열 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 병렬화 수행 정보는 추출한 리소스의 종류에 기반하여 리소스 변환 과정(혹은 코덱)에서 병렬화 가능한 단계 정보를 포함할 수 있다.In
707단계에서 전자 장치는 어플리케이션 설치 패키지에 포함된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지 확인할 수 있다. 한 실시예에 따르면, 전자 장치는 추출된 이미지 리소스들에 대해 PSNR(Peak Signal-to-Nose Ratio) 또는 MSSIM(Modified Structural Similarity)과 같이 이미지의 품질(quality)을 측정하는 다양한 방법 중 적어도 하나 이상을 이용하여 측정한 값과 기준값의 비교 결과에 기반하여 압축된 텍스처로 변환 가능한 이미지인지 결정할 수 있다. 한 실시예에 따르면, 전자 장치는 추출된 이미지 리소스들 중 압축된 텍스처로 변환 가능한 리스트에 포함되는 이미지 리소스가 존재하는지 확인할 수도 있다.In
어플리케이션 설치 패키지에 포함된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인 경우, 709단계에서 전자 장치는 병렬화 수행 정보에 기반하여 어플리케이션 설치 파일에 포함된 이미지 리소스를 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 어플리케이션 설치 파일에 포함된 이미지 리소스가 PNG, JPEG와 같은 압축 이미지인 경우, 전자 장치는 압축 이미지를 디코딩하여 비트맵(Bitmap) 이미지로 변환하고, 비트맵 이미지를 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 어플리케이션 설치 패키지에 포함된 이미지 리소스가 기 정의된 압축된 텍스처인 경우, 전자 장치는 그래픽 프로세서(CPU)에서 지원 가능한 압축된 텍스처로 변환할 수도 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들 중 일부 코어만을 이용하여 병렬화를 통해 리소스를 압축된 텍스처로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들의 클럭을 제어하여 병렬화를 통해 리소스를 압축된 텍스처로 변환할 수 있다.When the image resource included in the application installation package is a resource convertible into a compressed texture, in
어플리케이션 설치 패키지에 포함된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 713단계에서 전자 장치는 병렬화 수행 정보에 기반하여 어플리케이션 설치 패키지에 포함된 이미지 리소스를 다른 리소스 타입으로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 어플리케이션 설치 패키지에 포함된 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간, 메모리 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들 중 일부 코어만을 이용하여 병렬화를 통해 리소스를 다른 리소스 타입으로 변환할 수 있다. 한 실시예에 따르면, 전자 장치는 그래픽 프로세서에 포함된 다수 개의 코어들의 클럭을 제어하여 병렬화를 통해 리소스를 다른 리소스 타입으로 변환할 수 있다.If the image resource included in the application installation package is not a resource that can be converted into a compressed texture, in
어플리케이션 설치 패키지에 포함된 이미지 리소스를 압축된 텍스처 또는 다른 리소스 타입으로 변환한 경우, 509단계에서 전자 장치는 변환된 리소스를 포함하도록 어플리케이션 설치 패키지를 리패키징할 수 있다. 한 실시예에 따르면, 전자 장치는 리패키징된 어플리케이션 설치 패키지를 이용하여 어플리케이션의 설치를 완료할 수 있다.When the image resource included in the application installation package is converted into a compressed texture or other resource type, in
한 실시예에 따르면, 전자 장치는 어플리케이션 설치 후에 기준 조건에 기반하여 리소스의 변환 및 어플리케이션 설치 패키지를 리패키징 할 수 있다.According to an embodiment, after the application is installed, the electronic device may convert the resource and repackage the application installation package based on the reference condition.
한 실시예에 따르면, 전자 장치는 충전 중인 경우, 설치된 어플리케이션에 대한 리소스의 변환 및 어플리케이션 설치 패키지를 리패키징 할 수 있다.According to an embodiment, when the electronic device is charging, it may convert a resource for an installed application and repackage an application installation package.
한 실시예에 따르면, 전자 장치는 일정 시간 동안 슬립 모드로 동작 중인 경우, 설치된 어플리케이션에 대한 리소스의 변환 및 어플리케이션 설치 패키지를 리패키징 할 수 있다.According to an embodiment, when the electronic device is operating in the sleep mode for a predetermined time, it is possible to convert a resource for an installed application and repackage an application installation package.
다양한 실시예에 따르면, 전자 장치에서 바이너리를 생성하기 위한 방법은, 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 상기 어플리케이션에 대한 이미지 리소스를 확인하는 동작; 상기 이미지 리소스에 대한 속성을 판단하는 동작; 상기 속성에 기반하여 상기 이미지 리소스를 압축된 텍스처로 선택적으로 변환하는 동작; 및 상기 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 동작을 포함할 수 있다.According to various embodiments, a method for generating a binary in an electronic device may include, based on a request for generating a binary code of an application, identifying an image resource for the application; determining a property of the image resource; selectively converting the image resource into a compressed texture based on the attribute; and when the image resource is converted, generating the binary code for the application based on the converted image resource.
다양한 실시예에 따르면, 상기 선택적으로 변환하는 동작은, 상기 전자 장치와 통신 가능한 외부 전자 장치의 설정에 기반하여 상기 이미지 리소스를 변환하는 동작을 포함할 수 있다.According to various embodiments, the selectively converting may include converting the image resource based on a setting of an external electronic device capable of communicating with the electronic device.
다양한 실시예에 따르면, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 메모리 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 메모리 사용량의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 동작을 더 포함할 수 있다.According to various embodiments, memory usage when generating the binary code for the application based on the converted image resource and memory usage when generating the binary code for the application based on an unconverted image resource The method may further include determining whether to convert the image resource based on the comparison result of .
다양한 실시예에 따르면, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 어플리케이션 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 어플리케이션 구동 소요 시간의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 동작을 더 포함할 수 있다.According to various embodiments, when generating the binary code for the application based on the application driving time required for generating the binary code for the application based on the converted image resource and the unconverted image resource The method may further include determining whether to convert the image resource based on the comparison result of the application driving time required.
다양한 실시예에 따르면, 상기 생성한 바이너리 코드를 상기 전자 장치와 통신 가능한 외부 전자 장치로 전송하는 동작을 더 포함할 수 있다.According to various embodiments, the method may further include transmitting the generated binary code to an external electronic device capable of communicating with the electronic device.
다양한 실시예에 따르면, 상기 속성에 기반하여 상기 이미지 리소스를 다른 코덱에 기반하는 이미지 리소스로 변환하는 동작을 포함할 수 있다.According to various embodiments, the method may include converting the image resource into an image resource based on another codec based on the attribute.
다양한 실시예에 따르면, 상기 이미지 리소스에 대한 속성을 판단하는 동작은, 상기 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지 판단하는 동작을 포함할 수 있다.According to various embodiments, the determining of the attribute of the image resource may include determining whether the image resource is in the form of a compressed image or a predefined compressed texture.
다양한 실시예에 따르면, 전자 장치에서 어플리케이션 설치에 따른 바이너리를 생성하기 위한 방법은, 어플리케이션 설치 시, 상기 어플리케이션에 포함된 이미지 리소스를 확인하는 동작; 상기 이미지 리소스에 대한 속성을 판단하는 동작; 상기 속성에 기반하여 상기 이미지 리소스를 압축된 텍스처로 선택적으로 변환하는 동작; 상기 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스를 포함하도록 상기 어플리케이션에 대한 설치 패키지를 리패키징하는 동작; 상기 리패키징된 어플리케이션에 대한 설치 패키지를 설치하는 동작을 포함할 수 있다.According to various embodiments of the present disclosure, a method for generating a binary according to application installation in an electronic device includes: checking an image resource included in the application when installing the application; determining a property of the image resource; selectively converting the image resource into a compressed texture based on the attribute; when the image resource is converted, repackaging the installation package for the application to include the converted image resource; It may include an operation of installing an installation package for the repackaged application.
다양한 실시예에 따르면, 상기 선택적으로 변환하는 동작은, 상기 전자 장치의 설정에 기반하여 상기 이미지 리소스를 변환하는 동작을 포함할 수 있다.According to various embodiments, the selectively converting may include converting the image resource based on a setting of the electronic device.
다양한 실시예에 따르면, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 메모리 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 메모리 사용량의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 동작을 더 포함할 수 있다.According to various embodiments, a comparison result of the memory usage when the installation of the application is performed based on the converted image resource and the memory usage when the installation of the application is performed based on the unconverted image resource The method may further include determining whether to convert the image resource based on .
다양한 실시예에 따르면, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 어플리케이션 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 어플리케이션 구동 소요 시간의 비교 결과에 기반하여 상기 이미지 리소스를 변환할 것인지 결정하는 동작을 더 포함할 수 있다.According to various embodiments, an application driving time required for installing the application based on the converted image resource and an application driving time required for installing the application based on an unconverted image resource The method may further include determining whether to convert the image resource based on a time comparison result.
다양한 실시예에 따르면, 상기 속성에 기반하여 상기 이미지 리소스를 다른 코덱에 기반하는 이미지 리소스로 변환하는 동작을 포함할 수 있다.According to various embodiments, the method may include converting the image resource into an image resource based on another codec based on the attribute.
다양한 실시예에 따르면, 상기 이미지 리소스에 대한 속성을 판단하는 동작은, 상기 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지 판단하는 동작을 포함할 수 있다.According to various embodiments, the determining of the attribute of the image resource may include determining whether the image resource is in the form of a compressed image or a predefined compressed texture.
한편 본 발명의 다양한 실시예에 따른 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 다양한 실시예의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 다양한 실시예의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 할 수 있다.Meanwhile, in the detailed description according to various embodiments of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of various embodiments of the present invention. Therefore, the scope of various embodiments of the present invention should not be limited to the described embodiments and may be defined by the claims described below as well as the claims and equivalents.
Claims (34)
상기 전자 장치가 상기 슬립 모드로 동작하는 경우, 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 상기 어플리케이션에 대한 이미지 리소스를 추출하는 동작;
상기 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지를 확인하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인 경우, 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 상기 추출된 이미지 리소스를 다른 리소스 타입으로 변환하는 동작; 및
상기 추출된 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 동작을 포함하는 방법.
determining whether the electronic device operates in a sleep mode;
extracting an image resource for the application based on a request for generating a binary code of the application when the electronic device operates in the sleep mode;
checking whether the extracted image resource is a resource convertible into a compressed texture;
converting the extracted image resource into the compressed texture when the extracted image resource is a resource convertible into the compressed texture;
converting the extracted image resource into another resource type when the extracted image resource is not a resource convertible into the compressed texture; and
and generating the binary code for the application based on the converted image resource when the extracted image resource is converted.
상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작은,
상기 전자 장치와 통신 가능한 외부 전자 장치의 설정에 기반하여 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작을 포함하는 방법.
The method of claim 1,
The operation of converting the extracted image resource into the compressed texture comprises:
and converting the extracted image resource into the compressed texture based on a setting of an external electronic device capable of communicating with the electronic device.
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 메모리의 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 상기 메모리의 사용량을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하는 동작을 더 포함하는 방법.
According to claim 1,
Comparing the memory usage when generating the binary code for the application based on the converted image resource and the memory usage when generating the binary code for the application based on the unconverted image resource Based on the result, the method further comprising the operation of determining whether to convert the image resource.
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 상기 어플리케이션의 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 상기 어플리케이션의 구동 소요 시간을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하는 동작을 더 포함하는 방법.
According to claim 1,
Driving time of the application when generating the binary code for the application based on the converted image resource and driving the application when generating the binary code for the application based on the unconverted image resource Based on a result of comparing the required time, the method further comprising the operation of determining whether to convert the image resource.
상기 생성한 바이너리 코드를 상기 전자 장치와 통신 가능한 외부 전자 장치로 전송하는 동작을 더 포함하는 방법.
According to claim 1,
The method further comprising transmitting the generated binary code to an external electronic device capable of communicating with the electronic device.
상기 추출된 이미지 리소스를 상기 다른 리소스 타입으로 변환하는 동작은,
상기 추출된 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간 및 메모리의 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 상기 추출된 이미지 리소스를 상기 다른 리소스 타입으로 변환하는 동작을 포함하는 방법.
According to claim 1,
The operation of converting the extracted image resource into the other resource type is,
Converting the extracted image resource to the other resource type by using an image codec capable of reducing encoding time, decoding time, and memory usage while maintaining the quality of the extracted image resource Way.
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인지를 확인하는 동작은,
상기 추출된 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지를 판단하는 동작을 포함하는 방법.
According to claim 1,
The operation of checking whether the extracted image resource is a resource convertible into the compressed texture comprises:
and determining whether the extracted image resource is in the form of a compressed image or a predefined compressed texture.
프로세서를 포함하고,
상기 프로세서는,
전자 장치가 슬립 모드로 동작하는지를 판단하고,
상기 전자 장치가 상기 슬립 모드로 동작하는 경우, 상기 메모리에 저장된 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 상기 어플리케이션에 대한 이미지 리소스를 추출하고,
상기 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지를 확인하고,
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인 경우, 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하고,
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 상기 추출된 이미지 리소스를 다른 리소스 타입으로 변환하고,
상기 추출된 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하도록 설정된 전자 장치.
Memory; and
including a processor;
The processor is
determining whether the electronic device operates in a sleep mode;
When the electronic device operates in the sleep mode, extracting an image resource for the application based on a request for generating a binary code of the application stored in the memory,
Check whether the extracted image resource is a resource that can be converted into a compressed texture,
If the extracted image resource is a resource convertible into the compressed texture, convert the extracted image resource into the compressed texture;
If the extracted image resource is not a resource convertible to the compressed texture, convert the extracted image resource to another resource type,
When the extracted image resource is converted, the electronic device is configured to generate the binary code for the application based on the converted image resource.
상기 프로세서는,
상기 전자 장치와 통신 가능한 외부 전자 장치의 설정에 기반하여 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하도록 설정된 전자 장치.
9. The method of claim 8,
The processor is
An electronic device configured to convert the extracted image resource into the compressed texture based on a setting of an external electronic device capable of communicating with the electronic device.
상기 프로세서는,
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 상기 메모리의 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 상기 메모리의 사용량을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하도록 설정된 전자 장치.
9. The method of claim 8,
The processor is
Comparing the memory usage when generating the binary code for the application based on the converted image resource and the memory usage when generating the binary code for the application based on the unconverted image resource An electronic device configured to determine whether to convert the image resource based on the result.
상기 프로세서는,
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 경우의 상기 어플리케이션의 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 바이너리 코드를 생성하는 경우의 상기 어플리케이션의 구동 소요 시간을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하도록 설정된 전자 장치.
9. The method of claim 8,
The processor is
Driving time of the application when generating the binary code for the application based on the converted image resource and driving the application when generating the binary code for the application based on the unconverted image resource An electronic device configured to determine whether to convert the image resource based on a result of comparing the required time.
상기 프로세서는,
상기 생성한 바이너리 코드를 상기 전자 장치와 통신 가능한 외부 전자 장치로 전송하도록 설정된 전자 장치.
9. The method of claim 8,
The processor is
An electronic device configured to transmit the generated binary code to an external electronic device capable of communicating with the electronic device.
상기 프로세서는,
상기 추출된 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간 및 상기 메모리의 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 상기 추출된 이미지 리소스를 상기 다른 리소스 타입으로 변환하도록 설정된 전자 장치.
9. The method of claim 8,
The processor is
An electronic device configured to convert the extracted image resource into the other resource type by using an image codec capable of reducing encoding time, decoding time, and memory usage while maintaining the quality of the extracted image resource .
상기 프로세서는,
상기 추출된 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지를 판단하도록 설정된 전자 장치.
9. The method of claim 8,
The processor is
An electronic device configured to determine whether the extracted image resource is in the form of a compressed image or a predefined compressed texture.
전자 장치가 슬립 모드로 동작하는지를 판단하는 동작;
상기 전자 장치가 상기 슬립 모드로 동작하는 경우, 어플리케이션의 바이너리 코드를 생성하기 위한 요청에 기반하여, 상기 어플리케이션에 대한 이미지 리소스를 추출하는 동작;
상기 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지를 확인하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인 경우, 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 상기 추출된 이미지 리소스를 다른 리소스 타입으로 변환하는 동작; 및
상기 추출된 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 상기 바이너리 코드를 생성하는 동작을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
In a computer-readable recording medium storing instructions
determining whether the electronic device operates in a sleep mode;
extracting an image resource for the application based on a request for generating a binary code of the application when the electronic device operates in the sleep mode;
checking whether the extracted image resource is a resource convertible into a compressed texture;
converting the extracted image resource into the compressed texture when the extracted image resource is a resource convertible into the compressed texture;
converting the extracted image resource into another resource type when the extracted image resource is not a resource convertible into the compressed texture; and
A computer-readable recording medium recording a program for executing an operation of generating the binary code for the application based on the converted image resource when the extracted image resource is converted.
상기 전자 장치의 소모 전류, 상기 전자 장치의 발열, 그래픽 프로세서의 특성 및 상기 이미지 리소스의 종류에 기반하는 병렬화 수행 정보를 결정하는 동작을 더 포함하는 방법.
According to claim 1,
The method further comprising: determining parallelization performance information based on current consumption of the electronic device, heat generation of the electronic device, characteristics of a graphic processor, and a type of the image resource.
상기 병렬화 수행 정보는 상기 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작에서 병렬화 가능한 단계 정보를 포함하는 방법.
17. The method of claim 16,
The parallelization performance information includes parallelizable step information in the operation of converting the image resource into the compressed texture.
상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작은,
상기 병렬화 수행 정보에 기반하여 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작을 포함하는 방법.
17. The method of claim 16,
The operation of converting the extracted image resource into the compressed texture comprises:
and converting the extracted image resource into the compressed texture based on the parallelization performance information.
상기 전자 장치가 상기 슬립 모드로 동작하는 경우, 상기 어플리케이션에 포함된 이미지 리소스를 추출하는 동작;
상기 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지를 확인하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인 경우, 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 상기 추출된 이미지 리소스를 다른 리소스 타입으로 변환하는 동작;
상기 추출된 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스를 포함하도록 상기 어플리케이션에 대한 설치 패키지를 리패키징하는 동작; 및
상기 리패키징된 설치 패키지를 이용하여 상기 어플리케이션을 설치하는 동작을 포함하는 방법.
determining whether the electronic device operates in a sleep mode when an application is installed;
extracting an image resource included in the application when the electronic device operates in the sleep mode;
checking whether the extracted image resource is a resource convertible into a compressed texture;
converting the extracted image resource into the compressed texture when the extracted image resource is a resource convertible into the compressed texture;
converting the extracted image resource into another resource type when the extracted image resource is not a resource convertible into the compressed texture;
when the extracted image resource is converted, repackaging the installation package for the application to include the converted image resource; and
and installing the application using the repackaged installation package.
상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작은,
상기 전자 장치의 설정에 기반하여 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작을 포함하는 방법.
20. The method of claim 19,
The operation of converting the extracted image resource into the compressed texture comprises:
and converting the extracted image resource into the compressed texture based on a setting of the electronic device.
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 메모리의 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 메모리의 사용량을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하는 동작을 더 포함하는 방법.
20. The method of claim 19,
Based on the result of comparing the memory usage when the installation of the application is performed based on the converted image resource and the memory usage when the installation of the application is performed based on the unconverted image resource By doing so, the method further comprising the operation of determining whether to convert the image resource.
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 어플리케이션의 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 어플리케이션의 구동 소요 시간을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하는 동작을 더 포함하는 방법.
20. The method of claim 19,
Based on the converted image resource, the driving time required for the application when the application is installed and the application running time when the application is installed based on the unconverted image resource. Based on the comparison result, the method further comprising the operation of determining whether to convert the image resource.
상기 추출된 이미지 리소스를 상기 다른 리소스 타입으로 변환하는 동작은,
상기 추출된 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간 및 메모리의 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 상기 추출된 이미지 리소스를 상기 다른 리소스 타입으로 변환하는 동작을 포함하는 방법.
20. The method of claim 19,
The operation of converting the extracted image resource into the other resource type is,
Converting the extracted image resource to the other resource type by using an image codec capable of reducing encoding time, decoding time, and memory usage while maintaining the quality of the extracted image resource Way.
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인지를 확인하는 동작은,
상기 추출된 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지 판단하는 동작을 포함하는 방법.
20. The method of claim 19,
The operation of checking whether the extracted image resource is a resource convertible into the compressed texture comprises:
and determining whether the extracted image resource is in the form of a compressed image or a predefined compressed texture.
상기 전자 장치의 소모 전류, 상기 전자 장치의 발열, 그래픽 프로세서의 특성 및 상기 이미지 리소스의 종류에 기반하는 병렬화 수행 정보를 결정하는 동작을 더 포함하는 방법.
20. The method of claim 19,
The method further comprising: determining parallelization performance information based on current consumption of the electronic device, heat generation of the electronic device, characteristics of a graphic processor, and a type of the image resource.
상기 병렬화 수행 정보는 상기 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작에서 병렬화 가능한 단계 정보를 포함하는 방법.
26. The method of claim 25,
The parallelization performance information includes parallelizable step information in the operation of converting the image resource into the compressed texture.
상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작은,
상기 병렬화 수행 정보에 기반하여 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작을 포함하는 방법.
26. The method of claim 25,
The operation of converting the extracted image resource into the compressed texture comprises:
and converting the extracted image resource into the compressed texture based on the parallelization performance information.
프로세서를 포함하고,
상기 프로세서는,
상기 메모리에 어플리케이션 설치 시, 전자 장치가 슬립 모드로 동작하는지를 판단하고,
상기 전자 장치가 상기 슬립 모드로 동작하는 경우, 상기 어플리케이션에 포함된 이미지 리소스를 추출하고,
상기 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지를 확인하고,
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인 경우, 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하고,
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 상기 추출된 이미지 리소스를 다른 리소스 타입으로 변환하고,
상기 추출된 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스를 포함하도록 상기 어플리케이션에 대한 설치 패키지를 리패키징하고,
상기 리패키징된 설치 패키지를 이용하여 상기 어플리케이션을 설치하도록 설정된 전자 장치.
Memory; and
including a processor;
The processor is
When an application is installed in the memory, it is determined whether the electronic device operates in a sleep mode,
When the electronic device operates in the sleep mode, extracting an image resource included in the application,
Check whether the extracted image resource is a resource that can be converted into a compressed texture,
If the extracted image resource is a resource convertible into the compressed texture, convert the extracted image resource into the compressed texture;
If the extracted image resource is not a resource that can be converted into the compressed texture, convert the extracted image resource to another resource type,
If the extracted image resource is converted, repackaging the installation package for the application to include the converted image resource,
An electronic device configured to install the application using the repackaged installation package.
상기 프로세서는,
상기 전자 장치의 설정에 기반하여 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하도록 설정된 전자 장치.
29. The method of claim 28,
The processor is
an electronic device configured to convert the extracted image resource into the compressed texture based on a setting of the electronic device.
상기 프로세서는,
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 메모리의 사용량과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 메모리의 사용량을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하도록 설정된 전자 장치.
29. The method of claim 28,
The processor is
In the result of comparing the memory usage when the installation of the application is performed based on the converted image resource and the memory usage when the installation of the application is performed based on the unconverted image resource, based on the electronic device configured to determine whether to convert the image resource.
상기 프로세서는,
상기 변환된 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 어플리케이션의 구동 소요 시간과 변환되지 않은 이미지 리소스에 기반하여 상기 어플리케이션에 대한 설치를 진행하는 경우의 상기 어플리케이션의 구동 소요 시간을 비교한 결과에 기반하여, 상기 이미지 리소스에 대한 변환 여부를 결정하도록 설정된 전자 장치.
29. The method of claim 28,
The processor is
Based on the converted image resource, the driving time required for the application when the application is installed and the application running time when the application is installed based on the unconverted image resource. An electronic device configured to determine whether to convert the image resource based on the comparison result.
상기 프로세서는,
상기 추출된 이미지 리소스에 대한 화질을 유지하면서, 인코딩 소요 시간, 디코딩 소요 시간 및 상기 메모리의 사용량을 감소시킬 수 있는 이미지 코덱을 사용하여 상기 추출된 이미지 리소스를 상기 다른 리소스 타입으로 변환하도록 설정된 전자 장치.
29. The method of claim 28,
The processor is
An electronic device configured to convert the extracted image resource into the other resource type by using an image codec capable of reducing encoding time, decoding time, and memory usage while maintaining the quality of the extracted image resource .
상기 프로세서는,
상기 추출된 이미지 리소스가 압축된 이미지 형태인지 또는 기 정의된 압축된 텍스처 형태인지 판단하도록 설정된 전자 장치.
29. The method of claim 28,
The processor is
An electronic device configured to determine whether the extracted image resource is in the form of a compressed image or a predefined compressed texture.
어플리케이션 설치 시, 전자 장치가 슬립 모드로 동작하는지를 판단하는 동작;
상기 전자 장치가 상기 슬립 모드로 동작하는 경우, 상기 어플리케이션에 포함된 이미지 리소스를 추출하는 동작;
상기 추출된 이미지 리소스가 압축된 텍스처로 변환 가능한 리소스인지를 확인하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스인 경우, 상기 추출된 이미지 리소스를 상기 압축된 텍스처로 변환하는 동작;
상기 추출된 이미지 리소스가 상기 압축된 텍스처로 변환 가능한 리소스가 아닌 경우, 상기 추출된 이미지 리소스를 다른 리소스 타입으로 변환하는 동작;
상기 추출된 이미지 리소스가 변환된 경우, 상기 변환된 이미지 리소스를 포함하도록 상기 어플리케이션에 대한 설치 패키지를 리패키징하는 동작;
상기 리패키징된 설치 패키지를 이용하여 상기 어플리케이션을 설치하는 동작을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.In a computer-readable recording medium storing instructions,
determining whether the electronic device operates in a sleep mode when an application is installed;
extracting an image resource included in the application when the electronic device operates in the sleep mode;
checking whether the extracted image resource is a resource convertible into a compressed texture;
converting the extracted image resource into the compressed texture when the extracted image resource is a resource convertible into the compressed texture;
converting the extracted image resource into another resource type when the extracted image resource is not a resource convertible into the compressed texture;
when the extracted image resource is converted, repackaging the installation package for the application to include the converted image resource;
A computer-readable recording medium recording a program for executing an operation of installing the application using the repackaged installation package.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/626,454 US10067951B2 (en) | 2014-02-19 | 2015-02-19 | Method for creating binary code and electronic device thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140019347 | 2014-02-19 | ||
KR1020140019347 | 2014-02-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150098174A KR20150098174A (en) | 2015-08-27 |
KR102269590B1 true KR102269590B1 (en) | 2021-06-24 |
Family
ID=54059689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140099009A KR102269590B1 (en) | 2014-02-19 | 2014-08-01 | Method for creating a binary and an electronic device thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102269590B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240770A (en) * | 2021-05-12 | 2021-08-10 | 广东美房智高机器人有限公司 | Robot real-time mapping display method, system, equipment and medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097802A1 (en) * | 1998-11-30 | 2002-07-25 | Chih-Lung (Bruce) Lin | "Coding techniques for coded block parameters of blocks of macroblocks" |
US20080055331A1 (en) * | 2006-08-31 | 2008-03-06 | Ati Technologies Inc. | Texture compression techniques |
US20080229303A1 (en) * | 2007-03-16 | 2008-09-18 | Francesco Maria Carteri | Method, system and computer program for distributing customized software products |
US20110032251A1 (en) * | 2009-08-04 | 2011-02-10 | Sai Krishna Pothana | Method and system for texture compression in a system having an avc decoding and a 3d engine |
US20110115806A1 (en) * | 2009-11-19 | 2011-05-19 | Rogers Douglas H | High-compression texture mapping |
US20130198485A1 (en) * | 2011-08-04 | 2013-08-01 | Jorn Nystad | Methods of and apparatus for storing data in memory in data processing systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01175671A (en) * | 1987-12-29 | 1989-07-12 | Nippon Steel Corp | How to convert drawing data |
-
2014
- 2014-08-01 KR KR1020140099009A patent/KR102269590B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097802A1 (en) * | 1998-11-30 | 2002-07-25 | Chih-Lung (Bruce) Lin | "Coding techniques for coded block parameters of blocks of macroblocks" |
US20080055331A1 (en) * | 2006-08-31 | 2008-03-06 | Ati Technologies Inc. | Texture compression techniques |
US20080229303A1 (en) * | 2007-03-16 | 2008-09-18 | Francesco Maria Carteri | Method, system and computer program for distributing customized software products |
US20110032251A1 (en) * | 2009-08-04 | 2011-02-10 | Sai Krishna Pothana | Method and system for texture compression in a system having an avc decoding and a 3d engine |
US20110115806A1 (en) * | 2009-11-19 | 2011-05-19 | Rogers Douglas H | High-compression texture mapping |
US20130198485A1 (en) * | 2011-08-04 | 2013-08-01 | Jorn Nystad | Methods of and apparatus for storing data in memory in data processing systems |
Also Published As
Publication number | Publication date |
---|---|
KR20150098174A (en) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10135898B2 (en) | Method, terminal, and system for reproducing content | |
AU2015293001B2 (en) | Method and device for embedded SIM provisioning | |
US10366669B2 (en) | Electronic device and method for driving display thereof | |
KR102082347B1 (en) | Electronic device and method for transmitting notification information | |
US10069327B2 (en) | Electronic device and method for charging battery based on a plurality of power sources | |
KR102277353B1 (en) | Video processing method and electronic device | |
US10181028B2 (en) | Method and apparatus to sandbox run-time android applications with lightweight container | |
KR102431266B1 (en) | Apparatus and method for protecting information in communication system | |
KR102109883B1 (en) | Content transmission method and apparatus | |
CN104869305A (en) | Method for processing image data and apparatus for the same | |
US10067951B2 (en) | Method for creating binary code and electronic device thereof | |
KR102131626B1 (en) | Media data synchronization method and device | |
US20150200835A1 (en) | Method for providing status messaging service in electronic device and the electronic device thereof | |
US20150205598A1 (en) | Method for managing application and electronic device for processing method | |
US10255441B2 (en) | Electronic device and method of managing image by electronic device | |
US10048988B2 (en) | Method and electronic device for processing intent | |
US9959598B2 (en) | Method of processing image and electronic device thereof | |
KR102218553B1 (en) | Screen controlling method and electronic device | |
US9734344B2 (en) | Providing control in a multi user environment | |
KR102269590B1 (en) | Method for creating a binary and an electronic device thereof | |
US9510167B2 (en) | Electronic device and method for changing alarm mode | |
US10430046B2 (en) | Electronic device and method for processing an input reflecting a user's intention | |
CN108464008B (en) | Electronic device and content reproduction method controlled by electronic device | |
US10602001B2 (en) | Method for identifying data usage and electronic device implementing the same | |
US9787816B2 (en) | Method for reproducing contents and an electronic device thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20140801 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20190731 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20140801 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200916 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210318 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210618 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210621 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |