KR20240006930A - 다중 edid 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법 - Google Patents

다중 edid 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법 Download PDF

Info

Publication number
KR20240006930A
KR20240006930A KR1020220083817A KR20220083817A KR20240006930A KR 20240006930 A KR20240006930 A KR 20240006930A KR 1020220083817 A KR1020220083817 A KR 1020220083817A KR 20220083817 A KR20220083817 A KR 20220083817A KR 20240006930 A KR20240006930 A KR 20240006930A
Authority
KR
South Korea
Prior art keywords
edid
bit value
source
field
source device
Prior art date
Application number
KR1020220083817A
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 KR1020220083817A priority Critical patent/KR20240006930A/ko
Priority to US18/088,897 priority patent/US20240013747A1/en
Priority to EP23167091.0A priority patent/EP4303857A1/en
Priority to TW112113189A priority patent/TW202404341A/zh
Priority to CN202310755112.7A priority patent/CN117369716A/zh
Publication of KR20240006930A publication Critical patent/KR20240006930A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/045Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial
    • G09G2370/047Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller using multiple communication channels, e.g. parallel and serial using display data channel standard [DDC] communication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/12Use of DVI or HDMI protocol in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

다중 EDID 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법이 개시된다. 본 개시의 기술적 사상에 따른 HDMI를 통해 소스 장치와 통신하는 전자 장치의 동작 방법은, DDC를 통해 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인하는 단계, 및 다중 EDID 읽기 동작의 지원이 확인됨에 따라, 비휘발성 메모리에 저장된 EDID 세트의 크기와 캐시 메모리의 크기를 기초로 캐시 메모리의 크기에 대응되는 EDID 그룹을 전송 단위로 EDID 세트를 소스 장치에 순차적으로 전송하는 단계를 포함한다.

Description

다중 EDID 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법{ELECTRIC DEVICE FOR SUPPORTING MULTI-EDID READ OPERATION, AND METHOD THEREOF}
본 개시의 기술적 사상은 전자 장치에 관한 것이며, 다중 EDID 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법에 관한 것이다.
Full HD(High Definition) 해상도를 넘어, Ultra HD급 해상도의 컨텐츠가 증가하면서, HDMI(High Definition Multimedia Interface) 2.1a 버전을 지원하는 HDMI 포트를 구비한 싱크 장치 및 소스 장치가 점차 보급되고 있는 추세이다.
최근 게이밍 모드, 고성능 모드 등으로, 싱크 장치가 다양한 해상도를 지원할 수 있다. 싱크 장치가 높은 해상도에 대응되는 캐퍼빌리티(Capability)를 표현하기 위해 더 많은 EDID(Extended Display Identification Data)가 싱크 장치에 탑재될 수 있다. EDID의 크기가 증가됨에 따라 소스 장치가 모든 EDID를 읽고 적절한 해상도의 컨텐츠 데이터를 전송하기 위해서, 싱크 장치에 캐시 메모리의 저장 공간이 더욱 크게 설계되어야 한다. 그러나, 이러한 설계 방법은 제조 단가를 증가시키고, 싱크 장치와 소스 장치 간의 호환성에 부정적인 영향을 줄 수 있다. 따라서, 소스 장치가 싱크 장치의 다양한 EDID를 온전히 읽을 수 있도록 지원하는 기술이 필요하다.
본 개시의 기술적 사상은, 저장 공간을 늘리지 않고도 다양한 EDID를 지원하는 전자 장치, 및 그의 동작 방법을 제공한다.
본 개시의 기술적 사상에 따른 HDMI를 통해 소스 장치와 통신하는 전자 장치의 동작 방법은, DDC(Display Data Channel)를 통해 소스 장치가 다중 EDID(Extended Display Identification Data) 읽기 동작을 지원하는지 여부를 확인하는 단계, 및 다중 EDID 읽기 동작의 지원이 확인됨에 따라, 비휘발성 메모리에 저장된 EDID 세트의 크기와 캐시 메모리의 크기를 기초로 캐시 메모리의 크기에 대응되는 EDID 그룹을 전송 단위로 EDID 세트를 소스 장치에 순차적으로 전송하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 HDMI를 통해 소스 장치와 통신하는 전자 장치는, EDID(Extended Display Identification Data) 세트를 저장하도록 구성된 비휘발성 메모리, EDID를 임시 저장하는 캐시 메모리, 및 비휘발성 메모리에 저장된 EDID 세트의 적어도 일부를 캐시 메모리로 로드하고, 로드된 EDID를 DDC(Display Data Channel)를 통해 소스 장치에 전송하는 프로세서를 포함하고, 프로세서는, DDC를 통해 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인하고, 다중 EDID 읽기 동작의 지원이 확인되면, EDID 세트의 크기와 캐시 메모리의 크기를 비교하고, EDID 세트의 크기가 캐시 메모리의 크기보다 크면, 캐시 메모리의 크기에 대응되는 EDID 그룹을 전송 단위로 소스 장치에 전송되도록, EDID 그룹을 캐시 메모리에 로드한다.
또한, 본 개시의 기술적 사상에 따른 HDMI를 통해 소스 장치와 통신하는 전자 장치는, EDID(Extended Display Identification Data) 세트를 저장하도록 구성된 비휘발성 메모리, 및 DDC(Display Data Channel)를 통해 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인하고, 다중 EDID 읽기 동작의 지원이 확인되면, EDID 세트를 미리 설정된 전송 크기 단위로 분할한 EDID 그룹을 DDC를 통해 소스 장치에 순차적으로 전송하는 시스템 온 칩을 포함한다.
본 개시의 기술적 사상에 의하면, 시스템 온 칩의 메모리 공간을 늘리지 않고도 더 많은 캐퍼빌리티를 표현하기 위한 EDID를 지원함으로써, 시스템 온 칩의 개발 비용을 절감하고 시스템 온 칩을 집적화하는 효과가 있다.
본 개시의 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 일 실시예에 따른 HDMI 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 HDMI 시스템에서 소스 장치 및 싱크 장치 간의 인터페이스를 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 소스 장치 및 싱크 장치가 연결될 때 송수신되는 신호를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 EDID(Extended Display Identification Data) 세트를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 EDID에 대한 읽기 동작을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 HF(HDMI Forum)-VSDB(Vendor-Specific Data Block)을 설명하기 위한 도면이다.
도 7a, 도 7b, 및 도 7c는 본 개시의 실시예들에 따른 SCDCS(Status and Control Data Channel Structure)를 설명하기 위한 도면들이다.
도 8은 본 개시의 일 실시예에 따른 SCDC(Status and Control Data Channel)를 통한 다중 EDID 읽기 동작을 설명하기 위한 도면이다.
도 9a, 도 9b, 및 도 9c는 본 개시의 일 실시예에 따른 비휘발성 메모리에 저장된 EDID 세트를 캐시 메모리에 로드하는 동작을 설명하기 위한 도면들이다.
도 10은 본 개시의 일 실시예에 따른 IDCC(ID Communications Channel)의 소스 ID를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 IDCC의 싱크 ID를 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 IDCC를 통한 다중 EDID 읽기 동작을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 14는 본 개시의 다른 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 시스템 온 칩을 설명하기 위한 도면이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 HDMI 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, HDMI 시스템(10)은 소스 장치(50) 및 싱크 장치(100)를 포함할 수 있다.
소스 장치(50)는 자체적으로 컨텐츠 데이터를 생성하거나 또는 외부로부터 컨텐츠 데이터를 제공받는 전자 장치일 수 있다. 소스 장치(50)는 예를 들면, DVD나 블루레이와 같은 광학 미디어 재생장치, UHD 플레이어, 셋탑 박스, TV, 컴퓨터 본체, 모바일 장치, 게임기 장치, 컨텐츠 서버 등 다양한 형태로 구현될 수 있다. 컨텐츠 데이터는 비디오 데이터 또는 오디오 데이터를 포함할 수 있다. 또는 컨텐츠 데이터는 비디오 데이터 및 오디오 데이터를 포함할 수 있다. 컨텐츠 데이터는 컨텐츠 신호로 지칭될 수 있고, 비디오 데이터는 비디오 신호로 지칭될 수 있으며, 오디오 데이터는 오디오 신호로 지칭될 수 있다.
소스 장치(50)는 싱크 장치(100)의 EDID에 대응되는 출력 포맷으로 컨텐츠 신호를 출력할 수 있다. EDID는 전자 장치의 특성 정보, 기기 정보, 지원 가능한 해상도, 영상 포맷, 전송 인터페이스 규격, 타이밍 정보, 오디오 종류, 색상 정보, 캐퍼빌리티(Capability) 정보 등을 포함할 수 있다.
소스 장치(50)는 HDMI 송신기(51)를 포함할 수 있다. HDMI 송신기(51)는 통신 인터페이스의 역할을 수행할 수 있다. 예를 들면, HDMI 송신기(51)는 컨텐츠 신호를 싱크 장치(100)에 전송할 수 있다. 일 실시예에서, HDMI 송신기(51)는 HDMI 전송 규격에 기반하여 신호를 송신할 수 있다. HDMI 전송 규격은 2.1a 버전까지 공개되었다. HDMI 2.1a는 그 이전의 버전에 비해 높은 해상도의 컨텐츠 신호, 예를 들면 8K 급의 해상도를 나타내는 컨텐츠 신호를 전송 가능하도록 규정될 수 있다. 만일 싱크 장치(100)가 8K 급의 영상을 표시하도록 하고자 한다면, 싱크 장치(100)뿐만 아니라 소스 장치(50)도 HDMI 2.1a를 지원해야 한다.
도시되지 않았지만, 소스 장치(50)는 사용자가 조작할 수 있도록 마련된 사용자 입력 모듈, 데이터를 저장하는 메모리, 데이터를 처리하는 프로세서, 데이터를 송수신하는 통신기 등을 더 포함할 수 있다.
싱크 장치(100)는 소스 장치(50)로부터 전송된 컨텐츠 데이터를 처리하여 재생하는 전자 장치일 수 있다. 여기서, "재생"이라는 용어는, 처리된 비디오 데이터에 따른 영상을 표시하거나 처리된 오디오 데이터에 따른 오디오를 출력하거나 처리된 비디오 데이터 및 오디오 데이터에 따른 영상과 오디오를 나타내는 것을 의미할 수 있다. 싱크 장치(100)는 TV, 모니터, 휴대용 멀티미디어 재생기, 모바일 폰, 태블릿, 전자 액자, 전자 칠판, 전자 광고판 등 다양한 형태로 구현될 수 있다.
싱크 장치(100)는 HDMI를 통해 소스 장치와 통신하는 전자 장치일 수 있다. 일 실시예에서, 싱크 장치(100)는 다중 EDID 읽기 동작을 지원할 수 있다. 다중 EDID 읽기 동작은, 소스 장치(50)가 일정 사이즈(예를 들어, 256 Byte)보다 큰 EDID 세트에 대하여 전체 EDID 세트를 미리 설정된 단위(또는 전송 단위, 리드 단위, 로드 단위 등)로 나누어 읽을 수 있도록, EDID를 전송하는 동작일 수 있다. 또는, 다중 EDID 읽기 동작은, 소스 장치(50)가 일정 사이즈(예를 들어, 256 Byte)보다 큰 EDID 세트에 대하여 전체 EDID 세트를 미리 설정된 단위(또는 전송 단위, 리드 단위, 로드 단위 등)로 나누어 읽는 동작일 수 있다. 다중 EDID 읽기 동작에 대한 설명은 도 8, 도 9a, 도 9b, 및 도 9c, 및 도 12를 참조하여 후술될 것이다.
일 실시예에서, 싱크 장치(100)는 HDMI 수신기(110), 시스템 온 칩(120), 및 비휘발성 메모리(130)를 포함할 수 있다.
HDMI 수신기(110)는 컨텐츠 데이터를 수신할 수 있다.
시스템 온 칩(120)은 DDC(Display Data Channel)를 통해 소스 장치(50)가 다중 EDID 읽기 동작을 지원하는지 여부를 확인할 수 있다. DDC(Display Data Channel)는 HDMI 송신기(51)와 HDMI 수신기(110) 간 환경 정보, 상태 정보 등을 교환하도록 Video Electronics Standards Association(이하, VESA)에 의해 정의된 통신 프로토콜이다. DDC에 대한 예시는 도 2를 참조하여 구체적으로 설명된다. 시스템 온 칩(120)은, 소스 장치(50)가 다중 EDID 읽기 동작을 지원하는 것으로 확인되면, EDID 그룹을 DDC를 통해 소스 장치(50)에 순차적으로 전송할 수 있다. EDID 그룹은 비휘발성 메모리(130)에 저장된 EDID 세트에서 미리 설정된 전송 크기 단위로 분할된 크기를 갖는 복수의 EDID일 수 있다. EDID 그룹에 대한 예시는 도 9a, 도 9b, 및 도 9c를 참조하여 후술될 것이다. 시스템 온 칩(120)은, 소스 장치(50)가 다중 EDID 읽기 동작을 지원하지 않는 것으로 확인되면, 소스 장치(50)가 기존과(Legacy) 같은 방식으로 EDID를 읽도록 EDID를 소스 장치(50)에 전송할 수 있다.
일 실시예에서, 시스템 온 칩(120)은 프로세서(121) 및 캐시 메모리(122)를 포함할 수 있다.
프로세서(121)는 DDC를 통해 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인할 수 있다. 일 실시예에서, 프로세서(121)는 다중 EDID 읽기 동작의 지원이 확인됨에 따라, 비휘발성 메모리(130)에 저장된 EDID 세트의 크기와 캐시 메모리(122)의 크기를 기초로 캐시 메모리(122)의 크기에 대응되는 EDID 그룹을 전송 단위로 EDID 세트를 소스 장치(50)에 순차적으로 전송할 수 있다. 여기서, EDID 세트는 비휘발성 메모리(130)에 저장된 모든 EDID를 포함할 수 있고, EDID 그룹은 캐시 메모리(122)에 로드될 EDID를 포함할 수 있다. 구체적으로 예를 들면, 프로세서(121)는, 다중 EDID 읽기 동작의 지원이 확인되면, 비휘발성 메모리(130)에 저장된 EDID 세트의 크기와 캐시 메모리(122)의 크기를 비교할 수 있다. 비휘발성 메모리(130)에 저장된 EDID 세트의 크기가 캐시 메모리(122)의 크기보다 크면, 프로세서(121)는 비휘발성 메모리(130)에 저장된 EDID 세트를 적어도 일부를 캐시 메모리(122)로 로드할 수 있다. 구체적으로 예를 들면, 프로세서(121)는 캐시 메모리(122)의 크기에 대응되는 EDID 그룹을 전송 단위로 소스 장치(50)에 전송되도록, 캐시 메모리(122)의 크기에 대응되는 EDID 그룹을 캐시 메모리(122)에 로드할 수 있다. 이를 위해, 프로세서(121)는 로드할 대상을 가리키는 포인터 레지스터를 포함할 수 있다. 포인터 레지스터에 대한 예시는 도 9a, 도 9b, 및 도 9c를 참조하여 후술될 것이다. 프로세서(121)는, 캐시 메모리(122)에 로드된 EDID를 DDC를 통해 소스 장치(50)에 전송할 수 있다.
캐시 메모리(122)는 EDID를 임시 저장할 수 있다. 구체적으로 예를 들면, VESA에 의해 정의된 EDID 및 추가적인 EDID의 크기는 각각 128 Byte인데, EDID를 로드하기 위해 할당된 캐시 메모리(122)의 크기가 256 Byte이면, 캐시 메모리(122)는 128 Byte의 EDID와 128 Byte의 추가적인 EDID를 로드할 수 있다. 하지만, 이에 한정되는 것은 아니다. 이때, 캐시 메모리(122)에 로드되는 EDID 전체는 EDID 그룹으로 지칭될 수 있다. EDID 그룹을 캐시 메모리(122)에 로드하는 예시는 도 9a, 도 9b, 및 도 9c를 참조하여 후술될 것이다. 캐시 메모리(122)는 전원이 공급된 경우에만 동작하는 휘발성 메모리로 구현될 수 있다. 휘발성 메모리에는, 예를 들어 DRAM(dynamic Random Access Memory), SRAM(static Random Access Memory) 등이 포함될 수 있다.
비휘발성 메모리(130)는 복수의 메모리 블록들(131)을 포함할 수 있다. 복수의 메모리 블록들(131)에 E-EDID(Enhanced EDID)가 저장될 수 있다. 예를 들면, 0번 메모리 블록(EDID MB 0)에 EDID가 저장되고, 1번 메모리 블록(EDID MB 1)에 추가된 EDID가 저장되며, N번 블록(EDID MB N)에 또 다른 추가적인 EDID가 저장될 수 있다. 각 메모리 블록의 크기는 예를 들면, 각 128 Byte일 수 있다. 하지만, 이에 한정되는 것은 아니다. 비휘발성 메모리(130)는 EDID(Extended Display Identification Data) 세트를 저장할 수 있다. 비휘발성 메모리(130)는 전원의 공급과는 독립적으로 데이터를 저장하고 있는 비휘발성 메모리로 구현될 수 있다. 비휘발성 메모리에는 플래시 메모리(flash memory), ROM(Read Only Memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory) 등이 포함될 수 있다. 플래시 메모리에는, 예를 들어 낸드 플래시 메모리(NAND flash memory), 노어 플래시 메모리(NOR flash memory) 등이 포함될 수 있다.
도시되지 않았지만, 싱크 장치(100)는 사용자 입력 모듈, 통신기, 디스플레이, 오디오 등을 더 포함할 수 있다.
본 개시의 실시예에 따른 HDMI 시스템(10)에 의하면, 더 많은 캐퍼빌리티를 표현하기 위한 EDID 정보량이 증가하더라도 시스템 온 칩의 메모리 공간을 늘리지 않고도 EDID를 지원할 수 있어서, 시스템 온 칩의 개발 비용을 절감하고 시스템 온 칩을 집적화하는 효과가 있다.
본 개시의 실시예에 따른 HDMI 시스템(10)에 의하면, 다양한 EDID에 따른 고해상도의 영상을 제공함으로써, 사용자 만족도를 향상시키는 효과가 있다.
본 개시의 실시예에 따른 싱크 장치(100)에 의하면, 다중 EDID 읽기 동작을 지원하지 않는 기존의 소스 장치와의 호환 가능하다는 장점이 있다.
도 2는 본 개시의 일 실시예에 따른 HDMI 시스템에서 소스 장치 및 싱크 장치 간의 인터페이스를 설명하기 위한 도면이다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 HDMI 시스템(20)에서 적용되는 HDMI 전송 규격은 HDMI 2.1a 이상일 수 있다. HDMI 2.1a는 기본적인 구조가 그 이전 버전과 유사하지만, 몇 가지 상이한 점을 가진다. HDMI 2.1a는 전송 대역폭이 18 Gbps인 HDMI 2.0에 비해 2.5배 이상 높은 48 Gbps를 제공할 수 있다. 구체적으로, HDMI 2.1a는 48 Gbps(레인(또는 채널)당 12 Gbps, 4개의 레인들이 구동됨), 40 Gbps(레인당 10 Gbps, 4개의 레인들이 구동됨), 32 Gbps(레인당 8 Gbps, 4개의 레인들이 구동됨), 24 Gbps(레인당 6 Gbps, 4개의 레인들이 구동됨), 18 Gbps(레인당 6 Gbps, 3개의 레인들이 구동됨), 9 Gbps(레인당 3 Gbps, 3개의 레인들이 구동됨)로 총 6 가지의 전송 대역폭을 지원할 수 있다. HDMI 2.1a는 10 Bit 컬러로 인코딩된 HDR 콘텐츠라도 4K에서 144Hz까지 전송할 수 있고 8K에서 30Hz까지 비압축 전송을 지원할 수 있다. HDMI 2.1a의 이전 버전은 3 개의 채널들을 통해 컨텐츠 신호를 전송한다. 구체적으로, HDMI 2.1a의 이전 버전은 네 개의 채널 중에서 세 개의 채널을 데이터 채널로 사용하고, 하나의 채널을 클럭 채널로 사용한다. 즉, HDMI 2.1a에서 데이터 채널인 3번 TMDS 채널(TMDS Channel 3)은, HDMI 2.1a의 이전 버전에서는 클럭 채널로 사용된다. HDMI 2.1a는 4 개의 채널들을 통해 컨텐츠 신호를 전송하며 별도의 클럭 신호를 전송하는 클럭 채널을 가지지 않는다. 클럭 신호는 데이터에 임베딩(embeding)된다. 따라서, HDMI 2.1a에 따른 데이터 전송율은 HDMI 2.1a 이전 버전에 비해 훨씬 높다.
HDMI에 있어서, TMDS가 물리층에 사용될 수 있다. HDCP(High-bandwidth Digital Content Protection)는 콘텐츠 보안을 위한 신호의 암호화에 사용될 수 있다. EDID(Extended Display Identification Data)는 디바이스 간 인증에 사용될 수 있다. CEC(Consumer Electronics Control)는 시스템 전체의 제어계 접속에 사용될 수 있다.
HDMI 케이블 및 커넥터들은 데이터를 전송하기 위한 4 개의 TMDS 채널들(TMDS Channel 0, TMDS Channel 1, TMDS Channel 2, TMDS Channel 3)을 구성하는 네 개의 차분 쌍(differential pair)을 포함한다. 이러한 채널들은 비디오 데이터, 오디오 데이터 및 부가 데이터(auxiliary data)를 전송하기 위해 사용되거나 FRL 링크 트레이닝 시 패턴 신호를 싱크 장치(100)에 전송하기 위해 사용될 수 있다. 본 명세서의 "채널"은 "레인"으로 지칭될 수 있다. 소스 장치(60)는 컨텐츠 데이터를 전송하는 HDMI 전송기(61)를 포함하고, 싱크 장치(200)는 컨텐츠 데이터를 수신하는 HDMI 수신기(210)를 포함할 수 있다.
HDMI는 I2C 기반 통신 채널인 DDC를 포함할 수 있다. DDC는 소스 장치(60) 및 싱크 장치(200) 사이에 정보를 교환하기 위한 I2C 기반의 통신 규격일 수 있다. DDC는 소스 장치(60)가 싱크 장치(200)의 성능 및 특성을 판단하기 위해 사용될 수 있다. 소스 장치(60)는 DDC를 통해 싱크 장치(200)의 EDID ROM(220)에 기록된 EDID를 취득하고, 취득한 EDID에 따라서 싱크 장치(200)의 퍼포먼스 레벨을 판단할 수 있다. 구체적으로, 싱크 장치(200)는 I2C 슬레이브(slave)로써 미리 정의된 주소에(0xA0/0xA1) EDID값을 로딩하여 통신을 준비하고, 준비가 완료되면 Source는 I2C 마스터(Master)로써 DDC 통신을 통해 해당 주소의 EDID 정보를 읽어간다.
CEC는 시스템 내에 있는 모든 다양한 AV 제품들 사이의 하이 레벨(high-level) 제어 기능들을 제공하는데 사용될 수 있다. CEC는 시스템 내의 모든 소스 장치(60) 및 싱크 장치(200)를 하나의 제어 라인으로 접속시킬 수 있다. DDC가 소스 장치(60) 및 싱크 장치(200) 사이에 1대 1로 형성되는 것에 비해, CEC는 시스템 내 모든 기기들을 접속시키는 바, 예를 들면 하나의 리모트 컨트롤러에 의해 모든 기기들을 제어하고자 하는 경우에 활용될 수 있다. 포트 연결 신호가 CEC 라인(CEC Line)을 통해 싱크 장치(200)에 전송될 수 있다. 포트 연결 신호는 소스 장치(60)와 싱크 장치(200) 간의 연결이 끊어지지 않고 계속 유지됨을 나타내는 신호일 수 있다. 소스 장치(60)를 식별하기 위한 ID 신호가 CEC 라인(CEC Line)을 통해 싱크 장치(200)에 전송될 수 있다.
HEAC(HDMI Ethernet and Audio Return Channel)는 접속 디바이스들 및 Audio Return Channel 사이에서 TMDS와 반대 방향으로 이더넷 호환 데이터 네트워킹을 제공하는데 사용될 수 있다. HEAC(HDMI Ethernet and Audio Return Channel)에서 유틸리티 라인(CEC Line)을 통해 이더넷 호환 데이터가 송수신될 수 있다.
싱크 장치(200)는 핫 플러그 디텍트(Hot Plug Detect, 이하 HPD라 함) 라인(HPD Line)을 통해 HPD 신호를 소스 장치(60)에 전송함으로써, 소스 장치(60)와 싱크 장치(200)가 전기적으로 접속됨을 소스 장치(60)에 알릴 수 있다. 구체적으로, 소스 장치(60)와 싱크 장치(200)가 전기적으로 접속된 경우, 싱크 장치(200)는 HPD 신호의 신호 레벨을 로우(Low)에서 하이(High)로 변경할 수 있다.
HDMI는 HDMI 2.0부터 새로 SCDC(Status and Control Data Channel)의 규격을 지원하고 있다. SCDC는 DDC와 동일하게 I2C 기반 통신 프로토콜이다. SCDC는 소스 장치(60) 및 싱크 장치(200) 사이의 데이터 교환을 가능하게 하는 1대 1 통신 프로토콜이다. SCDC는 EDID 및 기타 정보를 읽기 위해 I2C 규격을 사용한다. SCDC는 소스 장치(60)에게 상태 체크의 실행을 요청하도록 싱크 장치(200)를 위한 메커니즘을 제공함으로써 I2C 규격을 확장시킨다. 이를 위해, 새로운 I2C주소(0xA8/0xA9) 영역이 할당될 수 있다. SCDC를 통해 상태(Status) 또는 구성(Configuration)에 관한 정보가 교환될 수 있다. SCDC를 포함하는 싱크 장치(200)는 EDID에서 유효 HDMI HF-VSDB(Vendor-Specific Data Block)를 포함해야 하며, SCDC_Present 비트의 값을 "1"로 설정해야 한다. SCDC의 억세스 이전에, 소스 장치(60)는 싱크 장치(200)가 SCDC_Present 비트의 값이 "1"로 설정된 EDID에서 유효 HDMI HF-VSDB를 포함하는지 확인한다. 소스 장치(60)는 SCDC_Present 비트의 값이 "1"이 아니면 SCDC의 억세스를 수행하지 않는다.
HDMI는 HDMI 2.1a부터 새로 IDCC(ID Communications Channel)의 규격을 지원하고 있다. IDCC는 DDC와 동일하게 I2C 기반 통신 프로토콜이다. IDCC는 싱크 장치(100)의 싱크 ID가 소스 장치(50)에 전송되거나 소스 장치(50)의 소스 ID가 싱크 장치(10))에 전송되기 위한 통신 프로토콜일 수 있다. IDCC는 소스 ID, 싱크 ID 및/또는 케이블 ID를 인접한 장치들 간에 양방향으로 전송하는 데 이용될 수 있다. IDCC는 E-EDID를 읽는데 이용되는 동일한 I2C 인터페이스 및 어드레스를 이용한다.
도 3은 본 개시의 일 실시예에 따른 소스 장치 및 싱크 장치가 연결될 때 송수신되는 신호를 설명하기 위한 도면이다.
도 3을 참조하면, 단계 S310에서, 싱크 장치(100)는 HPD 신호의 신호 레벨을 로우에서 하이로 변경함으로써 소스 장치(50)와 싱크 장치(100)가 전기적으로 접속됨을 소스 장치(60)에 알릴 수 있다.
단계 S320에서, 소스 장치(50)는 EDID를 읽기 위한 EDID 요청을 싱크 장치(100)에 전송할 수 있다.
단계 S330에서, 소스 장치(50)는 싱크 장치(100)로부터 EDID를 읽을 수 있다. EDID의 구조는 블록 단위(또는 메모리 블록 단위)로 표현되고, 블록 하나의 크기는 128 Byte일 수 있다. 싱크 장치(100)는 2 개 이상의 블록들을 포함할 수 있다. 예를 들어, 싱크 장치(100)는 2개의 블록들을 포함하며, 2개의 블록들 중 어느 하나의 블록에 EDID가 저장되고, 2개의 블록들 중 다른 하나의 블록에 추가 EDID가 저장될 수 있다. 일 실시예에서, EDID를 읽는 동작은 해당 EDID가 저장된 I2C 주소에 대응되는 블록 단위로 이뤄질 수 있다. 예를 들면, 싱크 장치(100)는 2개의 블록들을 포함하는 곳으로 가정한다. 소스 장치(50)가 첫 번째 블록에 저장된 EDID를 읽으려면, 소스 장치(50)가 I2C 주소에 액세스 하여, 1 개의 블록에 저장된 데이터를 한꺼번에 읽는다. 그 다음, 소스 장치(50)가 두 번째 블록에 저장된 EDID를 읽으려면, 소스 장치(50)가 해당 I2C 주소에 액세스 하여, 2 개의 블록에 저장된 데이터를 한꺼번에 읽는다.
단계 S340에서, 소스 장치(50)는 읽은 EDID의 값을 해석하고, 싱크 장치(100)의 지원 사양 범위에 맞는 해상도로 컨텐츠 데이터(V/A DATA)를 싱크 장치(100)에 전송할 수 있다.
최근 싱크 장치(100)가 HDMI 2.1a 및 게이밍 모드(Gaming mode) 등을 지원함에 따라, 지원 가능한 해상도가 증가하고, 지원 가능한 해상도가 늘어남에 따라 더 많은 EDID가 필요하다. 표준에 정의되는 해상도의 경우, 1 bit로도 충분히 표현 가능하다. 하지만, 표준에 정의되어 있지 않은 해상도의 경우, 구체적인 타이밍 정보 등이 필요하므로, 다수의 Byte 크기의 저장 용량이 필요하다. 예를 들어, 표준에 따른 Detail Timing Descriptor 18 Byte를 사용하고 있으므로, 신규로 지원 가능한 해상도가 싱크 장치(100)에 추가되기 위해, EDID를 저장하는 저장 공간이 18 Byte 더 필요하다. 새로 지원 가능한 해상도, 타이밍 정보 등은 E-EDID에 포함될 수 있다.
도 4는 본 개시의 일 실시예에 따른 EDID 세트를 설명하기 위한 도면이다.
도 4를 참조하면, EDID 세트(400)는 HDMI 기반의 EDID(410) 및 적어도 하나의 CEA 익스텐션 데이터(420, 430)를 포함할 수 있다. EDID(410) 및 CEA 익스텐션 데이터(420, 430) 각각은 128 Byte의 데이터 구조이다. EDID 세트(400)는 E-EDID에 대응될 수 있다.
EDID(410)는 VESA에서 정의된 디스플레이 장치에 대한 다양한 정보가 포함된 데이터 구조(Structure)일 수 있다. EDID(410)는 DDC를 통해 소스 장치로 전송되거나 소스 장치에 의해 읽혀질(read) 수 있다. EDID(410)는 헤더, 제품 식별 정보, EDID 버전 정보, 기본 디스플레이 변수, 컬러 스페이스 정의, 디스플레이에서 지원되는 모든 해상도의 타이밍 정보, 확장 플래그, 체크썸 등의 정보를 포함한다. 이때, 제품 식별 정보는, 제조업체의 ID, 제품 ID 코드, 일련번호, 제조날짜 등을 포함할 수 있다. 기본 디스플레이 변수는, 영상 입력 유형, 디스플레이 크기, 전원 관리, 감마값, 타이밍 기능, 환경설정 등을 포함할 수 있다.
적어도 하나의 CEA 익스텐션 데이터(420, 430)는 CEA 861 기반의 EDID 익스텐션 데이터 포맷에 따라 구성될 수 있다. 각 CEA 익스텐션 데이터의 포맷에서 데이터 블록 컬렉션(data block collection)은, 오디오 데이터 블록, 비디오 데이터 블록, 벤더 특정 데이터 블록 등을 포함할 수 있다. 싱크 장치(100)는, 각 CEA 익스텐션 데이터의 데이터 블록 컬렉션에, 싱크 장치(100)가 지원하는 미디어 포맷에 대한 정보를 수록할 수 있다. 벤더 특정 데이터 블록은 도 6을 참조하여 후술하는 바와 같이, SCDC 지원 여부 등에 관한 정보를 포함할 수 있다.
HDMI 2.1a 이전의 버전에서 통상적으로 EDID가 저장된 블록을 2개까지만 읽을 수 있도록 소스 장치가 구현될 수 있다. 그런데, HDMI 2.1a부터는 EDID에 기록해야 할 정보량(예를 들어 지원 가능한 해상도, 구체적인 타이밍 정보 등)이 늘어나므로, 더 많은 EDID를 저장하기 위한 저장 공간이 필요할 수 있다.
싱크 장치(100)에 포함된 비휘발성 메모리의 저장 용량을 확장하는 것은 어렵지 않다. 그러나, 시스템 온 칩(120)에 포함된 캐시 메모리(122)에 메모리 블록을 추가적으로 탑재하는 비용은, 설계자가 시스템 온 칩(120)을 재설계해야 하므로, 상당하다. 또한, 기존에 출시된 소스 장치는 EDID가 저장된 블록을 2개까지만 읽을 수 있으므로, 기존에 출시된 소스 장치는 확장된 EDID Block에 의해 EDID를 제대로 읽지 못하고 오동작할 수 있다. 사용자는 오동작 원인이 소스 장치가 아닌 싱크 장치에 있는 것으로 생각할 수 있어, 싱크 장치를 제조하는 회사에 컴플레인을 제기할 수 있다.
한편, 기존 싱크 장치에 캐시 메모리의 저장 용량을 유지하되, 기존에 저장된 EDID 일부를 새로운 EDID로 변경하는 방법이 있을 수 있다. 그러나, 이 방법은 기존 싱크 장치의 원래 캐퍼빌리티를 제대로 표현할 수 없을 수 있고, 사용자가 한정된 해상도만 사용할 수 있다.
한편, 설계자가 기존 싱크 장치에서 2개의 블록들에 저장된 EDID 세트를 여러가지 조합으로 준비하고, 사용자가 직접 EDID 종류를 선택할 수도 있다. 다만, 이 방법은 사용자에게 불편할 수 있고, 장치 간의 호환성 문제가 발생할 수 있다.
이에, 시스템 온 칩에 포함된 메모리의 저장 용량을 유지하고, 싱크 장치의 완전한 캐퍼빌리티를 소스 장치에 전달할 수 있는 새로운 EDID 읽기 스킴(Scheme)이 필요할 수 있다.
도 5는 본 개시의 일 실시예에 따른 EDID에 대한 읽기 동작을 설명하기 위한 흐름도이다.
도 5를 참조하면, 단계 S500에서, HDMI 연결 동작이 수행된다. 구체적으로, 소스 장치(50)와 싱크 장치(100)가 HDMI 케이블을 통해 연결되면, 프로세서(121)가 하이 레벨의 HPD 신호를 소스 장치(50)에 전송한다.
단계 S510에서, 소스 장치(50)와 싱크 장치(100)가 모두 다중 EDID 스킴을 지원하는지 여부를 확인하는 동작이 수행된다. 다중 EDID 스킴은 전술한 다중 EDID 읽기 동작으로 지칭될 수 있다. 일 실시예에서 싱크 장치(100)가 다중 EDID 읽기 동작을 지원하는 경우, 프로세서(121)는 DDC를 통해 소스 장치(50)가 다중 EDID 읽기 동작을 지원하는지 여부를 확인할 수 있다. 다중 EDID 스킴(또는 다중 EDID 읽기 동작)을 지원하는지 여부는 도 7a, 도 7b, 및 도 7c를 참조하여 후술하는 SCDC 구조 또는 도 10 및 도 11을 참조하여 후술하는 IDCC를 기초로 확인될 수 있다.
소스 장치(50)와 싱크 장치(100)가 모두 다중 EDID 스킴을 지원하는 경우(S510, Yes), 단계 S520에서, EDID 세트의 크기가 캐시 메모리의 크기보다 큰지 여부를 판단하는 동작이 수행된다. 구체적으로, EDID 세트의 크기는 비휘발성 메모리(130)에 포함된 복수의 메모리 블록들(131)의 크기에 대응될 수 있다. 프로세서(121)는 복수의 메모리 블록들(131)의 크기와 캐시 메모리(122)의 크기를 비교한다.
단계 S530에서, EDID 세트의 크기가 캐시 메모리의 크기보다 크면(S520, Yes), EDID를 부분적으로 로딩하는 동작이 수행된다. 구체적으로, 비휘발성 메모리(130)에서 하나의 메모리 블록의 크기가 128 Byte이고 복수의 메모리 블록들(131)의 개수가 6개이며, 캐시 메모리(122)도 하나의 메모리 블록의 크기가 128 Byte인 2개의 메모리 블록들을 포함하는 것으로 가정한다. 프로세서(121)는 6개의 메모리 블록을 2개씩 3개의 그룹으로 나누어, 하나의 그룹(예를 들어, 첫 번째 그룹)에 저장된 EDID를 캐시 메모리(122)에 로드한다. EDID를 부분적으로 로드하는 실시예는 도 9a, 도 9b, 및 도 9c를 참조하여 후술할 것이다.
단계 S540에서, 로드된 EDID를 읽는 동작이 수행된다. 구체적으로, 소스 장치(50)는 로드된 EDID를 읽는 동작을 수행한다. 싱크 장치(100)는 로드된 EDID를 소스 장치(50)에 전송한다.
단계 S550에서, 모든 EDID가 읽기 완료되었는지 확인하는 동작이 수행된다. 구체적으로, 프로세서(121)는 현재 캐시 메모리(122)에 로드된 EDID를 모니터링하여 모든 EDID가 읽기 완료되었는지 확인할 수 있다.
예를 들어, 현재 캐시 메모리(122)에 로드된 EDID는 첫 번째 그룹에 저장된 것이므로, 모든 EDID가 읽기 완료되지 않은 경우가 발생할 수 있다. 이 경우(S550, No), 단계 S530가 수행된다. 구체적으로, 프로세서(121)는 6개의 메모리 블록이 2개씩 나뉜 3 개의 그룹들 중 다른 하나의 그룹(예를 들어, 두 번째 그룹)에 저장된 EDID를 캐시 메모리(122)에 로드한다. 그 다음, 단계 S540 및 단계 S550이 수행되고, 3 개의 그룹들 중 나머지 하나의 그룹(예를 들어, 세 번째 그룹)에 대한 읽기 동작이 수행되지 않았으므로, 단계 S530 및 단계 S540 및 단계 S550이 다시 수행된다. 세 번째 그룹에 포함된 EDID에 대한 읽기 동작이 완료된 경우, 모든 EDID에 대한 읽기 동작이 완료된 것으로 판단된다.
한편, 소스 장치(50)와 싱크 장치(100) 중 어느 하나라도 다중 EDID 스킴을 지원하지 않거나(S510, No) 또는 EDID의 크기가 캐시 메모리의 크기 이하이면(S520, No) 단계 S560에서, 기존의 EDID를 읽는 동작이 수행된다. 기존의 EDID를 읽는 동작은, HDMI 2.1a 이전의 버전에서 소스 장치가 EDID가 저장된 블록을 2개까지만 읽는 동작일 수 있다.
전술한 실시예에 의하면, 시스템 온 칩(120)의 캐시 메모리(122)의 저장 용량을 변경하지 않고도 소스 장치(50)가 확장된 EDID를 읽을 동작을 지원함으로써, 시스템 온 칩의 제조 단가를 절감하고, 소스 장치(50)의 오동작을 방지하고, HDMI 시스템(10)의 호환성을 개선하며, 사용자에게 다양한 해상도의 영상을 제공하고, 사용자의 편의성을 개선하는 효과가 있다.
이하에서는 다중 EDID 읽기 동작을 지원하는지 여부를 확인하고 다중 EDID 읽기 동작을 수행하는 방법으로서, SCDC 구조에 대한 실시예가 후술될 것이다.
도 6은 본 개시의 일 실시예에 따른 HF(HDMI Forum)-VSDB(Vendor-Specific Data Block)을 설명하기 위한 도면이다.
도 4 및 도 6을 참조하면, HF-VSDB는 벤더-특정 데이터가 정의될 수 있는 데이터 블록일 수 있다. HDMI는 이 데이터 블록을 사용하여 HDMI에서의 특정 정보를 정의할 수 있다. HF-VSDB는 싱크 장치(100)의 E-EDID 내의 CEA 익스텐션 버전 3에 위치할 수 있다(도 6의 "Vendor Specific Tag Code (=3)" 참조).
여기서, SCDC_Present 필드(도 6의 "SCDC_Present" 참조)는 싱크 장치가 SCDC 기능을 지원함을 나타내는 필드로, 필드의 비트 값이 1로 세팅되면, 싱크 장치가 SCDC 기능을 지원한다.
RR_Capable 필드는 싱크 기기가 SCDC 읽기 요청(read request)을 개시(Initiating)할 수 있는지 여부를 나타내는 필드로서, 필드의 비트 값이 1로 세팅되면, 싱크 장치가 SCDC 판독 요청을 개시할 수 있다.
본 개시의 일 실시예에 따른 싱크 장치(100)는 도 6에 도시된 HF-VSDB를 포함하고, HF-VSDB에서 SCDC_Present 필드의 비트 값이 1로 세팅될 수 있다.
도 7a, 도 7b, 및 도 7c는 본 개시의 실시예들에 따른 SCDCS(Status and Control Data Channel Structure)를 설명하기 위한 도면들이다.
SCDCS는 싱크 장치에 저장되고, 도 6에 도시된 테이블과같은 자료 구조로 구성되며, 레지스터로 구현될 수 있다. 도 6에 도시된 "R/W"는 소스 장치 관점에서, 소스 장치가 SCDCS의 데이터를 읽기(read)만 가능한지 아니면 읽기/쓰기(read/write) 모두 가능한지를 나타낸다.
다중 EDID 읽기 동작을 지원하기 위해, 싱크 서포트 필드, 소스 서포트 필드, EDID 래디 필드, 및 EDID 피니쉬 필드가 새로 할당될 수 있다.
일 실시예에서, 싱크 서포트 필드, 소스 서포트 필드, EDID 래디 필드, 및 EDID 피니쉬 필드는 기존 SCDCS에서 리저브드(reserved) 필드들에 할당될 수 있다.
도 7a를 참조하여 예를 들면, 싱크 서포트 필드(도 7a에 도시된 "IS_Sink_Support" 참조), 소스 서포트 필드(도 7a에 도시된 "IS_Source_Support" 참조), EDID 래디 필드(도 7a에 도시된 "IS_EDID_Ready" 참조), 및 EDID 피니쉬 필드(도 7a에 도시된 "IS_EDID_Finish" 참조)가 SCDCS의 오프셋 값, 0x03, 0x04, 0x05, 0x06에 각각 할당될 수 있다.
도 7b를 참조하여 다른 예를 들면, 싱크 서포트 필드(도 7b에 도시된 "IS_Sink_Support" 참조), 소스 서포트 필드(도 7b에 도시된 "IS_Source_Support" 참조), EDID 래디 필드(도 7b에 도시된 "IS_EDID_Ready" 참조), 및 EDID 피니쉬 필드(도 7b에 도시된 "IS_EDID_Finish" 참조)가 SCDCS의 오프셋 값, 0x57, 0x58, 0x59, 0x5A에 각각 할당될 수 있다.
일 실시예에 따른 싱크 서포트 필드, 소스 서포트 필드, EDID 래디 필드, 및 EDID 피니쉬 필드가 할당되는 실시예가 도 7a 또는 도 7b에 도시된 오프셋들에 할당되는 것으로 설명되어 있지만, 이에 한정되는 것은 아니며, SCDCS에서 리저브드(reserved)된 또 다른 오프셋에 할당될 수도 있다.
다른 실시예에서, 싱크 서포트 필드, 소스 서포트 필드, EDID 래디 필드, 및 EDID 피니쉬 필드는 기존 SCDCS에서 제조사 특정 필드들(도 7a, 및 도 7b에 도시된 "Manufacturer Specific" 참조)에 할당될 수도 있다.
도 7c를 참조하여 예를 들면, 싱크 서포트 필드(도 7c에 도시된 "IS_Sink_Support" 참조), 소스 서포트 필드(도 7c에 도시된 "IS_Source_Support" 참조), EDID 래디 필드(도 7c에 도시된 "IS_EDID_Ready" 참조), 및 EDID 피니쉬 필드(도 7c에 도시된 "IS_EDID_Finish" 참조)가 SCDCS의 오프셋 값, 0xDE, 0xDF, 0XE0, 0xE1에 각각 할당될 수 있다.
다른 실시예에 따른 싱크 서포트 필드, 소스 서포트 필드, EDID 래디 필드, 및 EDID 피니쉬 필드가 할당되는 실시예가 도 7c에 도시된 오프셋들에 할당되는 것으로 설명되어 있지만, 이에 한정되는 것은 아니며, SCDCS에서 다른 제조사 특정 필드들에 할당될 수도 있다.
싱크 서포트 필드는 싱크 장치(100)가 다중 EDID 읽기 동작을 지원하는지 여부를 나타내기 위해 할당된 필드일 수 있다. 싱크 서포트 필드의 비트 값이 제1 비트 값(예를 들어, "1")로 설정되면, 싱크 장치(100)가 다중 EDID 읽기 동작을 지원한다. 또는, 싱크 서포트 필드의 비트 값이 제2 비트 값(예를 들어, "0")로 설정되면, 싱크 장치(100)가 다중 EDID 읽기 동작을 지원하지 않는다.
소스 서포트 필드는 소스 장치(50)가 다중 EDID 읽기 동작을 지원하는지 여부를 나타내기 위해 할당된 필드일 수 있다. 소스 서포트 필드의 비트 값이 제1 비트 값(예를 들어, "1")로 설정되면, 소스 장치(50)가 다중 EDID 읽기 동작을 지원한다. 또는, 소스 서포트 필드의 비트 값이 제2 비트 값(예를 들어, "0")로 설정되면, 소스 장치(50)가 다중 EDID 읽기 동작을 지원하지 않는다.
EDID 래디 필드는 EDID 그룹이 캐시 메모리(122)에 로드되었는지 여부를 나타내기 위해 할당된 필드일 수 있다. EDID 래디 필드의 비트 값이 제1 비트 값(예를 들어, "1")로 설정되면, EDID 그룹이 캐시 메모리(122)에 로드 완료된다. 또는, EDID 래디 필드의 비트 값이 제2 비트 값(예를 들어, "0")로 설정되면, EDID 그룹이 캐시 메모리(122)에 로드되기 전인 것이다.
EDID 피니쉬 필드는 EDID 세트가 소스 장치(50)에 전송 완료되었는지 여부를 나타내기 위해 할당된 필드일 수 있다. EDID 피니쉬 필드의 비트 값이 제1 비트 값(예를 들어, "1")로 설정되면, 이는 비휘발성 메모리(130)에 저장된 EDID 세트가 모두 로드 및 전송 완료되어 더 이상 로딩할 EDID가 없는 것이다. 또는, EDID 피니쉬 필드의 비트 값이 제2 비트 값(예를 들어, "0")로 설정되면, 캐시 메모리(122)에 로딩할 EDID가 아직 존재한다.
이하에서는 이러한 SCDC의 구조를 이용해 다중 EDID 읽기 동작을 수행하는 방법이 후술될 것이다.
도 8은 본 개시의 일 실시예에 따른 SCDC(Status and Control Data Channel)를 통한 다중 EDID 읽기 동작을 설명하기 위한 도면이다.
도 1 및 도 8을 참조하면, 비휘발성 메모리(130)에 저장된 EDID 세트의 크기가 캐시 메모리(120)의 크기보다 큰 것을 가정한다. 그리고, 싱크 서포트 필드, 소스 서포트 필드, EDID 래디 필드, 및 EDID 피니쉬 필드는 SCDCS에서 SCDCS의 오프셋 값, 0xDE, 0xDF, 0XE0, 0xE1에 각각 할당된 것으로 가정한다. 그리고, 필드에 설정되는 제1 비트 값은 1이고, 필드에 설정되는 제2 비트 값은 0인 것으로 가정한다.
단계 S800에서, 싱크 장치(100)가 SCDCS의 싱크 서포트 필드에 특정 비트 값을 설정하는 동작이 수행된다. 구체적으로, 프로세서(121)는 SCDCS의 싱크 서포트 필드의 비트 값을 1로 설정한다(도 8에 도시된 "IS_Sink_Support (set "1")" 참조).
단계 S810에서, 소스 장치(50)가 SCDC 통신 프로토콜을 통해 SCDCS의 소스 서포트 필드에 특정 비트 값을 설정하는 동작이 수행된다. 구체적으로, 소스 장치(50)가 SCDCS의 소스 서포트 필드에 비트 값 1을 기입(writing)한다(도 8에 도시된 "IS_Source_Support (set "1")" 참조). 싱크 장치(100)는 SCDCS를 기초로 소스 장치(50)가 다중 EDID 읽기 동작을 지원하는지 여부를 확인한다. 구체적으로, 프로세서(121)는 SCDC를 통한 통신을 수행하여, SCDCS에 할당된 소스 서포트 필드의 비트 값을 확인함으로써, 다중 EDID 읽기 동작의 지원 여부를 확인한다. 소스 장치(50) 및 싱크 장치(100)가 모두 다중 EDID 읽기 동작을 지원한다면, 소스 서포트 필드의 비트 값과 싱크 서포트 필드의 비트 값은 1로 동일할 수 있다.
단계 S820에서, 소스 장치(50)가 SCDC 통신 프로토콜을 통해 SCDCS의 EDID 래디 필드를 지속적으로 폴링하는 동작이 수행된다(도 8에 도시된 "IS_EDID_Ready" 참조). 본 명세서의 폴링은 스크린 아이댄티피케이션(screen identification)으로 지칭될 수 있다.
단계 S830에서, 싱크 장치(100)가 EDID를 부분적으로 로딩하는 동작이 수행된다. 구체적으로, 프로세서(121)는, EDID 세트의 크기를 캐시 메모리(122)의 크기 단위로 분할한 EDID 그룹을 캐시 메모리(122)에 로드한다.
단계 S840에서, 싱크 장치(100)가 SCDCS의 EDID 래디 필드에 특정 비트 값을 설정하는 동작이 수행된다. 구체적으로, 프로세서(121)는 SCDCS의 EDID 래디 필드의 비트 값을 1을 설정한다(도 8에 도시된 "IS_EDID_Ready (set "1")" 참조). 단계 S820부터 소스 장치(50)가 SCDCS의 EDID 래디 필드를 지속적으로 폴링하고 있으므로, SCDCS의 EDID 래디 필드의 비트 값이 1로 설정된 때, 소스 장치(50)는 EDID가 로드된 것을 확인할 수 있다.
단계 S850에서, 소스 장치(50)가 EDID를 읽는 동작이 수행된다.
단계 S860에서, 소스 장치(50)가 SCDC 통신 프로토콜을 통해 SCDCS의 EDID 래디 필드에 설정된 비트 값을 클리어하는 동작이 수행된다. 구체적으로, 소스 장치(50)가 통해 SCDCS의 EDID 래디 필드에 비트 값 0을 기입(writing)한다(도 8에 도시된 "IS_EDID_Ready (set "0")" 참조). 프로세서(121)는 SCDCS의 EDID 래디 필드를 통해 소스 장치(50)가 EDID를 읽기 완료하였는지 여부를 확인할 수 있다. 다른 실시예에서, 프로세서(121)는, EDID 래디 필드에 1이 설정되고 소스 장치(50)가 EDID를 읽는 동작이 완료된 이후, EDID 래디 필드에 설정된 제1 비트 값을 제2 비트 값으로 클리어할 것을 요청하는 클리어 요청을 수신할 수 있다. 그리고, 프로세서(121)는 EDID 래디 필드의 비트 값을 0으로 설정할 수도 있다.
단계 S870에서, 싱크 장치(100)가 모든 EDID에 대한 읽기 동작이 완료되었는지 여부를 확인하는 동작이 수행된다. 모든 EDID에 대한 읽기 동작이 완료되지 않은 경우(S870, No), 즉 EDID 래디 필드에 비트 값 0이 설정된 이후 EDID 세트에서 전송 대기 중인 후속 EDID 그룹이 있는 경우, 프로세서(121)는 후속 EDID 그룹을 캐시 메모리(122)에 로드하고(단계 S830), EDID 래디 필드의 비트 값을 1로 설정한다.
모든 EDID에 대한 읽기 동작이 완료된 경우(S870, Yes), 즉 EDID 세트가 전송 완료된 경우, 단계 S880에서, 싱크 장치(100)가 EDID 피니쉬 필드에 1을 설정하는 동작이 수행된다. 구체적으로, 프로세서(121)는, EDID 세트가 전송 완료된 경우, EDID 피니쉬 필드의 비트 값을 1로 설정한다(도 8에 도시된 "IS_EDID_Finish (set "1")" 참조).
단계 S890에서, 소스 장치(50)가 SCDC 통신 프로토콜을 통해 SCDCS의 EDID 피니쉬 필드를 읽음으로써 EDID에 대한 읽기 동작이 종료된 것을 확인하는 동작이 수행된다.
전술한 실시예에 의하면, HDMI 시스템이 다중 EDID 읽기 동작을 지원하여 사용자에게 다양한 해상도의 영상을 제공함으로써, 사용자의 편의성을 제공하는 효과가 있다.
전술한 실시예에 의하면, 본 개시에 따른 HDMI 시스템이 다중 EDID 읽기 동작을 지원하지 않는 소스 장치 및/또는 싱크 장치에 비해 더욱 다양한 해상도의 영상을 제공할 수 있다는 점에서, 제품에 대한 경쟁 우위에 있다는 장점이 있다.
이하에서는 EDID 그룹을 로드하는 실시예가 후술될 것이다.
도 9a, 도 9b, 및 도 9c는 본 개시의 일 실시예에 따른 비휘발성 메모리에 저장된 EDID 세트를 캐시 메모리에 로드하는 동작을 설명하기 위한 도면들이다.
도 1, 도 9a, 도 9b, 및 도 9c를 참조하면, 프로세서(121)는 세그먼트 포인터 레지스터(900)를 포함할 수 있다. 세그먼트 포인터 레지스터(900)는 복수의 메모리 블록들(910) 중 로드할 메모리 블록들을 가리키는 세그먼트 포인터(Segment pointer)를 저장할 수 있다. 복수의 메모리 블록들(910)은 비휘발성 메모리(130)에 포함될 수 있다. 복수의 메모리 블록들(910)은 EDID 메모리 블록으로 지칭될 수 있다. 복수의 메모리 블록들(910) 각각의 크기는, 예를 들어, 128 Byte일 수 있다. 각 메모리 블록에 EDID 또는 CEA 익스텐션 데이터가 저장될 수 있다. 복수의 메모리 블록들(910)에 저장된 EDID 또는 CEA 익스텐션 데이터는 EDID 세트로 지칭될 수 있다. 복수의 메모리 블록들(910)은 미리 설정된 세그먼트 단위로 구분될 수 있다. 세그먼트 단위는 2 개의 블록들을 포함할 수 있다. 예를 들면, 0번 세그먼트(SP 0)는 0번 메모리 블록(EDID Memory Block 0) 및 1번 메모리 블록(EDID Memory Block 1)을 포함할 수 있다. 1번 세그먼트(SP 1)는 2번 메모리 블록(EDID Memory Block 2) 및 3번 메모리 블록(EDID Memory Block 3)을 포함할 수 있다. 이와 같이, 순차적으로 2개의 블록이 하나의 세그먼트로 구분될 수 있으며, K번 세그먼트(SP K)는 N-1번 메모리 블록(EDID Memory Block N-1) 및 N번 메모리 블록(EDID Memory Block N-1)을 포함할 수 있다. 여기서, N은 2 이상의 자연수이며, 예를 들어, 255일 수 있다. K는 N보다 작은 자연수로서, 예를 들어, N이 255인 경우, K는 127일 수 있다. 하나의 세그먼트에서, 2개의 블록에 저장된 EDID 또는 CEA 익스텐션 데이터는 하나의 EDID 그룹에 포함될 수 있다.
도 9a를 참조하면, 세그먼트 포인터의 값이 0인 경우(도 9a에 도시된 " Segment pointer = 0" 참조), 세그먼트 포인터는 0번 세그먼트(SP 0)를 가리킬 수 있다. 이때, 0번 메모리 블록(EDID Memory Block 0) 및 1번 메모리 블록(EDID Memory Block 1)에 저장된 EDID 0 및 EDID 1가, 캐시 메모리(920)에 로드될 수 있다.
도 9b를 참조하면, EDID 0 및 EDID 1가 소스 장치(50)에 의해 읽혀지면, 세그먼트 포인터의 값이 0에서 1로 변경되고(도 9a에 도시된 " Segment pointer = 1" 참조), 세그먼트 포인터는 1번 세그먼트(SP 1)를 가리킬 수 있다. 이때, 2번 메모리 블록(EDID Memory Block 2) 및 3번 메모리 블록(EDID Memory Block 1)에 저장된 EDID 2 및 EDID 3이, 캐시 메모리(920)에 로드될 수 있다.
EDID 2 및 EDID 3가 소스 장치(50)에 의해 읽혀지면, 세그먼트 포인터의 값이 1에서 2로 변경되고, 세그먼트 포인터는 2번 세그먼트를 가리킬 수 있다. 이와 같이, 2개의 메모리 블록이 순차적으로 로드되며, 도 9c에 도시된 바와 같이, 세그먼트 포인터의 값이 K인 경우(도 9a에 도시된 " Segment pointer = K" 참조), 세그먼트 포인터는 K번 세그먼트(SP K)를 가리키며, N-1번 메모리 블록(EDID Memory Block N-1) 및 N번 메모리 블록(EDID Memory Block N)에 저장된 EDID 2 및 EDID 3이, 캐시 메모리(920)에 로드될 수 있다.
전술한 실시예에 의하면, 시스템 온 칩의 메모리의 저장 용량을 확장하기 위해 시스템 온 칩을 재설계하지 않고도 사용자에게 다양한 해상도의 영상을 제공함으로써, 제조 단가를 절감하는 효과가 있다.
이하에서는 다중 EDID 읽기 동작을 지원하는지 여부를 확인하고 다중 EDID 읽기 동작을 수행하는 다른 방법으로서, IDCC 구조에 대한 실시예가 후술될 것이다.
도 10은 본 개시의 일 실시예에 따른 IDCC(ID Communications Channel)의 소스 ID를 설명하기 위한 도면이고, 도 11은 본 개시의 일 실시예에 따른 IDCC의 싱크 ID를 설명하기 위한 도면이다.
IDCC 프로토콜은 HDMI 2.1a에서 도입된 통신 프로토콜이다. IDCC 프로토콜은 읽기 트랜잭션 및 쓰기 트랜잭션을 포함한다. IDCC 트랜잭션(IDCC transaction)은 IDCC 헤더, IDCC 페이로드, 및 IDCC 체크썸을 포함한다. 이때, IDCC 헤더의 특정 인덱스(예를 들면, 0x02)에 설정되는 비트 값에 따라 소스 ID, 케이블 ID, 또는 싱크 ID가 결정될 수 있다.
도 10을 참조하면, 소스 ID의 데이터 구조에서 0번 비트 자리(도 10에 도시된 "Bit 0" 참조)에 SI_PCA_n 필드가 기본적으로 할당된다. SI_PCA_n 필드는 연결된 케이블 어셈블리에서 사용하기 위한 것이다. 소스 장치(50)가 클리어된 비트 값(예를 들어, 0으로 설정된 비트 값)을 갖는 소스 ID를 싱크 장치(100)에 전달하면, 소스 장치(50)는 최대 SRC,PCA 전류(Isrc, pca)를 제공함으로써 PCA(Power for Cable Assemblies)를 지원할 수 있다.
다중 EDID 읽기 동작을 지원하기 위해, 소스 서포트 필드 및 EDID 리드 던 필드가 소스 ID의 데이터 구조에 새로 할당될 수 있다. 소스 서포트 필드(도 10에 도시된 "IS_Source_Support" 참조)는 도 7a, 도 7b, 및 도 7c를 참조하여 전술한 바와 같다. 소스 서포트 필드는, 예를 들어, 소스 ID의 데이터 구조에서 1번 비트 자리(도 10에 도시된 "Bit 1" 참조)에 할당될 수 있다.
EDID 리드 던 필드(도 10에 도시된 "IS_EDID_READ_DONE" 참조)는, EDID 그룹에 대한 읽기 동작이 완료되었는지 여부를 나타내기 위해 할당된 필드일 수 있다. EDID 리드 던 필드는, 예를 들어, 소스 ID의 데이터 구조에서 2번 비트 자리(도 10에 도시된 "Bit 2" 참조)에 할당될 수 있다.
소스 ID의 데이터 구조에서 소스 서포트 필드 및 EDID 리드 던 필드가 할당되는 위치는 도 10에 한정되지 않는다.
도 11을 참조하면, 기존의 싱크 ID의 데이터 구조에서 각 비트 자리들은 리저브드 필드일 수 있다. 다중 EDID 읽기 동작을 지원하기 위해, 싱크 서포트 필드, EDID 래디 필드 및 EDID 피니쉬 필드가 싱크 ID의 데이터 구조에 새로 할당될 수 있다. 싱크 서포트 필드(도 11에 도시된 "IS_Sink_Support" 참조), EDID 래디 필드(도 11에 도시된 "IS_EDID_Ready" 참조), 및 EDID 피니쉬 필드(도 11에 도시된 "IS_EDID_Finish" 참조)는, 도 7a, 도 7b, 및 도 7c를 참조하여 전술한 바와 같다. 싱크 서포트 필드는, 예를 들어, 싱크 ID의 데이터 구조에서 0번 비트 자리(도 11에 도시된 "Bit 0" 참조)에 할당될 수 있다. EDID 래디 필드는, 예를 들어, 싱크 ID의 데이터 구조에서 1번 비트 자리(도 11에 도시된 "Bit 1" 참조)에 할당될 수 있다. EDID 피니쉬 필드는, 예를 들어, 싱크 ID의 데이터 구조에서 2번 비트 자리(도 11에 도시된 "Bit 2" 참조)에 할당될 수 있다. 하지만, 이에 한정되는 것은 아니며, 싱크 서포트 필드, EDID 래디 필드 및 EDID 피니쉬 필드가 8개의 비트 자리들(도 11에 도시된 "Bit 0"~"Bit 7" 참조)에서 임의의 3개의 비트 자리에 할당될 수 있다.
도 12는 본 개시의 일 실시예에 따른 IDCC를 통한 다중 EDID 읽기 동작을 설명하기 위한 도면이다.
도 12를 참조하면, 비휘발성 메모리(130)에 저장된 EDID 세트의 크기가 캐시 메모리(120)의 크기보다 큰 것을 가정한다. 그리고, 소스 서포트 필드(도 12에 도시된 "ISS" 참조) 및 EDID 리드 던 필드(도 12에 도시된 "IERD" 참조)가 소스 ID의 데이터 구조에서 1번 비트 자리(도 12에 도시된 "Bit 1" 참조) 및 2번 비트 자리(도 12에 도시된 "Bit 2" 참조)에 각각 할당된 것으로 가정한다. 그리고, 싱크 서포트 필드(도 12에 도시된 "ISS" 참조), EDID 래디 필드(도 12에 도시된 "IER" 참조), 및 EDID 피니쉬 필드(도 12에 도시된 "IEF" 참조)가 싱크 ID의 데이터 구조에서 0번 비트 자리(도 12에 도시된 "Bit 0" 참조), 1번 비트 자리(도 12에 도시된 "Bit 1" 참조), 및 2번 비트 자리(도 12에 도시된 "Bit 1" 참조)에 각각 할당된 것으로 가정한다. 그리고, 필드에 설정되는 제1 비트 값은 1이고, 필드에 설정되는 제2 비트 값은 0인 것으로 가정한다.
단계 S1201에서, 소스 장치(50)가 소스 ID의 소스 서포트 필드의 비트 값을 1로 설정하는 동작이 수행된다(도 12에 도시된 "ISS (set "1")" 참조).
단계 S1202에서, 싱크 장치(100)가 싱크 ID의 싱크 서포트 필드의 비트 값을 1로 설정하는 동작이 수행된다(도 12에 도시된 "ISS (set "1")" 참조).
단계 S1211에서, 소스 장치(50)가 IDCC 통신 프로토콜을 통해 싱크 ID를 읽는 동작이 수행된다. 싱크 ID를 읽는 동작은 싱크 장치(100)가 싱크 ID를 소스 장치(50)에 전송하는 동작을 포함할 수 있다. 단계 S1211를 통해, 소스 장치(50)가 싱크 장치(100)가 다중 EDID 읽기 동작을 지원하는 것을 확인한다.
단계 S1212에서, 소스 장치(50)가 IDCC 통신 프로토콜을 통해 소스 ID를 쓰는 동작이 수행된다. 소스 ID를 쓰는 동작은 소스 장치(50)가 소스 ID를 싱크 장치(100)에 전송하는 동작을 포함할 수 있다. 단계 S1212를 통해, 싱크 장치(100)(구체적으로, 프로세서(121))가 IDCC 통신 프로토콜을 통해 소스 ID에 할당된 소스 서포트 필드의 비트 값을 확인함으로써, 소스 장치(50)가 다중 EDID 읽기 동작을 지원하는 것을 확인한다.
소스 장치(50) 및 싱크 장치(100)가 모두 다중 EDID 읽기 동작을 지원한다면, 소스 서포트 필드의 비트 값과 싱크 서포트 필드의 비트 값은 1로 동일할 수 있다.
단계 S1220에서, 소스 장치(50)가 IDCC 통신 프로토콜을 통해 싱크 ID를 지속적으로 폴링하는 동작이 수행된다.
단계 S1231에서, 싱크 장치(100)가 EDID를 부분적으로 로딩하는 동작이 수행된다. EDID를 부분적으로 로딩하는 동작은 도 8을 참조하여 전술한 단계 S830와 유사하게 동작할 수 있다. 또는 EDID를 부분적으로 로딩하는 동작은 도 9a, 도 9b, 및 도 9c를 참조하여 전술한 바와 같다.
단계 S1232에서, 싱크 장치(100)가 싱크 ID의 EDID 래디 필드에 특정 비트 값을 설정하는 동작이 수행된다. 구체적으로, 프로세서(121)는 싱크 ID의 EDID 래디 필드의 비트 값을 1을 설정한다(도 12에 도시된 "IER (set "1")" 참조). 단계 S1232는 도 8을 참조하여 전술한 단계 S830와 동일할 수 있다. 단계 S1220부터 소스 장치(50)가 싱크 ID를 지속적으로 폴링하고 있으므로, 싱크 ID의 EDID 래디 필드의 비트 값이 1로 설정된 때, 소스 장치(50)는 EDID가 로드된 것을 확인할 수 있다.
단계 S1241에서, 소스 장치(50)가 EDID를 읽는 동작이 수행된다.
단계 S1242에서, 소스 장치(50)가 소스 ID의 EDID 리드 던 필드의 비트 값을 1로 설정하는 동작이 수행된다(도 12에 도시된 "IERD (set "1")" 참조).
단계 S1243에서, 소스 장치(50)가 IDCC 통신 프로토콜을 통해 소스 ID를 쓰는 동작이 수행된다. 싱크 장치(100)는 EDID 리드 던 필드에 1이 설정된 소스 ID를 수신한다.
단계 S1250에서, 싱크 장치(100)가 소스 ID를 확인하여, 싱크 ID의 EDID 래디 필드의 비트 값을 1에서 0으로 클리어하는 동작이 수행된다(도 12에 도시된 "IER (set "0")" 참조). 구체적으로, 프로세서(121)는 소스 ID에 응답하여 싱크 ID의 EDID 래디 필드의 비트 값을 0으로 설정한다.
단계 S1260에서, 싱크 장치(100)가 모든 EDID에 대한 읽기 동작이 완료되었는지 여부를 확인하는 동작이 수행된다. 모든 EDID에 대한 읽기 동작이 완료되지 않은 경우(S1260, No), 즉 EDID 세트에서 후속 EDID 그룹이 있는 경우, 단계 S1231부터 단계 S1260까지의 동작이 반복적으로 수행된다.
모든 EDID에 대한 읽기 동작이 완료된 경우(S870, Yes), 즉 EDID 세트가 전송 완료된 경우, 단계 S1270에서, 싱크 장치(100)가 싱크 ID의 EDID 피니쉬 필드에 1을 설정하는 동작이 수행된다(도 12에 도시된 "IEF (set "1")" 참조).
단계 S1280에서, 소스 장치(50)가 IDCC 통신 프로토콜을 통해 싱크 ID를 읽는 동작이 수행된다. 이대, 소스 장치(50)가 싱크 ID의 EDID 피니쉬 필드를 확인하여, EDID에 대한 읽기 동작이 종료된 것을 확인할 수 있다.
전술한 실시예에 의하면, HDMI 시스템이 다중 EDID 읽기 동작을 지원하여 사용자에게 다양한 해상도의 영상을 제공함으로써, 사용자의 편의성을 제공하는 효과가 있다.
도 13은 본 개시의 일 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 13을 참조하면, 전자 장치(30)는 도 1에 도시된 싱크 장치(100)에 대응될 수 있다. 전자 장치(30)는 PMIC(Power Management Integrated Circuit, 1210), 비디오 인코더(1220), 디스플레이 모듈(1230), 유저 인터페이스(1240), HMDI 수신기(1250), 컨트롤러(1260), EDID EEPROM(1270), 메모리(1280), 및 멀티미디어(1290)를 포함할 수 있다.
PMIC(1210)는 외부(예를 들어, 배터리, 전원 등)로부터 전력을 공급받아 각 구성들(예를 들면, 비디오 인코더(1220), 디스플레이 모듈(1230), 유저 인터페이스(1240), HMDI 수신기(1250), 컨트롤러(1260), EDID EEPROM(1270), 메모리(1280), 및 멀티미디어(1290) 등)에 동작 전력을 공급할 수 있다.
비디오 인코더(1220)는 HDMI 송신기(2150)를 통해 전송할 영상 데이터를 압축할 수 있다.
디스플레이 모듈(1230)은 컨트롤러(1260)의 제어에 의해 컨텐츠 데이터, UI 데이터 등 각종 비디오에 관한 데이터를 표시할 수 있다. 디스플레이 모듈(1230)은 표시 패널, 주사 구동부, 타이밍 제어부, 데이터 구동부 등을 포함할 수 있다. 예컨대, 디스플레이 모듈(1230)은 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, AMOLED(active-matrix OLED) 디스플레이, 또는 플렉시블(flexible) 디스플레이로 구현될 수 있다.
유저 인터페이스(1240)는 리모트 컨트롤러, 음성 수신/인식 장치, 터치 입력 센싱/수신 장치 등으로 구현될 수 있다.
HDMI 수신기(1250)는 도 2에 도시된 HDMI 수신기(210)에 대응된다.
컨트롤러(1260)는 비디오 인코더(1220), 디스플레이 모듈(1230), 유저 인터페이스(1240), HMDI 수신기(1250), EDID EEPROM(1270), 메모리(1280), 및 멀티미디어(1290)를 제어할 수 있다. 컨트롤러(1260)는 도 1에 도시된 시스템 온 칩(120)의 일부로 구성될 수 있다.
EDID EEPROM(1270)은 EDID를 저장 가능한 EEPROM을 나타낸다.
메모리(1280)는 데이터를 저장하기 위한 저장 매체(storage medium)로서, OS(Operating System), 각종 프로그램들, 및/또는 각종 데이터를 저장할 수 있다. 메모리(1280)는 예컨대 DRAM 일수 있으나 이에 한정되는 것은 아니다. 예를 들어, 메모리(1280)는 비휘발성 메모리 장치(예컨대, 플래시 메모리, PRAM(phase change RAM), MRAM(magnetic RAM), RRAM (resistive RAM), 또는 FeRAM 장치)일 수도 있다. 메모리(1280)는 도 1에 도시된 캐시 메모리(122)에 대응될 수 있다.
멀티미디어(1290)는 다양한 종류의 멀티미디어 재생을 수행할 수 있다.
도 14는 본 개시의 다른 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 14를 참조하면, 전자 장치(40)는 PC(personal computer), 데이터 서버, 또는 휴대용 전자 장치로 구현될 수 있다.
전자 장치(40)는 시스템 온 칩(2000), 카메라 모듈(2100), 디스플레이(2200), 파워 소스(2300), 입출력 포트(2400), 메모리(2500), 스토리지(2600), 외부 메모리(2700), 및 네트워크 장치(2800)를 포함할 수 있다.
시스템 온 칩(2000)은 도 1에 도시된 시스템 온 칩(120)에 대응될 수 있다. 시스템 온 칩(2000)은 카메라 모듈(2100), 디스플레이(2200), 파워 소스(2300), 입출력 포트(2400), 메모리(2500), 스토리지(2600), 외부 메모리(2700), 및 네트워크 장치(2800)와 통신을 수행할 수 있다. 시스템 온 칩(2000)은 카메라 모듈(2100), 디스플레이(2200), 파워 소스(2300), 입출력 포트(2400), 메모리(2500), 스토리지(2600), 외부 메모리(2700), 및 네트워크 장치(2800)에 입력될 신호들을 처리할 수 있다.
카메라 모듈(2100)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 따라서, 카메라 모듈로부터 출력된 전기적인 이미지는 스토리지(2600), 메모리(2500), 또는 외부 메모리(2700)에 저장될 수 있다. 또한, 카메라 모듈로부터 출력된 전기적인 이미지는 디스플레이(2200)를 통하여 표시될 수 있다.
디스플레이(2200)는 스토리지(2600), 메모리(2500), 입출력 포트(2400), 외부 메모리(2700), 또는 네트워크 장치(2800)로부터 출력된 데이터를 디스플레이(2200)할 수 있다. 디스플레이(2200)는 도 10에 도시된 디스플레이 장치(1550)일 수 있다.
파워 소스(2300)는 구성 요소들 중 적어도 하나로 동작 전압을 공급할 수 있다. 파워 소스(2300)는 PMIC에 의해 제어될 수 있다.
입출력 포트(2400)는 전자 장치(40)으로 데이터를 전송하거나 또는 전자 장치(40)로부터 출력된 데이터를 외부 장치로 전송할 수 있는 포트들일 수 있다. 예컨대, 입출력 포트(2400)는 컴퓨터 마우스와 같은 포인팅 장치(pointing device)를 접속하기 위한 포트, 프린터를 접속하기 위한 포트, 또는 USB 드라이브를 접속하기 위한 포트일 수 있다.
메모리(2500)는 휘발성 메모리 또는 비휘발성 메모리로 구현될 수 있다. 실시 예에 따라, 메모리(2500)에 대한 데이터 액세스 동작, 예컨대, 리드 동작, 라이트 동작(또는 프로그램 동작), 또는 이레이즈 동작을 제어할 수 있는 메모리 컨트롤러는 시스템 온 칩(2000)에 집적 또는 내장될 수 있다. 다른 실시 예에 따라, 메모리 컨트롤러는 시스템 온 칩(2000)과 메모리(2500) 사이에 구현될 수 있다.
스토리지(2600)는 하드 디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)로 구현될 수 있다.
외부 메모리(2700)는 SD(secure digital) 카드 또는 MMC(multimedia card)로 구현될 수 있다. 실시 예에 따라, 외부 메모리(2700)는 SIM(subscriber identification module) 카드 또는 USIM(universal subscriber identity module) 카드일 수 있다.
네트워크 장치(2800)는 전자 장치(40)를 유선 네트워크 또는 무선 네트워크에 접속시킬 수 있는 장치를 의미한다.
도 15는 본 개시의 일 실시예에 따른 시스템 온 칩을 설명하기 위한 도면이다.
도 15를 참조하면, 시스템 온 칩(50)은 중앙 처리 장치(CPU; central processing unit)(1510), 뉴럴 네트워크 처리 장치(NPU; neural processing unit)(1520), 그래픽 처리 장치(GPU; Graphics Processing Unit)(1530), 타이머(1540), 디스플레이 컨트롤러(1550), RAM(random access memory)(1560), ROM(read only memory)(1570), 메모리 컨트롤러(1580), 클럭 관리 유닛(CMU; clock management unit)(1590), 및 버스(1500)를 포함할 수 있다. 시스템 온 칩(50)은 도시된 구성 요소 이외에 다른 구성 요소들을 더 포함할 수 있다.
CPU(1510)는 프로세서(processor)라고도 불릴 수 있고, 외부 메모리에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 예컨대, CPU(1510)는 CMU(1590)로부터 출력된 동작 클럭 신호에 응답하여 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다.
CPU(1510)는 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 멀티-코어 프로세서는 두 개 또는 그 이상의 독립적인 실질적인 프로세서들("코어들(cores)"이라고 불림)을 갖는 하나의 컴퓨팅 컴포넌트(computing component)이고, 프로세서들 각각은 프로그램 명령들(program instructions)을 읽고 실행할 수 있다. ROM(1570), RAM(1560), 및/또는 메모리(1280)에 저장된 프로그램들 및/또는 데이터는 필요에 따라 CPU(1510)의 메모리(미도시)에 로드(load)될 수 있다.
NPU(1520)는 인공 신경망을 이용하여 대규모 연산을 효율적으로 처리할 수 있다. NPU(1520)는 동시다발적인 행렬 연산을 지원함으로써 딥 러닝(deep learning)을 수행할 수 있다.
GPU(1530)는 메모리 컨트롤러(1580)에 의해 외부 메모리로부터 리드 된 데이터(read data)를 디스플레이 장치(1550)에 적합한 신호로 변환할 수 있다.
타이머(1540)는 CMU(1590)로부터 출력된 동작 클럭 신호에 기초하여 시간을 나타내는 카운트 값을 출력할 수 있다.
디스플레이 컨트롤러(1550)는 외부의 디스플레이 장치의 동작을 제어할 수 있다.
RAM(1560)은 프로그램들, 데이터, 또는 명령들(instructions)을 일시적으로 저장할 수 있다. 예컨대, 메모리에 저장된 프로그램들 및/또는 데이터는 CPU(1510)의 제어에 따라 또는 ROM(1570)에 저장된 부팅 코드(booting code)에 따라 RAM(1560)에 일시적으로 저장될 수 있다. RAM(1560)은 DRAM(dynamic RAM) 또는 SRAM(static RAM)으로 구현될 수 있다.
ROM(1570)은 영구적인 프로그램들 및/또는 데이터를 저장할 수 있다. ROM(1570)은 EPROM(erasable programmable read-only memory) 또는 EEPROM (electrically erasable programmable read-only memory)으로 구현될 수 있다.
메모리 컨트롤러(1580)는 인터페이스를 통해 외부 메모리와 통신할 수 있다. 메모리 컨트롤러(1580)는 외부 메모리의 동작을 전반적으로 제어하며, 호스트와 외부 메모리 사이의 데이터 교환을 제어한다. 예컨대, 메모리 컨트롤러(1580)는 호스트의 요청에 따라 외부 메모리에 데이터를 쓰거나 외부 메모리로부터 데이터를 읽을 수 있다. 여기서, 호스트는 CPU(1510), GPU(1530), 또는 디스플레이 컨트롤러(1550)와 같은 마스터(master) 장치일 수 있다.
CMU(1590)는 동작 클럭 신호를 생성한다. CMU(1590)는 위상 동기 루프(PLL; phase locked loop), 지연 동기 루프(DLL; delayed locked loop), 또는 크리스탈 오실레이터 등과 같은 클럭 신호 생성 장치를 포함할 수 있다. 동작 클럭 신호는 GPU(1530)로 공급될 수 있다. 물론, 동작 클럭 신호는 다른 구성 요소(예컨대, CPU(1510) 또는 메모리 컨트롤러(1580) 등)로 공급될 수도 있다. CMU(1590)는 동작 클럭 신호의 주파수를 변경할 수 있다.
CPU(1510), NPU(1520), GPU(1530), 타이머(1540), 디스플레이 컨트롤러(1550), RAM(1560), ROM(1570), 메모리 컨트롤러(1580), CMU(1590) 각각은 버스(1500)를 통하여 서로 통신할 수 있다.
본 개시의 범위 또는 기술적 사상을 벗어나지 않고 본 개시의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 개시의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 개시가 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. HDMI(High Definition Multimedia Interface)를 통해 소스 장치와 통신하는 전자 장치의 동작 방법에 있어서,
    DDC(Display Data Channel)를 통해 상기 소스 장치가 다중 EDID(Extended Display Identification Data) 읽기 동작을 지원하는지 여부를 확인하는 단계; 및
    상기 다중 EDID 읽기 동작의 지원이 확인됨에 따라, 비휘발성 메모리에 저장된 EDID 세트의 크기와 캐시 메모리의 크기를 기초로 상기 캐시 메모리의 크기에 대응되는 EDID 그룹을 전송 단위로 상기 EDID 세트를 상기 소스 장치에 순차적으로 전송하는 단계를 포함하는 전자 장치의 동작 방법.
  2. 제1 항에 있어서,
    상기 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인하는 단계는,
    SCDC(Status and Control Data Channel)를 통한 통신을 수행하여, 상기 SCDC의 구조에 할당된 소스 서포트(Support) 필드(Field)의 비트 값을 확인함으로써, 상기 다중 EDID 읽기 동작의 지원 여부를 확인하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  3. 제2 항에 있어서,
    상기 SCDC의 구조는
    상기 전자 장치가 상기 다중 EDID 읽기 동작을 지원하는지 여부를 나타내기 위해 할당된 싱크 서포트 필드를 더 포함하고,
    상기 소스 서포트 필드의 비트 값과 상기 싱크 서포트 필드의 비트 값은 동일한 것을 특징으로 하는, 전자 장치의 동작 방법.
  4. 제2 항에 있어서,
    상기 비휘발성 메모리에 저장된 EDID 세트의 크기가 상기 캐시 메모리의 크기보다 크고,
    상기 SCDC의 구조는,
    상기 EDID 그룹이 상기 캐시 메모리에 로드되었는지 여부를 나타내기 위해 할당된 EDID 래디(Ready) 필드를 포함하고,
    상기 EDID 세트를 상기 소스 장치에 순차적으로 전송하는 단계는,
    상기 EDID 래디 필드에 제1 비트 값을 설정하는 단계;
    상기 소스 장치로부터 상기 EDID 래디 필드에 상기 제1 비트 값과 다른 제2 비트 값을 설정하는 클리어 요청을 수신하는 단계; 및
    상기 EDID 래디 필드에 상기 제2 비트 값이 설정된 이후 상기 EDID 세트에서 전송 대기 중인 후속 EDID 그룹이 있는 경우, 상기 EDID 래디 필드에 상기 제1 비트 값을 설정하는 단계를 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  5. 제4 항에 있어서,
    상기 SCDC의 구조는,
    상기 EDID 세트가 상기 소스 장치에 전송 완료되었는지 여부를 나타내기 위해 할당된 EDID 피니쉬(Finish) 필드를 더 포함하고,
    상기 EDID 세트를 상기 소스 장치에 순차적으로 전송하는 단계는,
    상기 EDID 세트가 전송 완료된 경우, 상기 EDID 피니쉬 필드에 상기 제1 비트 값을 설정하는 단계를 더 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  6. 제1 항에 있어서,
    상기 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인하는 단계는,
    상기 전자 장치의 싱크 ID를 상기 소스 장치에 전송하고 상기 소스 장치로부터 소스 ID를 수신하기 위한 IDCC(ID Communications Channel)를 통해, 상기 소스 ID에 할당된 소스 서포트 필드의 비트 값을 확인함으로써, 상기 다중 EDID 읽기 동작의 지원 여부를 확인하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  7. 제6 항에 있어서,
    상기 싱크 ID는,
    상기 전자 장치가 상기 다중 EDID 읽기 동작을 지원하는지 여부를 나타내기 위해 할당된 싱크 서포트 필드를 포함하고,
    상기 소스 서포트 필드의 비트 값과 상기 싱크 서포트 필드의 비트 값은 동일한 것을 특징으로 하는, 전자 장치의 동작 방법.
  8. 제6 항에 있어서,
    상기 비휘발성 메모리에 저장된 EDID 세트의 크기가 상기 캐시 메모리의 크기보다 크고,
    상기 싱크 ID는,
    상기 EDID 그룹이 상기 캐시 메모리에 로드되었는지 여부를 나타내기 위해 할당된 EDID 래디 필드를 포함하고,
    상기 소스 ID는,
    상기 EDID 그룹에 대한 읽기 동작이 완료되었는지 여부를 나타내기 위해 할당된 EDID 리드(Read) 던(Done) 필드를 포함하고,
    상기 EDID 세트를 상기 소스 장치에 순차적으로 전송하는 단계는,
    상기 EDID 래디 필드에 제1 비트 값을 설정하는 단계;
    EDID 리드 던 필드에 상기 제1 비트 값이 설정된 상기 소스 ID를 수신하는 단계;
    상기 소스 ID에 응답하여 상기 EDID 래디 필드에 상기 제1 비트 값과 다른 제2 비트 값을 설정하는 단계; 및
    상기 EDID 래디 필드에 상기 제2 비트 값이 설정된 이후 상기 EDID 세트에서 전송 대기 중인 후속 EDID 그룹이 있는 경우, 상기 EDID 래디 필드에 상기 제1 비트 값을 설정하는 단계를 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  9. 제8 항에 있어서,
    상기 싱크 ID는,
    상기 EDID 세트가 상기 소스 장치에 전송 완료되었는지 여부를 나타내기 위해 할당된 EDID 피니쉬 필드를 더 포함하고,
    상기 EDID 세트를 상기 소스 장치에 순차적으로 전송하는 단계는,
    상기 EDID 세트가 전송 완료된 경우, 상기 EDID 피니쉬 필드에 상기 제1 비트 값을 설정하는 단계를 더 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  10. 제1 항에 있어서,
    상기 EDID 세트를 상기 소스 장치에 순차적으로 전송하는 단계는,
    상기 EDID 세트의 크기가 상기 캐시 메모리의 크기보다 큰지 여부를 확인하는 단계;
    상기 EDID 세트의 크기가 상기 캐시 메모리의 크기보다 크면, 상기 EDID 세트의 크기를 상기 캐시 메모리의 크기 단위로 분할한 상기 EDID 그룹을 상기 캐시 메모리에 순차적으로 로드하는 단계; 및
    상기 캐시 메모리에 로드된 EDID를 상기 소스 장치에 전송하는 단계를 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  11. HDMI(High Definition Multimedia Interface)를 통해 소스 장치와 통신하는 전자 장치에 있어서,
    EDID(Extended Display Identification Data) 세트를 저장하도록 구성된 비휘발성 메모리;
    EDID를 임시 저장하는 캐시 메모리; 및
    상기 비휘발성 메모리에 저장된 상기 EDID 세트의 적어도 일부를 상기 캐시 메모리로 로드하고, 로드된 EDID를 DDC(Display Data Channel)를 통해 상기 소스 장치에 전송하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 DDC를 통해 상기 소스 장치가 다중 EDID 읽기 동작을 지원하는지 여부를 확인하고,
    상기 다중 EDID 읽기 동작의 지원이 확인되면, 상기 EDID 세트의 크기와 상기 캐시 메모리의 크기를 비교하고,
    상기 EDID 세트의 크기가 상기 캐시 메모리의 크기보다 크면, 상기 캐시 메모리의 크기에 대응되는 EDID 그룹을 전송 단위로 상기 소스 장치에 전송되도록, 상기 EDID 그룹을 상기 캐시 메모리에 로드하는 것을 특징으로 하는, 전자 장치.
  12. 제11 항에 있어서,
    상기 프로세서는,
    SCDC(Status and Control Data Channel)를 통한 통신을 수행하여, 상기 SCDC의 구조에 할당된 소스 서포트 필드의 비트 값을 확인함으로써, 상기 다중 EDID 읽기 동작의 지원 여부를 확인하는 것을 특징으로 하는, 전자 장치.
  13. 제12 항에 있어서,
    상기 SCDC의 구조는,
    상기 EDID 그룹이 상기 캐시 메모리에 로드되었는지 여부를 나타내기 위해 할당된 EDID 래디 필드를 포함하고,
    상기 프로세서는,
    상기 EDID 세트의 크기를 상기 캐시 메모리의 크기 단위로 분할한 상기 EDID 그룹을 상기 캐시 메모리에 순차적으로 로드하고,
    상기 EDID 래디 필드에 제1 비트 값을 설정하는 것을 특징으로 하는, 전자 장치.
  14. 제13 항에 있어서,
    상기 프로세서는,
    상기 EDID 래디 필드에 제1 비트 값이 설정되고 상기 소스 장치가 EDID를 읽는 동작이 완료된 이후, 상기 EDID 래디 필드에 설정된 상기 제1 비트 값을 제2 비트 값으로 클리어할 것을 요청하는 클리어 요청을 수신하고,
    상기 EDID 래디 필드에 상기 제2 비트 값을 설정하는 것을 특징으로 하는, 전자 장치.
  15. 제14 항에 있어서,
    상기 프로세서는,
    상기 제2 비트 값이 상기 EDID 래디 필드에 설정된 이후, 상기 EDID 세트에서 전송 대기 중인 후속 EDID 그룹이 있는 경우, 상기 후속 EDID 그룹을 상기 캐시 메모리에 로드하고,
    상기 EDID 래디 필드에 상기 제1 비트 값을 설정하는 것을 특징으로 하는, 전자 장치.
  16. 제15 항에 있어서,
    상기 SCDC의 구조는,
    상기 EDID 세트가 상기 소스 장치에 전송 완료되었는지 여부를 나타내기 위해 할당된 EDID 피니쉬 필드를 더 포함하고,
    상기 프로세서는,
    상기 EDID 세트가 전송 완료된 경우, 상기 EDID 피니쉬 필드에 상기 제1 비트 값을 설정하는 것을 특징으로 하는, 전자 장치.
  17. 제11 항에 있어서,
    상기 프로세서는,
    상기 전자 장치의 싱크 ID를 상기 소스 장치에 전송하고 상기 소스 장치로부터 소스 ID를 수신하기 위한 IDCC(ID Communications Channel)를 통해, 상기 소스 ID에 할당된 소스 서포트 필드의 비트 값을 확인함으로써, 상기 다중 EDID 읽기 동작의 지원 여부를 확인하는 것을 특징으로 하는, 전자 장치.
  18. 제17 항에 있어서,
    상기 싱크 ID는,
    상기 EDID 그룹이 상기 캐시 메모리에 로드되었는지 여부를 나타내기 위해 할당된 EDID 래디 필드를 포함하고,
    상기 프로세서는,
    상기 EDID 세트의 크기를 상기 캐시 메모리의 크기 단위로 분할한 상기 EDID 그룹을 상기 캐시 메모리에 순차적으로 로드하고,
    상기 EDID 래디 필드에 제1 비트 값을 설정하는 것을 특징으로 하는, 전자장치.
  19. 제18 항에 있어서,
    상기 소스 ID는,
    상기 EDID 그룹에 대한 읽기 동작이 완료되었는지 여부를 나타내기 위해 할당된 EDID 리드 던 필드를 포함하고,
    상기 프로세서는,
    상기 EDID 리드 던 필드에 상기 제1 비트 값이 설정된 상기 소스 ID를 수신하고,
    상기 소스 ID에 응답하여 상기 EDID 래디 필드에 상기 제1 비트 값과 다른 제2 비트 값을 설정하고,
    상기 제2 비트 값이 상기 EDID 래디 필드에 설정된 이후, 상기 EDID 세트에서 전송 대기 중인 후속 EDID 그룹이 있는 경우, 상기 후속 EDID 그룹을 상기 캐시 메모리에 로드하고,
    상기 EDID 래디 필드에 상기 제1 비트 값을 설정하는 것을 특징으로 하는, 전자 장치.
  20. 제19 항에 있어서,
    상기 싱크 ID는,
    상기 EDID 세트가 상기 소스 장치에 전송 완료되었는지 여부를 나타내기 위해 할당된 EDID 피니쉬 필드를 더 포함하고,
    상기 프로세서는,
    상기 EDID 세트가 전송 완료된 경우, 상기 EDID 피니쉬 필드에 상기 제1 비트 값을 설정하는 것을 특징으로 하는, 전자 장치.
KR1020220083817A 2022-07-07 2022-07-07 다중 edid 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법 KR20240006930A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020220083817A KR20240006930A (ko) 2022-07-07 2022-07-07 다중 edid 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법
US18/088,897 US20240013747A1 (en) 2022-07-07 2022-12-27 Electronic device supporting multi-edid read operation and operating method
EP23167091.0A EP4303857A1 (en) 2022-07-07 2023-04-06 Electronic device supporting multi-edid read operation and operating method
TW112113189A TW202404341A (zh) 2022-07-07 2023-04-10 高畫質多媒體介面系統的操作方法和電子裝置
CN202310755112.7A CN117369716A (zh) 2022-07-07 2023-06-25 支持多edid读取操作的电子装置和操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220083817A KR20240006930A (ko) 2022-07-07 2022-07-07 다중 edid 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR20240006930A true KR20240006930A (ko) 2024-01-16

Family

ID=85980488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220083817A KR20240006930A (ko) 2022-07-07 2022-07-07 다중 edid 읽기 동작을 지원하기 위한 전자 장치, 및 그의 동작 방법

Country Status (5)

Country Link
US (1) US20240013747A1 (ko)
EP (1) EP4303857A1 (ko)
KR (1) KR20240006930A (ko)
CN (1) CN117369716A (ko)
TW (1) TW202404341A (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039927A1 (en) * 2000-10-30 2004-02-26 Katsuki Hazama Semiconductor intergrated circuit, receiver apparatus using the same, receiver apparatus manufacturing method and repairing method, and video providing method
US20070222779A1 (en) * 2006-03-24 2007-09-27 Radiospire Networks, Inc. System, method, and apparatus for content delivery format control
TW200849013A (en) * 2007-06-08 2008-12-16 Tatung Co Ltd Management method using extended display identification data

Also Published As

Publication number Publication date
US20240013747A1 (en) 2024-01-11
CN117369716A (zh) 2024-01-09
TW202404341A (zh) 2024-01-16
EP4303857A1 (en) 2024-01-10

Similar Documents

Publication Publication Date Title
CN106134210B (zh) 利用hdmi进行数据发送和接收的装置和方法
US20170229093A1 (en) Display system for an array of video displays
US7836223B2 (en) Operation of media interface to provide bidirectional communications
US10038871B2 (en) Method and device for transmitting and receiving power using HDMI
US7899941B2 (en) Displayport I2C speed control
US9554179B2 (en) Method and apparatus for transmitting and receiving data using HDMI
KR102611941B1 (ko) 가상화 디스플레이 출력 포트들의 구성
TWI605444B (zh) 多主機共用顯示器擴充顯示器識別數據(edid)之電子裝置與系統
CN203851223U (zh) 一种基于fpga实现lvds转dvi和hdmi的转换电路
CN101436871A (zh) 媒体中心计算装置的高清晰度多媒体接口网络控制
US10474241B2 (en) Method and device for transmitting/receiving data using HDMI
KR20060092970A (ko) 플랫 패널 컨트롤러에서의 가상 확장 디스플레이 정보데이터(edid)
KR20190129579A (ko) 전자 장치 및 그 제어 방법
US10511798B2 (en) Method for transmitting and receiving power using HDMI and apparatus therefor
TW201401165A (zh) 顯示角度處理裝置與圖像處理器
KR20170020776A (ko) Hdmi를 사용하여 데이터를 송수신하기 위한 방법 및 장치
US9710875B2 (en) Image transmission apparatus and image processing method thereof
KR100744077B1 (ko) DCC(Display Data Channel) 통신모듈
CN103500565B (zh) 一种存储方法及装置
EP4303857A1 (en) Electronic device supporting multi-edid read operation and operating method
TW201729070A (zh) 用於視訊顯示器陣列的顯示系統
KR20220165395A (ko) 싱크 장치, 소스 장치 및 hdmi 제어 방법
KR100522606B1 (ko) 부가 기능을 용이하게 수행할 수 있는 구조를 가지는 디지털 av 시스템
KR100608047B1 (ko) Pc와의 인터페이스가 가능한 부가 기능 처리 장치
Hendry et al. Displayport I 2 C speed control