KR20100050098A - 영상처리장치 및 그 제어 방법 - Google Patents

영상처리장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20100050098A
KR20100050098A KR1020080109223A KR20080109223A KR20100050098A KR 20100050098 A KR20100050098 A KR 20100050098A KR 1020080109223 A KR1020080109223 A KR 1020080109223A KR 20080109223 A KR20080109223 A KR 20080109223A KR 20100050098 A KR20100050098 A KR 20100050098A
Authority
KR
South Korea
Prior art keywords
application
execution
processor
modules
main memory
Prior art date
Application number
KR1020080109223A
Other languages
English (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 KR1020080109223A priority Critical patent/KR20100050098A/ko
Priority to US12/533,535 priority patent/US20100115503A1/en
Priority to EP09168362A priority patent/EP2187306A1/en
Publication of KR20100050098A publication Critical patent/KR20100050098A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Abstract

영상처리장치의 제어 방법이 개시되어 있다. 이 영상처리장치의 제어 방법은, 어플리케이션의 업데이트 시 어플리케이션을 복수 개로 모듈화하여 각 모듈을 선택적으로 업데이트하고 모듈 각각에 대응하는 어드레스를 지정하여, 업데이트된 어플리케이션을 생성하는 단계와; 업데이트된 어플리케이션의 실행 시 각 모듈을 지정된 어드레스에 각각 로딩하여 실행하는 단계를 포함하는 것을 특징으로 한다.

Description

영상처리장치 및 그 제어 방법{IMAGE PROCESSING APPARATUS AND CONTROL METHOD THEREOF}
본 발명은 시스템 작동 또는 컨텐츠의 재생 등을 위한 어플리케이션을 실행하는 영상처리장치 및 그 제어 방법에 관한 것으로서, 상세하게는 어플리케이션의 업데이트 및 실행 구조에 관한 영상처리장치 및 그 제어 방법에 관한 것이다.
영상처리장치는 다양한 형식 또는 포맷을 가지는 입력 컨텐츠를 액정 또는 플라즈마 등으로 구현되는 디스플레이 패널에 표시되도록 처리한다. 영상처리장치는 자체 시스템의 작동 제어나, 입력되는 컨텐츠의 재생을 위한 어플리케이션(application) 소프트웨어가 탑재된다.
영상처리장치의 어플리케이션은 시스템 전원의 턴온에 따른 시스템 부팅 시 실행되거나, 또는 소정의 기능을 수행하고자 할 때에 선택적으로 실행될 수 있다.
홈 네트워크 기술의 발전과 사용자의 요구 및 편의에 따라서, 영상처리장치에 요구되는 기능은 다양해지고 또한 복잡하게 변화하는 바, 어플리케이션은 이러한 경향을 반영하여 그 데이터량이 점차로 증가하고 있다.
이러한 어플리케이션은 영상처리장치의 제조 시 탑재된 이후에도, 오류의 수 정, 새로운 기능의 추가 또는 교체 등과 같은 다양한 요인에 의해, 지속적인 업데이트 관리가 요구된다. 그러나, 데이터량이 점차로 증가하는 어플리케이션을 업데이트함에 따라서, 업데이트용 어플리케이션 데이터를 전송하고 업데이트하는 데 소요되는 시간 또한 점차로 증가하게 된다.
또한, 어플리케이션의 데이터량이 증가하게 되면, 제조자 입장에서도 어플리케이션의 업데이트를 위하여 해당 어플리케이션의 코드를 분석하는 것이 곤란해진다.
본 발명의 실시예에 따른 어플리케이션이 실행 가능하게 저장되는 영상처리장치의 제어 방법은, 상기 어플리케이션의 업데이트 시 상기 어플리케이션을 복수 개로 모듈화하여 상기 모듈을 선택적으로 업데이트하고 상기 모듈 각각에 대응하는 어드레스를 지정하여, 업데이트된 상기 어플리케이션을 생성하는 단계와; 상기 업데이트된 어플리케이션의 실행 시 상기 각 모듈을 상기 지정된 어드레스에 각각 로딩하여 실행하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 어플리케이션을 업데이트하는 단계는, 외부로부터 상기 모듈 중 적어도 어느 하나를 선택적으로 수신하는 단계와; 상기 수신한 모듈을 이용하여 상기 어플리케이션 모듈을 업데이트하는 단계를 포함할 수 있다.
여기서, 상기 어플리케이션을 업데이트하는 단계는, 상기 업데이트된 어플리케이션이 생성되면 상기 수신한 모듈을 삭제하는 단계를 더 포함할 수 있다.
또한, 상기 모듈 중 적어도 어느 하나를 선택적으로 수신하는 단계는, 방송 신호를 수신하는 단계와; 상기 수신한 방송 신호로부터 상기 모듈을 추출하는 단계를 포함할 수 있다.
또한, 상기 복수 어플리케이션 모듈은, 실행 오브젝트 또는 상기 실행 오브젝트에 의해 호출되는 적어도 하나의 공유 오브젝트를 포함할 수 있다.
여기서, 상기 실행 오브젝트는 상기 공유 오브젝트를 호출 가능하도록 상기 공유 오브젝트의 상기 어드레스를 지정하는 정보 영역을 포함하며, 상기 어플리케이션을 업데이트하는 단계는, 상기 지정된 어드레스를 상기 실행 오브젝트의 상기 정보 영역에 기록하는 단계를 포함할 수 있다.
또한, 상기 영상처리장치는 상기 어플리케이션이 실행 가능하게 로딩되는 메인메모리를 포함하며, 상기 어플리케이션을 실행하는 단계는, 상기 실행 오브젝트를 실행할 때, 상기 실행 오브젝트 및 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 함께 로딩하는 단계와; 상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 로딩되어 있는 공유 오브젝트를 호출하는 단계를 포함할 수 있다.
또한, 상기 영상처리장치는 상기 어플리케이션이 실행 가능하게 로딩되는 메인메모리를 포함하며, 상기 어플리케이션을 실행하는 단계는, 상기 실행 오브젝트를 상기 메인메모리에 로딩하여 실행하는 단계와; 상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 로딩하여 호출하는 단계를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 영상처리장치는, 어플리케이션이 실행 가능 하게 로딩되는 메인메모리와; 상기 어플리케이션의 업데이트 시 상기 어플리케이션을 복수 개로 모듈화하여 상기 모듈을 선택적으로 업데이트하고 상기 모듈 각각에 대응하는 어드레스를 지정하여, 업데이트된 상기 어플리케이션을 생성하며, 상기 업데이트된 어플리케이션의 실행 시 상기 각 모듈을 상기 지정된 어드레스에 각각 로딩하여 실행하는 프로세서를 포함하는 것을 특징으로 한다.
여기서, 상기 프로세서는, 외부로부터 상기 모듈 중 적어도 어느 하나를 선택적으로 수신하고, 상기 수신한 모듈을 이용하여 상기 어플리케이션 모듈을 업데이트할 수 있다.
여기서, 상기 프로세서는, 상기 업데이트된 어플리케이션이 생성되면 상기 외부로부터 수신한 모듈을 삭제할 수 있다.
또한, 상기 프로세서는, 방송 신호를 수신하고, 상기 수신한 방송 신호로부터 상기 모듈을 추출 가능하다.
또한, 상기 복수 어플리케이션 모듈은, 실행 오브젝트 또는 상기 실행 오브젝트에 의해 호출되는 적어도 하나의 공유 오브젝트를 포함할 수 있다.
여기서, 상기 실행 오브젝트는 상기 공유 오브젝트를 호출 가능하도록 상기 공유 오브젝트의 상기 어드레스를 지정하는 정보 영역을 포함하며, 상기 프로세서는, 상기 지정된 어드레스를 상기 실행 오브젝트의 상기 정보 영역에 기록할 수 있다.
또한, 상기 프로세서는, 상기 실행 오브젝트를 실행할 때, 상기 실행 오브젝트 및 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 함께 로딩 하며, 상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 로딩되어 있는 공유 오브젝트를 호출할 수 있다.
또한, 상기 프로세서는, 상기 실행 오브젝트를 상기 메인메모리에 로딩하여 실행하며, 상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 로딩하여 호출할 수 있다.
또한, 상기 메인메모리에 로딩되기 위한 상기 어플리케이션이 저장되며, 시스템 전원의 차단 시 상기 저장된 어플리케이션이 유지되는 서브메모리를 더 포함할 수 있다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 영상처리장치(1)의 구성 블록도이다. 본 실시예에 따른 영상처리장치(1)는 다양한 형식으로 구현될 수 있는 바, 예를 들면, TV, 셋탑박스(set-top box), DVD나 블루레이 디스크(blu-ray disc)와 같은 광학저장매체를 재생 가능한 미디어 플레이어, 또는 휴대용 미디어 플레이어 등으로 구현될 수 있다.
도 1에 도시된 바와 같이, 본 실시예에 따른 영상처리장치(1)는 어플리케이션(A)이 실행 가능하게 탑재되며, 이 어플리케이션(A)은 시스템 부팅 시 실행되거나, 또는 영상처리장치(1)의 소정 기능을 수행하고자 할 때에 해당 기능에 대응하여 마련된 어플리케이션(A)이 선택적으로 실행될 수도 있다. 본 실시예에서는 영상 처리장치(1)가 하나의 어플리케이션(A)을 가지고 있는 것으로 표현하나, 이는 한정된 것이 아니며, 복수의 어플리케이션(A)이 탑재될 수도 있다.
이러한 어플리케이션(A)은 그 형식 및 규격이 한정되지 않으나, 리눅스(LINUX) 기반에서 실행 가능하도록 구성되며, 이를 위하여 영상처리장치(1)는 리눅스 커널(kernel)이 탑재될 수 있다. 본 실시예에서는 어플리케이션(A)이 리눅스 규격에 따른 것으로 표현하나, 이것이 본 발명의 사상을 한정하지 않는다.
본 실시예에 따른 영상처리장치(1)는 복수 개로 모듈(module)화된 어플리케이션(A)이 실행 가능하게 로딩(loading)되는 메인메모리(300)와, 복수 어플리케이션 모듈(AE, AL1, AL2, AL3) 각각에 대응하는 어드레스(address)를 기 지정하고, 어플리케이션(A) 실행 시에 각 모듈(AE, AL1, AL2, AL3)을 메인메모리(300)의 기 지정된 어드레스에 각각 로딩하여 실행하는 프로세서(processor)(400)를 포함한다.
또한, 영상처리장치(1)는 외부로부터 데이터를 수신 가능한 통신부(100)와, 메인메모리(300)에 로딩되기 위한 어플리케이션(A)이 저장되는 서브메모리(200)를 더 포함한다.
상기한 구성에 기초하여, 영상처리장치(1)는 어플리케이션(A)의 업데이트 시에 전체 어플리케이션(A)이 아닌 각 모듈(AE, AL1, AL2, AL3) 별로 선택적으로 업데이트를 수행하고, 이에 따라서 각 어플리케이션 모듈(AE, AL1, AL2, AL3)이 로딩될 어드레스를 지정한다. 그리고 이후 어플리케이션(A)을 실행할 때마다, 각 모듈(AE, AL1, AL2, AL3)이 메인메모리(300)의 기 지정된 어드레스에 로딩되도록 한다.
이하, 영상처리장치(1)의 각 구성요소들에 관해 설명한다.
통신부(100)는 외부로부터 입력되는 어플리케이션(A)의 모듈(AE, AL1, AL2, AL3) 별 업데이트용 데이터를 수신하여 이를 프로세서(400)에 전달한다. 이를 위한 통신부(100)의 구성은 다양한 구성으로 구현될 수 있으며, 예를 들면 방송신호, 네트워크, 외부메모리장치(미도시) 등을 통해서 업데이트용 데이터를 수신할 수 있다.
자세하게는, 방송국(미도시)으로부터 방송신호를 송출할 때, 방송신호의 특정 주파수 대역에 업데이트용 데이터를 포함시켜 송출할 수 있다. 통신부(100)는 프로세서(400)의 제어에 의해, 영상처리장치(1)에 수신된 방송신호의 특정 주파수 대역으로부터 업데이트용 데이터를 추출할 수 있다.
또한, 통신부(100)는 업데이트용 데이터를 제공하는 서버(미도시)에 네트워크로 접속함으로써 업데이트용 데이터를 수신하거나, 영상처리장치(1)에 착탈 가능한 외부메모리장치(미도시)에 저장된 업데이트용 데이터를 수신할 수도 있다.
서브메모리(200)는 어플리케이션(A)을 비롯하여 프로세서(400)에 의해 실행 또는 참조될 수 있는 다양한 데이터가 저장된다. 서브메모리(200)는 전원이 차단되더라도 기 저장된 데이터를 유지할 수 있도록 비휘발성 메모리, 예를 들면 플래시메모리(flash-memory), 하드디스크 드라이브(hard-disc drive, HDD), 솔리드 스테이트 드라이브(solid state drive, SSD) 등으로 구현될 수 있다.
메인메모리(300)는 어플리케이션(A)의 실행을 위해, 서브메모리(200)에 저장된 어플리케이션(A)이 로딩된다. 즉, 프로세서(400)가 어플리케이션(A)을 실행하기 위해서는 우선 어플리케이션(A)을 메인메모리(300)에 로딩한다. 메인메모리(300)는 서브메모리(200)와 달리, 전원이 차단되면 기 로딩되어 있는 데이터가 유지되지 않고 휘발된다.
메인메모리(300)는 데이터의 로딩 영역 별로 어드레스를 가지며, 어플리케이션 모듈(AE, AL1, AL2, AL3)의 실행은 프로세서(400)가 메인메모리(300)에서 해당 모듈(AE, AL1, AL2, AL3)의 어드레스를 억세스함으로써 이루어진다.
프로세서(400)는 서브메모리(200)에 저장된 어플리케이션(A)을 메인메모리(300)에 로딩하고, 이 로딩된 어플리케이션(A)을 실행한다. 이러한 어플리케이션(A)은 그 기능에 따라서 복수의 모듈(AE, AL1, AL2, AL3)로 구분되며, 각 모듈(AE, AL1, AL2, AL3)은 상호 링크(link)를 통해 하나의 어플리케이션(A)으로 실행될 수 있다.
본 실시예에 따르면, 프로세서(400)에 의해 실행되는 어플리케이션(A)은 실행 오브젝트(AE)와, 이 실행 오브젝트(AE)에 의해 참조되는 적어도 하나의 공유 오브젝트(AL1, AL2, AL3)를 포함한다. 실행 오브젝트(AE)는 어플리케이션(A) 중에서 프로세서(400)에 의해 최초 실행되는 오브젝트이며, 공유 오브젝트(AL1, AL2, AL3)는 실행 오브젝트(AE)의 실행 중에 필요에 따라서 호출되어 선택적으로 실행되는 오브젝트이다. 여기서, 공유 오브젝트(AL1, AL2, AL3)는 다른 공유 오브젝트(AL1, AL2, AL3)를 참조할 수도 있다.
이와 같이 어플리케이션(A)을 복수의 오브젝트로 모듈화하고, 프로세서(400)는 어플리케이션(A)의 업데이트 시에 어플리케이션(A) 전체가 아닌, 업데이트가 필 요한 모듈(AE, AL1, AL2, AL3)만을 업데이트할 수 있다. 이에 의하여, 통신부(100)로 수신하는 업데이트용 데이터의 용량을 감소할 수 있으며, 업데이트 시간을 절감할 수 있다. 또한, 제조자는 어플리케이션(A)을 모듈 별로 관리함으로써 업데이트용 데이터를 용이하게 제공할 수 있다.
한편, 실행 오브젝트(AE)의 코드 또는 데이터 중에는 공유 오브젝트(AL1, AL2, AL3)에 포함된 코드 또는 데이터를 호출할 수 있는 정보 영역이 있다. 프로세서(400)는 어플리케이션(A)을 실행할 때, 실행 오브젝트(AE)를 우선 실행한다. 프로세서(400)는 실행 오브젝트(AE)의 실행 중에 상기한 정보 영역을 억세스하게 되면, 해당 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행할 수 있다.
이하, 도 2를 참조하여 어플리케이션(A)에 관해 자세히 설명한다. 도 2는 본 실시예에 따른 어플리케이션(A)에서 실행 오브젝트(AE)의 형식을 간략히 나타낸 예시도이다.
도 2에 도시된 바와 같이, 실행 오브젝트(AE)는 그 형식이 한정되지 않으나, 리눅스 기반에서 제공하는 ELF(executable and linking format) 형식을 가진다. 여기서, 도 2에 나타난 형식은 본 실시예와 직접 관련이 있는 것들을 중심으로 나타낸 것이다.
AE.Header는 실행 오브젝트(AE)의 헤더로서, 어플리케이션(A)의 메타 정보가 기재될 수 있다.
AE.text는 실행 오브젝트(AE)의 코드가 기재되어 있으며, AE.data는 실행 오브젝트(AE)의 데이터가 기재되어 있다. AE.text 및 AE.data는 실행 오브젝트(AE) 자체에서 정의된 코드 및 데이터가 기록된 정보 영역이다.
AE.rel.text 및 AE.rel.data는 각각 실행 오브젝트(AE)에 의해 참조되지만 실행 오브젝트(AE) 자체에는 정의되어 있지 않은 코드 및 데이터가 기재된다.
AE.rel.text 및 AE.rel.data에 기록된 코드 및 데이터를 실행하기 위해서, 프로세서(400)는 상기한 코드 또는 데이터가 정의된 공유 오브젝트(AL1, AL2, AL3)가 어느 것인지 판단하여, 해당 공유 오브젝트(AL1, AL2, AL3)가 로딩된 메인메모리(300)의 어드레스에 억세스함으로써 해당 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행한다.
따라서, 프로세서(400)는 어플리케이션(A)을 실행하기에 앞서서, 실행 오브젝트(AE)의 AE.rel.text 및 AE.rel.data에 기록된 코드 및 데이터를 해석하여, 상기한 코드 또는 데이터가 어느 공유 오브젝트(AL1, AL2, AL3)에 정의되어 있는지 판단한다. 그리고, 프로세서(400)는 상기한 코드 및 데이터 각각에 대응하는 공유 오브젝트(AL1, AL2, AL3)가 메인메모리(300)에 로딩할 어드레스를 지정한 후, 이를 AE.rel.text 및 AE.rel.data에 기록한다. 이러한 일련의 프로세스를 재배치(relocation)이라고 지칭한다.
이에 의하여, 프로세서(400)가 실행 오브젝트(AE)를 실행할 때에 AE.rel.text 또는 AE.rel.data에 기록된 코드 또는 데이터를 호출하는 경우, 해당 코드 또는 데이터에 대응하여 기 지정된 어드레스에 억세스한다.
여기서, 해당 공유 오브젝트(AL1, AL2, AL3)는 실행 오브젝트(AE)의 로딩 시 함께 로딩되어 있을 수도 있고, 또는 상기한 공유 오브젝트(AL1, AL2, AL3)의 호출 이벤트 시에 해당 공유 오브젝트(AL1, AL2, AL3)가 해당 어드레스에 로딩되도록 할 수도 있다.
한편, 프로세서(400)는 공유 오브젝트(AL1, AL2, AL3)의 어드레스를 지정하기 위해 다양한 방법이 적용될 수 있다. 본 실시예에서 프로세서(400)는 리눅스의 prelink 명령어에 기초하여 이러한 어드레스 지정 과정을 수행하며, 이하 그 적용 일례에 관해 설명한다. 다만, 리눅스의 prelink 명령어는 본 발명을 달성하기 위한 구성의 일례에 불과한 것으로서, 본 발명의 사상을 한정하지 않는다.
프롬프트(prompt) 상에서 prelink 명령어는 다음과 같이 사용한다.
% prelink [옵션] [오브젝트명]
여기서, %는 명령어가 아닌, 명령어가 입력되는 프롬프트를 의미한다.
예를 들어, 실행 오브젝트(AE)의 오브젝트명이 a.out이고, 공유 오브젝트(AL1, AL2, AL3)의 오브젝트명이 각각 libA.so, libB.so, libC.so인 4개의 모듈로 구성된 어플리케이션(A)이 있다고 한다. 이와 같은 각 오브젝트명은 실시예를 설명하기 위해 편의상 지칭한 것임을 밝힌다.
여기서, libA.so가 업데이트된 경우, a.out의 AE.rel.text 및 AE.rel.data 정보 영역에서 libA.so에 의해 정의되는 코드 또는 데이터의 어드레스를 prelink에 의해 지정한다. 이를 위한 명령어는 다음과 같다.
% prelink -N a.out libA.so
-N은 prelink의 다양한 옵션 중에서 드라이 런(dry-run)을 의미하며, 이와 같은 명령어가 실행됨으로써, a.out의 실행 시 libA.so를 호출하기 위한 어드레스 가 a.out에 기록된다.
그런데, 공유 오브젝트(AL1, AL2, AL3)는 그 외에도 libB.so, libC.so가 존재하는 바, 상기와 같이 업데이트된 libA.so만에 prelink를 적용하게 되면, 경우에 따라서 어드레스의 중복이 발생할 수도 있다. 따라서, 실행 오브젝트(AE) 또는 공유 오브젝트(AL1, AL2, AL3) 중 어느 하나가 업데이트되는 경우, 모든 공유 오브젝트(AL1, AL2, AL3)에 대해 prelink 명령어를 적용하는 것이 바람직하다. 이를 위한 명령어는 다음의 두 가지 방법이 있다.
% prelink -amR
% prelink -N a.out libA.so libB.so libC.so
위의 두 명령어 중에서, 후자의 명령어는 모든 오브젝트명을 기재한 것이며, 전자의 경우는 오브젝트명 없이 옵션만 지정되어 있다. -amR의 옵션은 모든 오브젝트에 prelink를 적용하는 것을 의미한다.
프로세서(400)는 어플리케이션 모듈(AE, AL1, AL2, AL3)이 업데이트되면 이와 같이 prelink 명령어를 적용함으로써, 실행 오브젝트(AE)에 공유 오브젝트(AL1, AL2, AL3)를 호출하기 위한 어드레스를 지정하여 기록할 수 있다. 이러한 프로세스가 완료하면, 프로세서(400)는 시스템을 재부팅함으로써 설정된 내용이 반영되도록 할 수 있다.
만일, 본 실시예와 같이 각 모듈(AE, AL1, AL2, AL3)에 대한 어드레스를 지정하지 않는다면, 즉 AE.rel.text 및 AE.rel.data의 코드 및 데이터가 정의된 공유 오브젝트(AL1, AL2, AL3)의 어드레스가 지정하지 않는다면, 어플리케이션(A)을 실 행할 때마다 AE.rel.text 및 AE.rel.data의 코드 및 데이터를 분석하여 각 공유 오브젝트(AL1, AL2, AL3)의 어드레스를 지정하는 과정을 매번 반복해야 한다.
본 실시예에 따르면, 어플리케이션 모듈(AE, AL1, AL2, AL3)의 업데이트가 발생할 때에 공유 오브젝트(AL1, AL2, AL3)의 어드레스를 지정하여 실행 오브젝트(AE)에 기록함으로써, 상기와 같은 반복 과정을 생략하고 또한 이에 따른 어플리케이션(A)의 실행 시간을 단축시킬 수 있다.
프로세서(400)는 시스템 재부팅 후 어플리케이션(A)을 실행함에 있어서, 공유 오브젝트(AL1, AL2, AL3)를 로딩하는 시점에 따라 다음과 같은 두 가지 실시예가 있을 수 있다.
그 하나는, 실행 오브젝트(AE)를 로딩할 때 공유 오브젝트(AL1, AL2, AL3)를 함께 로딩하는 방법이다. 프로세서(400)는 어플리케이션(A)을 실행할 때에 실행 오브젝트(AE) 및 모든 공유 오브젝트(AL1, AL2, AL3)를 메인메모리(300)의 기 지정된 어드레스에 로딩한다. 프로세서(400)는 실행 오브젝트(AE)를 실행하며, 실행 중에 공유 오브젝트(AL1, AL2, AL3)의 호출 이벤트가 발생하면 해당 어드레스에 억세스함으로써 기 로딩되어 있는 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행한다.
다른 하나는, 실행 오브젝트(AE)를 우선 로딩하여 실행한 후, 공유 오브젝트(AL1, AL2, AL3)의 호출 이벤트가 발생할 때에 해당 공유 오브젝트(AL1, AL2, AL3)를 기 지정된 어드레스에 로딩하여 호출하는 방법이다. 프로세서(400)는 어플리케이션(A)을 실행할 때에 우선 실행 오브젝트(AE)만을 로딩하여 실행한다. 실행 오브젝트(AE)의 실행 중에 공유 오브젝트(AL1, AL2, AL3)의 호출 이벤트가 발생하 면, 프로세서(400)는 해당 공유 오브젝트(AL1, AL2, AL3)를 기 지정된 어드레스에 로딩하고, 이 로딩된 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행한다.
상기와 같은 두 가지 방법은 실시예에 불과한 것으로, 본 발명의 사상을 한정하지 않으며, 이 외에도 다양한 방법이 적용될 수 있다.
이러한 구성에 의하여, 본 실시예에 따른 영상처리장치(1)의 제어 방법에 대해 도 3을 참조하여 설명한다. 도 3은 이러한 과정을 개략적으로 나타낸 제어 흐름도이다.
도 3에 도시된 바와 같이, 프로세서(400)는 업데이트할 어플리케이션 모듈(AE, AL1, AL2, AL3)이 있는지 판단한다(S100).
업데이트할 모듈(AE, AL1, AL2, AL3)이 있는 경우, 프로세서(400)는 외부로부터 업데이트용 데이터를 수신하여 대상 모듈(AE, AL1, AL2, AL3)의 업데이트를 수행한다(S110). 그리고, 프로세서(400)는 모듈(AE, AL1, AL2, AL3)의 업데이트에 따라서, 모듈(AE, AL1, AL2, AL3) 각각에 대응하는 메인메모리(300)의 어드레스를 지정한다(S120).
이러한 프로세스가 완료하면, 업데이트된 새로운 어플리케이션(A)이 생성된다. 업데이트된 어플리케이션(A)이 생성되면, 프로세서(400)는 외부로부터 수신한 업데이트용 데이터를 삭제한다.
프로세서(400)는 이 업데이트된 어플리케이션(A)의 실행을 개시한다(S130). 이에, 프로세서(400)는 어플리케이션 모듈(AE, AL1, AL2, AL3)을 기 지정된 어드레스에 로딩하여 실행한다(S140).
이하, 도 3에 나타난 과정을 보다 세분화하여 도 4 및 도 5를 참조하여 설명한다.
도 4는 본 실시예에서 어플리케이션(A)을 업데이트하는 방법에 관해 나타낸 제어 흐름도이다.
도 4에 도시된 바와 같이, 어플리케이션(A)의 업데이트가 개시되면(S200), 프로세서(400)는 서브메모리(200)에 저장되어 있는 실행 오브젝트(AE) 또는 공유 오브젝트(AL1, AL2, AL3) 중에서 업데이트 대상이 되는 것을 선택적으로 업데이트한다(S210).
프로세서(400)는 prelink 명령어에 기초하여 공유 오브젝트(AL1, AL2, AL3)의 어드레스를 지정하며(S220), 이와 같이 지정된 어드레스를 실행 오브젝트(AE)에 기록한다(S230).
프로세서(400)는 이와 같은 설정 변경이 반영되도록 시스템을 리부팅하고(S240), 어플리케이션(A)을 실행한다(S250).
도 5는 도 4에 나타난 과정 중에서 어플리케이션(A)을 실행하는 방법, 자세하게는 실행 오브젝트(AE)의 실행 중에 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행하는 방법에 관해 나타낸 제어 흐름도이다. 도 5는 도 4의 과정이 완료된 상태를 초기 상태로 한다.
도 5에 도시된 바와 같이, 프로세서(400)는 어플리케이션(A)의 실행을 개시한다(S300).
프로세서(400)는 실행 오브젝트(AE)를 메인메모리(300)에 로딩한다(S310). 여기서, 프로세서(400)는 공유 오브젝트(AL1, AL2, AL3)를 실행 오브젝트(AE)와 함께 로딩할 것인지 결정한다(S320). 이러한 결정 기준은 제조 단계에서 기 설정되거나, 또는 사용자가 설정할 수도 있다.
공유 오브젝트(AL1, AL2, AL3)를 함께 로딩하는 것으로 결정하면, 프로세서(400)는 공유 오브젝트(AL1, AL2, AL3)를 기 지정된 어드레스에 로딩한다(S330).
프로세서(400)는 실행 오브젝트(AE)를 실행한다(S340). 프로세서(400)는 메인메모리(300)에 로딩된 실행 오브젝트(AE)의 코드 및 데이터를 따라서 연산 및 처리를 수행한다.
실행 오브젝트(AE)의 실행 중에 공유 오브젝트(AL1, AL2, AL3)의 호출 이벤트가 발생하면, 프로세서(400)는 메인메모리(300)의 기 지정 어드레스로부터 해당 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행한다(S350). 즉, 프로세서(400)는 실행 오브젝트(AE)에 기록된 코드 또는 데이터를 실행하는 중에 공유 오브젝트(AL1, AL2, AL3)에서 정의된 코드 또는 데이터를 만나면, 해당 공유 오브젝트(AL1, AL2, AL3)가 로딩되어 있는 어드레스에 억세스하여 이를 호출한다.
한편, S320 단계에서 공유 오브젝트(AL1, AL2, AL3)를 함께 로딩하지 않는 것으로 결정하면, 프로세서(400)는 그대로 실행 오브젝트(AE)를 실행한다(S360).
실행 오브젝트(AE)의 실행 중에 공유 오브젝트(AL1, AL2, AL3)의 호출 이벤트가 발생하면, 프로세서(400)는 해당 공유 오브젝트(AL1, AL2, AL3)를 서브메모리(200)로부터 독취하여 메인메모리(300)의 기 지정된 어드레스에 로딩한다(S370). 그리고, 프로세서(400)는 로딩된 해당 공유 오브젝트(AL1, AL2, AL3)를 호출하여 실행한다(S380).
이와 같이, 어플리케이션(A)을 모듈화하여 선택적으로 업데이트함으로써, 업데이트용 데이터의 크기를 감소시킬 수 있으며, 업데이트 시간을 절감할 수 있다.
또한, 어플리케이션(A)이 업데이트되면 공유 오브젝트(AL1, AL2, AL3)의 어드레스를 지정하여 실행 오브젝트(AE)에 기록함으로써, 어플리케이션(A)이 실행될 때에 매번 실행 오브젝트(AE)의 코드 및 데이터를 분석하여 공유 오브젝트(AL1, AL2, AL3)의 어드레스를 결정하는 과정을 생략할 수 있다. 이에 의하여, 어플리케이션(A)의 실행 시간을 단축시킬 수 있다.
상기한 실시예는 예시적인 것에 불과한 것으로, 당해 기술 분야의 통상의 지식을 가진 자라면 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 하기의 특허청구범위에 기재된 발명의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 실시예에 따른 영상처리장치의 구성 블록도,
도 2는 도 1의 영상처리장치에서 실행 오브젝트의 형식을 개략적으로 나타낸 예시도,
도 3은 도 1의 영상처리장치의 제어 방법을 개략적으로 나타낸 제어 흐름도,
도 4는 도 1의 영상처리장치에서 어플리케이션을 업데이트하는 방법을 나타낸 제어 흐름도,
도 5는 도 1의 영상처리장치에서 실행 오브젝트의 실행 시 공유 오브젝트를 호출하여 실행하는 방법을 나타낸 제어 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
1 : 영상처리장치
100 : 통신부
200 : 서브메모리
300 : 메인메모리
400 : 프로세서

Claims (17)

  1. 어플리케이션이 실행 가능하게 저장되는 영상처리장치의 제어 방법에 있어서,
    상기 어플리케이션의 업데이트 시 상기 어플리케이션을 복수 개로 모듈화하여 상기 모듈을 선택적으로 업데이트하고 상기 모듈 각각에 대응하는 어드레스를 지정하여, 업데이트된 상기 어플리케이션을 생성하는 단계와;
    상기 업데이트된 어플리케이션의 실행 시 상기 각 모듈을 상기 지정된 어드레스에 각각 로딩하여 실행하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  2. 제1항에 있어서,
    상기 어플리케이션을 업데이트하는 단계는,
    외부로부터 상기 모듈 중 적어도 어느 하나를 선택적으로 수신하는 단계와;
    상기 수신한 모듈을 이용하여 상기 어플리케이션 모듈을 업데이트하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  3. 제2항에 있어서,
    상기 어플리케이션을 업데이트하는 단계는, 상기 업데이트된 어플리케이션이 생성되면 상기 수신한 모듈을 삭제하는 단계를 더 포함하는 것을 특징으로 하는 영 상처리장치의 제어 방법.
  4. 제2항에 있어서,
    상기 모듈 중 적어도 어느 하나를 선택적으로 수신하는 단계는,
    방송 신호를 수신하는 단계와;
    상기 수신한 방송 신호로부터 상기 모듈을 추출하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 복수 어플리케이션 모듈은, 실행 오브젝트 또는 상기 실행 오브젝트에 의해 호출되는 적어도 하나의 공유 오브젝트를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  6. 제5항에 있어서,
    상기 실행 오브젝트는 상기 공유 오브젝트를 호출 가능하도록 상기 공유 오브젝트의 상기 어드레스를 지정하는 정보 영역을 포함하며,
    상기 어플리케이션을 업데이트하는 단계는, 상기 지정된 어드레스를 상기 실행 오브젝트의 상기 정보 영역에 기록하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  7. 제5항에 있어서,
    상기 영상처리장치는 상기 어플리케이션이 실행 가능하게 로딩되는 메인메모리를 포함하며,
    상기 어플리케이션을 실행하는 단계는,
    상기 실행 오브젝트를 실행할 때, 상기 실행 오브젝트 및 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 함께 로딩하는 단계와;
    상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 로딩되어 있는 공유 오브젝트를 호출하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  8. 제5항에 있어서,
    상기 영상처리장치는 상기 어플리케이션이 실행 가능하게 로딩되는 메인메모리를 포함하며,
    상기 어플리케이션을 실행하는 단계는,
    상기 실행 오브젝트를 상기 메인메모리에 로딩하여 실행하는 단계와;
    상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 로딩하여 호출하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어 방법.
  9. 영상처리장치에 있어서,
    어플리케이션이 실행 가능하게 로딩되는 메인메모리와;
    상기 어플리케이션의 업데이트 시 상기 어플리케이션을 복수 개로 모듈화하여 상기 모듈을 선택적으로 업데이트하고 상기 모듈 각각에 대응하는 어드레스를 지정하여, 업데이트된 상기 어플리케이션을 생성하며, 상기 업데이트된 어플리케이션의 실행 시 상기 각 모듈을 상기 지정된 어드레스에 각각 로딩하여 실행하는 프로세서를 포함하는 것을 특징으로 하는 영상처리장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    외부로부터 상기 모듈 중 적어도 어느 하나를 선택적으로 수신하고, 상기 수신한 모듈을 이용하여 상기 어플리케이션 모듈을 업데이트하는 것을 특징으로 하는 영상처리장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 업데이트된 어플리케이션이 생성되면 상기 외부로부터 수신한 모듈을 삭제하는 것을 특징으로 하는 영상처리장치.
  12. 제10항에 있어서,
    상기 프로세서는,
    방송 신호를 수신하고, 상기 수신한 방송 신호로부터 상기 모듈을 추출 가능한 것을 특징으로 하는 영상처리장치.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 복수 어플리케이션 모듈은, 실행 오브젝트 또는 상기 실행 오브젝트에 의해 호출되는 적어도 하나의 공유 오브젝트를 포함하는 것을 특징으로 하는 영상처리장치.
  14. 제13항에 있어서,
    상기 실행 오브젝트는 상기 공유 오브젝트를 호출 가능하도록 상기 공유 오브젝트의 상기 어드레스를 지정하는 정보 영역을 포함하며,
    상기 프로세서는,
    상기 지정된 어드레스를 상기 실행 오브젝트의 상기 정보 영역에 기록하는 것을 특징으로 하는 영상처리장치.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 실행 오브젝트를 실행할 때, 상기 실행 오브젝트 및 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 함께 로딩하며,
    상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 로딩되 어 있는 공유 오브젝트를 호출하는 것을 특징으로 하는 영상처리장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    상기 실행 오브젝트를 상기 메인메모리에 로딩하여 실행하며,
    상기 실행 오브젝트의 실행 중 상기 공유 오브젝트의 호출 시, 상기 공유 오브젝트를 상기 메인메모리의 상기 지정된 어드레스에 로딩하여 호출하는 것을 특징으로 하는 영상처리장치.
  17. 제9항에 있어서,
    상기 메인메모리에 로딩되기 위한 상기 어플리케이션이 저장되며, 시스템 전원의 차단 시 상기 저장된 어플리케이션이 유지되는 서브메모리를 더 포함하는 것을 특징으로 하는 영상처리장치.
KR1020080109223A 2008-11-05 2008-11-05 영상처리장치 및 그 제어 방법 KR20100050098A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080109223A KR20100050098A (ko) 2008-11-05 2008-11-05 영상처리장치 및 그 제어 방법
US12/533,535 US20100115503A1 (en) 2008-11-05 2009-07-31 Image processing apparatus and control method thereof
EP09168362A EP2187306A1 (en) 2008-11-05 2009-08-21 Image processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080109223A KR20100050098A (ko) 2008-11-05 2008-11-05 영상처리장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20100050098A true KR20100050098A (ko) 2010-05-13

Family

ID=41137283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080109223A KR20100050098A (ko) 2008-11-05 2008-11-05 영상처리장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20100115503A1 (ko)
EP (1) EP2187306A1 (ko)
KR (1) KR20100050098A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2624131A3 (en) 2012-01-31 2013-12-18 Samsung Electronics Co., Ltd Display apparatus, upgrading apparatus, display system and data processing method of display system
CN102789795B (zh) * 2012-07-04 2015-03-25 中标软件有限公司 基于Android操作系统的车载光盘播放方法及其系统
US10025602B2 (en) * 2014-06-03 2018-07-17 Mentor Graphics Corporation Prelinked embedding
CN107480522B (zh) * 2017-08-14 2020-05-08 苏州浪潮智能科技有限公司 一种elf文件执行控制系统及方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948172B1 (en) * 1993-09-21 2005-09-20 Microsoft Corporation Preemptive multi-tasking with cooperative groups of tasks
US5734589A (en) * 1995-01-31 1998-03-31 Bell Atlantic Network Services, Inc. Digital entertainment terminal with channel mapping
EP0907285A1 (en) * 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
GB9727485D0 (en) * 1997-12-30 1998-02-25 Sgs Thomson Microelectronics Processing a data stream
JP2002542736A (ja) * 1999-04-21 2002-12-10 ゼネラル インスツルメント コーポレーション ケーブルテレビジョンシステムにおける進歩したセットトップボックスの母集団におけるプログラミングの対象を定めた又は汎用のアップグレードのための方法及びシステム
JP2004534973A (ja) * 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド ネットワークデバイスのアップグレードシステム及び方法
US7031989B2 (en) * 2001-02-26 2006-04-18 International Business Machines Corporation Dynamic seamless reconfiguration of executing parallel software
US7075899B2 (en) * 2002-05-21 2006-07-11 Actv, Inc. System and method for providing private in-band data to digital set-top boxes in a broadcast environment
US8676853B2 (en) * 2003-02-27 2014-03-18 Hewlett-Packard Development Company, L.P. System and method for software reuse
KR100574230B1 (ko) * 2003-11-14 2006-04-26 한국전자통신연구원 디지털 데이터 방송의 헤드엔드 또는 가입자 단말에서변경 어플리케이션 데이터 처리 방법
US7753281B2 (en) * 2006-06-01 2010-07-13 Hewlett-Packard Development Company, L.P. System and method of updating a first version of a data file in a contactless flash memory device
US10104432B2 (en) * 2006-12-01 2018-10-16 Time Warner Cable Enterprises Llc Methods and apparatus for software provisioning of a network device
JP2008310553A (ja) * 2007-06-14 2008-12-25 Panasonic Corp デジタル放送受信機及びデジタル放送受信システム
DE102007049958A1 (de) * 2007-10-18 2009-05-07 Siemens Ag Verfahren und System zur Aktualisierung einer mehrschichtigen Applikation
US20100287529A1 (en) * 2009-05-06 2010-11-11 YDreams - Informatica, S.A. Joint Stock Company Systems and Methods for Generating Multimedia Applications

Also Published As

Publication number Publication date
EP2187306A1 (en) 2010-05-19
US20100115503A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
CN103198450B (zh) 图像形成装置
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
TWI505087B (zh) 系統重設
US20140067879A1 (en) Application management for a terminal
US8321482B2 (en) Selectively modifying files of a container file
US20140189674A1 (en) Information processing apparatus and information processing method
JP2013520744A (ja) 最小ブートイメージの生成方法及びその装置
US20080114923A1 (en) Apparatus and method for controlling operation processing in nonvolatile memory
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
JP2011134293A (ja) データ制御装置及びプログラム
EP1826663A2 (en) Apparatus, method and computer program for processing information
KR20100050098A (ko) 영상처리장치 및 그 제어 방법
JP2009265877A (ja) 電子機器
CN110753040B (zh) 一种请求处理的方法及装置
CN109976790B (zh) 应用更新方法、装置、终端及存储介质
US20130093778A1 (en) Display apparatus and method for controlling the same
CN114443442B (zh) 日志存储方法及电子设备
CN110704091A (zh) 一种固件升级方法及装置
KR20060067076A (ko) 이중화 프로세서 시스템에서의 프로그램 로딩 방법 및 그장치
US20190213045A1 (en) Method and electronic device for executing data reading/writing in volume migration
CN111868698A (zh) 空闲空间直通
CN101107591B (zh) 计算机系统和用于启动其中的基本程序的方法
CN113849379A (zh) 一种服务器资产信息收集的方法、装置、设备及可读介质
CN111078301B (zh) 一种多核心运算装置及其运作方法
CN108304200B (zh) 一种驱动程序升级的方法、装置以及电子设备

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid