KR20070086398A - 버퍼를 업데이트하기 위한 방법들 및 시스템들 - Google Patents

버퍼를 업데이트하기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20070086398A
KR20070086398A KR1020077013826A KR20077013826A KR20070086398A KR 20070086398 A KR20070086398 A KR 20070086398A KR 1020077013826 A KR1020077013826 A KR 1020077013826A KR 20077013826 A KR20077013826 A KR 20077013826A KR 20070086398 A KR20070086398 A KR 20070086398A
Authority
KR
South Korea
Prior art keywords
buffer
read
link
mddi
processor
Prior art date
Application number
KR1020077013826A
Other languages
English (en)
Other versions
KR100908148B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36498488&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20070086398(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20070086398A publication Critical patent/KR20070086398A/ko
Application granted granted Critical
Publication of KR100908148B1 publication Critical patent/KR100908148B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/04Distributors combined with modulators or demodulators
    • H04J3/047Distributors with transistors or integrated circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Studio Devices (AREA)
  • Communication Control (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Dram (AREA)
  • Telephonic Communication Services (AREA)
  • Stroboscope Apparatuses (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Electronic Switches (AREA)

Abstract

본 발명은 버퍼를 업데이트하기 위한 방법들 및 시스템들에 관한 것이다. 일 양상에서, 본 발명은 버퍼에 대한 동시적인 판독 및 기록을 가능하게 하기 위해서 버퍼에 전략적으로 기록하는 것을 포함하는 버퍼 업데이트 방법을 제공한다. 이 방법은 더블 버퍼링에 대한 필요성을 제거함으로써 종래의 버퍼링 해결방법에 비해 구현 비용 및 공간 절감을 유도한다. 또한, 이 방법은 디스플레이와 연관된 프레임 버퍼를 업데이트하기 위해 사용될 때 이미지 찢김을 방지하는데, 이러한 애플리케이션으로 제한되는 것은 아니다. 다른 양상에서, 본 발명은 통신 링크를 통해 버퍼 업데이트를 가능하게 하기 위해서 효율적인 메커니즘들을 제공한다. 일 예에서, 본 발명은 통신 링크를 통해 타이밍 정보를 중계하기 위한 방법을 제공한다.

Description

버퍼를 업데이트하기 위한 방법들 및 시스템들{METHODS AND SYSTEMS FOR UPDATING A BUFFER}
본 발명은 전반적으로 버퍼를 업데이트하기 위한 방법들 및 시스템들에 관한 것이다. 더 상세하게는, 본 발명은 통신 링크를 통해서 버퍼를 업데이트하기 위한 방법들 및 시스템들에 관한 것이다.
상호접속 기술들 분야에서는, 특별 비디오 프레젠테이션들과 관련해서 데이터 속도들을 더욱 증가시키고자 하는 요구가 계속해서 증대되고 있다.
MDDI(Mobile Display Digital Interface)는 호스트와 클라이언트 간의 단거리 통신 링크를 통해서 매우 높은 속도의 데이터 전송을 가능하게 하는 비용 효과적이면서 저전력 소모적인 전송 메커니즘이다. MDDI는 초당 최대 3.2Gbits의 최대 대역폭을 전달하는 양방향성 데이터 전송을 위한 전력과 4-배선들을 최소한 필요로 한다.
한 애플리케이션에 있어서, MDDI는 디지털 기저대역 제어기를 LCD 디스플레이 및/또는 카메라에 서로 접속시키기 위해서 핸드셋의 힌지를 통해 지나가는 배선들의 수를 상당히 감소시킴으로써 클렘셀 셀룰러 전화기들에서의 전력 소모를 감소시키고, 또한 신뢰도를 증가시킨다. 이러한 배선들의 감소는 또한 클렘셀을 간단 하게 하거나 핸드셋 설계들을 슬라이딩 방식으로 함으로써 핸드셋 제작자들로 하여금 보다 적은 개발 비용이 들게 한다.
MDDI 링크를 통해 LCD 디스플레이를 제어하는데 있어서, 발생하는 한 가지 문제점은 디스플레이가 리프레시될 때의 이미지 깜빡임과 관련있다. 통상적으로, 사람의 눈이 감지할 수 있는 것보다 더 높은 리프레시 속도나 또는 긴 지속성 변환 중 어느 하나가 필요하다. 긴 지속성 변환은 이미지들이 이동하는 것으로 보일 대 이미지 얼룩(image smearing)을 초래한다. 그러므로, 디스플레이가 높은 리프레시 속도를 갖는 것이 바람직하다. 그러나, 발생하는 통상적인 문제는 이미지 찢김(image tearing)이다. 문제는 디스플레이가 높은 속도로 리프레시되고 있는 동안에 그 디스플레이와 연관된 프레임 버퍼는 더 느린 속도로 채워지고 있다는 점이다. 그 결과, 디스플레이 이미지는 디스플레이의 동일한 프레임 내에 있는 업데이트된 이미지 정보 및 기존의 이미지 정보 모두를 반영할 수 있다.
한 솔루션에서는, 다중 버퍼들이 사용되고, 이미지 정보가 위에 설명된 이미지 찢김 문제를 방지하기 위해서 다중 버퍼들을 통해 순환된다. 이는 일반적으로 공지되어 있는 "더블 버퍼링" 해결방법을 포함한다. 그러나, 이러한 솔루션의 단점은 구현하는데 있어 비용이 많이 들고 칩 공간이 많이 필요하다는 것이다.
따라서, MDDI 애플리케이션들의 비용 및 공간 요건들을 충족시키는 동시에 위에 설명된 문제점들을 해결하는 버퍼 업데이트 솔루션들을 가능하게 하는 방법들 및 시스템들이 필요하다.
본 발명은 버퍼를 업데이트하기 위한 방법 및 시스템들에 관한 것이다.
일 양상에서, 본 발명은 버퍼에 대한 동시적인 판독 및 기록을 가능하게 하기 위해서 그 버퍼에 전략적으로 기록하는 것을 포함하는 버퍼 업데이트 방법을 제공한다. 이 방법은 더블 버퍼링에 대한 필요성을 제거함으로써 종래의 버퍼링 해결방법에 비해서 구현 비용 및 공간을 절감시킨다. 다른 장점들 중에서도, 이 방법은 디스플레이와 연관된 프레임 버퍼를 업데이트하기 위해서 사용될 때 이미지 찢김을 방지하는데, 그렇다고 해서 반드시 이러한 애플리케이션으로 제한되는 것은 아니다.
다른 양상에서, 본 발명은 통신 링크를 통해 버퍼 업데이트를 가능하게 하기 위한 효율적인 메커니즘들을 제공한다. 일 예에서, 본 발명은 통신 링크를 통해 타이밍 정보를 중계하기 위한 방법을 제공한다. 그러나, 이 방법은 타이밍 정보를 중계하는 것으로 제한되지 않으며, 본 명세서의 내용들에 기초하여 당업자가 알 수 있는 바와 같이 더 많은 일반적인 상황들에서 사용될 수 있다.
본 발명의 다른 실시예들, 특징들, 및 장점들뿐만 아니라 본 발명의 여러 실시예들에 대한 구조 및 동작이 첨부 도면들을 참조하여 아래에서 상세히 설명된다.
본 명세서에 포함되어 있으며 명세서의 일부를 형성하는 첨부 도면들은 본 발명을 도시하고 있으며, 본 발명의 원리들을 설명하고 또한 당업자가 본 발명을 실시하고 이용할 수 있도록 하기 위해서 또한 제공된다.
도 1은 MDDI(Mobile Display Digital Interface) 인터페이스를 사용하는 예 시적인 환경을 도시하는 블록도.
도 1A는 디지털 장치와 주변 장치에 연결되는 디지털 데이터 장치 인터페이스를 나타내는 도면.
도 2는 도 1의 예의 실시예에 따른 MDDI 링크 상호접속을 도시하는 블록도.
도 3은 이미지 찢김 문제를 도시하는 예를 나타내는 도면.
도 4는 본 발명에 따라 버퍼를 업데이트하기 위한 방법을 나타내는 처리 흐름도.
도 5는 도 4의 방법에 대한 예들을 나타내는 도면.
도 6A 및 도 6B는 버퍼 판독/기록 전략들을 나타내는 도면.
도 7은 본 발명에 따라 통신 링크를 통해서 타이밍 정보를 전달하기 위한 방법을 나타내는 처리 흐름도.
도 8은 타이밍 정보를 전달하기 위해서 MDDI 링크 웨이크업을 개시하기 위한 예시적인 신호 타이밍도를 나타내는 도면.
본 발명은 첨부 도면들을 참조하여 설명될 것이다. 엘리먼트가 제일 먼저 제시된 도면은 상응하는 참조번호에 가장 좌측의 디지트로 표시된다.
본 명세서는 본 발명의 특징들을 포함하는 하나 이상의 실시예들을 기재하고 있다. 기재된 실시예(들)는 단순히 본 발명을 예시하는 것이다. 본 발명의 범위는 기재된 실시예(들)로 제한되지 않는다. 본 발명은 본 명세서에 첨부된 청구항들에 의해서 정해진다.
기재된 실시예(들), 및 "일실시예", "실시예", "예시적인 실시예" 등에 대한 명세서에서의 언급은, 기재된 실시예(들)가 특정한 특징, 구조, 또는 특성을 포함할 수 있지만 모든 실시예가 그러한 특정의 특징, 구조, 또는 특성을 반드시 포함할 필요는 없을 수 있다. 게다가, 이러한 문구들은 동일한 실시예를 반드시 지칭하지는 않는다. 또한, 특정한 특징, 구조, 또는 특성이 실시예와 연계하여 설명될 때는, 그것이 명시적으로 기재되었는지 여부에 상관없이 다른 실시예들과 연계하여 이러한 특징, 구조, 또는 특성을 실행하는데 있어 당업자의 지식 범위 내에 있는 것으로 제공된다.
본 발명의 실시예들은 하드웨어, 펌웨어, 소프트웨어, 또는 그것들의 임의의 결합으로 구현될 수 있다. 본 발명의 실시예들은 또한 하나 이상의 프로세서들에 의해서 판독되고 실행될 수 있는 기계-판독가능 매체에 저장되는 명령들로서 구현될 수 있다. 기계-판독가능 매체는 기계(예컨대, 컴퓨팅 장치)에 의해서 판독가능한 형태로 정보를 저장하거나 전송하기 위한 임의의 메커니즘을 포함할 수 있다. 예컨대, 기계-판독가능 매체는 판독 전용 메모리(ROM); 랜덤 액세스 메모리(RAM); 자기 디스크 저장 매체; 광학 저장 매체; 플래시 메모리 장치들; 전자, 광학, 음향 또는 다른 형태의 전파되는 신호들(예컨대, 반송파들, 적외선 신호들, 디지털 신호들 등), 및 다른 것들을 포함할 수 있다. 또한, 펌웨어, 소프트웨어, 루틴들, 명령들이 특정 액션들을 수행하는 것으로서 본 명세서에서 설명될 수 있다. 그러나, 이러한 설명들은 단순히 편의를 위한 것이고 그러한 액션들은 실질적으로 컴퓨팅 장치들, 프로세서들, 제어기들, 또는 펌웨어, 소프트웨어, 루틴들, 명령들 등을 실 행하는 다른 장치들로부터 이루어진다는 것을 알아야 한다.
MDDI (Mobile Display Digital Interface)
MDDI는 호스트와 클라이언트 간의 단거리 통신 링크를 통해서 매우 높은 속도의 데이터 전송을 가능하게 하는 비용 효과적이면서 저전력 소모적인 전송 메커니즘이다.
아래에서는, MDDI의 예들이 이동 전화기의 상부 클렘셀에 포함되는 카메라 모듈에 관련하여 제공될 것이다. 그러나, 당업자에게는 카메라 모듈과 기능적으로 동일한 기능들을 갖는 임의의 모듈이 본 발명의 실시예에서 쉽게 대체되어 사용될 수 있다는 것이 자명할 것이다.
또한, 본 발명의 실시예에 따르면, MDDI 호스트는 본 발명을 사용함으로써 유리할 수 있는 몇 가지 타입들의 장치들 중 하나를 포함할 수 있다. 예컨대, 호스트는 핸드헬드, 랩톱, 또는 그와 유사한 이동 컴퓨팅 장치의 형태인 휴대용 컴퓨터일 수 있다. 상기 호스트는 또한 PDA(Personal Data Assistant), 호출 장치(paging device), 또는 많은 무선 전화기들 또는 모뎀들 중 하나일 수 있다. 대안적으로는, 상기 호스트는 휴대용 DVD나 CD 플레이어와 같은 휴대용 엔터테인먼트 또는 프리젠테이션 장치나 혹은 게임 플레잉 장치일 수 있다. 또한, 호스트는 클라이언트와의 고속 통신 링크가 요구되는 광범위하게 사용되거나 계획되는 다양한 다른 상업적인 제품들 내에 호스트 장치나 제어 엘리먼트로서 배치될 수 있다. 예컨대, 호스트는 비디오 레코딩 장치로부터 향상된 응답을 위한 저장 기반 클라이언트로 또는 프리젠테이션들을 위한 고해상도 대형 스크린으로 데이터를 높은 속도로 전송하는데 사용될 수 있다. 다른 하우스홀드 장치들로의 블루투스 접속들 및/또는 내장형 인벤터리 또는 컴퓨팅 시스템을 포함하는 냉장고와 같은 제품은 인터넷 또는 불루투스 접속 모드에서 동작할 때는 향상된 디스플레이 성능들을 가질 수 있거나, 또는 전자 컴퓨터 또는 제어 시스템들(호스트)이 다른 곳에서 캐비넷에 존재하는 동안에 인-더-도어 디스플레이들(in-the-door displays)(클라이언트) 및 키패드들 또는 스캐너들(클라이언트)에 대한 감소된 배선 필요성들을 가질 수 있다. 일반적으로, 당업자들은 매우 다양한 현대 전자 장치들 및 제품들이 이러한 인터페이스들을 사용하는 것뿐만 아니라 새롭게 추가되거나 현존하는 커넥터들 또는 케이블들을 통해 이용될 수 있는 제한된 수의 컨덕터들을 활용하여 더 높은 데이터 전송 속도의 정보 전송을 갖도록 구형 장치들을 개조하는 능력으로 인해 유리할 수 있다는 것을 알 것이다. 동시에, MDDI 클라이언트는 정보를 최종 사용자에게 제공하거나 또는 사용자로부터 호스트 장치로 정보를 제공하는데 유용한 다양한 장치들을 포함할 수 있다. 예컨대, 고글들(goggles) 또는 안경들에 통합되는 마이크로-디스플레이, 모자 또는 헬멧 내에 장착되는 프로젝션 장치, 창문 또는 전면 유리와 같은 자동차 내에 장착되는 소형 스크린 또는 심지어 입체영상 엘리먼트, 또는 고품질 사운드 또는 뮤직을 제공하기 위한 다양한 스피커, 헤드폰, 또는 사운드 시스템들. 다른 프리젠테이션 장치들은 회의나 영화들 및 텔레비전 이미지들을 위한 정보를 제공하기 위해 사용되는 프로젝터들 또는 프로젝션 장치들을 포함한다. 또 다른 예는 사용자로부터의 터치 또는 사운드 이외에 작은 실질적인 "입력"을 통해 장치 또는 시스템 사용자로부터 상당한 양의 정보를 전송하기 위해서 요청될 수 있 는 터치 패드들 또는 감응 장치들, 음성 인식 입력 장치들, 보안 스캐너들 등을 사용하는 것일 것이다. 또한, 컴퓨터들 및 자동차 키트들(car kits)을 위한 도킹 스테이션(docking station) 또는 무선 전화기들을 위한 데스크-톱 키트들 및 홀더들이 최종 사용자들 또는 다른 장치들 및 기기들로의 인터페이스 장치들로서 기능할 수 있으며, 또한 특히 고속 네트워크들이 수반되는 경우에 데이터 전송을 돕기 위해서 클라이언트들(마우스들과 같은 출력 또는 입력 장치들) 또는 호스트 장치들을 이용할 수 있다. 그러나, 당업자들이라면, 본 발명이 이러한 장치들로 제한되지 않고 또한 저장 및 전송에 있어서나 또는 재생 시의 프리젠테이션에 있어서 고품질의 이미지들 및 사운드를 최종 사용자들에게 제공하도록 의도되는 많은 다른 장치들이 시장에 나와 있으며 또한 사용하도록 제안된다는 것을 알 것이다. 본 발명은 원하는 사용자 체험을 구현하기 위해서 필요한 높은 데이터 속도들을 수용하기 위해 여러 엘리먼트들 또는 장치들 사이의 데이터 처리량을 증가시키는데 있어 유용하다.
도 1A는 디지털 장치(150) 및 주변 장치(180)에 연결되는 디지털 데이터 장치 인터페이스(100)를 도시한다. 디지털 장치(150)는 셀룰러 전화기, PDA, 스마트 폰 또는 개인용 컴퓨터를 포함할 수 있지만, 반드시 그러한 것들로만 제한되지는 않는다. 일반적으로, 디지털 장치(150)는 디지털 명령들 및 디지털 프리젠테이션 데이터의 처리를 위한 처리 유닛으로서 기능하는 임의의 타입의 디지털 장치를 포함할 수 있다. 디지털 장치(150)는 시스템 제어기(160) 및 링크 제어기(170)를 포함한다.
주변 장치(180)는 카메라, 바코드 판독기, 이미지 스캐너, 오디오 장치, 및 센서를 포함할 수 있지만, 반드시 그러한 것들로만 제한되지는 않는다. 일반적으로, 주변 장치(180)는 임의의 타입의 오디오, 비디오 또는 이미지 캡처와 디스플레이 장치들을 포함할 수 있는데, 상기 디스플레이 장치들에서는 디지털 프리젠테이션 데이터가 주변 유닛과 처리 유닛 간에 교환된다. 주변 장치(180)는 제어 블록들(190)을 포함한다. 주변 장치(180)가 예컨대 카메라일 경우, 제어 블록들(190)은 렌즈 제어부, 플래시 또는 백색 LED 제어부 및 셔터 제어부를 포함할 수 있는데, 그러나 반드시 그러한 것들로만 제한되지는 않는다. 디지털 프리젠테이션 데이터는 오디오, 이미지 및 멀티미디어 데이터를 나타내는 디지털 데이터를 포함할 수 있다.
디지털 데이터 인터페이스 장치(100)는 통신 링크(105)를 통해서 높은 속도로 디지털 프리젠테이션 데이터를 전송한다. 일실시예에서는, 최대로 초당 3.2Gbits의 대역폭을 갖는 양방향성 데이터 전송을 지원하는 MDDI 통신 링크가 사용될 수 있다. 이러한 예보다 더 높거나 더 낮은 다른 높은 속도들의 데이터 전송이 통신 링크에 따라서 지원될 수 있다. 디지털 데이터 인터페이스 장치(100)는 메시지 해석기 모듈(110), 컨텐트 모듈(120), 제어 모듈(130) 및 링크 제어기(140)를 포함한다.
디지털 데이터 인터페이스(100) 내에 배치되는 링크 제어기(140) 및 디지털 장치(150) 내에 배치되는 링크 제어기(170)가 통신 링크(105)를 형성한다. 링크 제어기(140) 및 링크 제어기(170)는 MDDI 링크 제어기들일 수 있다.
여기서 참조로서 포함되는 VESA(Video Electronics Standards Association) MDDI 표준은 휴대용 장치로 하여금 디지털 메시지들을 소형 휴대용 장치들로부터 대형 외부 디스플레이들에 전송할 수 있게 하는 고속 디지털 패킷 인터페이스의 요건들을 기재하고 있다. MDDI는 휴대용 컴퓨팅 장치, 통신 장치 및 엔터테인먼트 장치를 착용가능 마이크로 디스플레이들과 같이 최근에 생겨난 제품들에 링크시키기에 적합한 소형 커넥터 시스템 및 얇은 유동성 케이블에 적용된다. 그것은 또한 호스트 프로세서들과 디스플레이 장치 간의 접속들을 어떻게 간단하게 함으로써 비용을 감소시키고 이러한 접속들의 신뢰성을 증가시킬 수 있는 지에 대한 정보를 포함한다. 링크 제어기들(140 및 170)은 VESA MDDI 표준에 기초하여 통신 경로(105)를 형성한다.
2004년 7월 6일에 등록된 Zou 등의 미국 특허 제 6,760,772호 "Generating and Implementing a Communication Protocol and Interface for High Data Rate Signal Transfer"('772 특허")는 프리젠테이션 데이터를 위한 통신 프로토콜을 형성하기 위해서 서로 링크된 패킷 구조들을 사용하여 통신 경로를 통해 호스트 장치와 클라이언트 장치 간에 디지털 데이터를 전송하기 위한 데이터 인터페이스를 개시하고 있다. '772 특허에 개시된 발명의 실시예들은 MDDI 인터페이스에 관한 것이다. 신호 프로토콜은 링크 제어기들(140 및 170)과 같은 링크 제어기들에 의해서 사용되는데, 상기 링크 제어기들은 통신 프로토콜을 형성하는 패킷들을 생성하여 전송하고 수신하며, 또한 하나 이상의 타입들의 데이터 패킷들로 디지털 데이터를 형성하도록 구성되는데, 그 중 적어도 하나는 호스트 장치 내에 존재하며, 통신 경로(105)와 같은 통신 경로를 통해서 클라이언트에게 연결된다.
인터페이스는 단거리 "직렬" 타입 데이터 링크를 통해서 비용-효과적이면서 저전력의 양방향성 고속 데이터 전송 메커니즘을 제공하는데, 이는 소형 커넥터들 및 얇은 유동성 케이블들을 통한 구현에 적합하다. 링크 제어기들(140 및 170)의 실시예는 '772 특허의 내용에 기초하여 통신 경로(105)를 형성한다. '772 특허는 여기서 참조로서 포함된다.
다른 실시예에서, 링크 제어기들(140 및 170) 모두는 USB 링크 제어기일 수 있거나, 또는 그 둘 모두는 예컨대 MDDI 링크 제어기 및 다른 타입의 링크 제어기와 같은 제어기들의 결합체를 포함할 수 있는데, 상기 다른 타입의 링크 제어기는 예컨대 USB 링크 제어기이다. 대안적으로, 링크 제어기들(140 및 170)은 디지털 데이터 인터페이스 장치(100)와 디지털 장치(150) 사이에 확인응답 메시지를 교환하기 위한 단일 링크 및 MDDI 링크 제어기와 같은 제어기들의 결합체를 포함할 수 있다. 링크 제어기들(140 및 170)은 또한 이더넷 또는 RS-232 직렬 포트 인터페이스와 같은 다른 타입들의 인터페이스들을 지원할 수 있다. 추가적인 인터페이스들이 본 명세서의 내용에 기초하여 당업자들이 알게 될 바와 같이 지원될 수 있다.
디지털 데이터 인터페이스 장치(100) 내에서는, 메시지 해석기 모듈(110)이 시스템 제어기(160)로부터 명령들을 수신하고 통신 링크(105)를 통해 시스템 제어기(160)로 보낼 응답 메시지들을 생성하고, 명령 메시지들을 해석하며, 그 명령들의 정보 컨텐트를 디지털 데이터 인터페이스 장치(100) 내의 적절한 모듈에 라우팅한다.
컨텐트 모듈(120)은 주변 장치(180)로부터 데이터를 수신하여 저장하고, 그 데이터를 통신 링크(105)를 통해서 시스템 제어기(160)에 전송한다.
제어 모듈(130)은 메시지 해석기(110)로부터 정보를 수신하고, 그 정보를 주변 장치(180)의 제어 블록들(190)에 라우팅한다. 제어 모듈(130)은 또한 제어 블록들(190)로부터 정보를 수신할 수 있으며, 그 정보를 메시지 해석기 모듈(110)에 라우팅한다.
도 1은 MDDI 인터페이스를 사용하는 예시적인 환경을 나타내는 블록도이다. 도 1의 예에서는, 클렘셀 폰(100)의 힌지를 통해 모듈들을 상호접속시키기 위해서 MDDI가 사용된다.
도 1을 참조하면, 셀룰러 전화기(100)의 하부 클렘셀 섹션(102)은 이동국 모뎀(MSM) 기저대역 칩(104)을 포함한다. MSM(104)은 디지털 기저대역 제어기이다. 셀룰러 전화기(100)의 상부 클렘셀 섹션(114)은 액정 디스플레이(LCD) 모듈(116) 및 카메라 모듈(118)을 포함한다.
계속해서 도 1을 참조하면, MDDI 링크(110)는 카메라 모듈(118)을 MSM(104)에 접속시킨다. 통상적으로, 카메라 모듈(218) 및 MSM(204) 각각에 MDDI 링크 제어기가 통합된다. 도 1의 예에서, MDDI 호스트(122)는 카메라 모듈(112)에 통합되는 반면에, MDDI 클라이언트(106)는 MDDI 링크(110)의 MSM 측 상에 배치된다. 통상적으로, MDDI 호스트는 MDDI 링크의 마스터 제어기이다. 도 1의 예에서는, 카메라 모듈(118)로부터의 픽셀 데이터가 수신되며, MDDI 링크(110)를 통해 전송되기 이전에 MDDI 호스트(122)를 사용하여 MDDI 패킷들로 포맷된다. MDDI 클라이언트 (106)는 MDDI 패킷들을 수신하며, 카메라 모듈(118)에 의해서 생성되는 것과 동일한 포맷의 픽셀 데이터로 상기 MDDI 패킷들을 재변환한다. 다음으로, 그 픽셀 데이터는 처리를 위해서 MSM(104) 내의 적절한 블록에 전송된다.
계속해서 도 1을 참조하면, MDDI 링크(112)는 LCD 모듈(116)을 MSM(104)에 접속시킨다. 도 1의 예에서, MDDI 링크(112)는 MSM(104)에 통합된 MDDI 호스트(108)와 LCD 모듈(116)에 통합된 MDDI 클라이언트(120)를 상호접속시킨다. 도 1의 예에서, MSM(104)의 그래픽 제어기들에 의해 생성되는 이미지 데이터는 MDDI 호스트(108)에 의해 수신되고 MDDI 링크(11)를 통해 전송되기 이전에 MDDI 호스트(108)에 의해서 MDDI 패킷들로 포맷된다. MDDI 클라이언트(120)는 MDDI 패킷들을 수신하며, LCD 모듈(116)이 사용하도록 그것들을 이미지 데이터로 다시 변환한다. 통상적으로, 이미지 데이터는 LCD 디스플레이를 리프레시하기 위해서 사용되기 이전에 프레임 버퍼를 이용하여 버퍼링된다.
도 2는 도 1의 예에 따른 MDDI 링크 상호접속(112)을 나타내는 블록도이다. 위에 설명된 바와 같이, MDDI 링크(112)의 기능들 중 하나는 MSM(104)으로부터 LCD 모듈(116)로 이미지 데이터를 전송하는 것이다. 프레임 인터페이스(도 2에 미도시)는 MDDI 링크 제어기(120)를 LCD 모듈(116)의 모듈들에 접속시킨다. 마찬가지로, 다른 프레임 인터페이스(도 2에 미도시)는 MDDI 링크 제어기(108)를 MSM(104)의 적절한 모듈들에 접속시킨다. 통상적으로, MDDI 링크 제어기(108)는 MDDI 링크의 호스트 제어기를 나타내는 반면에 MDDI 링크 제어기(120)는 MDDI 링크의 클라이언트 제어기를 나타낸다. 그러나, 다른 구현들에서는 두 제어기들의 역할이 바뀔 수도 있다.
MDDI 링크(112)는 전력 신호들(210 및 211)을 위한 두 개의 배선들 이외에도 최소 4개의 배선들, 즉, 데이터 신호들(202 및 204)을 위한 두 개의 배선들과 프로브 신호들(206 및 208)을 위한 두 개의 배선들을 포함한다. 데이터 신호들(202 및 204)은 양방향성이다. 따라서, 데이터는 데이터 신호들(202 및 204)을 사용하여 어느 한 방향(호스트로부터 클라이언트로 그리고 그 반대로)으로 전송될 수 있다. 스트로브 신호들(206 및 208)은 단방향성이며, 단지 링크의 호스트 제어기에 의해서만 구동될 수 있다. 따라서, 도 2의 예에서는, 단지 호스트 제어기(108)만이 스트로브 신호들(206 및 208)을 구동시킬 수 있다.
버퍼를 업데이트하기 위한 방법 및 시스템들
위에 설명된 바와 같이, MDDI는 기저대역 프로세서{예컨대, 도 2의 MSM(104)}와 그래픽 제어기{예컨대, 도 2의 LCD 모듈(116)}를 접속시키기 위해서 사용될 수 있다. 기저대역 프로세서는 카메라 센서로부터 그래픽 제어기로 통상 수신되는 이미지 정보를 채널링하는데, 상기 그래픽 제어기는 디스플레이 이미지를 생성하기 위해서 그 이미지 정보를 이용한다. 통상적으로, 그래픽 제어기는 기저대역 프로세서로부터 수신되는 이미지 정보를 디스플레이 이미지를 생성하기 위해 사용하기 이전에 저장하기 위해서 하나 이상의 프레임 버퍼들을 이용한다. 위에 설명된 바와 같이, 이미지 찢김은 발생하는 한 문제점이다. 이는 이미지 정보가 프레임 버퍼에 기록되고 있는 속도보다 더 느리거나 더 빠른 속도로 프레임 버퍼로부터 판독되고 있을 때 발생한다. 다른 장점들 중에서도 이미지 찢김 문제를 해결 하는 버퍼 업데이트 방법들 및 시스템들이 여기서 설명될 것이다. 그러나, 본 발명에 따른 방법들 및 시스템들은 설명될 특정의 예시적인 실시예들이나 또는 MDDI 환경에서 사용되는 것으로 제한되지 않는다. 또한, 본 발명의 방법들 및 시스템들은 버퍼링을 활용하고 또한 본 발명의 장점으로 인해 유리할 수 있는 여러 다른 애플리케이션들에서 이용될 수 있다.
이미지 찢김
도 3은 버퍼로부터 판독하는 동안에 및/또는 상기 버퍼에 기록하는 동안에 발생할 수 있는 이미지 찢김의 두 가지 예들을 나타낸다. 도 3은 버퍼 위치 및 시간에 따른 판독 및 기록 포인터들의 플롯들을 나타낸다. 판독 포인터는 판독되고 있는 버퍼 내의 위치를 나타낸다. 기록 포인터는 기록되고 있는 버퍼 내의 위치를 나타낸다. 도 3의 예에서, 버퍼 위치들은 그 버퍼 내에서의 픽셀 위치를 통해 정해진다.
도 3의 첫 번째 예에서, 버퍼는 기록되는 속도보다 더 느린 속도로 판독되고 있다. 이는 판독 및 기록 포인터 라인들(302 및 304)의 상대적인 기울기로 도시되어 있다. 판독 및 기록 포인터 라인들(302 및 304)은 시간 t0에서 교차한다는 것을 주시하자. 시간 t0 이전에는, 버퍼 내의 픽셀들은 업데이트되기에 앞서 판독되고 있다. 시간 t0 이후에는, 픽셀들이 판독되기에 앞서 업데이트되고 있다. 따라서, 동일한 프레임 내에서는(시간 0부터 시간 t1까지), 위치들(0 내지 p0)(시간 t0에 판 독되는 픽셀 위치에 상응함)의 픽셀들은 버퍼에서 위치 p0부터 마지막 픽셀까지의 픽셀들에 대한 더 오래된 이미지 정보를 가지고 판독되는데, 그것들은 업데이트된 이미지 정보를 가지고 판독된다. 그 결과는 이미지의 상부 부분에 비해 더 새로운 이미지 정보를 반영하는 이미지의 하부 부분을 갖는 이미지 찢김이다.
도 3의 두 번째 예에서, 버퍼는 기록되는 속도보다 더 빠른 속도로 판독되고 있다. 이는 판독 및 기록 포인터 라인들(302 및 306)의 상대적인 기울기로 도시되어 있다. 판독 및 기록 포인터 라인들(302 및 306)은 시간 t2에서 교차한다. 시간 t2 이전에는, 버퍼 내의 픽셀들이 판독되기에 앞서 업데이트되고 있다. 시간 t2 이후에는, 픽셀들이 업데이트되기에 앞서 판독되고 있다. 따라서, 동일한 프레임 내에서는(시간 t1부터 시간 t3까지), 위치들(0 내지 p2)(시간 t2에 판독되는 픽셀 위치에 상응함)의 픽셀들은 버퍼에서 위치 p2부터 마지막 픽셀까지의 픽셀들에 대한 더 새로운 이미지 정보를 가지고 판독되는데, 그것들은 오래된 이미지 정보를 가지고 판독된다. 그 결과는 이미지의 하부 부분에 비해 더 새로운 이미지 정보를 반영하는 이미지의 상부 부분을 갖는 이미지 찢김이다.
버퍼를 업데이트하는 방법
버퍼를 전략적으로 업데이트하는 방법이 이제 제공될 것이다. 이 방법은 디스플레이와 연관된 프레임 버퍼를 업데이트하기 위해서 사용될 때 이미지 찢김을 방지한다. 이 방법은 또한 여기서 설명될 바와 같은 자명한 장점들에 기초하여 다 른 버퍼링 애플리케이션들에서도 사용될 수 있다.
도 4는 본 발명에 따라 버퍼를 업데이트하기 위한 방법을 도시하는 처리 흐름도(400)이다. 처리 흐름도(400)는 버퍼 내에서 판독 라인 위치를 결정하는 것을 포함하는 단계(410)에서 시작된다. 판독 라인 위치는 버퍼로부터 현재 판독되고 있는 라인을 나타낸다. 통상적으로, 단계(410)는 버퍼에서의 판독 라인 위치를 지시하는 판독 포인터의 값을 결정함으로써 달성된다.
단계(420)는 판독 라인 위치에 기초하여 버퍼를 적어도 업데이트하기에 안전한 제 1 섹션과 업데이트되지 않아야 하는 제 2 섹션으로 분할하는 것을 포함한다. 여기서 버퍼를 분할한다는 것은 버퍼의 물리적인 분할을 나타내는 것이 아니라 논리적인 분할을 나타내는 것이라는 점이 주시된다. 또한, 버퍼의 논리적인 분할은 고정적이지 않고, 본 명세서의 내용으로부터 알게 될 바와 같이 변할 수 있다. 버퍼의 제 1 섹션은 판독 라인 위치에 기초하여 현재의 버퍼 판독 사이클 내에 판독되어진 버퍼의 라인들을 포함한다. 제 1 섹션은 또한 판독 라인 위치에 기초하여 업데이트될 수 있는 버퍼의 라인들을 포함한다. 즉, 제 1 섹션은 컨텐트가 방금 판독되어진 라인들을 포함하거나, 또는 버퍼 판독 속도 및 버퍼 기록 속도에 기초하여 판독 라인 위치가 라인들에 도달하기 이전에 업데이트될 수 있는 상기 라인들을 포함한다. 버퍼 판독 속도 및 버퍼 기록 속도에 기초하여 판독 라인 위치가 라인들에 도달하기 이전에는 업데이트될 수 없는 상기 라인들은 버퍼의 제 2 섹션에 속한다. 즉, 버퍼의 제 1 섹션의 라인들은 자신들이 판독되어야 하기 이전에 업데이트하기에 충분한 시간이 존재하지 않는 라인들이다. 따라서, 버퍼의 제 2 섹션 의 라인들은 버퍼의 마지막 판독 사이클 동안에 업데이트되어야 한다.
단계(430)는 판독 라인 위치에 기초하여 제 2 섹션을 따르는 제 1 섹션의 라인에 데이터를 기록함으로써 버퍼를 업데이트하는 것을 포함한다. 통상적으로, 버퍼는 위에 설명된 바와 같이 업데이트하기에 안전하고 이미 버퍼의 마지막 판독 사이클 동안에 판독되어진 위치에서 업데이트된다. 일 실시예에서, 단계(430)는 제 2 섹션의 마지막 라인을 즉시 따르는 제 1 섹션의 라인에 데이터를 기록하는 것을 포함한다. 당업자에게 자명해질 바와 같이, 단계(430)의 다른 변형들이 또한 본 명세서에 기재된 내용들에 기초하여 가능할 수 있다.
예의 도시
도 5는 도 4와 관련하여 위에서 설명된 방법을 도시하는 예를 제공한다. 도 5는 버퍼(500)를 판독하는 3가지 예들(A, B, 및 C)을 나타낸다. 단순히 도시를 위해서, 버퍼(500)는 352개의 데이터 라인들을 구비하는 것으로 도시되어 있다. 판독 포인터(510)는 버퍼에서의 판독 라인 위치를 나타낸다. 로마 숫자 "Ⅰ"가 표시된 섹션들은 위에 설명된 바와 같은 버퍼의 제 1 섹션에 속하는 라인들을 나타낸다. 로마 숫자 "Ⅱ"가 표시된 섹션들은 위에 설명된 바와 같은 버퍼의 제 2 섹션에 속하는 라인들을 나타낸다.
예(A)에서, 음영 영역 "Ⅰ"는 버퍼의 현재 판독 사이클 동안에 이미 판독되어진 버퍼의 제 1 섹션의 라인들을 나타낸다. 이 예에서, 이러한 영역은 라인들(1 내지 m-1)을 포함한다. 판독 포인터(510)는 라인(m)이 현재 판독되고 있다는 것을 알려준다. 따라서, 예(A)에서의 영역 "Ⅱ"은 판독 포인터(510)의 현재 위치에 기 초하여 업데이트될 수 없는 버퍼(500)의 라인들을 나타낸다. 즉, 판독 포인터(510)의 현재 위치와 버퍼에 대한 판독 및 기록 속도들에 기초하여 영역 "Ⅱ"에서 라인들을 업데이트하기에 충분한 시간이 존재하지 않는다. 버퍼의 제 1 섹션은 또한 영역 "Ⅱ" 아래에 영역 "Ⅰ"를 포함한다는 것을 주시하자. 이 영역 "Ⅰ"은 업데이트하기에 안전한 것으로서 제 1 섹션에 속하지만, 버퍼의 현재 판독 사이클 동안에 판독되지 않았다면 업데이트되지 않아야 한다. 비음영 영역 "Ⅰ"을 판독하기에 앞서 업데이트하는 것은 도 3에 기재된 바와 같은 이미지 찢김을 초래할 것인데, 도 3에서는 이미지의 상부 부분이 이미지의 하부 부분에 비해 더 오래된 이미지 정보를 반영한다.
예(B)에서, 음영 영역은 버퍼의 현재 판독 사이클 동안에 이미 판독되어진 버퍼의 라인들을 나타낸다. 이 예에서, 이 영역은 라인들(1 내지 351)을 포함한다. 판독 포인터(510)는 라인(352)이 현재 판독되고 있다는 것을 나타낸다. 따라서, 예(B)에서의 영역 "Ⅱ" 은 현재의 판독 라인 위치에 기초하여 업데이트되어야 하는 라인들을 나타낸다. 영역 "Ⅱ" 의 라인들은 현재의 판독 라인 위치와 버퍼에 대한 판독 및 기록 속도들에 기초하여 업데이트될 수 없으며, 위의 설명에 기초하여 버퍼의 제 2 섹션에 속한다. 영역 "Ⅰ"의 라인들은 버퍼의 제 1 섹션에 속하며, 업데이트하기에 안전하다. 버퍼를 업데이트하기 위해서, 기록은 영역 "Ⅰ"에서 시작된다. 데이터는 영역 "Ⅱ"에 바로 후속하는 영역 "Ⅰ"의 라인에 기록될 수 있다. 이는 예(B)에서 라인(m)에 상응한다.
예(C)는 예(B)에 제시된 시나리오 이후의 시나리오를 나타낸다. 예(C)에서, 판독 포인터(510)는 버퍼의 라인(m)을 감싸고 판독하고 있다. 따라서, 버퍼에서 판독 포인터에 선행하는 라인들은 버퍼의 제 1 섹션에 속하며, 업데이트될 수 있다. 영역 "Ⅱ" 내의 라인들은 현재의 판독 라인 위치에 기초하여 버퍼에 대한 마지막 기록 사이클 동안에 업데이트되어야 한다. 영역 "Ⅱ" 내의 라인들은 업데이트될 수 없으며, 위에 설명된 바와 같이 버퍼의 제 2 섹션에 속한다. 즉, 영역 "Ⅱ" 내의 라인들은 판독되어야 하기 이전에 업데이트될 충분한 시간이 없기 때문에 판독 라인 위치에 기초하여 업데이트된 정보를 포함해야 한다. 음영 영역 "Ⅰ"은 업데이트하기에 안전한 버퍼의 제 1 섹션의 라인들을 나타내지만, 라인들이 버퍼의 마지막 판독 사이클 동안에 판독되지 않은 경우에는 업데이트되지 않아야 한다.
버퍼 판독/기록 전략들
버퍼 업데이트에 관련된 이미지 찢김 또는 그와 같은 문제점들을 막기 위한 버퍼 판독/기록 전략들이 여기서 설명된다. 본 발명에 따른 버퍼 업데이트 전략들은 또한 일반적으로 채용되는 "더블 버퍼링" 기술에 대한 필요성을 제거한다. 대신에, 단일 버퍼가 사용되고, 이는 구현 비용 및 공간 절감 모두를 유도한다. 본 발명은 여기서 설명된 예시적인 전략들로 제한되지 않고, 당업자들에게 자명한 변형들이 본 발명의 범위 내에 있는 것으로 또한 간주된다.
도 6A 및 도 6B는 본 발명에 따른 예시적인 버퍼 판독/기록 전략들을 나타낸다. 도 6A 및 도 6B는 버퍼 위치 및 시간에 따라 판독 포인터(612) 및 기록 포인터들(614 및 616)의 플롯들을 나타낸다. 도 6A 및 도 6B의 예들에서는, 버퍼 위치가 버퍼 내에서의 픽셀 위치를 통해 정해지는데, 이는 예컨대 라인 번호와 같은 어 떤 다른 방법의 버퍼 위치로 동일하게 대체될 수 있다.
도 6A를 참조하면, 버퍼의 두 판독 사이클들 동안에 걸친 예시적인 버퍼 판독/기록 전략이 도시되어 있다. 시간 0 내지 시간 t1인 제 1 판독 사이클에서는, 버퍼의 제 1 절반이 업데이트되고, 반면에 전체적인 버퍼 컨텐트가 판독된다. 시간 t1 내지 시간 t2인 버퍼의 제 2 판독 사이클에서는, 버퍼의 제 2 절반이 업데이트되고, 반면에 전체적인 버퍼 컨텐트가 판독된다. 버퍼의 제 1 절반은, 제 2 판독 사이클 동안에, 제 1 판독 사이클 동안에 버퍼에 기록되어진 업데이트된 정보를 포함한다는 것을 주시하자. 버퍼의 제 2 절반은, 제 2 판독 사이클 동안에, 상기 제 2 판독 사이클에 걸쳐 시간적으로 판독 포인터(612)에 선행하는 기록 포인터(614)에 의해서 도시된 바와 같이 판독되기 이전에 업데이트된다. 따라서, 두 판독 사이클들 동안에, 버퍼로부터 판독되는 데이터는 버퍼의 동일한 업데이트 사이클에 속하고, 어떠한 이미지 찢김도 발생하지 않는다.
도 6B는 버퍼의 두 판독 사이클들 동안의 다른 예시적인 버퍼 판독/기록 전략을 나타낸다. 제 1 판독 사이클 동안에는, 버퍼의 제 1 절반이 시간 t0 내지 시간 t1에 업데이트된다. 제 2 판독 사이클 동안에는, 버퍼의 제 2 절반이 시간 t1 내지 시간 t2에 업데이트된다. 버퍼에 기록하는 것은 제 1 사이클 동안에 시간 t0에서 시작함으로써 그 제 1 사이클 동안에 전체적인 버퍼는 초기 정보 컨텐트가 판독되며 기록 처리로 인한 업데이트된 컨텐트는 판독되지 않는다는 것을 주시하자. 다른 한편으로, 버퍼에 기록하는 것은 제 2 사이클 동안에 시간 t2에서 종료함으로써 그 제 2 사이클 동안에 전체적인 버퍼는 판독될 때 업데이트된 정보 컨텐트를 포함한다. 이는 제 2 판독 사이클 동안에 시간적으로 판독 포인터(612)에 선행하는 기록 포인터(616)에 의해서 도시되어 있다. 따라서, 이미지 찢김은 도 6B의 예에서 두 판독 사이클들 동안에 발생하지 않을 것이다.
통신 링크를 통한 버퍼 업데이트
본 발명에 따라 버퍼를 업데이트하기 위한 방법들 및 시스템들이 다양한 애플리케이션에서 사용될 수 있다. 한 애플리케이션에서는, 위에 설명된 바와 같이, 버퍼 업데이트 해결방법이 디스플레이와 연관된 프레임 버퍼를 업데이트하기 위해서 사용될 수 있다. 다른 애플리케이션에서는, 버퍼가 원격으로 업데이트되는데, 여기서는 버퍼가 제 1 프로세서에 의해서 기록되며 제 2 프로세서에 의해서 판독되고, 상기 제 1 및 제 2 프로세서들은 통신 링크를 통해서 통신한다. 일예로, 제 1 및 제 2 프로세서들은 도 2에 도시된 바와 같이 MDDI 링크를 통해서 통신하는 MSM 기저대역 프로세서 및 LCD 모듈을 각각 나타낸다. 특정 애플리케이션에서는, 제 1 및 제 2 프로세서들 간의 동기화가 필요할 것이다.
통신 링크를 통해 버퍼를 업데이트할 수 있도록 하기 위한 동기화와 관련된 방법들 및 시스템들이 이제 제공될 것이다. 본 명세서의 내용에 기초하여 당업자들이 알게 될 바와 같이, 제공될 방법들 및 시스템들의 특정 양상들이 일반적으로 동기화 문제들에 적용될 수 있을 것이고, 원격 버퍼 업데이트를 가능하게 하기 위 한 동기화로 제한되지 않는다.
일 양상에서, 제 1 및 제 2 프로세서들 간의 동기화는 제 2 프로세서에서 제 2 이벤트에 의해 트리거되는 제 1 프로세서에서 제 1 이벤트를 스케줄링하는 것을 포함한다. 이는 통상적으로 제 2 이벤트가 제 2 프로세서에서 발생할 때마다 제 1 프로세서에서 제 1 이벤트를 야기하는 인터럽트의 트리거링을 가능하게 하기 위해서 레지스터에 기록함으로써 이루어진다. 예컨대, 버퍼가 제 1 프로세서에 의해서 업데이트되고 제 2 프로세서에 의해서 판독되는 원격 버퍼 업데이트 애플리케이션에서, 제 1 이벤트는 버퍼에 기록하는 것을 시작할 필요성을 나타낼 수 있고, 반면에 제 2 이벤트는 판독 포인터가 버퍼의 완전한 판독 사이클을 종료했다는 것을 나타낼 수 있다. 다음으로, 제 2 이벤트는 버퍼 내의 판독 라인 위치에 기초하여 제 2 프로세서에서 트리거될 수 있다.
다른 양상에서는, 통신 링크를 통해 동기화 정보를 전달하는 방법이 제공된다. 이 방법들은 예컨대 위에서 설명된 바와 같이 버퍼 업데이트와 관련된 동기화 정보를 중계하기 위해서 이용될 수 있다. 도 7은 제 1 프로세서와 제 2 프로세서 간의 상기 통신 링크가 하이버네이션 모드(hibernation mode)에 있을 때 상기 통신 링크를 통해서 타이밍 정보를 교환하기 위한 방법을 나타내는 처리 흐름도(700)이다. 처리 흐름도(700)는 단계(710)에서 시작하고, 상기 단계(710)는 타이밍 정보를 제 2 프로세서에 전달하기 위해 제 1 프로세서에서 시간 이벤트를 스케줄링하는 것을 포함한다. 시간 이벤트는 특정 애플리케이션에 의해 요구될 때의 주기적인 이벤트일 수 있다. 예컨대, 버퍼 업데이트 애플리케이션의 경우에는, 시간 이벤트 가 버퍼 내의 판독 라인 위치에 관련될 수 있다.
단계(720)는 시간 이벤트의 발생 시에 제 1 프로세서에 의한 링크 웨이크업을 개시하는 것을 포함한다. 예컨대, MDDI 링크를 통한 버퍼 업데이트의 경우에(여기서, MDDI 클라이언트는 상호접속의 LCD 모듈 측에 위치함), MDDI 클라이언트는 버퍼가 업데이트되어야 한다는 것을 MDDI 호스트에 통보하기 위해서 데이터 신호를 논리 '1'로 유도함으로써 링크 웨이크업을 개시할 수 있다.
이어서, 단계(730)는 제 2 프로세서(예컨대, MDDI 상호접속의 MSM 측에 있는 MDDI 호스트)에서 링크 웨이크업을 검출하는 것과, 전달되고 있는 타이밍 정보에 대해 제 1 및 제 2 프로세서들을 동기시키기 위해서 검출된 링크 웨이크업 타이밍을 사용하는 것을 포함한다. 예컨대, MDDI 링크를 통한 버퍼 업데이트의 경우에, MDDI 호스트는 MDDI 클라이언트에 의한 링크 웨이크업을 검출하였을 때, 버퍼 업데이트 시작 시간에 대해 MDDI 클라이언트와 자신을 동기시킬 수 있다.
도 7에 설명된 방법은 통신 링크를 통해 임의의 종류의 타이밍 정보를 전달하도록 확장되지만 버퍼 업데이트 동기화를 위한 것으로 제한되지 않는다는 것을 당업자라면 본 명세서의 내용에 기초하여 알 수 있다. 이러한 방법의 장점들은 링크를 간단히 웨이크업시킴으로써 정보를 전달하고 링크를 절감하는 것이다.
도 8은 MDDI 상호접속을 통해 타이밍 정보를 전달하기 위해서 링크 웨이크업을 개시하기 위한 예시적인 타이밍도(800)를 나타낸다. 예컨대, MDDI 상호접속은 이를테면 MSM에 위치한 MDDI 호스트와 LCD 모듈에 위치한 MDDI 클라이언트를 갖는 도 2를 참조하여 상술된 것일 수 있다. 따라서, MDDI 클라이언트는 버퍼 업데이트 정보를 MDDI 호스트에 전달하기 위해서 링크 웨이크업을 개시할 것이고, 이어서 LCD 모듈에 위치한 버퍼를 리프레시하기 시작할 것이다. 도 8의 예에서, vsync_wake 신호(802)는 vsync 신호(806)에 기초하여 호스트에서 웨이크업을 가능하게 하기 위해서 MDDI 호스트에 있는 레지스터에 기록된 값을 나타낸다. 호스트에서의 웨이크업은 vsync_wake(802)의 값이 '하이'일 때마다 발생한다. Vsync 신호(806)는 신호 "vertical sync"의 값을 나타내는데, 이는 클라이언트에서 발생하며 버퍼 업데이트 시간과 관련된다. 예컨대, vsync(806)는 판독 포인터가 래핑(wrap)하고 버퍼의 처음부터 판독할 때마다 '하이'가 된다. Link_active 신호(804)는 MDDI 상호접속의 데이터 신호가 활성 상태인지 또는 하이버네이션 상태인지 여부를 나타낸다. Mddi_client_wakeup 신호(808)는 웨이크업하기 위해 vsync(806)에 응답하는 클라이언트에서의 신호를 나타낸다.
도 8의 예에서, vsync_wake(802)는 시간 A에서 호스트에서 설정된다. 시간 B에서는, MDDI 링크가 하이버네이션 모드로 들어간다. 시간 C에서, vsync(806)는 버퍼가 호스트에 의해서 리프레시될 필요가 있다는 것을 나타내도록 '하이'로 된다. 그 결과, mddi_client_wakeup(808)은 링크 웨이크업을 개시하기 위해서 클라이언트를 웨이크업시키도록 '하이'로 된다. 클라이언트는 상호접속의 데이터 신호를 유도함으로써 링크 웨이크업을 개시하고, 링크는 시간 D에 활성된다. 이어서, vsync_wake(802) 및 mddi_client_wakeup은 제로로 복귀하고, 호스트는 링크 웨이크업을 검출하며, 클라이언트에 있는 버퍼를 리프레시하기 시작한다.
결론
비록 본 발명에 대한 다양한 실시예들이 위에서 설명되었지만, 상기 실시예들은 단지 예로서 제공되었을 뿐 제한을 위해 제공되지 않았다는 것을 알아야 한다. 형태 및 세부사항에 있어 여러 변경들이 본 발명의 사상 및 범위를 벗어나지 않고 이루어질 수 있다는 것이 당업자에게는 자명할 것이다. 따라서, 본 발명의 범위 및 범주는 위에 설명된 예시적인 실시예들 중 어느 것에 의해서도 제한되지 않아야 하며, 아래의 청구항들 및 그들의 등가물에 따라서만 정해져야 한다.

Claims (19)

  1. 다수의 라인들을 구비하는 버퍼를 업데이트하기 위한 방법으로서,
    (a) 버퍼 내에서 판독 라인 위치를 결정하는 단계 - 상기 판독 라인 위치는 버퍼로부터 현재 판독되고 있는 라인을 나타냄 -;
    (b) 상기 판독 라인 위치에 기초해서 상기 버퍼를 업데이트하기에 안전한 제 1 섹션 및 업데이트되지 않아야 하는 제 2 섹션으로 분할하는 단계; 및
    (c) 상기 판독 라인 위치에 기초해서 상기 제 2 섹션에 후속하는 상기 제 1 섹션의 라인에, 상기 버퍼를 업데이트하기 위해서 데이터를 기록하는 단계를 포함하는,
    버퍼 업데이트 방법.
  2. 제 1항에 있어서, 상기 판독 라인 위치는 판독 포인터 값을 결정함으로써 결정되는, 버퍼 업데이트 방법.
  3. 제 1항에 있어서, 상기 버퍼의 제 1 섹션은,
    (ⅰ) 버퍼의 마지막 판독 사이클 내에 판독되어진 버퍼의 라인들; 및
    (ⅱ) 판독 라인 위치에 기초하여 업데이트될 수 있는 버퍼의 라인들
    중 적어도 하나를 포함하는, 버퍼 업데이트 방법.
  4. 상기 (ⅱ)는 버퍼 판독 속도 및 버퍼 기록 속도에 기초하여 판독 라인 위치가 버퍼의 라인들에 도달하기 이전에 업데이트될 수 있는 상기 버퍼의 라인들을 더 포함하는, 버퍼 업데이트 방법.
  5. 제 1항에 있어서, 상기 버퍼의 제 2 섹션은 버퍼 판독 속도 및 버퍼 기록 속도에 기초하여 판독 라인 위치가 버퍼의 라인들에 도달하기 이전에 업데이트될 수 없는 상기 버퍼의 라인들을 포함하는, 버퍼 업데이트 방법.
  6. 제 5항에 있어서, 상기 버퍼의 제 2 섹션은 버퍼의 마지막 판독 사이클 동안에 업데이트되어야 하는 라인들을 더 포함하는, 버퍼 업데이트 방법.
  7. 제 1항에 있어서, 상기 버퍼는 제 1 프로세서에 의해서 기록되며 제 2 프로세서에 의해서 판독되는, 버퍼 업데이트 방법.
  8. 제 7항에 있어서, 상기 제 1 및 제 2 프로세서들은 통신 링크를 통해서 원격으로 통신하는, 버퍼 업데이트 방법.
  9. 제 8항에 있어서, 상기 제 1 프로세서는 상기 제 2 프로세서에서의 제 2 이벤트에 의해서 트리거되는 상기 제 1 프로세서에서의 제 1 이벤트에 기초하여 버퍼를 업데이트하는, 버퍼 업데이트 방법.
  10. 제 9항에 있어서,
    (d) 상기 제 2 이벤트에 기초하여 상기 제 1 이벤트를 야기하는 인터럽트의 트리거링을 가능하게 하기 위해서 레지스터에 기록함으로써 상기 제 1 이벤트를 스케줄링하는 단계; 및
    (e) 버퍼의 판독 라인 위치에 기초하여 제 2 프로세서에서의 제 2 이벤트를 트리거시키는 단계를 포함하는, 버퍼 업데이트 방법.
  11. 제 10항에 있어서, 상기 제 1 이벤트는 통신 링크가 하이버네이션 모드(hibernation mode)에 있을 때 링크 웨이크업 이벤트를 나타내는, 버퍼 업데이트 방법.
  12. 제 8항에 있어서, 상기 제 1 및 제 2 프로세서들은 MDDI(Mobile Display Digital Interface) 링크의 호스트 및 클라이언트 제어기들을 나타내는, 버퍼 업데이트 방법.
  13. 제 9항에 있어서, 제 1 제어기는 MSM(Mobile Station Modem) 기저대역 프로세서를 나타내고, 제 2 제어기는 LCD 제어기를 나타내는, 버퍼 업데이트 방법.
  14. 제 13항에 있어서, 상기 버퍼는 LCD 디스플레이를 리프레시하기 위해 사용되 는 프레임 버퍼를 나타내는, 버퍼 업데이트 방법.
  15. 제 14항에 있어서, 디스플레이에서의 이미지 찢김(image tearing)이 실질적으로 방지되는, 버퍼 업데이트 방법.
  16. 제 1 프로세서 및 제 2 프로세서 간의 통신 링크를 통해서 타이밍 정보를 전달하기 위한 방법으로서,
    상기 통신 링크는 하이버네이션 모드(hibernation mode)에 있고,
    상기 방법은,
    타이밍 정보를 상기 제 2 프로세서에 전달하기 위해서 상기 제 1 프로세서에서 시간 이벤트를 스케줄링하는 단계;
    상기 시간 이벤트가 발생했을 때 상기 제 1 프로세서에 의해서 링크 웨이크업을 개시하는 단계; 및
    상기 제 2 프로세서에서 링크 웨이크업을 검출하고, 전달된 타이밍 정보에 대해 상기 제 1 및 제 2 프로세서들을 동기시키기 위해서 상기 검출된 링크 웨이크업 타이밍을 사용하는 단계를 포함하는,
    타이밍 정보 전달 방법.
  17. 제 16항에 있어서, 상기 통신 링크는 MDDI(Mobile Display Digital Interface) 링크를 나타내는, 타이밍 정보 전달 방법.
  18. 제 17항에 있어서, 상기 제 1 및 제 2 프로세서들은 MDDI 클라이언트 및 MDDI 호스트를 각각 나타내는, 타이밍 정보 전달 방법.
  19. 제 18항에 있어서, 상기 타이밍 정보는 MDDI 링크를 통해 제어되는 디스플레이와 연관된 버퍼 리프레시 시간을 나타내는, 타이밍 정보 전달 방법.
KR1020077013826A 2004-11-24 2005-11-23 버퍼를 업데이트하기 위한 방법들 및 시스템들 KR100908148B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63085304P 2004-11-24 2004-11-24
US60/630,853 2004-11-24
PCT/US2005/042413 WO2006058051A2 (en) 2004-11-24 2005-11-23 Methods and systems for updating a buffer

Publications (2)

Publication Number Publication Date
KR20070086398A true KR20070086398A (ko) 2007-08-27
KR100908148B1 KR100908148B1 (ko) 2009-07-16

Family

ID=36498488

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020077013827A KR100898078B1 (ko) 2004-11-24 2005-11-23 통신 링크를 통해 명령들을 동시적으로 실행하기 위한방법들 및 시스템들
KR1020077013824A KR100910073B1 (ko) 2004-11-24 2005-11-23 더블 데이터 속도 직렬 인코더
KR1020077013826A KR100908148B1 (ko) 2004-11-24 2005-11-23 버퍼를 업데이트하기 위한 방법들 및 시스템들

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020077013827A KR100898078B1 (ko) 2004-11-24 2005-11-23 통신 링크를 통해 명령들을 동시적으로 실행하기 위한방법들 및 시스템들
KR1020077013824A KR100910073B1 (ko) 2004-11-24 2005-11-23 더블 데이터 속도 직렬 인코더

Country Status (9)

Country Link
EP (5) EP2503719A3 (ko)
JP (9) JP4669008B2 (ko)
KR (3) KR100898078B1 (ko)
CN (8) CN101103532B (ko)
AU (4) AU2005309686B2 (ko)
BR (1) BRPI0518262B1 (ko)
CA (4) CA2588702C (ko)
IL (3) IL183412A0 (ko)
WO (3) WO2006058052A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100875839B1 (ko) 2007-04-19 2008-12-24 주식회사 코아로직 영상 찢김의 방지가 가능한 영상 출력 장치 및 방법

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
ATE509459T1 (de) 2003-06-02 2011-05-15 Qualcomm Inc Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten
US8705571B2 (en) 2003-08-13 2014-04-22 Qualcomm Incorporated Signal interface for higher data rates
CA2538308C (en) 2003-09-10 2013-05-14 Qualcomm Incorporated High data rate interface
JP2007509533A (ja) 2003-10-15 2007-04-12 クゥアルコム・インコーポレイテッド 高速データレートインタフェース
AU2004307162A1 (en) 2003-10-29 2005-05-12 Qualcomm Incorporated High data rate interface
KR20060108709A (ko) 2003-11-12 2006-10-18 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트인터페이스
EP2247068B1 (en) 2003-12-08 2013-09-25 Qualcomm Incorporated High data rate interface with improved link synchronization
EP2309695A1 (en) 2004-03-10 2011-04-13 Qualcomm Incorporated High data rate interface apparatus and method
KR20060130749A (ko) 2004-03-17 2006-12-19 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
ATE518343T1 (de) 2004-06-04 2011-08-15 Qualcomm Inc Schnittstellenvorrichtung und -verfahren für hohe datenraten
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
KR100930270B1 (ko) * 2004-11-24 2009-12-09 콸콤 인코포레이티드 디지털 데이터 인터페이스 디바이스 메시지 포맷을 가지는 메시지 데이터가 저장된 컴퓨터-판독가능한 매체 및 그 디지털 데이터 인터페이스 디바이스
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
US8994877B2 (en) 2008-07-30 2015-03-31 Semiconductor Components Industries, Llc Method and system for synchronizing a flash to an imager
EP2449550B1 (en) 2009-06-30 2020-03-25 Nokia Technologies Oy Method and apparatus for providing mobile device interoperability
US8823719B2 (en) * 2010-05-13 2014-09-02 Mediatek Inc. Graphics processing method applied to a plurality of buffers and graphics processing apparatus thereof
US8488055B2 (en) 2010-09-30 2013-07-16 Apple Inc. Flash synchronization using image sensor interface timing signal
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
JP2014052552A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP2014052902A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP2014052548A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP2014052551A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP6199070B2 (ja) 2013-04-26 2017-09-20 シャープ株式会社 メモリ制御装置、および携帯端末
US10129016B2 (en) * 2013-11-18 2018-11-13 Finisar Corporation Data serializer
US9690955B2 (en) * 2014-06-18 2017-06-27 Texas Instruments Incorporated Tunneling messages over an USB to control power delivery
TWI637268B (zh) * 2017-03-22 2018-10-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
DE102017208826A1 (de) * 2017-05-24 2018-11-29 Wago Verwaltungsgesellschaft Mbh Eingebettete zyklische Redundanzprüfungswerte
US11288193B2 (en) * 2019-05-06 2022-03-29 Cirrus Logic, Inc. Flexible, non-blocking asynchronous transfer of time-variant atomic data
EP4202707A4 (en) * 2020-09-17 2023-08-23 Huawei Technologies Co., Ltd. COMMUNICATION METHOD AND APPARATUS USING AN INTER-INTEGRATED CIRCUIT
CN116830464A (zh) 2021-02-08 2023-09-29 三星电子株式会社 用于管理用户设备能力的电子装置及其操作方法
CN113422738B (zh) * 2021-05-18 2023-07-21 上海赫千电子科技有限公司 一种智能主机的mcu通信服务方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US586750A (en) * 1897-07-20 Idshh
US4042783A (en) * 1976-08-11 1977-08-16 International Business Machines Corporation Method and apparatus for byte and frame synchronization on a loop system coupling a CPU channel to bulk storage devices
US4393444A (en) * 1980-11-06 1983-07-12 Rca Corporation Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories
JPS648731A (en) * 1987-06-30 1989-01-12 Sharp Kk Digital parallel/serial converter
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5111455A (en) * 1990-08-24 1992-05-05 Avantek, Inc. Interleaved time-division multiplexor with phase-compensated frequency doublers
GB2250668B (en) * 1990-11-21 1994-07-20 Apple Computer Tear-free updates of computer graphical output displays
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5418452A (en) * 1993-03-25 1995-05-23 Fujitsu Limited Apparatus for testing integrated circuits using time division multiplexing
JP3197679B2 (ja) * 1993-04-30 2001-08-13 富士写真フイルム株式会社 写真撮影システムおよび方法
WO1995001609A1 (fr) * 1993-06-30 1995-01-12 Sega Enterprises, Ltd. Procede et dispositif de traitment d'images
JPH07115352A (ja) * 1993-10-19 1995-05-02 Ricoh Co Ltd マルチプレクサ
JP3462566B2 (ja) * 1994-04-08 2003-11-05 株式会社ソニー・コンピュータエンタテインメント 画像生成装置
FR2729528A1 (fr) * 1995-01-13 1996-07-19 Suisse Electronique Microtech Circuit de multiplexage
TW316965B (ko) * 1995-10-31 1997-10-01 Cirrus Logic Inc
JPH09270951A (ja) * 1996-03-29 1997-10-14 Sony Corp 撮像装置
JPH09307457A (ja) * 1996-05-14 1997-11-28 Sony Corp パラレルシリアル変換回路
WO1997048226A1 (fr) * 1996-06-11 1997-12-18 Sony Corporation Dispositif de prise de vues et son unite de commande
EP0840279A3 (en) * 1996-11-05 1998-07-22 Compaq Computer Corporation Method and apparatus for presenting video on a display monitor associated with a computer
DE19733005B4 (de) * 1997-03-12 2007-06-21 Storz Endoskop Gmbh Einrichtung zur zentralen Überwachung und/oder Steuerung wenigstens eines Gerätes
JPH11249987A (ja) * 1998-03-05 1999-09-17 Nec Corp メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
US6272452B1 (en) * 1998-04-02 2001-08-07 Ati Technologies, Inc. Universal asynchronous receiver transmitter (UART) emulation stage for modem communication
JP3792894B2 (ja) * 1998-05-27 2006-07-05 キヤノン株式会社 固体撮像素子及び固体撮像装置
US6850282B1 (en) * 1998-06-02 2005-02-01 Canon Kabushiki Kaisha Remote control of image sensing apparatus
JP3475081B2 (ja) * 1998-06-03 2003-12-08 三洋電機株式会社 立体映像再生方法
WO2000027079A1 (en) * 1998-10-30 2000-05-11 Broadcom Corporation Internet gigabit ethernet transmitter architecture
US6252526B1 (en) * 1998-12-14 2001-06-26 Seiko Epson Corporation Circuit and method for fast parallel data strobe encoding
JP3557975B2 (ja) * 1998-12-14 2004-08-25 セイコーエプソン株式会社 信号切り替え回路及び信号切り替え方法
WO2001037484A2 (en) * 1999-11-16 2001-05-25 Broadcom Corporation Serializing data using hazard-free multilevel glitchless multiplexing
US6804257B1 (en) * 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams
KR100371136B1 (ko) * 1999-12-10 2003-02-07 주식회사 케이티 이중포트메모리를 사용한 메시지 버퍼 풀 감지 및 관리 방법
JP2001320280A (ja) * 2000-05-10 2001-11-16 Mitsubishi Electric Corp 並列−直列変換回路
US6760722B1 (en) * 2000-05-16 2004-07-06 International Business Machines Corporation Computer implemented automated remote support
US6529993B1 (en) * 2000-10-12 2003-03-04 International Business Machines Corp. Data and data strobe circuits and operating protocol for double data rate memories
FI115802B (fi) * 2000-12-04 2005-07-15 Nokia Corp Kuvakehyksien päivittäminen muistillisessa näytössä
GB2397733B (en) * 2000-12-06 2004-10-06 Fujitsu Ltd Clock recovery circuitry
RU2003121400A (ru) * 2000-12-15 2005-02-10 Квэлкомм Инкорпорейтед (US) Формирование и реализация протокола обмена данными и интерфейса для пересылки сигналов с высокой скоростью передачи данных
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
JP2002359774A (ja) * 2001-03-30 2002-12-13 Fuji Photo Film Co Ltd 電子カメラ
US7420602B2 (en) * 2001-05-29 2008-09-02 Samsung Semiconductor Israel R&D Center (Sirc) Cmos imager for cellular applications and methods of using such
KR100408525B1 (ko) * 2001-10-31 2003-12-06 삼성전자주식회사 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법
US6891545B2 (en) * 2001-11-20 2005-05-10 Koninklijke Philips Electronics N.V. Color burst queue for a shared memory controller in a color sequential display system
TWI235917B (en) * 2002-04-15 2005-07-11 Via Tech Inc High speed data transmitter and transmission method thereof
US6886067B2 (en) * 2002-05-23 2005-04-26 Seiko Epson Corporation 32 Bit generic asynchronous bus interface using read/write strobe byte enables
JP2003098583A (ja) * 2002-06-10 2003-04-03 Nikon Corp 書換え可能なメモリを使用するカメラ
KR100469427B1 (ko) * 2002-06-24 2005-02-02 엘지전자 주식회사 이동통신 시스템의 동영상 재생 방법
EP1546798A1 (en) * 2002-09-13 2005-06-29 Digimarc ID Systems, LLC Enhanced shadow reduction system and related techniques for digital image capture
JP3642332B2 (ja) * 2002-12-20 2005-04-27 松下電器産業株式会社 折り畳み式携帯電話装置
JP4119764B2 (ja) * 2003-02-13 2008-07-16 京セラ株式会社 カメラ付き携帯端末
JP2004252102A (ja) * 2003-02-19 2004-09-09 Seiko Epson Corp 画像表示装置、画像表示方法および画像表示プログラム
JP4112414B2 (ja) * 2003-03-28 2008-07-02 京セラ株式会社 携帯端末装置
JP2004309623A (ja) * 2003-04-03 2004-11-04 Konica Minolta Opto Inc 撮像装置及び携帯端末並びに撮像装置製造方法
US7477604B2 (en) * 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
CN100524451C (zh) * 2004-01-28 2009-08-05 Nxp股份有限公司 用于矩阵显示器的显示方法及显示系统
KR20060130749A (ko) * 2004-03-17 2006-12-19 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
KR100624311B1 (ko) * 2004-08-30 2006-09-19 삼성에스디아이 주식회사 프레임 메모리 제어 방법 및 그것을 이용한 표시 장치
US7315265B2 (en) * 2004-11-24 2008-01-01 Qualcomm Incorporated Double data rate serial encoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100875839B1 (ko) 2007-04-19 2008-12-24 주식회사 코아로직 영상 찢김의 방지가 가능한 영상 출력 장치 및 방법

Also Published As

Publication number Publication date
IL183412A0 (en) 2008-04-13
EP1825350A4 (en) 2011-03-23
AU2010202381A1 (en) 2010-07-01
CN101103568A (zh) 2008-01-09
CN101103569B (zh) 2012-05-23
JP4669008B2 (ja) 2011-04-13
WO2006058051A2 (en) 2006-06-01
IL183402A0 (en) 2007-09-20
CN101103568B (zh) 2012-05-30
WO2006058053A3 (en) 2007-02-22
IL183408A0 (en) 2007-09-20
CN101103532B (zh) 2012-03-28
CN101103532A (zh) 2008-01-09
JP2010259079A (ja) 2010-11-11
JP5485009B2 (ja) 2014-05-07
CN102045157B (zh) 2013-08-21
CA2588702C (en) 2012-01-03
CA2588715C (en) 2011-12-13
CN101103326B (zh) 2012-02-15
KR100910073B1 (ko) 2009-07-30
EP2479920A3 (en) 2012-09-05
EP1825350A2 (en) 2007-08-29
AU2005309686B2 (en) 2010-07-01
CN101103569A (zh) 2008-01-09
KR20070086396A (ko) 2007-08-27
EP2479920A2 (en) 2012-07-25
WO2006058053A9 (en) 2006-08-10
KR100908148B1 (ko) 2009-07-16
AU2005309687A1 (en) 2006-06-01
BRPI0518262A2 (pt) 2008-11-11
CA2588716A1 (en) 2006-06-01
CA2588715A1 (en) 2006-06-01
KR100898078B1 (ko) 2009-05-18
AU2005309687B2 (en) 2009-11-19
BRPI0518262B1 (pt) 2018-05-08
JP2008522285A (ja) 2008-06-26
CN101103326A (zh) 2008-01-09
JP2010273338A (ja) 2010-12-02
CA2588702A1 (en) 2006-06-01
WO2006058053A2 (en) 2006-06-01
JP4960253B2 (ja) 2012-06-27
CN101444027B (zh) 2013-03-20
JP5044004B2 (ja) 2012-10-10
EP1815625A2 (en) 2007-08-08
JP5059936B2 (ja) 2012-10-31
CN101103543A (zh) 2008-01-09
JP2008522496A (ja) 2008-06-26
JP5166617B2 (ja) 2013-03-21
JP2011109683A (ja) 2011-06-02
CA2671560A1 (en) 2006-06-01
KR20070086399A (ko) 2007-08-27
EP1815625A4 (en) 2010-12-29
WO2006058051A3 (en) 2008-10-30
EP1815626B1 (en) 2018-09-12
EP1815625B1 (en) 2016-07-20
EP1815626A4 (en) 2011-09-21
EP2503719A3 (en) 2012-10-24
EP2503719A2 (en) 2012-09-26
CN102045157A (zh) 2011-05-04
JP2013153487A (ja) 2013-08-08
CN101444027A (zh) 2009-05-27
WO2006058052A2 (en) 2006-06-01
CA2588716C (en) 2010-05-18
CN101449255A (zh) 2009-06-03
CN101103543B (zh) 2016-01-20
CN101449255B (zh) 2011-08-31
JP2008522495A (ja) 2008-06-26
WO2006058052A3 (en) 2007-07-26
AU2005309686A1 (en) 2006-06-01
EP1815626A2 (en) 2007-08-08
JP2012165388A (ja) 2012-08-30
JP2011041290A (ja) 2011-02-24
AU2010200617A1 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
KR100908148B1 (ko) 버퍼를 업데이트하기 위한 방법들 및 시스템들
US8692838B2 (en) Methods and systems for updating a buffer
US8692839B2 (en) Methods and systems for updating a buffer
KR100923170B1 (ko) 디지털 데이터 인터페이스 장치
US20060161691A1 (en) Methods and systems for synchronous execution of commands across a communication link
TWI389511B (zh) 用以更新緩衝器之方法及系統
MX2007006198A (en) Methods and systems for updating a buffer
TWI376114B (en) Methods and systems for synchronous execution of commands across a communication link

Legal Events

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

Payment date: 20130628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 10