KR20160030106A - 전환-최소화된 차동 신호 코딩을 이용하여 통신 인터페이스를 통한 송신을 위한 가드 밴드 데이터 인코딩 - Google Patents

전환-최소화된 차동 신호 코딩을 이용하여 통신 인터페이스를 통한 송신을 위한 가드 밴드 데이터 인코딩 Download PDF

Info

Publication number
KR20160030106A
KR20160030106A KR1020157035676A KR20157035676A KR20160030106A KR 20160030106 A KR20160030106 A KR 20160030106A KR 1020157035676 A KR1020157035676 A KR 1020157035676A KR 20157035676 A KR20157035676 A KR 20157035676A KR 20160030106 A KR20160030106 A KR 20160030106A
Authority
KR
South Korea
Prior art keywords
data
codes
guard band
encoded
disparity
Prior art date
Application number
KR1020157035676A
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 래티스세미컨덕터코퍼레이션
Publication of KR20160030106A publication Critical patent/KR20160030106A/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/06Handling electromagnetic interferences [EMI], covering emitted as well as received electromagnetic radiation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Dc Digital Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 멀티미디어 통신 인터페이스상에서의 통신을 위한 하드웨어 컴포넌트에 관련된다. 일 실시예에서, 하드웨어 컴포넌트는 디스패리티 값을 저장하는 디스패리티 회로를 포함한다. 디스패리티 값은 하드웨어 컴포넌트에 의해 앞에서 송신된 “1”의 수 및 “0”의 수 사이의 디스패리티를 나타낸다. 하드웨어 컴포넌트는 또한 하드웨어 컴포넌트에 의해 스크램블링되고, 인코딩되고 및 송신될 멀티미디어 데이터를 수신하는 회로부를 포함한다. 일 실시예에서, 멀티미디어 데이터는 비디오 데이터 및 데이터 아일랜드 데이터를 포함한다.
일 실시예에서, 하드웨어 컴포넌트는 비디오 데이터 및 데이터 아일랜드 데이터내에 포함된 가드 밴드 데이터내 값들에 기초하여 전환 최소화된 매개 코드들을 생성한다. 하드웨어 컴포넌트는 전환 최소화된 뿐만 아니라 직류 전류 균형된 인코딩된 가드 밴드 코드들을 생성한다. 하드웨어 컴포넌트는 멀티미디어 통신 디바이스의 차동 쌍을 통하여 인코딩된 가드 밴드 코드들을 송신한다.

Description

전환-최소화된 차동 신호 코딩을 이용하여 통신 인터페이스를 통한 송신을 위한 가드 밴드 데이터 인코딩 {ENCODING GUARD BAND DATA FOR TRANSMISSION VIA A COMMUNICATIONS INTERFACE UTILIZING TRANSITION-MINIMIZED DIFFERENTIAL SIGNALING (TMDS) CODING}
본 개시는 전반적으로 데이터 통신에 관한 것으로, 및 보다 구체적으로 고화질 멀티미디어 인터페이스 (HDMI 또는 MHL) 케이블상에서 전환 최소화된 차동 신호 (TMDS)를 이용하여 가드 밴드 데이터의 데이터 송신에 관한 것이다.
상이한 유형들의 멀티미디어 데이터는 소스 디바이스로부터 싱크 디바이스로, 예컨대 차동 신호를 사용하는 HDMI 케이블상에서 종종 송신된다. 케이블을 가로질러 송신되는 정보는 사실상 자주 반복되고, 이는 원치 않는 전자기 간섭 (EMI)을 유발한다. EMI를 다루기 위해서, 비디오 데이터는 전환들을 최소화하고 비디오 데이터내 DC 균형을 이루기 위해서 전환 최소화된 차동 신호 (TMDS:transition minimized differential signaling)로 인코딩 될 수 있다. 그러나, TMDS가 비디오 데이터에 적용될 때 조차도, 시스템 내에 상당한 양의 EMI가 여전히 잔존한다.
본 발명의 실시예들은 멀티미디어 통신 인터페이스상에서의 통신을 위한 하드웨어 컴포넌트 또는 하드웨어 컴포넌트의 표현들에 관련된다. 일 실시예에서, 하드웨어 컴포넌트는 디스패리티 값(disparity value)을 저장하는 디스패리티 회로를 포함한다. 상기 디스패리티 값은 송신된 하드웨어 컴포넌트에 의해 앞에서 송신된 “1”의 수 및 “0”의 수 사이의 상기 디스패리티를 나타낸다. 상기 하드웨어 컴포넌트는 또한 상기 하드웨어 컴포넌트에 의해 스크램블링되고, 인코딩되고 및 송신될 멀티미디어 데이터를 수신하는 회로부를 포함한다. 일 실시예에서, 상기 멀티미디어 데이터는 비디오 데이터 및 데이터 아일랜드 데이터(data island data)를 포함한다. 상기 데이터 아일랜드 데이터는 보조 정보 및 오디오 정보를 포함한다. 일 실시예에서, 상기 비디오 데이터 및 보조 데이터는 또한 상기 비디오 데이터 및 상기 데이터 아일랜드 데이터내에 패킷들 또는 정보 데이터를 트레일링(trailing) 또는 선행하는 가드 밴드 데이터(guard band data)를 포함한다.
일 실시예에서, 상기 하드웨어 컴포넌트는 상기 가드 밴드 데이터내 값들에 기초하여 전환 최소화된 매개 코드들을 생성한다. 상기 하드웨어 컴포넌트는 그런 다음 상기 전환 최소화된 가드 밴드 코드들 및 상기 디스패리티 카운터에 저장된 상기 디스패리티 값에 기초하여 전환 최소화된 뿐만 아니라 직류 전류 균형된 인코딩된 가드 밴드 코드들을 생성한다. 상기 하드웨어 컴포넌트는 그런 다음 상기 멀티미디어 통신 디바이스의 차동 쌍을 통하여 상기 인코딩된 가드 밴드 코드들을 송신한다. 다른 실시예에서, 상기 가드 밴드 데이터는 인코딩되고 송신되기 전에 스크램블링된다.
본 명세서에 개시된 실시예들의 교시들이 첨부된 도면들과 함께 다음의 상세한 설명을 숙고함으로써 용이하게 이해될 수 있다.
도 1은 일 실시예에 따른 데이터 통신을 위한 시스템의 고-레벨 블록도이다.
도 2 는 일 실시예에 따른 도 1의 소스 디바이스 또는 싱크 디바이스로서 사용에 적절한 컴퓨팅 디바이스의 상세도이다.
도 3는 일 실시예에 따른 HDMI 채널을 통하여 송신될 데이터 스크램블링 및 인코딩을 위한 송신기의 블럭 다이어그램이다.
도 4 는 일 실시예에 따라 상이한 유형들의 데이터가 HDMI 채널상에서 송신을 위해 상이한 데이터 주기들 동안에 어떻게 송신기에 의해 수신되고 상이하게 인코딩 되는지의 예이다. 도 5 는 일 실시예에 따른 가드 밴드 데이터 인코딩을 위한 방법의 플로우 차트를 도시한다.
도 5 는 일 실시예에 따른 가드 밴드 데이터 인코딩을 위한 방법의 플로우 차트를 도시한다.
도 6 은 일 실시예에 따른 9 비트들의 전환 최소화된 매개 코드를 생성하기 위한 방법의 플로우 차트를 도시한다.
도면들 7a-7c는 일 실시예에 따른 10 비트들의 DC 균형된 코드(balanced code)를 생성하기 위한 방법의 플로우 차트를 도시한다.
도면들 및 이하의 상세한 설명은 오로지 예시로서의 다양한 실시예들에 관한 것이다. 다음의 논의로부터, 본 명세서에 설명된 구조들 및 방법들의 대안적인 실시예들이 본 명세서에서 논의되는 원리들로부터 벗어나지 않고 이용될 수 있는 실현가능한 대안 예들로서 용이하게 인식될 것임을 주목해야 한다. 이제 이들의 예들이 첨부된 도면들에 예시된 몇몇 실시예들에 대한 상세한 참조가 이루어질 것이다. 도면들 내 어디에서든 실제적으로 유사한 또는 동일한 도면 번호들이 사용될 수 있으며 이는 동일하거나 또는 유사한 기능을 나타낼 수 있다는 것을 주목해야 한다.
도 1은 일 실시예들에 따른, 데이터 통신을 위한 시스템(100)의 하이 레벨 블럭 다이어그램이다. 시스템 (100)은 하나 이상의 인터페이스 케이블들 (120,150,180)를 통하여 싱크 디바이스 (115)와 통신하는 소스 디바이스 (110)를 포함한다. 소스 디바이스 (110)는 멀티미디어 데이터 스트림들 (예를 들어, 오디오/비디오 스트림들)을 싱크 디바이스 (115)로 송신하고 또한 인터페이스 케이블들 (120,150,180)을 통하여 싱크 디바이스 (115)와 제어 데이터를 교환한다. 일 실시예에 있어, 소스 디바이스(110) 및/또는 싱크 디바이스(115)는 중계기 디바이스(repeater device)들일 수 있다.
소스 디바이스 (110)는 인터페이스 케이블들 (120,150,180)에 결합된 물리적 통신 포트들 (112,142,172)을 포함한다. 싱크 디바이스 (115)는 또한 인터페이스 케이블들 (120,150,180)에 결합된 물리적 통신 포트들 (117,147,177)을 포함한다. 인터페이스 케이블들을 가로질러 소스 디바이스 (110)와 싱크 디바이스 (115)간 교환되는 신호들은 물리적 통신 포트들을 통과한다.
소스 디바이스(110) 및 싱크 디바이스(115)는 다양한 프로토콜들을 사용하여 데이터를 교환한다. 일 실시예에 있어, 인터페이스 케이블(120)은 고해상도 멀티미디어 인터페이스(HDMI : High Definition Multimedia Interface) 케이블을 나타낸다. HDMI 케이블(120)은, 데이터0+ 라인(121), 데이터0- 라인(122), 데이터1+ 라인(123), 데이터1- 라인(124), 데이터2+ 라인(125), 및 데이터2- 라인(126)을 통해 송신되는 차동 신호들을 지원한다. HDMI 케이블(120)은, 차동 클럭 라인들 클럭+(127) 및 클럭-(128); 소비자 가전기기 제어(Consumer Electronics Control: CEC) 제어 버스(129); 디스플레이 데이터 채널(Display Data Channel: DDC) 버스(130); 파워(131); 접지(132); 핫 플러그 검출(hot plug detect)(133); 및 차동 신호들에 대한 4개의 차폐 라인(shield line)들(134)을 더 포함할 수 있다. 일부 실시예들에 있어, 싱크 디바이스(115)는 폐루프 피드백 제어 데이터를 소스 디바이스(110)로 송신하기 위하여 CEC 제어 버스(129)를 사용할 수 있다.
일 실시예에 있어, 인터페이스 케이블(150)은 모바일 고-해상도 링크(MHL : Mobile High-Definition Link) 케이블을 나타낸다. MHL 케이블(150)은, 데이터0+ 라인(151), 데이터0- 라인(152), 데이터1+ 라인(153), 데이터1- 라인(154), 데이터2+ 라인(155) 및 데이터2- 라인(156)을 통해 송신되는 차동 신호들을 지원한다. MHL의 일부 실시예들에서, 단지 단일 쌍의 차동 데이터 라인들 (예를 들어, (151) 및 (152))일 수 있다. 내장된 공통 모드 클럭들이 차동 데이터 라인들을 통해 송신된다. MHL 케이블(150)은 제어 버스(제어 버스: CBUS)(159), 파워(160) 및 접지(161)를 더 포함할 수 있다. CBUS(159)는 탐색 데이터, 구성 데이터 및 원격 제어 명령들과 같은 제어 정보를 운반한다.
본 발명의 실시예들은 인터페이스 케이블(interface cable) 예컨대 HDMI 케이블 (120)의 차동 쌍들에 걸쳐 송신을 위한 가드 밴드 데이터(guard band data)를 스크램블하고 인코딩하는 시스템에 관한 것이다. 각각의 차동 쌍은 단일 통신 채널을 나타낸다. 가드 밴드 데이터는 HDMI 케이블 (120)을 가로지르는 데이터 송신 동안에 전자기 간섭 (EMI) 및 라디오 주파수 간섭 (RFI : radio-frequency interference)을 최소화하기 위해 스크램블되고 인코딩된다. 일 실시예에서, 가드 밴드 데이터는 전환 최소화된 차동 신호 (TMDS)을 이용하여 인코딩된다.
일 실시예에 있어, 소스 디바이스(110), 싱크 디바이스(115), 또는 소스 디바이스(110) 또는 싱크 디바이스(115) 내의 컴포넌트들의 표현(representation)은 비-일시적 컴퓨터-판독가능 매체(예를 들어, 하드 디스크 드라이브, 플래시 드라이브, 광 드라이브) 내에 데이터로서 저장될 수 있다. 이들 표현들은 거동 레벨(behavioral level), 레지스터 전송 레벨, 로직 컴포넌트 레벨, 트랜지스터 레벨 및 레이아웃 기하구조-레벨 설명(layout geometry-level description)들일 수 있다.
도 2 는 일 실시예에 따라 도 1로부터의 소스 디바이스 (110) 또는 싱크 디바이스 (115)로서 사용에 적절한 컴퓨팅 디바이스 (200)의 상세도이다. 컴퓨팅 디바이스 (200)는 예를 들어, 휴대 전화기, 텔레비전, 랩탑, 태블릿, 등일 수 있다. 컴퓨팅 디바이스 (200)는 컴포넌트들 예컨대 프로세서 (202), 메모리 (203), 스토리지 모듈 (204), 입력 모듈 (예를 들어, 키보드, 마우스, 및 유사한 것) (206), 디스플레이 모듈 (207) (예를 들어, 액정 디스플레이, 유기 발광 디스플레이, 및 유사한 것) 및 버스(201)를 통하여 서로와 데이터 및 제어 신호들을 교환하는 송신기 또는 수신기 (205)를 포함한다.
스토리지 모듈(storage module) (204)은 하나 이상의 비-일시적 컴퓨터 판독 가능한 스토리지 매체 (예를 들어, 하드 디스크 드라이브, 고체 상태 메모리, 등.)로서 구현되고 메모리 (203)와 함께 프로세서 (202)에 의해 실행되는 소프트웨어 명령들을 저장한다. 동작 시스템 소프트웨어 및 다른 애플리케이션 소프트웨어는 또한 프로세서 (202)상에서 작동하도록 스토리지 모듈 (204)에 저장될 수 있다.
송신기 또는 수신기 (205)는 멀티미디어 데이터 및 제어 데이터의 송신 또는 수신을 위해 포트들에 결합된다. 수신되거나 또는 송신되는 멀티미디어 데이터는 비디오 데이터 스트림들 또는 오디오-비디오 데이터 스트림들, 예컨대 HDMI 및 MHL 데이터를 포함할 수 있다. 멀티미디어 데이터는 암호화 기법 예컨대 HDCP (고-대역폭 디지털-컨텐츠 보호; High-Bandwidth Digital-Content Protection)을 이용하여 송신에 대하여 암호화될 수 있다.
도 3는 일 실시예에 따른 HDMI 채널을 통하여 송신될 데이터 스크램블링 및 인코딩을 위한 송신기의 블럭 다이어그램(300)이다. 송신기 (300)는 소스 디바이스 (110)내에서 발견되는 하드웨어 컴포넌트 예컨대 집적 회로 (IC)일 수 있다. 송신기 (300)는 제어 데이터 (305), 데이터 아일랜드 데이터 (310) 및 비디오 데이터 (315)사이에서 선택을 위한 다중화기 (320), 다중화기 (320)에 의해 선택된 데이터를 스크램블링하기 위한 스크램블러(scrambler) (325), 스크램블링된 데이터를 인코딩하기 위한 인코더 (330) 및 HDMI 채널 1으로의 인터페이스 (342)를 포함하는 다양한 회로들을 포함한다.
일 실시예에서, HDMI 케이블은 3 데이터 채널들 (채널 0, 채널 1, 및 채널 2) 및 클럭 채널로 구성되는 네개의 차동 쌍들을 전송한다. 3 데이터 채널들은 비디오 데이터 (315), 데이터 아일랜드 데이터(data island data) (310) 및 제어 데이터 (305)를 전송하기 위해 사용된다. 송신기 (300)는 3 데이터 채널들을 통하여 송신될 비디오 데이터 (315), 데이터 아일랜드 데이터 (310) 및 제어 데이터 (305)를 수신한다. 단지 단일 HDMI 데이터 채널 1 (즉, 데이터 라인들 (123) 및 (124))상에서 통신하기 위한 회로부(circuitry)가 도 3 에 도시된다. 잔여 HDMI 데이터 채널들 상에서 통신하기 위한 회로부는 도 3 에 도시된 회로부에 실질적으로 유사할 수 있다.
비디오 데이터 (315)는 유효(active) 비디오 데이터 및 가드 밴드 데이터를 포함한다. 유효 비디오 데이터는 디스플레이 디바이스, 예컨대 싱크 디바이스 (115)상에서 디스플레이 될 픽셀들의 색상 레벨들을 설명하는 비디오 픽셀 정보를 포함한다. 가드 밴드 데이터는 유효 비디오 데이터에 전환을 제공하기 위해 유효 비디오 데이터 앞에 송신될 가드 데이터를 포함한다. 가드 밴드 데이터는 유효 비디오 데이터와 비디오 데이터 (315)앞에 송신될 다른 데이터 사이의 간섭을 방지하기 위한 버퍼(buffer)로서 동작한다.
데이터 아일랜드 데이터(data island data) (310)는 보조 데이터 및 가드 밴드 데이터를 포함한다. 보조 데이터(auxiliary data)는 유효 비디오 데이터와 관련된 오디오 데이터를 포함할 수 있다. 보조 데이터는 인포프레임들(InfoFrames), 실행 가능 상태의 오디오 또는 비디오 스트림을 설명하는 다른 정보 또는 소스 디바이스 (110)를 설명하는 다른 정보를 또한 포함할 수 있다. 보조 데이터는 패킷들을 이용하여 송신하다. 가드 밴드 데이터는 보조 데이터 패킷들에 전환을 제공하기 위해서 보조 데이터 패킷들 앞에, 또는 보조 데이터 패킷들로부터 떨어져 전환을 제공하기 위해서 패킷들을 트레일링(trailing)하여 송신된다. 가드 밴드 데이터는 또한 데이터 아일랜드 데이터 (310)와 데이터 아일랜드 데이터 (310) 앞에 또는 그 후에 송신되는 데이터간에 간섭을 방지하기 위해서 버퍼(buffer)로서 동작한다.
제어 데이터 (305)는 제어 정보를 포함한다. 제어 정보는 데이터 아일랜드 데이터 (310) 또는 비디오 데이터 (315)를 설명하는 프리앰블(preamble)일 수 있다. 제어 정보는 수평동기화 및 수직 동기화 정보를 또한 포함할 수 있다.
다중화기 (320)는 하나 이상의 입력 신호들 (380)를 통하여 제어 데이터 (305), 데이터 아일랜드 데이터 (310) 및 비디오 데이터 (315)를 수신한다. 다중화기 (320)는 그것의 출력 신호들 (382)로 넘겨주기 위해서 제어 데이터 (305), 데이터 아일랜드 데이터 (310) 또는 비디오 데이터 (315)중 하나를 선택한다. 다중화기 (382)는 상이한 시간 주기들에서 상이한 유형들의 데이터가 다중화기 (320)로부터 출력되도록 제어 데이터 (305), 데이터 아일랜드 데이터 (310), 및 비디오 데이터 (315) 사이에서 순환한다. 상이한 시간 주기들은 도 4를 참조하여 보다 상세하게 설명될 것이다.
스크램블러 (325)는 다중화기 (320)로부터 수신된 제어 데이터 (305), 데이터 아일랜드 데이터 (310) 또는 비디오 데이터 (315)를 스크램블한다. 스크램블링 데이터는 데이터 송신 동안에 생성된 전자기 간섭 (EMI) 또는 라디오 주파수 간섭 (RFI) 축소에 도움이 된다. 스크램블러 (325)는 스크램블링된 데이터를 생성하기 위해서 여러 가지 기술들을 적용할 수 있다. 일 예에서, 스크램블러 (325)는 스크램블링된 데이터를 생성하기 위해서 데이터의 일부를 전위(transpose)시키거나 또는 역전(invert)시킬 수 있다. 다른 예에서, 선형 궤환 이동 레지스터 (LFSR:linear feedback shift register)는 의사 랜덤 넘버(pseudo-random number)를 생성하고 스크램블러는 데이터 먹스 다중화기로부터 수신된 데이터와 LFSR에 의해 생성된 의사 랜덤 넘버간에 XOR 동작을 수행함으로써 스크램블링된 데이터를 생성한다. 스크램블링된 데이터 (348)는 그런 다음 하나 이상의 신호 (384)를 통하여 인코더 (330)로 발송된다.
인코더 (330)는 추가로 EMI 및 RFI를 줄이기 위해서 스크램블링된 데이터 (348)를 인코딩하고, 그렇게 함으로써 인코더 (330)의 출력에서 인코딩된 부호 코드(character code)들 (350)을 생성한다. 일 실시예에서, 인코더는 전환-최소화된 차동 신호 (TMDS) 인코더 (332), TMDS 에러 감소 코딩 (TERC4) 인코더 (334), 및 제어 데이터 인코더 (336)를 포함한다. 인코더 (330)는 스크램블러 (325)에 의해 생성된 스크램블링된 데이터를 스크램블링된 데이터의 유형에 의존하여 TMDS 인코더 (332), TERC4 인코더 (334) 또는 제어 데이터 인코더 (336)를 이용하여 인코딩한다.
TMDS 인코더 (332)는 스크램블링된 데이터를 전환 최소화된 및 직류전류 (DC) 균형된 코드들로 인코딩한다. 일 실시예에서, TMDS 인코더 (332)는 단지 (1) 가드 밴드들 및 (2) 유효(active) 비디오 데이터에 해당하는 스크램블링된 데이터의 부분들을 인코딩한다. 다른 실시예들에서, TMDS 인코더 (332)는 다른 유형들의 데이터 (예를 들어, 보조 데이터, 제어 데이터)에 해당하는 스크램블링된 데이터의 다른 부분들을 인코딩 할 수 있다.
가드 밴드 데이터는 사실상 매우 반복적일 수 있고 동일한 값의 빈번한 반복된 송신을 필요로 할 수 있다. 가드 밴드 데이터의 반복적인 성질은 다른 유형들의 데이터에 비교되었을 때 EMI 및 RFI 를 증가시키는 경향이 있다. 따라서, 가드 밴드 데이터 스크램블링 및 인코딩에 의해, EMI 및 RFI에서의 상당한 감소가 달성될 수 있다.
TMDS 인코더 (332)는 이하의 도 5와 함께 보다 상세하게 설명된 것처럼 송신을 위해 TMDS 부호들 (350)을 생성하기 위해서 디스패리티 회로 (340)에 의해 저장되고 유지되는(maintain) 디스패리티 카운터(disparity counter)를 사용한다. 디스패리티 회로 (340)의 예는 디지털 값을 저장하는 것이 가능한 레지스터이다. 디스패리티 카운터는 시간 주기 동안에 과거에 앞에서 송신된 “0”의 수(즉, 로직 로우 비트들), 및 “1”의 수 (즉, 로직 하이 비트들)간에 디스패리티(disparity)를 모니터한다. 일 실시예에서, 디스패리티 회로의 디스패리티 값은 인코더 (330)가 제어 데이터 (305)를 수신한 것에 응답하여 제어 주기들 동안에 제로(0)의 값으로 리셋된다. 디스패리티 값은 TMDS 인코더 (332)에 의해 또한 조절될 수 있고 시간이 흐르면서 TMDS 인코더 (332)에 출력된 코드들의 DC 균형 추적을 유지한다.
TERC4 인코더 (334)는 스크램블링된 보조 및 오디오 데이터 (데이터 아일랜드 (310) 패킷 데이터)를 TERC4 코드들로 인코딩한다. TERC4 코드들은 스크램블링된 보조 및 오디오 데이터내 4-비트 값들을 미리 결정된 10-비트 코드들로 매핑(mapping)함으로써 생성된다. 제어 데이터 인코더 (336)는 제어 데이터내 4-비트 값들을 10-비트 제어 코드들로 인코딩한다. 제어 데이터 인코더 (336)는 DC 균형되지만 그러나 전환 최소화되지 않은 제어 코드들을 생성할 수 있다. 제어 데이터 인코더 (336)는 전형적으로 DC 균형(balance)을 달성하는데 디스패리티 값(disparity value)을 사용하지만, 그러나 전형적으로 TMDS 인코더 (332)에 의해 사용되는 동일한 디스패리티 값을 공유하지는 않는다.
인터페이스 (342)는 하나 이상의 신호들 (386)을 통하여 인코딩된 코드들 (350)을 수신한다. 인터페이스 (342)는 인코딩된 코드들 (350)을 직렬화(serialize)하여 HDMI 채널 1쪽으로 인코딩된 코드들 (350)에 대한 차동 신호(differential signal)들을 송신한다. 인터페이스 (342)는 차동 신호들을 송신하기 위해서 전류 모드 로직(current mode logic)을 사용할 수 있다.
도 4 는 일 실시예에 따라 상이한 유형들의 데이터가 HDMI 채널상에서 송신을 위해 상이한 데이터 주기들 동안에 어떻게 송신기에 의해 수신되고 상이하게 인코딩 되는지의 예이다. 송신기 (300)의 동작은 세개의 상이한 시간 주기들: 제어 주기 (455), 데이터 아일랜드 주기 (460), 및 비디오 데이터 주기 (465)로 분할될 수 있다. 이들 시간 주기들 동안에, 송신기 (300)는 10 비트 코드들 (350)로 채널 1상에서 송신되는 각각의 클럭 사이클 내 8 비트 데이터 값들 (D0-D7)까지 수신한다.
도 4 에 두개의 제어 주기들 (455)이 있다. 제어 주기는 각각의 데이터 아일랜드 주기 (460)에 선행하고, 및 제어 주기 (455)는 또한 각각의 비디오 주기 (465)에 선행한다(precede). 제어 주기들 (455)동안에, 송신기 (300)는 프리앰블 (415)로 나타낸 제어 데이터 (305)를 수신하고 프로세스한다. 프리앰블 (415)은 제어 데이터 (305)를 뒤따르는 데이터가 비디오 데이터 (315) 또는 데이터 아일랜드 데이터 (310)인지를 식별하는 8개의 동일한 2-비트 제어 부호(character)들의 시퀀스이다. 프리앰블 (415)은 스크램블링되고 제어 데이터 인코더 (336)에 의해 제어 코드들로 변환된다.
데이터 아일랜드 주기 (460)동안에, 송신기 (300)는 데이터 아일랜드 데이터 (310)를 수신하고 프로세스한다. 데이터 아일랜드 데이터 (310)는 리딩(leading) 가드 밴드 데이터 (420) 및 트레일링(trailing) 가드 밴드 데이터 (425)를 포함한다. 리딩 가드 밴드 데이터 (420)는 제 1 제어 주기 (455)와 데이터 아일랜드 주기 (460) 사이에서의 전환(transition)를 제공한다. 트레일링 가드 밴드 데이터 (425)은 데이터 아일랜드 주기 (460)와 제 2 제어 주기 (455)사이에서 전환을 제공한다. 둘 모두의 가드 밴드 데이터 (420) 및 (423)의 유형들은 TMDS 인코딩을 이용하여 TMDS 인코더 (332)에 의해 스크램블링된 및 인코딩된다.
데이터 아일랜드 데이터 (310)는 또한 패킷들 (422) 및 (423)의 형태로 오디오 데이터를 포함한다. 각각의 패킷은 패킷 데이터 및 패킷 데이터 (즉, 오디오 패킷, 널 패킷(null packet), 인포프레임 패킷(InfoFrame packet))의 유형을 설명하는 헤더(header)를 포함할 수 있다. 패킷들 (422)은 스크램블링되고 TERC4 인코더 (334)로 인코딩된 TERC4이다.
비디오 주기 (465)동안에, 송신기 (300)는 비디오 데이터 (315)를 수신하고 프로세스한다. 비디오 데이터 (310)는 리딩 가드 밴드 데이터 (430) 및 유효 비디오 데이터 (440)를 포함한다. 리딩 가드 밴드 데이터 (420)는 제 2 제어 주기 (455)와 비디오 주기 (460)사이의 전환을 제공한다. 리딩 가드 밴드 데이터 (430) 뿐만 아니라 유효 비디오 데이터 (440) 둘 모두는 스크램블링되고 그런 다음 TMDS 인코더 (332)로 인코딩된 TMDS이다.
일 실시예에서, 디스패리티 회로 (340)내 디스패리티 값은 제어 주기들 (455)동안에 리셋된다. 디스패리티 값은 리딩 가드 밴드 (420) 및 트레일링 가드 밴드 (425)의 인코딩을 위해 데이터 아일랜드 주기 (460)에서 사용되고 리딩 가드 밴드 (420) 및 트레일링 가드 밴드 (425)를 위한 DC 균형을 유지한다. 디스패리티 값은 유지되지만 데이터 아일랜드 패킷들 (422) 및 (423)의 TERC4 인코딩 동안에 사용되지 않는다. 디스패리티 값은 또한 리딩 가드 밴드 (435) 및 유효 비디오 데이터 (440)의 TMDS 인코딩을 위한 비디오 주기 (465)에서 사용된다.
도 4는 HDMI 채널 1에 대한 송신기 (300)의 동작들을 나타내는 것에 유의한다. 일 실시예에서, 다른 HDMI 채널들에 대한 송신기 (300)의 동작은 도 4 에 도시된 것과 유사하다. 다른 실시예에서, HDMI 채널 0에 대한 송신기 (300)의 동작은 약간 상이하다. 구체적으로, 일부 실시예들에서, HDMI 채널 0에 대하여, 송신기 (300)는 TMDS 인코딩을 적용하는 대신 데이터 아일랜드 데이터 (310)의 가드 밴드들 (420) 및 (425)에 TERC4 인코딩을 적용할 수 있다.
도 5 는 일 실시예에 따른 가드 밴드 데이터 인코딩을 위한 방법의 플로우 차트를 도시한다. 스텝에서 (505), TMDS 인코더 (332)는 8 비트들의 스크램블링된 가드 밴드 데이터를 수신한다. 스크램블링된 가드 밴드 데이터는 데이터 아일랜드 데이터 (310)에 포함된 보조 데이터에 선행하거나(precede) 또는 후행하거나(trail), 또는 비디오 데이터 (315)에 포함된 유효 비디오 데이터에 선행할 수 있다. TMDS 인코더 (332)는 TMDS 알고리즘을 이용하여 8 비트들의 스크램블링된 가드 밴드 데이터를 인코딩한다. 가드 밴드 데이터의 TMDS 인코딩은 전형적으로 두개의 단계들 동안에 수행되고, 첫번째는 송신되는 데이터내 전환들의 수를 줄이는 것에 목적이 있고, 두번째는 직류 전류 (DC) 균형된 데이터를 생성하는데 목적이 있다. 일 실시예에서, 도 5에서의 방법은 유효 비디오 데이터에 또한 적용될 수 있다.
스텝(510)에서, TMDS 인코더 (332)는 그런 다음 이하의 도 6과 함께 보다 상세하게 설명될 전환 최소화된 9 비트들의 데이터를 생성한다. TMDS 인코더 (332)는 8 비트들 데이터의 하이 비트들로의 로우 비트들의 전환들의 수 또는 반대를 축소하여, 전환 최소화된 데이터를 생성한다 (510). 전환(transition)들의 수를 줄이는 것은 데이터 송신 동안에 접하게 되는 EMI 및 RFI를 축소시킨다.
전환 최소화된 9 비트들의 데이터를 생성하기 위해서(510), TMDS 인코더 (332)는 제 1 비트를 비변형된(untransformed) 채로 남겨두고, 이전 비트에 반대하여 각각의 후속 비트에 XOR 또는 XNOR 동작을 수행한다. TMDS 인코더 (332)는 두개의 동작들 중 어느 것이 가장 적은 수의 전환들로 귀결되는지를 결정함으로써 XOR 또는 XNOR 동작을 수행할지를 결정한다. 8 비트들의 변형된 데이터에 첨부된 9th 비트는 전환 최소화된 데이터를 생성하기 위해서 XOR 또는 XNOR 동작이 사용될지를 식별한다.
스텝(515)에서, 9 비트들의 전환 최소화된 데이터를 생성한 후에, TMDS 인코더 (332)는 도 7과 함께 보다 상세하게 설명될 10 비트들의 직류 전류 (DC) 균형된 데이터를 생성한다. 첫번째 8 비트들은 하이 비트(high bit)들 및 로우 비트(low bit)들의 수 균형을 유지하기 위해서 선택적으로 역전되고, 그럼으로써 일련의 코드들 (350)에 상에서의 비트들의 평균 DC 레벨을 유지한다. 9 비트들의 전환 최소화된 데이터에 첨부된 10th 비트는 8 비트들이 DC 레벨 균형을 유지하기 위해서 역전되었는지를 식별한다.
도 6 은 일 실시예에 따른 9 비트들의 전환 최소화된 데이터를 생성하기 위한 방법의 플로우 차트를 도시한다. TMDS 인코더 (332)는 8 비트들의 스크램블링된 가드 밴드 데이터를 수신한다. TMDS 인코더 (332)는 8 비트들의 스크램블링된 데이터(605)에 관련한 결정 (610)을 행하기 위해서 이하의 로직 동작들을 수행한다. TMDS 인코더 (332)는 8 비트들의 스크램블링된 데이터 (605)에 관련한 이하의 세개의 로직 결과를 식별한다. 제 1 결과를 위하여 TMDS 인코더 (332)는 8 비트들의 데이터 내에서 “1”의 또는 하이 비트들의 수가 4보다 더 큰지를 식별한다. 제 2 결과를 위하여 TMDS 인코더 (332)는 “1”의 수가 4와 같은지를 식별한다. 제 3 결과를 위하여 TMDS 인코더 (332)는 1st 비트의 값이 0과 동일한지를 식별한다. TMDS 인코더는 그런 다음 결정 (610)을 행하기 위해서 이하의 로직 동작들을 수행한다. TMDS 인코더는 결정 (610)에 이르기 위해서 제 2 결과와 제 3 결과간에 AND 동작을 수행하고, AND 동작 결과와 제 1 결과간에 OR 동작을 수행한다.
만약 결정 (610)이 거짓(false) (620)이면, TMDS 인코더 (332)는 이하의 동작들을 수행한다. 매개 값(intermediate value)의 1st 비트는 8 비트들의 스크램블링된 데이터 (605)의 1st 비트에 동일하게 설정된다. 매개값의 2nd 내지 8th 비트들을 결정하기 위해서 TMDS 인코더 (332)는 매개값의 이전 비트와 스크램블링된 데이터 (605)의 8 비트들의 개별 비트 간에 XOR 동작을 수행한다. 예를 들어, 매개 값의 2nd 비트를 결정하기 위해서 TMDS 인코더 (332)는 매개값의 1st 비트와 8 비트들의 스크램블링된 데이터 (605)의 2nd 비트 간에 XOR 동작을 수행한다. 유사하게, 매개 값의 3rd 비트를 결정하기 위해서 TMDS 인코더 (332)는 매개 값의 2nd 비트와 스크램블링된 데이터 (605)의 8 비트들의 3rd 비트 간에 XOR 동작을 수행한다. 따라서, TMDS 인코더는 매개 값의 이전 비트와 스크램블링된 데이터 (605)의 8 비트들의 개별 비트 간에 XOR 동작을 수행함으로써 결정된 결과와 같은 매개 값의 2nd 내지 8th 비트들을 설정한다. 매개 값의 9th 비트는 1로 설정되고, 이는 8 비트들의 스크램블링된 데이터 (605)의 2nd 내지 8th 비트들 상에서 XOR 동작이 수행된 것을 나타낸다. 결과 매개 값은 9 비트 전환 최소화된 매개 코드 (640)이다.
반면에, 만약 결정 (610)이 참(true) (630)이면, TMDS 인코더 (332)는 이하의 동작들을 수행한다. 매개 값(intermediate value)의 1st 비트는 스크램블링된 데이터 (605)의 8 비트들의 1st 비트에 동일하게 설정된다. 매개 값의 2nd 내지 8th 비트들을 결정하기 위해서 TMDS 인코더 (332)는 매개 값의 이전 비트와 스크램블링된 데이터 (605)의 8 비트들의 개별 비트 간에 XNOR 동작을 수행한다. 예를 들어, 매개 값의 2nd 비트를 결정하기 위해서 TMDS 인코더 (332)는 매개 값의 1st 비트와 스크램블링된 데이터 (605)의 8 비트들의 2nd 비트 간에 XNOR 동작을 수행한다. 유사하게, 매개 값의 3rd 비트를 결정하기 위해서 TMDS 인코더 (332)는 매개 값의 2nd 비트와 스크램블링된 데이터 (605)의 8 비트들의 3rd 비트 간에 XNOR 동작을 수행한다. 따라서, TMDS 인코더는 매개 값의 이전 비트와 스크램블링된 데이터 (605)의 8 비트들의 개별 비트 간에 XNOR 동작을 수행함으로써 결정된 결과와 같은 매개 값의 2nd 내지 8th 비트들을 설정한다. 매개 ?의 9th 비트는 0으로 설정되고, 이는 스크램블링된 데이터 (605)의 8 비트들의 2nd 내지 8th 비트들 상에서 XNOR 동작이 수행된 것을 나타낸다. 결과 매개 값은 9 비트 전환 최소화된 매개 코드 (640)이다.
도면들 7a-7c는 일 실시예에 따른 10 비트들의 DC 균형된 데이터를 생성하기 위한 방법의 플로우 차트를 도시한다. TMDS 인코더 (332)는 10 비트 전환 최소화된 그리고 DC 균형된 코드를 생성하기 위해서 디스패리티 카운터 (340)의 값 (702)에 기초하여 9 비트 매개 코드 (640)상에 동작들을 수행한다. TMDS 인코더 (332)는 9 비트들의 매개 코드(640)에 관련한 결정 (710)을 행하기 위해서 이하의 로직 동작들을 수행한다. TMDS 인코더 (332)는 9 비트들의 매개 코드 (640)에 관련하여 이하의 두개의 로직 결과들을 식별한다. 제 1 결과를 위해, TMDS 인코더 (332)는 디스패리티 카운터 (340)의 값이 0과 같은지를 식별한다. 제 2 결과를 위해서, TMDS 인코더 (332)는 매개 코드 (640)의 1st 8 비트들내 “1”의 수가 매개 코드 (640)의 1st 8 비트들내 “0”의 수와 같은지를 식별한다. TMDS 인코더는 그런 다음 결정 (710)에 이르기 위해서 제 1 결과와 제 2 결과간에 OR 동작을 수행한다.
도 7b는 만약 결정 (710)이 거짓 (720)이면 TMDS 인코더 (332)에 의해 수행되는 동작들을 설명한다. TMDS 인코더 (332)는 결정 (722)에 이르기 위해서 이하의 동작들을 수행한다. TMDS 인코더 (332)는 8 비트들의 스크램블링된 데이터 (605)에 관련한 이하의 네개의 로직 결과들을 식별한다. 제 1 결과를 위해, TMDS 인코더 (332)는 카운터 (340)의 값이 0보다 큰지를 식별한다. 제 2 결과를 위해서, TMDS 인코더 (332)는 매개 코드 (640)의 1st 8 비트들내 “1”의 수가 매개 코드 (640)의 1st 8 비트들내 “0”의 수보다 더 큰지를 식별한다. 제 3 결과를 위해서 TMDS 인코더 (332)는 카운터 (340)의 값이 0보다 작은지를 식별한다. 제 4 결과를 위해서, TMDS 인코더 (332)는 매개 코드 (640)의 1st 8 비트들내 “1”의 수가 매개 코드 (640)의 1st 8 비트들내 “0”의 수보다 작은지를 식별한다. TMDS 인코더 (332)는 그런 다음 결정 (722)를 행하기 위해서 이하의 로직 동작들을 수행한다. TMDS 인코더는 제 1 결과와 제 2 결과간에 AND 동작을 및 제 3 결과와 제 4 결과간에 다른 AND 동작을 수행한다. TMDS 인코더 (332)는 그런 다음 두개의 AND 동작들의 결과들간에 OR 동작을 수행한다.
만약 결정 (722)이 거짓(false) (724)이면, TMDS 인코더 (332)는 이하의 동작들을 수행한다. 출력 값의 10th 비트가 0의 값으로 설정되고, 및 출력 값의 9th 비트는 매개 코드 (640)의 9th 비트의 값과 같게 설정된다. 출력 값은 송신기 (300)에 의한 송신을 위해 TMDS 인코더 (332)에 의해 생성된 10 비트 DC 균형된 코드를 나타낸다. 출력의 1st 내지 8th 비트는 매개 코드 (640)의 1st 내지 8th 비트들의 값들과 같게 설정된다. 카운터 (340)의 새로운 값은 카운터의 값 빼기 매개 코드의 9th 비트의 역전된 값(inverted value)의 두배 더하기 매개 코드 (640)의 1st 8 비트들내 “1”의 수와 “0”의 수 사이의 차이로 설정된다.
만약 결정 (722)이 참(true) (726)이면, TMDS 인코더 (332)는 이하의 동작들을 수행한다. 출력값의 10th 비트가 1의 값으로 설정되고, 및 출력값의 9th 비트는 매개 코드 (640)의 9th 비트의 값과 같게 설정된다. 출력 값의 1st 내지 8th 비트는 매개 코드 (640)의 1st 내지 8th 비트들의 값들의 역전된 값들과 같게 설정된다. 카운터 (340)의 새로운 값은 카운터(340)의 값 빼기 매개 코드(640)의 9th 비트의 역전된 값의 두배 더하기 매개 코드 (640)의 1st 8 비트들내 “0”의 수와 “1”의 수 사이의 차이와 같게 설정된다.
도 7c는 만약 결정 (710)이 참(730)이면 TMDS 인코더 (332)에 의해 수행된 동작들을 설명한다. 결정(710)이 참일 때, TMDS 인코더 (332)는 이하의 동작들을 수행한다. TMDS 인코더 (332)는 매개 코드 (640)의 9th 비트와 같게 출력 값의 9th 비트를 설정한다. 출력값의 10th 비트는 매개 코드 (640)의 9th 비트의 인버전(inversion)과 같게 설정된다. 만약 매개 코드 (640)의 9th 비트가 가 “1”이면 출력 값의 1st 내지 8th 비트는 매개 코드 (640)의 1st 내지 8th 비트와 같게 설정된다. 대안적으로, 만약 매개 코드 (640)의 9th 비트가 “0”이면 출력 값의 1st 내지 8th 비트는 매개 코드 (640)의 1st 내지 8th 비트의 인버전과 같게 설정된다.
TMDS 인코더 (332)는 매개 코드 (640)의 9th 비트의 값에 기초하여 디스패리티 카운터 (340)의 값을 설정한다. 만약 매개 코드 (640)의 9th 비트의 값이 0과 같으면 TMDS 인코더 (332)는 (734)를 결정한다. 만약 결정 (734)가 참(true) (736)이면, TMDS 인코더 (332)는 매개 코드 (640)의 제 1 1st 8 비트들내 “0”의 수와 매개 코드 (640)의 1st 8 비트들내 “1”의 수 간에 차이에 추가된 디스패리티 카운터 (340)의 값과 같은 디스패리티 카운터 (340)의 새로운 값을 설정한다. 만약 결정 (734)가 거짓(false) (738)이면, TMDS 인코더 (332)는 매개 코드 (640)의 제 1 1st 8 비트들내 “1”의 수와 매개 코드 (640)의 1st 8 비트들내 “0”의 수 간에 차이에 추가된 디스패리티 카운터 (340)의 값과 같은 디스패리티 카운터 (340)의 새로운 값을 설정한다.
본 개시의 통독시, 당업자들은 인터페이스 케이블(interface cable) 예컨대 HDMI 케이블 (120)의 차동 쌍들에 걸쳐 송신을 위한 데이터를 스크램블하고 인코딩하는 시스템에 대한 또한 추가의 대안 디자인들을 인식할 것이다. 따라서, 본 발명의 특정 실시예들 및 애플리케이션들이 예시되고 설명되었지만, 실시예들이 본 명세서에서 개시된 정확한 구성 및 구성요소들에 한정되지 않으며, 당업자들에게 자명할 다양한 수정들, 변화들 및 변동들이 첨부된 청구범위에 정의된 바와 같은 본 발명의 사상 및 범위로부터 벗어나지 않고 본 명세서에 개시된 본 발명의 방법 및 장치의 배열, 동작 및 상세내용들에서 이루어질 수 있다는 것이 이해되어야 한다.

Claims (20)

  1. 멀티미디어 통신 인터페이스상에서의 통신을 위한 하드웨어 컴포넌트에 있어서,
    앞에서 송신된 1들의 수 및 제로(0)들의 수 간의 디스패리티(disparity)를 나타내는 디스패리티 값을 저장하는 디스패리티 회로(disparity circuit) ; 및
    멀티미디어 데이터내 데이터 주기(period)들간 전환들에 해당하는 가드 밴드 데이터(guard band data)를 포함하는 상기 멀티미디어 데이터를 수신하고;
    상기 가드 밴드 데이터에 기초하여 전환 최소화된 매개 코드들(transition minimized intermediate code)을 생성하고;
    상기 전환 최소화된 매개 코드들 및 상기 디스패리티 값에 기초하여 인코딩된 가드 밴드 코드들을 생성하고; 및
    상기 멀티미디어 통신 인터페이스의 채널을 통하여 상기 인코딩된 가드 밴드 코드들을 송신하는 회로부(circuitry)를 포함하는, 하드웨어 컴포넌트.
  2. 청구항 1에 있어서, 상기 회로부는 상기 가드 밴드 데이터를 스크램블링된 가드 밴드 데이터로 스크램블(scramble)하고, 및 상기 회로부는 상기 스크램블링된 가드 밴드 데이터에 기초하여 상기 전환 최소화된 매개 코드들을 생성하는, 하드웨어 컴포넌트.
  3. 청구항 1에 있어서, 상기 회로부는 상기 인코딩된 가드 밴드 코드들내 1들의 수 및 0들의 수에 기초하여 상기 디스패리티 값을 조정하는, 하드웨어 컴포넌트.
  4. 청구항 1에 있어서, 상기 멀티미디어 데이터는 유효(active) 비디오 데이터를 더 포함하고, 및 상기 가드 밴드 데이터는 상기 유효 비디오 데이터에 대한 리딩 전환(leading transition)에 해당하는, 하드웨어 컴포넌트.
  5. 청구항 4에 있어서, 상기 회로부는 추가로 :
    상기 유효 비디오 데이터 및 상기 디스패리티 값에 기초하여 인코딩된 비디오 코드들을 생성하고; 및
    상기 멀티미디어 통신 인터페이스의 상기 채널을 통하여 상기 인코딩된 비디오 코드들을 송신하고, 상기 인코딩된 비디오 코드들은 상기 인코딩된 가드 밴드 코드들과 다른 시간들에 송신되는, 하드웨어 컴포넌트.
  6. 청구항 1에 있어서,상기 멀티미디어 데이터는 유효(active) 비디오 데이터와 관련된 보조 데이터(auxiliary data)를 더 포함하고, 및 상기 가드 밴드 데이터는 상기 보조 데이터에 대한 리딩 전환(leading transition) 또는 상기 보조 데이터로부터 떨어진 트레일링 전환(trailing transition)에 해당하는, 하드웨어 컴포넌트.
  7. 청구항 1에 있어서, 상기 전환 최소화된 매개 코드들은 9-비트 전환 최소화된 값들이고, 및 상기 인코딩된 가드 밴드 코드들은 10-비트 직류 전류 균형된 값들(direct current balanced values)인, 하드웨어 컴포넌트.
  8. 청구항 1에 있어서, 상기 멀티미디어 데이터는 제어 데이터를 더 포함하고, 및 상기 회로부는 추가로:
    상기 제어 데이터에 응답하여 상기 디스패리티 회로의 상기 디스패리티 값을 리셋(reset)하고;
    상기 디스패리티 값을 사용하지 않고 상기 제어 데이터에 기초하여 인코딩된 제어 코드들을 생성하고; 및
    상기 멀티미디어 통신 인터페이스의 상기 채널을 통하여 상기 인코딩된 제어 코드들을 송신하고, 상기 제어 코드들은 상기 인코딩된 비디오 코드들과 상기 인코딩된 가드 밴드 코들과 다른 시간들에 송신되는, 하드웨어 컴포넌트.
  9. 멀티미디어 통신 링크상에서의 통신을 위한 하드웨어 컴포넌트의 표현(representation)을 저장하는 비-일시적 컴퓨터 판독가능한 매체에 있어서, 상기 하드웨어 컴포넌트는:
    앞에서 송신된 1들의 수 및 0들의 수 간에 디스패리티를 나타내는 디스패리티 값을 저장하는 디스패리티 회로; 및
    멀티미디어 데이터내 데이터 주기들간 전환들에 해당하는 가드 밴드 데이터를 포함하는 멀티미디어 데이터를 수신하고;
    상기 가드 밴드 데이터에 기초하여 전환 최소화된 매개 코드들을 생성하고;
    상기 전환 최소화된 매개 코드들 및 상기 디스패리티 값에 기초하여 인코딩된 가드 밴드 코드들을 생성하고; 및
    상기 멀티미디어 통신 인터페이스의 채널을 통하여 상기 인코딩된 가드 밴드 코드들을 송신하는 회로부를 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  10. 청구항 9에 있어서, 상기 회로부는 상기 가드 밴드 데이터를 스크램블링된 가드 밴드 데이터로 스크램블(scramble)하고, 및 상기 회로부는 상기 스크램블링된 가드 밴드 데이터에 기초하여 상기 전환 최소화된 매개 코드(transition minimized intermediate code)들을 생성하는, 비-일시적 컴퓨터 판독가능한 매체.
  11. 청구항 9에 있어서, 상기 회로부는 상기 인코딩된 가드 밴드 코드들내 1들의 수 및 0들의 수에 기초하여 상기 디스패리티 값을 조정하는, 비-일시적 컴퓨터 판독가능한 매체.
  12. 청구항 9에 있어서, 상기 멀티미디어 데이터는 유효(active) 비디오 데이터를 더 포함하고, 및 상기 가드 밴드 데이터는 상기 유효 비디오 데이터에 대한 리딩 전환(leading transition)에 해당하는, 비-일시적 컴퓨터 판독가능한 매체.
  13. 청구항 12에 있어서, 상기 회로부는
    상기 유효 비디오 데이터 및 상기 디스패리티 값에 기초하여 인코딩된 비디오 코드들을 생성하고; 및
    상기 멀티미디어 통신 인터페이스의 상기 채널을 통하여 상기 인코딩된 비디오 코드들을 송신하고, 상기 인코딩된 비디오 코드들은 상기 인코딩된 가드 밴드 코드들과 다른 시간들에 송신되는, 비-일시적 컴퓨터 판독가능한 매체.
  14. 청구항 9에 있어서, 상기 멀티미디어 데이터는 유효(active) 비디오 데이터와 관련된 보조 데이터(auxiliary data)를 더 포함하고, 및 상기 가드 밴드 데이터는 상기 보조 데이터에 대한 리딩 전환(leading transition) 또는 상기 보조 데이터로부터 떨어진 트레일링 전환(trailing transition)에 해당하는, 비-일시적 컴퓨터 판독가능한 매체.
  15. 청구항 9에 있어서, 상기 전환 최소화된 매개 코드들은 9-비트 전환 최소화된 값들이고, 및 상기 인코딩된 가드 밴드 코드들은 10-비트 직류 전류 균형된 값들(direct current balanced values)인, 비-일시적 컴퓨터 판독가능한 매체.
  16. 청구항 9에 있어서, 상기 멀티미디어 데이터는 제어 데이터를 더 포함하고, 및 상기 회로부는 추가로:
    상기 제어 데이터에 응답하여 상기 디스패리티 회로의 상기 디스패리티 값을 리셋(reset)하고;
    상기 디스패리티 값을 사용하지 않고 상기 제어 데이터에 기초하여 인코딩된 제어 코드들을 생성하고; 및
    상기 멀티미디어 통신 인터페이스의 상기 채널을 통하여 상기 인코딩된 제어 코드들을 송신하고, 상기 제어 코드들은 상기 인코딩된 비디오 코드들과 상기 인코딩된 가드 밴드 코들과 다른 시간들에 송신되는, 비-일시적 컴퓨터 판독가능한 매체.
  17. 멀티미디어 통신 링크상에서의 통신을 위한 하드웨어 컴포넌트내 동작 방법에 있어서, 상기 방법은:
    앞에서 송신된 1들의 수 및 0들의 수 간에 디스패리티를 나타내는 디스패리티 값을 수신하는 단계;
    멀티미디어 데이터내 데이터 주기들간 전환들에 해당하는 가드 밴드 데이터를 포함하는 멀티미디어 데이터를 수신하는 단계;
    상기 가드 밴드 데이터에 기초하여 전환 최소화된 매개 코드들을 생성하는 단계;
    상기 전환 최소화된 매개 코드들 및 상기 디스패리티 값에 기초하여 인코딩된 가드 밴드 코드들을 생성하는 단계; 및
    상기 멀티미디어 통신 인터페이스의 채널을 통하여 상기 인코딩된 가드 밴드 코드들을 송신하는 단계를 포함하는, 하드웨어 컴포넌트내 동작 방법.
  18. 청구항 17에 있어서,
    상기 가드 밴드 데이터를 스크램블링된 가드 밴드 데이터로 스크램블링(scramble)하는 단계, 및 상기 스크램블링된 가드 밴드 데이터에 기초하여 상기 전환 최소화된 매개 코드(transition minimized intermediate code)들을 생성하는 단계를 더 포함하는, 하드웨어 컴포넌트내 동작 방법.
  19. 청구항 17에 있어서,
    상기 인코딩된 가드 밴드 코드들내 1들의 수 및 0들의 수에 기초하여 상기 디스패리티 값을 조정하는 단계를 더 포함하는, 하드웨어 컴포넌트내 동작 방법.
  20. 청구항 17에 있어서, 상기 전환 최소화된 매개 코드들은 9-비트 전환 최소화된 값들이고, 및 상기 인코딩된 가드 밴드 코드들은 10-비트 직류 전류 균형된 값들(direct current balanced values)인, 하드웨어 컴포넌트내 동작 방법.
KR1020157035676A 2013-05-16 2014-05-15 전환-최소화된 차동 신호 코딩을 이용하여 통신 인터페이스를 통한 송신을 위한 가드 밴드 데이터 인코딩 KR20160030106A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361824343P 2013-05-16 2013-05-16
US61/824,343 2013-05-16
PCT/US2014/038276 WO2014186629A1 (en) 2013-05-16 2014-05-15 Encoding guard band data for transmission via a communications interface utilizing transition-minimized differential signaling (tmds) coding

Publications (1)

Publication Number Publication Date
KR20160030106A true KR20160030106A (ko) 2016-03-16

Family

ID=51895505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157035676A KR20160030106A (ko) 2013-05-16 2014-05-15 전환-최소화된 차동 신호 코딩을 이용하여 통신 인터페이스를 통한 송신을 위한 가드 밴드 데이터 인코딩

Country Status (8)

Country Link
US (1) US9191700B2 (ko)
JP (1) JP2016526326A (ko)
KR (1) KR20160030106A (ko)
CN (1) CN105531687B (ko)
DE (1) DE112014002450T5 (ko)
GB (1) GB2529951B (ko)
TW (1) TWI637602B (ko)
WO (1) WO2014186629A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170037774A (ko) 2015-09-25 2017-04-05 삼성디스플레이 주식회사 데이터 구동 회로 및 이를 포함하는 표시 장치
TWI589157B (zh) * 2016-06-22 2017-06-21 晨星半導體股份有限公司 高畫質多媒體介面之接收電路及決定傳輸模式之方法
CN108694918B (zh) 2017-06-09 2021-09-28 京东方科技集团股份有限公司 编码方法及装置、解码方法及装置及显示装置
US10645199B2 (en) * 2018-01-22 2020-05-05 Lattice Semiconductor Corporation Multimedia communication bridge
WO2019232482A1 (en) * 2018-05-31 2019-12-05 Synaptics Incorporated Low power, high bandwidth, low latency data bus
KR20210081866A (ko) * 2019-12-24 2021-07-02 주식회사 실리콘웍스 디스플레이 구동 장치 및 이를 포함하는 디스플레이 장치
US11588666B2 (en) * 2020-09-23 2023-02-21 Realtek Semiconductor Corporation Signal transmission system, transmitter encoding apparatus and receiver decoding apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001339719A (ja) * 2000-05-24 2001-12-07 Thine Electronics Inc ディジタル画像伝送用符号化器
JP3589648B2 (ja) * 2001-01-24 2004-11-17 ザインエレクトロニクス株式会社 半導体集積回路
US7558326B1 (en) * 2001-09-12 2009-07-07 Silicon Image, Inc. Method and apparatus for sending auxiliary data on a TMDS-like link
EP1330910B1 (en) * 2001-09-12 2008-06-11 Silicon Image, Inc. Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US7283566B2 (en) * 2002-06-14 2007-10-16 Silicon Image, Inc. Method and circuit for generating time stamp data from an embedded-clock audio data stream and a video clock
US7394406B2 (en) * 2002-12-17 2008-07-01 Broadcom Corporation Method and system for generating high definition multimedia interface (HDMI) codewords using a TMDS encoder/decoder
US20060209880A1 (en) * 2004-12-10 2006-09-21 Mediatek Incorporation Method of audio data transmission and system thereof
KR100766496B1 (ko) * 2005-07-08 2007-10-15 삼성전자주식회사 에이치디엠아이 전송 시스템
US7844762B2 (en) * 2006-02-24 2010-11-30 Silicon Image, Inc. Parallel interface bus to communicate video data encoded for serial data links
US8253859B2 (en) * 2006-05-16 2012-08-28 Sony Corporation Transmission system, transmission apparatus, and transmission method for transmitting video data
US8565337B2 (en) * 2007-02-07 2013-10-22 Valens Semiconductor Ltd. Devices for transmitting digital video and data over the same wires
US8755431B2 (en) * 2010-01-14 2014-06-17 Silicon Image, Inc. Transmission and detection of multi-channel signals in reduced channel format
US9210010B2 (en) * 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces

Also Published As

Publication number Publication date
GB2529951A (en) 2016-03-09
DE112014002450T5 (de) 2016-02-25
GB201520090D0 (en) 2015-12-30
US20140340579A1 (en) 2014-11-20
JP2016526326A (ja) 2016-09-01
WO2014186629A1 (en) 2014-11-20
CN105531687B (zh) 2018-01-02
GB2529951B (en) 2017-03-29
CN105531687A (zh) 2016-04-27
TW201501476A (zh) 2015-01-01
TWI637602B (zh) 2018-10-01
US9191700B2 (en) 2015-11-17

Similar Documents

Publication Publication Date Title
US9191700B2 (en) Encoding guard band data for transmission via a communications interface utilizing transition-minimized differential signaling (TMDS) coding
TWI549494B (zh) 用於在多單工通道序列介面上擾碼符號之方法及裝置
US10680858B2 (en) Methods and apparatus for the intelligent scrambling of control symbols
US8810560B2 (en) Methods and apparatus for scrambler synchronization
KR100810815B1 (ko) 등화 신호들 중 하나로부터 생성되는 제어 신호에 응답하여다수의 신호를 적응성 등화하기 위한 방법 및 회로
US9647701B2 (en) Methods and apparatus for the intelligent association of control symbols
KR100552833B1 (ko) 시리얼 링크를 통한 전송시 심벌 간의 간섭 효과를 감소시키기 위한 인코딩 방법 및 시스템
US9262988B2 (en) Radio frequency interference reduction in multimedia interfaces
US10432435B2 (en) Methods and apparatus for enabling and disabling scrambling of control symbols
US20140310425A1 (en) Methods and apparatus for harmonization of interface profiles
US20160217762A1 (en) Command input method and display system

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