KR100738916B1 - 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법 - Google Patents

임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법 Download PDF

Info

Publication number
KR100738916B1
KR100738916B1 KR1020050066337A KR20050066337A KR100738916B1 KR 100738916 B1 KR100738916 B1 KR 100738916B1 KR 1020050066337 A KR1020050066337 A KR 1020050066337A KR 20050066337 A KR20050066337 A KR 20050066337A KR 100738916 B1 KR100738916 B1 KR 100738916B1
Authority
KR
South Korea
Prior art keywords
display device
image data
image
video content
display
Prior art date
Application number
KR1020050066337A
Other languages
English (en)
Other versions
KR20070011780A (ko
Inventor
이영건
김후종
황인성
정준용
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020050066337A priority Critical patent/KR100738916B1/ko
Publication of KR20070011780A publication Critical patent/KR20070011780A/ko
Application granted granted Critical
Publication of KR100738916B1 publication Critical patent/KR100738916B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 실행중인 비디오 컨텐츠의 디스플레이 화면을 저장하는 방법에 관한 것으로서, 특히 임베디드 시스템에서 게임, 영화 등 비디오 컨텐츠를 실행하여 디스플레이장치에서 디스플레이 되는 동영상을 고화질로 저장하는 방법을 제공하기 위하여, 디스플레이장치에 비디오 컨텐츠를 디스플레이하기 위해 비디오 컨텐츠의 화상데이터를 디스플레이장치 컨트롤러의 프레임 버퍼에 쓰는 렌더러의 프레임 전송속도와, 실행중인 비디오 컨텐츠의 동영상을 저장하기 위해 상기 프레임 버퍼로부터 화상데이터를 읽어 저장하는 엔코더의 프레임 전송속도 간의 속도차이를 없애고, 상기 엔코더가 상기 프레임 버퍼에서 완성된 화상데이터를 읽을 수 있도록 함으로써 동영상 복원 시 데이터 손실 없이 고화질의 동영상 화면으로 재생할 수 있는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 제공한다.
임베디드 시스템(Embedded System), 비디오 컨텐츠(Video Contents),

Description

임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법{METHOD FOR SAVING DISPLAY PICTURE OF EXECUTIVE VIDEO CONTENTS ON EMBEDDED SYSTEM}
도 1은 본 발명에 따른 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법이 적용되는 일반적인 임베디드 시스템의 영상처리블록의 구성도,
도 2는 본 발명에 따른 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법이 적용되는 GPU를 구비한 임베디드 시스템의 영상처리블록의 구성도,
도 3은 본 발명의 바람직한 실시 예에 따른 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 보인 제어흐름도.
< 도면의 주요 부분에 대한 부호의 설명 >
100: CPU
101: CPU 버퍼(Central Processing Unit Buffer)
110: 디스플레이장치 컨트롤러(Display Device Controller)
111: 프레임 버퍼(Frame Buffer)
120: 디스플레이장치(Display Device)
130: 저장장치(Storage)
140: 렌더러(Renderer)
150: 엔코더(Encoder)
200: GPU
201: GPU 버퍼(Graphics Processing Unit Buffer)
본 발명은 실행중인 비디오 컨텐츠의 디스플레이 화면을 저장하는 방법에 관한 것으로서, 특히 임베디드 시스템에서 게임, 영화 등 비디오 컨텐츠를 실행하여 디스플레이장치에서 디스플레이 되는 동영상을 고화질로 저장하는 방법을 제공하기 위하여, 디스플레이장치에 비디오 컨텐츠를 디스플레이하기 위해 비디오 컨텐츠의 화상데이터를 디스플레이장치 컨트롤러의 프레임 버퍼에 쓰는 렌더러의 프레임 전송속도와, 실행중인 비디오 컨텐츠의 동영상을 저장하기 위해 상기 프레임 버퍼로부터 화상데이터를 읽어 저장하는 엔코더의 프레임 전송속도 간의 속도차이를 없애고, 상기 엔코더가 상기 프레임 버퍼에서 완성된 화상데이터를 읽을 수 있도록 함으로써 동영상 복원 시 데이터 손실 없이 고화질의 동영상 화면으로 재생할 수 있는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법에 관한 것이다.
임베디드 시스템(Embedded System)은 마이크로프로세서나 마이크로컨트롤러를 내장한 전자시스템으로서 컴퓨터와 동일하게 생각할 수는 없지만 시스템에 컴퓨터가 숨겨져 있거나 내장되어 있는 형태이다.
임베디드 시스템의 예는 자동차의 연료분사장치, 항공기의 자동 파일럿, 통신기기, 셋톱박스, 캠코더, 로봇 컨트롤러, 의료기기, 산업용 컨트롤러, 계측기, 네트워크 라우터, MP2플레이어, 비디오게임기, 디지털카메라, 프린터 등 이루 헤아릴 수 없이 많다.
일반적으로 인베디드 시스템은 8비트 또는 16비트 마이크로프로세서나 마이크로컨트롤러를 탑재한 시스템으로서 가격민감성과 다양성이라는 두 가지 설계특성을 만족해야 한다.
우선, 가격민감성 측면에서 볼 때 적외선 원격제어를 위해 무인우주선과 같은 동일한 시스템을 사용하는 것은 현명한 선택이 아니다. 임베디드 시스템은 가능한 한 제조비용을 낮춰야 할 필요가 있다. 현재 시장에 출시되어 있는 비디오게임기가 20만 원대에 판매되고 있는 가운데 판매가가 100만 원대의 비디오 게임기는 구매력을 떨어뜨릴 수 있다.
또한, 다양성 측면에서 임베디드 시스템 설계는 특정 용도의 하드웨어와 소프트웨어가 요구되며, 각각 다른 애플리케이션을 위해 하드웨어와 소프트웨어가 설계되기 때문에 임베디드 시스템 설계에 도임한 한 시스템에 적용된 방법은 모든 시스템에 적용할 수 없다.
최근 컴퓨터와 같은 다양한 기능은 없지만 휴대가 간편하고 게임, 영화, 방 송 등 다양한 비디오 컨텐츠를 즐길 수 있는 많은 임베디드 시스템이 개발, 판매되고 있다.
이러한 임베디드 시스템에서 비디오 컨텐츠를 실행시키는 하드웨어 구조는 비디오 컨텐츠를 실행 할 때 제어를 누가 하느냐에 따라 CPU(Central Processing Unit)만을 사용하는 1칩(One Chip)구조와 CPU(Host)와 GPU(Graphics Processing Unit)를 사용하는 2칩(Tow-Chip)구조로 크게 두 가지로 나눌 수 있다.
상기 CPU(1칩 구조) 또는 상기 GPU(2칩 구조)는 비디오 컨텐츠를 초기화시키면 메모리 내에 버퍼(Buffer)를 할당하고 그 영역에 비디오 컨텐츠를 그린 다음 디스플레이장치 버퍼로 보냄으로써 해당 비디오 컨텐츠 화면이 LCD(Liquid Crystal Display) 등 디스플레이장치에 디스플레이 된다.
그런데 이러한 비디오 컨텐츠를 실행시키는 임베디드 시스템 환경에서는 가격민감성 및 다양성과 같은 임베디스 시스템의 설계 특성상 비디오 컨텐츠를 실행 중에 동영상 저장에 대한 기술적 지원이 되어 있지 않다.
그러므로 부지불식간에 컴퓨팅 생활환경에 익숙해져 있는 사용자들에게 게임이나 영화 등 비디오 컨텐츠를 실행 중에 원하는 화면을 저장할 수 없다는 것은 매우 불편한 상황임에 분명하다.
한편, 통상의 화면 캡쳐 기술은 종래의 컴퓨터에서 실행중인 게임이나 영화의 화면을 저장(Capture)하기 위하여 사용자의 캡쳐버튼 입력에 따라 버퍼 메모리에서 디스플레이장치로 전송되는 데이터 주소의 시작 포인터와 끝 포인터를 체크, 관리하여 정상적인 경우에 파일로 생성하도록 하여 해당 영상의 데이터손실 없이 복원 시 영상의 품질을 유지하고 있다.
그러나 이러한 통상의 화면 캡쳐 기술은 버퍼 메모리에 화상데이터를 그리는 작업을 수행하는 렌더러(Renderer)와 상기 버퍼 메모리에서 화상데이터를 읽어서 압축하는 엔코더(Encoder)의 프레임 속도(fps; Frame per Second)가 달라 동기화에 문제가 발생하게 된다.
또한, 상기 렌더러가 상기 버퍼 메모리에 화상데이터 쓰기를 완료하기 전에 상기 엔코더가 해당 화상데이터를 읽어감으로써 소스영상의 상하 이미지가 서로 어긋나게 되어 엔코딩 후 복원 시에 부자연스러운 영상으로 나타나게 되고, 이전 이미지와 비교하여 차이나는 부분 위주로 엔코딩하는 동영상 코덱(Codec; Coder/Decoder)의 특성상 상하가 불일치하는 소스영상을 엔코딩하는 경우 엔코딩 된 데이터 크기가 증가하는 문제점이 발생한다.
따라서 상기한 문제점을 해결하기 위한 본 발명의 목적은 임베디드 시스템에서 비디오 컨텐츠 실행 중에 디스플레이장치의 화면을 통해 출력되는 디스플레이 영상을 화질저하 없이 이미지나 동영상으로 저장할 수 있는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 임베디드 시스템에서 비디오 컨텐츠를 실행 중에 사용자가 원하는 화면을 화질저하 없이 저장시킴으로서 비디오 컨텐츠에 대한 부가적인 흥미를 유발시키고, 해당 임베디드 시스템을 적용한 단말기의 경쟁력을 높일 수 있는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은 모바일 통신단말기에 적용된 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상을 저장할 수 있는 방법을 제공함으로써 해당 저장영상을 통신단말기의 디스플레이 컨텐츠로 이용하거나 타인의 단말기로 전송하는 등 다양한 부가서비스를 제공할 수 있는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명은 내장된 프로그래밍 가능한 마이크로프로세서에 의해 실행된 비디오 컨텐츠의 화상데이터를 디스플레이장치 컨트롤러의 내부에 구비된 디스플레이장치 버퍼에 그리는 렌더러와, 상기 디스플레이장치 버퍼에서 화상데이터를 읽어서 압축하는 엔코더를 포함하여 상기 비디오 컨텐츠를 디스플레이장치에 영상으로 출력하는 임베디드 시스템에서 디스플레이 영상을 저장하는 방법에 있어서,
상기 비디오 컨텐츠를 영상으로 디스플레이하기 위해 디스플레이장치를 제어하는 디스플레이장치 컨트롤러의 내부에 구비되는 디스플레이장치 버퍼에 렌더러에 의한 화상데이터의 업데이트가 완료되는 단계; 상기 마이크로프로세서가 상기 디스플레이장치 버퍼에 락을 걸어 외부로부터의 화상데이터 업데이트를 일시 차단하여 엔코더로 하여금 상기 디스플레이장치 버퍼의 화상데이터를 읽어 소정 형식의 파일로 압축 및 저장장치에 저장하는 단계; 및 상기 마이크로프로세서가 상기 디스플레이장치 버퍼의 락을 해제하는 단계를 포함하는 것을 특징으로 하는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 제공한다.
또한, 상기와 같은 목적을 달성하기 위하여 본 발명은 내장된 프로그래밍 가능한 마이크로프로세서에 의해 실행된 비디오 컨텐츠의 화상데이터를 디스플레이장치 컨트롤러의 내부에 구비된 디스플레이장치 버퍼에 그리는 렌더러와, 상기 디스플레이장치 버퍼에서 화상데이터를 읽어서 압축하는 엔코더를 포함하여 상기 비디오 컨텐츠를 디스플레이장치에 영상으로 출력하는 임베디드 시스템에서 디스플레이 영상을 저장하는 방법에 있어서,
상기 마이크로프로세서가 비디오 컨텐츠를 실행하여 상기 디스플레이장치에 영상을 출력하는 중에 디스플레이 영상 저장 요청 입력신호가 있으면 렌더러의 현재 상태를 체크하는 단계;
상기 렌더러가 현재 대기상태이면 상기 디스플레이장치를 제어하는 디스플레이장치 컨트롤러의 내부 디스플레이장치 버퍼에 락을 걸어 상기 렌더러에 의한 상기 디스플레이장치 버퍼에 대한 화상데이터 업데이트를 일시 차단하는 단계;
상기 엔코더에 상기 디스플레이장치 버퍼 읽기 제어신호를 인가하여 상기 엔코더가 상기 디스플레이장치 버퍼로부터 화상데이터를 읽어 압축, 저장하도록 하는 단계; 및
상기 엔코더에 의한 화상데이터 읽기가 완료되면 상기 디스플레이장치 버퍼의 락을 풀어 상기 렌더러가 상기 디스플레이장치 버퍼에 화상데이터를 업데이트 하도록 하는 단계를 포함하는 것을 특징으로 하는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 제공한다.
또한, 본 발명에 따른 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법에 있어서 상기 렌더러는 상기 디스플레이장치 버퍼가 잠겨 있으면 상기 디스플레이장치 버퍼 업데이트 데이터를 폐기하고 새로운 업데이트 데이터 생성될 때까지 대기하는 것을 특징으로 한다.
또한, 본 발명에 따른 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법에 있어서 상기 엔코더는 상기 디스플레이장치 버퍼에서 읽어들인 화상데이터가 동영상 데이터이면 동영상 파일로 압축하고, 이미지 데이터이면 이미지 파일로 압축하여 저장하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명에 따른 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법이 적용되는 일반적인 임베디드 시스템의 영상처리블록의 구성도이고, 도 2는 본 발명에 따른 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법이 적용되는 GPU를 구비한 임베디드 시스템의 영상처리블록의 구성도이며, 도 3은 본 발명의 바람직한 실시 예에 따른 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법을 보인 제어흐름도이다.
일반적으로 임베디드 시스템은 CPU(Central Processing Unit, 마이크로프로세서), 메모리, 입출력 장치 및 버스 시스템으로 구성되는데, 컴퓨터의 사양이 다양해지고 고속, 고성능화되면서 컴퓨터의 영상정보 처리, 가속화, 신호전환, 화면출력을 담당하는 그래픽 프로세서의 중요성이 더욱 높아지고 있어 CPU가 처리하던 트랜스폼(Transform)과 라이트닝(Lighting)을 GPU가 처리하는 형태가 일반화되고 있다.
따라서 도 1 및 도 2에서는 영상처리를 수행하는 주체에 따라 이를 구분하여 도시하였으며, 도 3을 통하여 이들의 동작을 상세히 설명하도록 한다.
도 1은 GPU(Graphics Processing Unit, 그래픽프로세서, 200)를 더 구비하는 도 2와 대비할 때 일반적인 임베디드 시스템으로 지칭할 수 있으며, CPU(100)가 모든 버스 동작을 제어하고, 계산을 실행하며 결정한다.
도 1의 CPU(100)는 프로그램이 가능하며, 데이터 전송 명령, 산술과 논리 명령, 프로그램 제어 명령 등을 포함하는 프로그램 또는 소프트웨어에 의해 제어된다.
한편, 도 2는 CPU(100)의 그래픽 작업으로 인해 생기는 시스템 효율 저하를 해결하기 위하여 GPU(200)를 더 구비한 형태의 임베디드 시스템을 보인 것으로서, CPU(100)의 제어 및 처리 기능 중 그래픽 처리와 관련된 부분을 GPU(200)가 제어 및 처리함으로써 영상을 디스플레이장치의 화면에 출력한다.
한편, 임베디스 시스템 내에 실제 장착되는 기구적인 측면에서 도 1 및 도 2 의 CPU(100) 및 GPU(200)는 MCU(Micro Control Unit, 단일 칩 마이크로 컨트롤러)형태로 하나의 집적회로에 결합된 형태를 가질 수도 있다.
상술한 상이점에 따라 도 1 및 도 2의 임베디드 시스템은 본 발명에 있어서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장을 위한 일련의 과정을 CPU(100)가 제어하고 수행하느냐 GPU(100)가 수행하느냐에 차이점이 있다.
도 1 및 도 2에 도시된 바와 같이 임베디드 시스템 상에서 비디오 컨텐츠 실행을 위한 기본 흐름은 CPU(100) 또는 GPU(200)의 제어에 따라 비디오 컨텐츠 코드 상의 초기화 단계에서 내부 메모리 내에 버퍼(101, 201)를 할당하고, 할당된 버퍼(101, 201)에 디스플레이장치에 보여질 비디오 컨텐츠의 화면을 그리는 것으로 시작된다.
버퍼(101, 201)에 그려진 비디오 컨텐츠의 화상데이터는 데이터 버스(BUS)를 통하여 디스플레이장치 컨트롤러(110)로 전달되고, 디스플레이장치 컨트롤러(110)내의 디스플레이장치 버퍼(111, 이하 "프레임 버퍼"라 칭함)에 입력된다.
이때, 도 1의 3D 렌더러(Renderer, 140)는 3D그래픽을 프레임 버퍼(111)에 그리는 작업을 수행한다. 3D 렌더러(140)는 비디오 컨텐츠에 정해져 있는 대로 초당 수~수십 프레임의 속도(fps)로 그림을 그린다.
디스플레이장치 컨트롤러(110)는 프레임 버퍼(111)에 전달된 화상데이터를 LCD 등의 디스플레이장치(120)로 보내 화면에 디스플레이 한다.
이하, 비디오 컨텐츠의 실행으로 화면에 영상이 디스플레이 될 시, 디스플레이 영상을 본 발명에 따라 저장하는 방법을 도 1 내지 도 3을 참조하여 상세히 설 명한다.
도 1 및 도 2에 도시된 바와 같이 비디오 컨텐츠의 기본 처리과정 상에서 화상데이터는 CPU 버퍼(101) 또는 GPU 버퍼(201)에서 디스플레이장치 컨트롤러(110)의 디스플레이장치 버퍼(111)로 전송되고 디스플레이장치 컨트롤러(110)에 의해 디스플레이장치(120)를 통해 화면에 연속적으로 디스플레이 된다.
도 1 및 도 2의 3선 화살표로 표시된 부분이 CPU 버퍼(101)에서 프레임 버퍼(111)를 통해 디스플레이장치(120)로 진행하는 비디오 컨텐츠의 화상데이터의 흐름을 나타낸다.
또한, 도 1 및 도 2의 2선 화살표로 표시된 부분이 사용자가 실행중인 비디오 컨텐츠의 디스플레이 영상 저장 버튼을 입력하면 이에 대응하여 본 발명에 따라 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법이 수행됨으로써 저장되는 디스플레이 영상의 화상데이터의 흐름을 나타낸다.
도 1 및 도 2의 엔코더(Encoder, 150)는 프레임 버퍼(111)로부터 해당 디스플레이 영상의 화상데이터를 읽어들여 소정 파일 형식으로 압축하여 저장장치(130)에 저장한다.
또한, 도 1 및 도 2의 단선 화살표는 구성부와 구성부 간의 제어신호의 흐름을 나타내며, 파선은 렌더러(140)에서 독립적으로 이루어지는 동작을 나타낸다.
도 1 내지 도 3에 도시된 바와 같이 도 1의 CPU(100) 또는 도 2의 GPU(200)는 비디오 컨텐츠를 실행하여 디스플레이장치(120)에 출력하는 중(S301)에 키입력부(10)로부터 디스플레이 영상 저장요청이 있으면 이를 감지하고(S303), 본 발명에 따라 실행중인 비디오 컨텐츠의 디스플레이 영상을 저장하는 일련의 과정(S305 내지 S313)을 수행한다.
한편, 도 2의 GPU(200)는 CPU(100)로부터 키입력부(10)로부터 디스플레이 영상 저장요청 감지에 따른 실행중인 비디오 컨텐츠의 디스플레이 영상 저장 명령을 수신하고, 본 발명에 따라 실행중인 비디오 컨텐츠의 디스플레이 영상을 저장하는 일련의 과정(S305 내지 S313)을 수행한다.
이에 따라, 도 1의 CPU(100)는 CPU(100) 자신이 렌더러(140)의 현재 상태를 체크하여 렌더러(140)가 현재 프레임 버퍼(111)에 쓰기작업 중인지 대기 중인지 판단하며(S305), 도 2의 GPU(200)는 렌더러(140)의 현재 상태를 체크하여 렌더러(140)가 현재 프레임 버퍼(111)에 쓰기작업(WRITE) 중인지 대기(WAIT) 중인지 판단한다.
렌더러(140)의 현재 상태가 대기 중인 경우에 도 1의 CPU(100) 또는 도 2의 GPU(200)는 프레임 버퍼(111)를 잠가서(Lock) 다른 어떤 특히 렌더러(140)가 상기 프레임 버퍼(111)에 새로운 프레임 데이터(Frame Data)를 업데이트(Update)하지 못하도록 한다(S307).
그리고 도 1의 CPU(100) 또는 도 2의 GPU(200)는 엔코더(150)에 읽기명령을 인가하여 프레임 버퍼(111)의 화상데이터를 읽어오도록 한다(309).
엔코더(150)는 읽기명령에 따라 프레임 버퍼(111)의 화상데이터를 읽어들여 해당 화상데이터의 타입(동영상, 이미지)에 따라 소정의 파일 형식으로 압축하고, 저장장치(130)에 저장한다.
한편, 프레임 버퍼(111)가 잠겨있는 상태에서 프레임 업데이트 데이터를 쓰기위해 프레임 버퍼(111)에 접근하는 렌더러(140)는 프레임 버퍼(111)가 잠겨있으면 해당 프레임 업데이트 데이터를 폐기하고 새로운 프레임 업데이트 데이터가 생성될 때까지 대기한다.
엔코더(150)에 의한 읽기작업이 종료되면 도 1의 CPU(100) 또는 도 2의 GPU(200)는 이를 감지하고(S311), 프레임 버퍼(111)를 풀어주어(Unlock), 렌더러(140)가 지속적인 쓰기작업을 수행하도록 한다.
상술한 바와 같이 본 발명에 따른 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법은 프레임 버퍼(111)에서 화상데이터를 읽는 동안에 프레임 버퍼(111)가 렌더러(140)에 의해 업데이트(Update)되어 읽어들인 화상데이터의 영상이 서로 어긋나지 않도록 프레임 버퍼(111)를 일시적으로 잠금으로서 읽기작업 동안에 프레임 버퍼(111)의 화상데이터를 변경시키는 렌더러(140)의 쓰기작업을 차단한다.
즉, 프레임 버퍼(111)에 변경된 화상데이터가 모두 업데이트(Update)될 때까지 기다렸다가, 업데이트 완료 시점에서 프레임 버퍼(111)에 락(Lock)을 걸어 외부로부터의 화상데이터 업데이트로 인한 프레임 데이터의 변경을 차단한 후, 엔코더(150)로 하여금 프레임 버퍼(111)의 화상데이터를 읽도록 하고, 프레임 버퍼(111)의 화상데이터를 읽고 난 후 프레임 버퍼(111)의 락을 풀어(Unlock) 프레임 버퍼(111)가 렌더러(140)에 의해 지속적으로 업데이트 되도록 함으로써 품질저하 없이 실행중인 비디오 컨텐츠의 디스플레이 영상을 저장할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예를 들어 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 디스플레이 영상의 화상데이터가 그려지는 프레임 버퍼를 일시적으로 잠금으로써, 렌더러가 상기 버퍼 메모리에 화상데이터 쓰기를 완료하기 전에 상기 엔코더가 해당 화상데이터를 읽어감에 따라 발생하는 소스영상의 상하 이미지 훼손을 방지할 수 있으므로, 임베디드 시스템에서 비디오 컨텐츠 실행 중에 디스플레이장치의 화면을 통해 출력되는 디스플레이 영상을 화질저하 없이 이미지나 동영상으로 저장할 수 있는 효과가 있다.
또한, 본 발명은 디스플레이 영상의 화상데이터가 그려지는 프레임 버퍼를 일시적으로 잠금으로써, 버퍼 메모리에 화상데이터를 그리는 작업을 수행하는 렌더러와 상기 버퍼 메모리에서 화상데이터를 읽어서 압축하는 엔코더의 프레임 속도를 동기화시키지 않고도 임베디드 시스템에서 비디오 컨텐츠 실행 중에 디스플레이장치의 화면을 통해 출력되는 디스플레이 영상을 화질저하 없이 이미지나 동영상으로 저장할 수 있는 효과가 있다.
뿐만 아니라, 본 발명은 임베디드 시스템에서 비디오 컨텐츠를 실행 중에 사용자가 원하는 화면을 화질저하 없이 저장시킴으로서 비디오 컨텐츠에 대한 부가적 인 흥미를 유발시키고, 해당 임베디드 시스템을 적용한 단말기의 경쟁력을 높여주는 효과가 있다.
또한, 본 발명은 모바일 통신단말기에 적용된 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상을 저장할 수 있는 방법을 제공함으로써 해당 저장영상을 통신단말기의 디스플레이 컨텐츠로 이용하거나 타인의 단말기로 전송하는 등 다양한 부가서비스에 이용할 수 있는 효과가 있다.

Claims (4)

  1. 내장된 프로그래밍 가능한 마이크로프로세서에 의해 실행된 비디오 컨텐츠의 화상데이터를 디스플레이장치 컨트롤러의 내부에 구비된 디스플레이장치 버퍼에 그리는 렌더러와, 상기 디스플레이장치 버퍼에서 화상데이터를 읽어서 압축하는 엔코더를 포함하여 상기 비디오 컨텐츠를 디스플레이장치에 영상으로 출력하는 임베디드 시스템에서 디스플레이 영상을 저장하는 방법에 있어서,
    상기 비디오 컨텐츠를 영상으로 디스플레이하기 위해 디스플레이장치를 제어하는 디스플레이장치 컨트롤러의 내부에 구비되는 디스플레이장치 버퍼에 렌더러에 의한 화상데이터의 업데이트가 완료되는 단계;
    상기 마이크로프로세서가 상기 디스플레이장치 버퍼에 락을 걸어 외부로부터의 화상데이터 업데이트를 일시 차단하여 엔코더로 하여금 상기 디스플레이장치 버퍼의 화상데이터를 읽어 소정 형식의 파일로 압축 및 저장장치에 저장하는 단계; 및
    상기 마이크로프로세서가 상기 디스플레이장치 버퍼의 락을 해제하는 단계
    를 포함하는 것을 특징으로 하는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법.
  2. 내장된 프로그래밍 가능한 마이크로프로세서에 의해 실행된 비디오 컨텐츠의 화상데이터를 디스플레이장치 컨트롤러의 내부에 구비된 디스플레이장치 버퍼에 그리는 렌더러와, 상기 디스플레이장치 버퍼에서 화상데이터를 읽어서 압축하는 엔코더를 포함하여 상기 비디오 컨텐츠를 디스플레이장치에 영상으로 출력하는 임베디드 시스템에서 디스플레이 영상을 저장하는 방법에 있어서,
    상기 마이크로프로세서가 비디오 컨텐츠를 실행하여 상기 디스플레이장치에 영상을 출력하는 중에 디스플레이 영상 저장 요청 입력신호가 있으면 렌더러의 현재 상태를 체크하는 단계;
    상기 렌더러가 현재 대기상태이면 상기 디스플레이장치를 제어하는 디스플레이장치 컨트롤러의 내부 디스플레이장치 버퍼에 락을 걸어 상기 렌더러에 의한 상기 디스플레이장치 버퍼에 대한 화상데이터 업데이트를 일시 차단하는 단계;
    상기 엔코더에 상기 디스플레이장치 버퍼 읽기 제어신호를 인가하여 상기 엔코더가 상기 디스플레이장치 버퍼로부터 화상데이터를 읽어 압축, 저장하도록 하는 단계; 및
    상기 엔코더에 의한 화상데이터 읽기가 완료되면 상기 디스플레이장치 버퍼의 락을 풀어 상기 렌더러가 상기 디스플레이장치 버퍼에 화상데이터를 업데이트 하도록 하는 단계
    를 포함하는 것을 특징으로 하는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법.
  3. 제 2항에 있어서, 상기 렌더러는,
    상기 디스플레이장치 버퍼가 잠겨 있으면 상기 디스플레이장치 버퍼 업데이트 데이터를 폐기하고 새로운 업데이트 데이터 생성될 때까지 대기하는 것을 특징으로 하는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법.
  4. 제 2항에 있어서, 상기 엔코더는,
    상기 디스플레이장치 버퍼에서 읽어들인 화상데이터가 동영상 데이터이면 동영상 파일로 압축하고, 이미지 데이터이면 이미지 파일로 압축하여 저장하는 것을 특징으로 하는 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이 영상 저장방법.
KR1020050066337A 2005-07-21 2005-07-21 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법 KR100738916B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050066337A KR100738916B1 (ko) 2005-07-21 2005-07-21 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050066337A KR100738916B1 (ko) 2005-07-21 2005-07-21 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법

Publications (2)

Publication Number Publication Date
KR20070011780A KR20070011780A (ko) 2007-01-25
KR100738916B1 true KR100738916B1 (ko) 2007-07-12

Family

ID=38012369

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050066337A KR100738916B1 (ko) 2005-07-21 2005-07-21 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법

Country Status (1)

Country Link
KR (1) KR100738916B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8187104B2 (en) 2007-01-29 2012-05-29 Sony Online Entertainment Llc System and method for creating, editing, and sharing video content relating to video game events
KR100954408B1 (ko) * 2007-09-28 2010-04-26 주식회사 넥슨 게임 동영상 녹화 장치
CN101981589B (zh) * 2008-01-25 2015-07-22 索尼电脑娱乐美国有限责任公司 用于创建、编辑和共享与视频游戏事件有关的视频内容的系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040093208A (ko) * 2003-04-22 2004-11-05 삼성전자주식회사 이동통신 단말기에서 수신된 텔레비전 신호를 전송하는장치 및방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040093208A (ko) * 2003-04-22 2004-11-05 삼성전자주식회사 이동통신 단말기에서 수신된 텔레비전 신호를 전송하는장치 및방법

Also Published As

Publication number Publication date
KR20070011780A (ko) 2007-01-25

Similar Documents

Publication Publication Date Title
US11164357B2 (en) In-flight adaptive foveated rendering
CN112933599B (zh) 三维模型渲染方法、装置、设备及存储介质
KR101646958B1 (ko) 변경된 영역들을 이용한 매체 인코딩
US20200376375A1 (en) Method and apparatus for performing client side latency enhancement with aid of cloud game server side image orientation control
CN112739433B (zh) 用于远程渲染的vr的异步空间扭曲
EP3353737A1 (en) Efficient display processing with pre-fetching
CN109196865A (zh) 一种数据处理方法及终端
US20060133695A1 (en) Display controller, electronic instrument, and image data supply method
WO2017133475A1 (zh) 播放多媒体数据的方法、界面渲染方法及装置、设备
GB2528558A (en) Sampling, fault management, and/or context switching via a computer pipeline
CN110019866B (zh) 动态图片播放方法、装置及存储介质
US9424814B2 (en) Buffer display techniques
KR100738916B1 (ko) 임베디드 시스템에서 실행중인 비디오 컨텐츠의 디스플레이영상 저장방법
WO2022194017A1 (zh) 基于自适应帧内刷新机制的解码、编码
WO2021253141A1 (zh) 一种图像数据处理的装置和方法
CN104040501A (zh) 显示控制器中断寄存器
CN112007357A (zh) 客户侧延迟改善方法、主处理器、处理电路与云游戏服务器
CN113728622A (zh) 用于无线传输图像的方法及装置、存储介质及电子设备
CN116095250B (zh) 用于视频裁剪的方法和装置
WO2022099534A1 (en) Automatic update for transmitting a command to a display panel
JP7358580B2 (ja) 遊技機
WO2021168771A1 (en) Optimized method of page zeroing in memory pool
US20130254704A1 (en) Multiple Simultaneous Displays on the Same Screen
CN116761021A (zh) 图像处理方法和电子设备
CN118103863A (zh) 用于连续帧动画的功率优化

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170705

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee