KR101160740B1 - 초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체 - Google Patents

초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체 Download PDF

Info

Publication number
KR101160740B1
KR101160740B1 KR1020097027469A KR20097027469A KR101160740B1 KR 101160740 B1 KR101160740 B1 KR 101160740B1 KR 1020097027469 A KR1020097027469 A KR 1020097027469A KR 20097027469 A KR20097027469 A KR 20097027469A KR 101160740 B1 KR101160740 B1 KR 101160740B1
Authority
KR
South Korea
Prior art keywords
frames
frame
partitions
buffer
tiles
Prior art date
Application number
KR1020097027469A
Other languages
English (en)
Other versions
KR20100028066A (ko
Inventor
프레드 에스. 스티버스
페릭스 씨. 페르만데즈
시드니 비. 쥬니어 슈럼
매튜 비. 쇼마케
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20100028066A publication Critical patent/KR20100028066A/ko
Application granted granted Critical
Publication of KR101160740B1 publication Critical patent/KR101160740B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/23Bit dropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/128Frame memory using a Synchronous Dynamic RAM [SDRAM]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • 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/10Use of a protocol of communication by packets 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
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information

Landscapes

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

Abstract

초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법 및 컴퓨터-판독가능 매체가 제공된다. 임시 서브-샘플링 루틴은 RF 링크를 통해 싱크로 전송될 프레임들 수 또는 그것들의 일부들을 제한한다. 임시 서브-샘플링 루틴은 프레임들이 버려지는 레이트를 규정하는 고정되거나 정적인 서브-샘플링 레이트를 가질 수 있다. 다른 실시예에 따르면, 자동적인 임시 서브-샘플링 메커니즘이 제공된다. 또한, RF 링크의 스루풋을 감소시키기 위한 타일 복사 메커니즘이 구현될 수 있다. WDV 서브시스템은 여기서 설명되는 임시 서브-샘플링 및 타일 복사 루틴들을 용이하게 하는 외부 프레임 버퍼로의 인터페이스를 포함할 수 있다.

Description

초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체{SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR REDUCING REQUIRED THROUGHPUT IN AN ULTRA-WIDEBAND SYSTEM}
본 발명은 초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체에 관한 것이다.
초광대역(UWB)은 500MHz 또는 중심 주파수의 25%보다 큰 대역폭을 갖는 기술을 포함한다. 당대의 관심사항은 여러 계산 및 미디어 시스템들에서 USB-적응형 장치들의 확산으로 인한 UWB 전송 레이트들을 가능하게 하는 USB(universal serial bus)와 같은 무선 버전들의 시리얼 기술들(serial technologies)을 개발하는 것에 있다.
여기서 간단히 소스로 지칭되는 컨텐트 소스는 랩톱 시스템, 텔레비전 또는 다른 미디어 프로그래밍을 수신하도록 적응되는 셋톱 박스, DVD 플레이어, 또는 여기서 간단히 싱크로 지칭되는 컨텐트 싱크에 컨텐트를 전송하거나 그렇지않으면 전달하도록 적응되는 임의의 다른 장치와 같은 컴퓨터 시스템을 포함할 수 있다. 싱크는, 예컨대 LCD 디스플레이 장치, 플라즈마 디스플레이 패널, 스피커들, 하드드라이브, 프린터, 또는 연결된 통신 링크를 상호 종료하는 소스로부터 수신되는 컨 텐트를 출력하거나 그렇지않으면 활용하도록 적응되는 다른 장치를 포함할 수 있다.
본발명은 광대역 시스템(ultra-wideband system)에서 프레임들을 버퍼링하는 방법을 제공하는데, 상기 방법은 서브-샘플링 레이트 N을 설정하는 단계; 싱크(sink)에 전송하기 위한 프레임들의 시퀀스를 수신하는 단계; 버려질 상기 프레임들의 시퀀스의 N-1개의 프레임들을 스케줄링하는 단계; 및 상기 싱크에 전송하기 위한 상기 프레임들의 시퀀스의 나머지 프레임 중 일부를 적어도 버퍼링하는 단계를 포함한다.
본 발명은 초광대역 시스템에서 프레임들을 버퍼링하는 방법을 제공하는데, 상기 방법은 첫번째 프레임을 제 1의 다수(M)의 타일들로 분할하는 단계; 두번째 프레임을 제 2의 다수(M)의 타일들로 분할하는 단계 - 상기 제 2의 다수(M)의 타일들 각각은 상기 제 1의 다수(M)의 타일들 중 하나에 각각 상응함 -; 상기 제 2의 다수(M)의 타일들 각각을 상기 제 1의 다수(M)의 타일들 중 상응하는 타일과 비교하는 단계; 및 상기 제 1의 다수(M)의 타일들 중 상응하는 타일과 상이하지 않은 것으로 결정되는 상기 제 2의 다수(M)의 타일들 중 임의의 타일을 버리는 단계를 포함한다.
본 발명은 초광대역 시스템에서 디스플레이를 위한 프레임들을 버퍼링하는 방법을 제공하는데, 상기 방법은 다수의 타일들로 분할된 첫번째 프레임의 첫번째 타일을 수신하는 단계; 상기 첫번째 타일을 제 1 버퍼에 기록하는 단계; 다수의 타일들로 분할된 두번째 프레임의 두번째 타일을 수신하는 단계 - 상기 첫번째 타일은 상기 첫번째 프레임의 첫번째 픽셀 라인을 적어도 포함하고, 상기 두번째 타일은 상기 두번째 프레임의 두번째 픽셀 라인을 적어도 포함하며, 상기 첫번째 라인과 상기 두번째 라인은 상이함 -; 상기 두번째 타일을 제 2 버퍼에 기록하는 단계; 및 공통 프레임에서 디스플레이를 위한 상기 첫번째 타일 및 상기 두번째 타일을 지시하는 단계를 포함한다.
본 발명은 처리 시스템에 의해 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 매체를 제공하는데, 초광대역 시스템에서 프레임들을 버퍼링하기 위한 상기 컴퓨터-실행가능 명령들은 서브-샘플링 레이트 N을 설정하는 명령들; 싱크에 전송하기 위한 프레임들의 시퀀스를 수신하는 명령들; 버려질 상기 프레임들의 시퀀스의 N-1개의 프레임들을 스케줄링하는 명령들; 및 상기 싱크에 전송하기 위한 상기 프레임들의 시퀀스의 나머지 프레임 중 일부를 적어도 버퍼링하는 명령들을 포함한다.
본 발명은 처리 시스템에 의해 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 매체를 제공하는데, 초광대역 시스템에서 프레임들을 버퍼링하기 위한 상기 컴퓨터-실행가능 명령들은 첫번째 프레임을 제 1의 다수(M)의 타일들로 분할하는 명령들; 두번째 프레임을 제 2의 다수(M)의 타일들로 분할하는 명령들 - 상기 제 2의 다수(M)의 타일들 각각은 상기 제 1의 다수(M)의 타일들 중 하나에 각각 상응함 -; 상기 제 2의 다수(M)의 타일들 각각을 상기 제 1의 다수(M)의 타일들 중 상응하는 타일과 비교하는 명령들; 및 상기 제 1의 다수(M)의 타일들 중 상응하는 타일과 상이하지 않은 것으로 결정되는 상기 제 2의 다수(M)의 타일들 중 임의의 타일을 버리는 명령들을 포함한다.
본 발명은 처리 시스템에 의해 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 매체를 제공하는데, 초광대역 시스템에서 디스플레이를 위한 프레임들을 버퍼링하기 위한 상기 컴퓨터-실행가능 명령들은 다수의 타일들로 분할된 첫번째 프레임의 첫번째 타일을 수신하는 명령들; 상기 첫번째 타일을 제 1 버퍼에 기록하는 명령들; 다수의 타일들로 분할된 두번째 프레임의 두번째 타일을 수신하는 명령들 - 상기 첫번째 타일은 상기 첫번째 프레임의 첫번째 픽셀 라인을 적어도 포함하고, 상기 두번째 타일은 상기 두번째 프레임의 두번째 픽셀 라인을 적어도 포함하며, 상기 첫번째 라인과 상기 두번째 라인은 상이함 -; 상기 두번째 타일을 제 2 버퍼에 기록하는 명령들; 및 공통 프레임에서 디스플레이를 위한 상기 첫번째 타일 및 상기 두번째 타일을 지시하는 명령들을 포함한다.
본 발명의 양상들은 첨부 도면과 함께 검토될 때 아래의 더 상세한 설명으로부터 가장 잘 이해된다.
도 1은 여기서 설명되는 실시예들이 구현될 수 있는 초광대역 시스템에 대한 개략도이다.
도 2는 실시예에 따라 구현될 때 무선 디지털 비디오 서브시스템에 대한 개략도이다.
도 3은 여기서 설명되는 실시예들이 구현될 수 있는 예시적인 데이터 처리 시스템에 대한 개략도이다.
도 4는 실시예에 따라 구현되는 싱크를 포함할 수 있는 디스플레이 장치에 대한 개략도이다.
도 5는 실시예에 따라 구현되는 예시적인 고정적인 임시 서브-샘플링 루틴에 대한 개략도이다.
도 6은 실시예에 따라 구현되는 고정적인 임시 서브-샘플링 루틴의 처리과정을 나타내는 흐름도이다.
도 7은 실시예에 따른 고정 및 자동적인 서브-샘플링 양쪽 모두를 특징으로 하는 예시적인 임시 서브-샘플링 루틴을 나타내는 흐름도이다.
도 8은 실시예에 따른 처리과정을 위해 프레임들이 다수의 타일들(tiles)로 분할되는 프레임 시퀀스에 대한 개략도이다.
도 9는 실시예에 따라 구현되는 고정 및 자동적인 타일-기반 임시 서브-샘플링 루틴을 특징으로 하는 프레임 버퍼링 시퀀스에 대한 개략도이다.
도 10은 실시예에 따른 타일-기반의 고정 및 자동적인 임시 서브-샘플링을 특징으로 하는 임시 서브-샘플링 루틴의 처리과정을 나타내는 흐름도이다.
도 11은 실시예에 따라 구현되는 싱크 버퍼 구성에 대한 개략도이다.
도 12A 내지 도 12E는 실시예에 따라, 수신되는 프레임들의 구성요소인 타일들을 지시하기 위해 싱크에 의해서 유지되는 예시적인 버퍼 포인터들에 대한 개략도이다.
도 13은 실시예에 따라 싱크에서 구현되는 타일 복사 루틴의 처리과정을 나 타내는 흐름도이다.
아래의 설명은 여러 실시예들의 상이한 특징들을 구현하기 위한 많은 상이한 실시예들이나 예들을 제공한다는 것을 알게 될 것이다. 컴포넌트들 및 어레인지먼트(arrangements)에 대한 특정 예들이 본 발명을 간략화하기 위해 아래에서 설명된다. 물론, 이들은 단순히 예들이며, 본 발명을 제한하도록 의도되지는 않는다. 또한, 본 발명은 여러 예들에서 참조번호들 및/또는 문자들을 반복할 수 있다. 이러한 반복은 간략성 및 명확성을 위한 것이며, 설명되는 여러 실시예들 및/또는 구성들 간의 관계를 본질적으로 지시하지는 않는다.
도 1은 여기서 설명되는 실시예들이 구현될 수 있는 UWB 시스템(100)에 대한 개략도이다. 소스(110)는 계산 장치, 셋톱 장치, 또는 다른 적절한 장치와 같은 컨텐트 발신기(112)를 포함할 수 있다. 소스(110)는 소스 트랜시버(116)를 구비하거나 혹은 그 소스 트랜시버(116)와 연결되는 WDV(Wireless Digital Video) 서브시스템(114)을 포함할 수 있거나 또는 그 WDV 서브시스템(114)과 인터페이싱할 수 있다.
발신기(112)는 예컨대 RGB 또는 YUV 비디오 컨텐트와 같이 비압축되거나 원시적인(raw) 컨텐트를 WDV 서브시스템(114)에 전송할 수 있다. WDV 서브시스템은 원시 컨텐트를 압축하고 패킷화할 수 있으며, 압축된 컨텐트를 소스 트랜시버(116)에 전송할 수 있다. 소스 트랜시버(116)는 RF 링크(130)를 통해서 싱크(120)에 통신가능하도록 연결되도록 적응되며, 그럼으로써 압축된 컨텐트를 싱크 트랜시 버(122)에 전송할 수 있고, 이어서 그 싱크 트랜시버(122)는 그 압축된 컨텐트를 WDV 서브시스템(124)에 전달한다. WDV 서브시스템(124)은 비디오 컨텐트를 디캡슐화하고 압축해제하도록 적응되고, 그로인해서 비압축된 비디오 컨텐트의 출력을 위한 싱크 디스플레이 장치(126)로 전송될 수 있는 원시 컨텐트를 생성한다. 실시예에 따르면, 소스(110)는 압축된 프레임 데이터를 저장하기 위한 외부 SDRAM(synchronous dynamic random access memory) 버퍼(118)를 지원하기 위해서 SDRAM 인터페이스(117)를 선택적으로 포함할 수 있다. 유사한 방식으로, 싱크(120)의 WDV 서브시스템(124)은 압축된 프레임 데이터를 저장하기 위한 외부 SDRAM 버퍼(128)를 지원하기 위해서 SDRAM 인터페이스(127)를 포함할 수 있다.
도 2는 실시예에 따라 구현되는 WDV 서브시스템(114)의 개략도이다. WDV 서브시스템(124)도 유사하게 구현될 수 있다. WDV 서브시스템(114)은 비디오 입력과 연결될 수 있는 구성가능한 비디오 인터페이스(CVI)(202)를 포함할 수 있고, 그 비디오 입력을 통해서 CVI(202)는 예컨대 발신기(112)로부터 원시 컨텐트를 수신할 수 있다. 예컨대, CVI(202)의 비디오 입력은 컴퓨터의 그래픽 카드 또는 칩의 비디오 출력이나 또는 셋톱 박스의 비디오 출력과 연결될 수 있다. 서브시스템(114)이 싱크의 WDV 서브시스템으로서 구성될 때, CVI(202)는 비디오 출력과 연결될 수 있고, 그 비디오 출력을 통해 CVI(202)는 예컨대 디스플레이 장치(126)에 원시 컨텐트를 출력할 수 있다. 예컨대, CVI(202)의 비디오 출력은 컴퓨터의 그래픽 카드 또는 칩의 비디오 입력이나 또는 디스플레이 장치(126)를 구동시키는 셋톱 박스의 비디오 입력과 연결될 수 있다. CVI(202)에 의해 수신되는 비디오 컨텐트는 24-비 트 RGB 또는 YUV 픽셀 데이터와 같은 비압축된 형태일 수 있다. CVI(202)는 WDV 서브시스템(114)에서 독립적으로 처리되는 타일들로서 여기서 지칭되는 비디오 프레임 서브세트들로 그 수신된 비디오 컨텐트를 분할할 수 있다. 타일은 프레임의 N개의 연속적인 라인들을 포함하고, 다수(N)의 타일들은 비디오 프레임을 구성한다. 타일에 있는 라인들의 수(N) 및 그에 따른 프레임마다의 타일들의 수(M)는 CVI(202)에서 구성가능할 수 있다.
원시 데이터가 RGB 픽셀 데이터와 같은 CVI(202)에 의해서 수신되는 경우, CVI(202)는 비디오 컨텐트의 개선된 압축을 용이하게 할 목적으로 RGB 데이터를 YUV 데이터로 변환하기 위해서 데이터를 컬러 변환(CT) 모듈(204)로 전달할 수 있다. 이어서, 크로미넌스(chrominance) 컴포넌트들, 즉, UV 데이터가 서브-샘플링을 위한 저역 통과 필터(LPF)(206)에 전달될 수 있다. 원시 데이터가 YUV 데이터와 같이 CVI(202)에 의해 수신되는 경우, 그 YUV 데이터는 CVI(202)에 의해서 분할될 수 있고 LPF(206)에 직접 전달될 수 있다. 이어서, 루마(luma)(Y) 및 크로미넌스 컴포넌트들을 포함하는 픽셀 데이터가 저역-통과, 대역-통과, 및 고역-통과 필터들을 포함하는 웨이블릿 변환(wavelet transform)(WT) 모듈(208)에 전달될 수 있고, 그럼으로써 각각의 개별적인 YUV 컴포넌트를 위한 저역-통과, 대역-통과, 및 고역-통과 서브-대역들을 생성할 수 있다. 이어서, 9개의 서브대역들이 RAM(random access memory)(214)이나 다른 적절한 메모리 컴포넌트에 기록될 수 있고, 거기서 상기 서브대역들은 양자화(QT) 모듈(220)에 의해 판독되어 양자화되는데, 예컨대 우측으로 시프트된다. 비디오 레이트 제어기(VRC)가 데이터에 대한 가 변적인 비트 레이트들을 제공하기 위해 WT(108) 및 RAM(214 및 218)과 인터페이싱할 수 있다. 이어서, 양자화된 데이터는 외부 SDRAM(228)에 프레임들을 버퍼링하기 위해 외부 SDRAM 제어기(226)와 인터페이싱하는 산술 코더(AC:arithmetic coder)(222)에 제공되어 인코딩될 수 있다. 실시예에 따르면, 프레임들로부터 분할된 타일들은, 패킷화된 데이터를 아비터(236)를 경유하여 트랜시버(238)를 통해서 전송하기 이전에 실시예에 따라 프레임들 및/또는 프레임 타일들을 패킷화하기 위한 패킷화기(234)에 연결된 재동기화 선입선출(FIFO) 큐(230)로 타일들을 전달하기에 앞서서, SDRAM(228)에 버퍼링될 수 있다.
실시예에 따르면, 순환 중복 검사(CRC) 기능이 타일마다에 기초하여 CRC를 수행하기 위해 배치될 수 있다. 예컨대, CRC 기능(210)이 원시 타일 비디오 데이터에 대해 CRC를 수행할 수 있거나, CRC 기능(210)이 대안적으로는 웨이블릿 변환된 데이터의 CRC 값들을 계산하기 위해 WT(208)의 출력에 배치될 수 있다. 타일마다에 기초하여 수행되는 CRC 계산은 이후로 더 충분하게 설명되는 바와 같은 실시예에 따라 구현된 타일 복사 메커니즘을 용이하게 한다.
복귀 경로 상에서, 패킷화된 데이터는 트랜시버에 의해 수신되고, 아비터(236)를 통해 패킷화기(234)에 전달되며, 패킷화기(234)에 의해서 디패킷화될 수 있다. 이어서, 디패킷화된 데이터는 데이터를 SDRAM(228)에 기록할 수 있는 재동기화 FIFO 큐(232)로 전달될 수 있다. AC(222)는 SDRAM 버퍼(228)에서 인코딩된 데이터를 디코딩할 수 있다. 이어서, 디코딩된 데이터는 QT(220), WT(208), 및 CT(204)를 통해 압축해제될 수 있고, 그 CT(204)에서 그 데이터는 원시 데이터로서 CVI(202)에 제공된다. 이어서, CVI(202)는 그 CVI(202)와 연결된 출력 포트를 통해서 디스플레이 장치 또는 다른 싱크에 원시 데이터를 제공할 수 있다.
도 3은 여기서 설명된 실시예들이 구현될 수 있는 도 1에 도시된 발신기(108)와 같은 예시적인 데이터 처리 시스템(300)에 대한 개략도이다.
여기서 설명된 실시예들의 처리들을 구현하는 코드 또는 명령들이 시스템(300)에 의해서 위치결정되거나 액세스될 수 있다. 대안적인 실시예에서, 시스템(300)은, 비록 ISA(Industry Standard Architecture)와 같은 다른 버스 구조들이 사용될 수 있을지라도, PCI 로컬 버스 구조를 이용한다. 프로세서 시스템(302) 및 메인 메모리(306)가 PCI 브리지(304)를 통해 PCI 로컬 버스(308)에 접속된다. PCI 브리지(304)는 또한 프로세서(302)를 위한 집적 메모리 제어기 및 캐시 메모리를 포함할 수 있다. PCI 로컬 버스(308)로의 추가적인 접속들이 직접적인 컴포넌트 상호접속을 통해서나 또는 애드-인 접속기들(add-in connectors)을 통해서 이루어질 수 있다. 도시된 예에서는, SCSI(small computer system interface) 호스트 버스 어댑터(310), 확장 버스 인터페이스(312), 마우스 어댑터(314), 및 키보드 어댑터(316)가 직접적인 컴포넌트 접속에 의해서 PCI 로컬 버스(308)에 접속된다. 대조적으로, 그래픽 어댑터(318) 및 NIC(320)는 확장 슬롯들에 삽입된 애드-인 보드들(add-in boards)에 의해서 확장 버스 인터페이스(312)를 통해 PCI 로컬 버스(308)에 접속된다. NIC(320)는 도 1에 도시된 시스템(100)의 다른 장치들과 콘솔(112)을 접속시키기 위한 인터페이스를 제공한다. 확장 버스 인터페이스(312)는 여러 주변 장치들에 대한 접속을 제공한다. SCSI 호스트 버스 어댑터(310)는 하드 디스크 드라이브(322) 및 CD-ROM 드라이브(324)에 대한 접속을 제공한다. 통상적인 PCI 로컬 버스 구현들이 다수의 PCI 확장 슬롯들 또는 애드-인 접속기들을 제공할 수 있다.
실시예에 따르면, WDV 칩(330)이 시스템(300)에 배치될 수 있는데, 그 WDV 칩(330)은 비디오와 같은 비압축되거나 원시적인 컨텐트를 그 WDV 칩(330)으로부터 수신하기 위한 그래픽 어댑터(320)와 통신가능하게 연결되고, 싱크로의 전송을 위한 원시 컨텐트를 압축하도록 적응될 수 있다. WDV 칩(330)은 도 2에 도시된 것과 유사한 WDV 서브시스템을 제공하며, 기저대역 물리 층(PHY), 매체 액세스 제어(MAC) 엔진, 고속 보안 프로세서 및 서비스 품질(QoS) 관리기를 결합하는 CMOS 집적 회로(IC), 및 USB(universal serial bus) 서브시스템을 제공하는 다양한 호스트 인터페이스로서 구현될 수 있다. WDV 칩(330)은 압축된 컨텐트의 무선 전송 및 수신을 위해 트랜시버(332)에 연결되는 출력을 구비할 수 있다. 트랜시버(332)는 무선 주파수(RF) 트랜시버를 제공하는 칩으로서 구현될 수 있다. WDV 칩(330) 및 트랜시버(332)는 선택적으로 공통 IC 상에 배치될 수 있고, 함께 온-실리콘(on-silicon) UWB 서브시스템을 제공할 수 있다.
운영 시스템은 프로세서(302) 상에서 실행되고, 시스템(300) 내의 여러 컴포넌트들의 제어를 조정하고 제공하기 위해 사용된다. 운영 시스템 및 애플리케이션들 또는 프로그램들을 위한 명령들이 하드디스크 드라이브(322)와 같은 저장 장치들 상에 위치되고, 프로세서(302)에 의한 실행을 위해서 메인 메모리(306)에 로딩될 수 있다.
여기서 설명된 실시예들에 따르면, 라디오 주파수 링크를 통한 비디오 또는 다른 컨텐트의 전송에 필요한 스루풋이 바람직하게 호스트 장치의 WDV 서브시스템에 구현된 메커니즘들에 의해서 감소된다. 한 구현에 있어서, RF 링크를 통해 싱크로 전송될 프레임들의 수 또는 이들의 일부들을 제한하는 임시 서브-샘플링 루틴이 설명된다. 다른 실시예들에 있어서는, RF 링크의 스루풋을 감소시키기 위한 타일 복사 메커니즘이 구현될 수 있다.
도 4는 실시예에 따라 구현되는 싱크를 포함할 수 있는 디스플레이 장치(400)에 대한 개략도이다. 디스플레이 장치(400)는 액정 디스플레이(LCD), 플라즈마 디스플레이 패널, 음극선관, 또는 다른 적절한 디스플레이 장치와 같은 디스플레이(410)를 구비한다. 본 예에서, 디스플레이 장치(400)는 LCD 디스플레이 장치를 포함한다. 따라서, 디스플레이 장치(400)는 디스플레이 제어기(440)에 의해서 제어되는 광 소스(420) 및 LCD 전극들(430)을 포함할 수 있다. 디스플레이 제어기(440)는 디지털 비디오 입력(DVI)과 같은 입력(450)을 통해 비디오 신호를 수신하는데, 그 비디오 신호는 그것에 의해서 디코딩되며, 그 제어기(440)는 광 소스(420) 및 LCD 전극들(430)을 적절히 구동시킨다.
실시예에 따르면, 디스플레이 장치(400)는 WDV 칩(470) 및 트랜시버 칩(480)을 포함하는 WDV 서브시스템(460)과 적응될 수 있다. WDV 서브시스템(460)은 도 2에 도시되고 설명된 것과 유사한 방식으로 구현될 수 있다. 다른 구현들에 있어서, WDV 칩(470) 및 트랜시버 칩(480)은 공통 칩 상에 배치될 수 있다. 설명을 위한 예에서, WDV 서브시스템(460)은 DVI 입력(450)을 통해 디스플레이 장치(400)와 인터페이싱한다. 따라서, WDV 서브시스템(460)은 DVI 입력(450)과 연결하기 위한 대응가능한(mateable) 인터페이스를 포함하는 섀시(chasis) 또는 다른 패키지로 제작될 수 있다. 다른 실시예들에서, WDV 서브시스템(460)은 디스플레이 장치(400) 내에 제작될 수 있다.
동작 중에, WDV 서브시스템(460)은 RF 링크를 통해서, 도 3에 도시된 시스템(300)과 같은 소스로부터 트랜시버 칩(480)을 통해 압축되고 인캡슐화된 비디오 컨텐트를 수신한다. WDV 칩(470)은 원시 비디오 신호를 생성하기 위해서 수신된 컨텐트를 디캡슐화하고 압축해제하며, 이어서 그 원시 비디오 신호는 아래에서 더 충분히 설명되는 실시예들에 따라 디스플레이(410) 상에서의 컨텐트 출력을 위해 DVI 입력(450)을 통해서 디스플레이 제어기(440)로 전송된다.
실시예에 따르면, 소스 및 싱크에 의해 종료되는 RF 링크를 통해서 전송되는 데이터의 양을 감소시키기 위한 메커니즘들이 제공된다. 일실시예에 있어서, 임시 서브-샘플링 루틴은 프레임들이 버려지는 레이트를 규정하는 고정되거나 정적인 서브-샘플링 레이트를 가질 수 있다. 예컨대, 서브-샘플링 레이트 N는 N개의 수신된 프레임들 중 하나가 인코딩되어 링크를 통해 전송되고 나머지 N-1개의 프레임들은 버려지도록 규정한다. 서브-샘플링 레이트는 구성가능할 수 있다. 다른 실시예에 따르면, 자동적인 임시 서브-샘플링 메커니즘이 제공된다. 이러한 구현에 있어서, 예컨대 SDRAM 버퍼(228)와 같은 소스측 외부 프레임 버퍼는 자신이 새롭게 수신되는 프레임을 위한 용량을 갖는지를 결정하기 위해서 프레임의 수신 시에 평가될 수 있다. 그 프레임 버퍼가 새롭게 수신되는 프레임을 버퍼링하기에 불충분한 용량을 갖는 경우, 그 새롭게 수신되는 프레임은 자동적으로 버려질 수 있다. 실시예에서는, 고정적인 서브-샘플링 및 자동적인 서브-샘플링을 포함하는 서브-샘플링이 제공된다. 자동적인 서브-샘플링은 이용가능한 무선 스루풋에 기초하여 고정적인 서브-샘플링 레이트를 효과적으로 증가시킨다.
도 5는 실시예에 따라 구현되는 예시적인 임시 서브-샘플링(TSS) 루틴에 대한 개략도이다. 설명을 위한 예는 소스 버퍼 용량(510)을 "충만(Full)" 또는 "비-충만(Not Full)"의 세로좌표로서 나타내는데, 여기서 "비-충만"인 버퍼 용량은 버퍼 용량이 프레임(또는 그것의 압축된 버전)을 저장하기에 충분히 큰 버퍼 용량을 나타내고, "충만"인 버퍼 용량은 프레임(또는 그것의 압축된 버전)을 저장하기에 충분하지 않은 버퍼 용량을 나타낸다. 버퍼 용량은 처리하기 위한 프레임의 수신 시에 평가될 수 있다. 버퍼 용량이 "비-충만"으로서 평가되는 경우, 수신되는 프레임은 인코딩되고 버퍼링될 수 있다. 버퍼 용량이 "충만"으로서 평가되는 경우, 수신되는 프레임은 버리질 수 있다. 프레임들(520-530)의 시퀀스가 무선 링크를 통한 싱크로의 전송을 위해 처리되도록 시간 기간 t에 걸쳐 수신된다.
소스가 N=2의 고정적인 서브-샘플링 레이트를 갖도록 구성된다고 가정하자. 즉, 소스는 모든 다른 수신되는 프레임을 인코딩하여 싱크로 전송하도록 구성되는데, 선택적인 프레임들은 소스측에서 버려지거나 그렇지않으면 무시된다. 따라서, N=2의 고정적인 임시 서브-샘플링 레이트에 따라, 프레임들(520 및 524)은 전송을 위해 버퍼링되는 반면에, 인접한 프레임들(522 및 526)은 버려지거나 그렇지않으면 무시된다(점선들로 예시적으로 표시된 바와 같이).
설명을 위한 예에서, 프레임 버퍼의 용량은 시간 t1에 버퍼 용량(510)으로 표시된 바와 같이, 프레임(520)의 수신 및 버퍼링 시에 다른 프레임을 저장하는데 필요한 용량 아래로 감소된다. 버퍼 용량은 프레임(들)이 버퍼로부터 판독될 때 증가되고, 시간 t2에 다른 프레임을 버퍼링하는데 충분한 용량으로 돌아간다. 유사한 방식으로, 프레임 버퍼의 용량은 프레임(524)의 수신 및 버퍼링 시에 다른 프레임을 저장하는데 필요한 용량 아래로 감소된다. 이러한 경우, 버퍼 용량은 시간 t5까지 다른 프레임을 버퍼링하는데 충분한 용량으로 돌아가지 않는다. 그러나, 버퍼 용량이 다른 프레임을 저장하기에 충분하지 않은 시간 t4에 프레임(528)의 수신이 개시된다. 특히, 이러한 경우에, 프레임(528)은 고정적인 임시 서브-샘플링 레이트에 따라 버려지도록 스케줄링되지 않는다. 실시예에 따르면, 자동적인 임시 서브-샘플링이 프레임의 수신 시에 버퍼 용량(510)을 평가할 수 있다. 버퍼 용량이 수신되는 프레임을 저장하기에 충분하지 않은 것으로서 평가되는 경우, 프레임은 자동적으로 버려질 수 있다. 따라서, 본 예의 경우, 프레임(528)은 프레임(528)의 수신이 개시되는 시간 t4에 프레임을 저장하기에는 버퍼 용량이 충분하지 않다는 결정에 기초하여 버려진다. 프레임(530)은 고정적인 임시 서브-샘플링 레이트에 따라 버퍼링될 수 있는데, 그 이유는 버퍼 용량이 시간 t5에 충분한 용량으로 돌아가기 때문이다.
도 6은 실시예에 따라 구현되는 고정적인 임시 서브-샘플링 루틴의 처리를 나타내는 흐름도(600)이다. 그 고정적인 임시 서브-샘플링 루틴은 예컨대 시스템 소스 상에 배치되는 WDV 서브-시스템의 도 2에 도시된 CVI(202)에 포함된 로직에 의해서 구현될 수 있다. 서브-샘플링 루틴은 인보크되고(단계 602), 서브-샘플링 레이트 N가 판독된다(단계 604). 서브-샘플링 레이트는 N개의 수신되는 프레임들 중 하나가 인코딩되어 싱크로의 전송을 위해 버퍼링되는 반면에 나머지 N-1개의 수신되는 프레임들은 버려지거나 그렇지않으면 무시되도록 규정한다. 이어서, 카운터 변수 i가 서브-샘플링 레이트 N로 설정될 수 있다(단계 606). 이어서, 서브-샘플링 루틴은 프레임(i)의 수신을 기다릴 수 있다(단계 608). 프레임(i)의 수신 시에, 카운터 변수 i가 서브-샘플링 레이트 N과 동일한지를 결정하기 위해서 평가가 이루어질 수 있다(단계 610). 카운터 변수 i가 서브-샘플링 레이트 N과 동일하지 않은 경우, 현재 프레임(i)은 버려지거나 그렇지않으면 무시될 수 있고(단계 612), 서브-샘플링 루틴이 카운터 변수를 감분시키기 시작할 수 있다(단계 616). 단계(610)로 다시 돌아가서, 카운터 변수가 서브-샘플링 레이트와 동일한 경우, 현재 프레임(i)은 인코딩되어 버퍼링되고(단계 614), 그런 이후에 카운터 변수가 단계(616)에 따라 감분될 수 있다.
카운터 변수가 단계(616)에 따라 감분된 이후에, 서브-샘플링 루틴은 카운터 변수가 제로와 동일한지 여부를 평가하여(단계 618) 완벽한 서브-샘플링이 완료되었음을 나타내기 시작할 수 있다. 카운터 변수가 제로와 동일하지 않은 경우, 서브-샘플링 루틴이 계속될지 여부에 대한 평가가 이루어질 수 있다(단계 620). 서브-샘플링 루틴이 계속될 경우, 처리과정은 단계(608)에 따른 다음 프레임(i)의 수 신 기다림으로 돌아갈 수 있다. 만약 처리과정이 계속되지 않는 것으로 결정된다면, 서브-샘플링 루틴 사이클은 종료할 수 있다(단계 624).
단계(618)로 다시 돌아가서, 카운터 변수가 제로와 동일한 것으로 평가되는 경우, 서브-샘플링 루틴이 계속될지 여부에 대한 결정이 이루어질 수 있다(단계 622). 서브-샘플링 루틴이 계속되는 경우, 처리과정은 단계(606)에 따라 카운터 변수 i를 서브-샘플링 레이트 N로 재설정하기 위해 돌아갈 수 있다. 대안적으로, 서브-샘플링 루틴 사이클은 단계(624)에 따라 종료할 수 있다.
다른 실시예에 따르면, 고정적인 임시 서브-샘플링은 자동적인 서브-샘플링 절차들에 따라 구현될 수 있다. 도 7은 실시예에 따라 고정 및 자동적인 서브-샘플링 양쪽 모두를 특징으로 하는 예시적인 임시 서브-샘플링 루틴을 나타내는 흐름도(700)이다. 도 7에 도시된 서브-샘플링 루틴은 시스템 소스 상에 배치되는 WDV 서브-시스템의 도 2에 도시된 CVI(202)에 포함된 로직에 의해 구현될 수 있다. 서브-샘플링 루틴은 인보크되고(단계 702), 서브-샘플링 레이트 N이 판독된다(단계 704). 이어서, 카운터 변수 i가 서브-샘플링 레이트 N으로 설정될 수 있다(단계 706). 이어서, 서브-샘플링 루틴은 프레임(i)의 수신을 기다릴 수 있다. 프레임(i)의 수신 시에는, 카운터 변수 i가 서브-샘플링 레이트 N과 동일한지를 결정하기 위해 평가가 이루어질 수 있다(단계 710). 카운터 변수 i가 서브-샘플링 N과 동일하지 않은 경우, 현재 프레임(i)은 버려지거나 그렇지않으면 무시될 수 있고(단계 712), 서브-샘플링 루틴은 카운터 변수를 감분시키기 시작할 수 있다(단계 718). 단계(710)로 다시 돌아가서, 카운터 변수가 서브-샘플링 레이트와 동일한 경우, 프레임 버퍼 용량은 현재 프레임(i)을 위해 충분한 용량이 이용가능한지를 결정하기 위해 자동적인 임시 서브-샘플링 절차에 따라 평가될 수 있다. 프레임 버퍼가 현재 프레임(i)을 위해 불충분한 용량을 갖는 경우, 서브-샘플링 루틴은 단계(712)로 진행하여 현재 프레임(i)을 버릴 수 있다. 충분한 용량이 프레임 버퍼에서 이용가능한 경우, 현재 프레임(i)은 인코딩 및 버퍼링될 수 있고(단계 716), 그런 이후에 카운터 변수가 단계(718)에 따라 감분될 수 있다.
카운터 변수가 단계(718)에 따라 감분된 이후에, 서브-샘플링 루틴은 카운터 변수가 제로와 동일한지 여부를 평가하기 시작할 수 있다(단계 720). 카운터 변수가 제로와 동일하지 않은 경우, 서브-샘플링 루틴이 계속될지 여부에 대한 평가가 이루어질 수 있다(단계 722). 서브-샘플링 루틴이 계속되는 경우, 처리과정은 단계(708)에 따라 다른 프레임(i)의 수신을 기다리기 위해 돌아갈 수 있다. 만약 처리과정이 계속되지 않을 것으로 결정된다면, 서브-샘플링 루틴 사이클은 종료할 수 있다(단계 726).
단계(720)로 다시 돌아가서, 카운터 변수가 제로와 동일한 것으로 평가되는 경우, 서브-샘플링 루틴이 계속될지 여부에 대한 평가가 이루어질 수 있다(단계 724). 서브-샘플링 루틴이 계속되는 경우, 처리과정은 단계(706)에 따라 카운터 변수 i를 서브-샘플링 레이트 N으로 재설정하기 위해 돌아갈 수 있다. 대안적으로, 단계(726)에 따라, 서브-샘플링 루틴 사이클은 종료할 수 있다.
다른 실시예에 따르면, 프레임들은 타일들로 분할될 수 있고, 임시 서브-샘플링이 타일들마다에 기초하여 수행될 수 있다. 다른 실시예들에서는, 소스 및 링 크에 의해 종료되는 RF 링크의 필요한 스루풋에 있어 개선된 감소를 제공하기 위해서 타일 복사 절차가 WDV 시스템에 의해 이용될 수 있다. 이러한 실시예에서, 순차적인 프레임들의 타일들(또는 그로부터 유도되는 파라메트릭들)이 그 순차적인 프레임들의 상응하는 타일들에 의해 어떤 변화들이 나타나는지를 결정하기 위해서 비교될 수 있다. 순차적인 프레임들의 상응하는 타일들이 서로 간에 어떠한 차이점들도 나타내지 않는다고 결정되는 경우, 후속 프레임의 타일이 소스에서 버려질 수 있다. 싱크측에서, 후속 프레임의 타일 사이에 어떠한 차이점도 갖지 않는 것으로 식별되는 프레임 시퀀스의 초기 프레임의 타일이 아래에서 더 충분히 설명되는 바와 같이 후속 프레임에서의 디스플레이를 위해 복사되어 사용될 수 있다.
도 8은 실시예에 따라 프레임들이 처리를 위해 다수의 타일들로 분할되는 프레임 시퀀스(800)에 대한 개략도이다. 프레임들(800-806)은 다수(M)의 타일들로 분할 또는 분리될 수 있고, 각각의 타일은 다수(N)의 라인들을 갖는다. 설명을 위한 예에서, 프레임(802)은 4개의 타일들(802a-802d)로 분할된다. 마찬가지로, 프레임들(804-806)은 타일들의 각각의 세트들((804a-804d)(미도시) 및 (806a-806d))로 분할될 수 있다. 타일들 각각은 공통적인 수의 픽셀 데이터의 라인들을 포함할 수 있다. 타일들(802a-802d 내지 806a-806d) 각각은 다른 타일들과 독립적으로 인코딩되고 버퍼링된다. 게다가, 타일들(802a-802d 내지 806a-806d)은 아래에서 더 충분히 설명되는 바와 같이 다른 타일들과 독립적으로 싱크에 전송될 수 있다. 상이한 프레임들의 동일한 이미지 라인 번호들을 포함하는 타일들은 상응하는 타일들로서 아래에서 지칭된다. 예컨대, 타일(802a)은 프레임(802)의 픽셀 데이터의 첫 번째 N개의 라인들을 포함하고, 타일(806a)은 프레임(806)의 픽셀 데이터의 첫번째 N개의 라인들을 포함한다. 따라서, 타일들(802a 및 806a)은 상응하는 타일들을 포함하는 것으로 여기서 언급된다.
도 9는 실시예에 따라 구현되는 고정 및 자동적인 타일-기반 임시 서브-샘플링 루틴을 특징으로 하는 프레임 버퍼링 시퀀스에 대한 개략도이다. 설명을 위한 예는 소스 버퍼 용량(910)을 "충만" 및 "비-충만"의 세로좌표로서 나타내는데, 여기서 "비-충만"인 버퍼 용량은 적어도 프레임 타일(또는 그것의 압축된 버전)을 저장하기에 충분히 큰 버퍼 용량을 나타내고, "충만"인 버퍼 용량은 적어도 프레임 타일(또는 그것의 압축된 버전)을 저장하기에 충분하지 않은 버퍼 용량을 나타낸다. 버퍼 용량은 처리하기 위한 타일을 수신하였을 때 평가될 수 있다. 버퍼 용량이 "비-충만"으로 평가되는 경우, 수신되는 타일은 인코딩되고 버퍼링될 수 있다. 버퍼 용량이 "충만"으로 평가되는 경우, 수신되는 타일은 공통 프레임의 후속 타일들과 함께 버려질 수 있다. 프레임들(920-930)의 시퀀스가 무선 링크를 통한 싱크로의 전송에 앞서 인코딩되고 버퍼링되도록 소스에 의해서 시간 기간 t에 걸쳐 수신된다.
프레임들(920-930) 각각은 다수(M)의 타일들로 분할될 수 있다. 설명을 위한 예에서, 분할된 값 M은 4로 설정되고, 따라서 프레임들(920-930)은 각각의 타일 세트들(920a-920d - 930a-930d)로 분할된다.
소스가 N=2인 고정된 서브-샘플링 레이트로 구성된다고 가정하자. 즉, 소스는 모든 다른 수신되는 프레임을 인코딩하여 싱크에 전송하도록 구성되는데, 선택 적인 프레임들은 소스측에서 버려지거나 그렇지않으면 무시된다. 따라서, 프레임(922)은 프레임(920)의 모든 타일들(920a-920d)의 수신, 인코딩 및 버퍼링 이후에 버려진다(설명을 위해 점선으로 표시되었음). 프레임(924)은 버퍼 용량이 허용하는 경우 N=2인 고정된 임시 서브-샘플링 레이트에 따라 인코딩 및 버퍼링되도록 스케줄링된다. 실시예에 따르면, 프레임의 버퍼 용량은 타일마다에 기초하여 평가된다. 버퍼 용량이 타일을 위해 이용가능한 경우, 그 타일은 인코딩되어 버퍼링될 수 있다. 버퍼 용량은 다른 나머지 프레임 타일들에 대해 마찬가지로 평가될 수 있다. 버퍼 용량이 타일을 저장하기에 충분하지 않은 경우, 현재 프레임의 타일 및 임의의 나머지 타일들은 버려질 수 있다. 후속 프레임의 수신 시에, 그 후속 프레임은 분할되고, 성공적으로 버퍼링된 이전 프레임의 타일들과 상응하는 새롭게 수신되는 프레임의 타일들은 버려지거나 그렇지않으면 무시될 수 있다. 이전 프레임의 버려진 타일들 중 첫번째 타일에 상응하는 타일을 위해서 버퍼 용량이 평가된다. 이러한 방식으로, 다수의 프레임들로부터의 타일들을 포함하는 프레임이 하나보다 많은 수의 프레임의 구성요소인 타일들로 구성되는 혼합 프레임을 효과적으로 형성하기 위해 버퍼링될 수 있다.
도 9로 다시 돌아가서, 프레임 버퍼의 용량은 위에서 설명된 바와 같이 타일마다에 기초하여 평가된다. 본 예에서, 버퍼 용량은 프레임(924)의 타일들(924a-924b) 각각을 저장하기에 충분한 것으로서 평가된다. 그러나, 타일(924c)을 위해 이루어지는 버퍼 용량의 평가는 그 버퍼 용량이 버퍼 용량(910)에 의해 나타낸 바와 같이 타일(924c)을 저장하기에 충분하지 않다는 것을 나타낸다. 따라서, 타일들(924c-924d)은 버려지거나 그렇지않으면 무시된다(설명을 위해 점선들로 지정된 바와 같이). 후속 프레임(926)의 수신 및 분할 시에, 이전 프레임(924)의 버퍼링된 타일들(924a-924b)에 상응하는 타일들(926a-926b)은 버려지거나 그렇지않으면 무시된다. 이어서, 타일(926c)을 저장하기에 충분한 용량이 존재하는지를 결정하기 위해 버퍼 용량에 대한 평가가 이루어질 수 있다. 설명을 위한 예에서는, 타일(926c)을 위해 충분한 버퍼 용량이 이용가능하고, 따라서 타일(926c)은 인코딩되고 버퍼링된다. 타일(926d)을 위한 버퍼 용량(910)의 후속 평가가 타일을 저장하기에 충분하지 않은 용량을 나타내고, 따라서 타일(926d)은 점선으로 표시된 바와 같이 버려진다. 분할된 프레임(928)의 후속적인 수신 시에, 타일들(928a-928c)은 버려지거나 그렇지않으면 무시되는데, 그 이유는 프레임(924 및 926)의 상응하는 타일들(924a-924b 및 926c)이 이전에 인코딩되고 버퍼링되었기 때문이다. 따라서, 충분한 버퍼 용량이 존재한다는 평가 시에 인코딩되고 버퍼링되는 타일(928d)을 위해 버퍼 용량(910)의 평가가 이루어진다. 따라서, 설명을 위한 예에서 3개의 순차적인 프레임들의 구성요소인 타일들을 포함하는 단일 혼합 프레임이 버퍼링된다.
도 10은 실시예에 따라 타일-기반의 고정 및 자동적인 임시 서브-샘플링을 특징으로 하는 임시 서브-샘플링 루틴의 처리과정을 나타내는 흐름도(1000)이다. 도 10에 도시된 서브-샘플링 루틴은 시스템 소스 상에 배치된 WDV 서브-시스템의 도 2에 도시된 CVI(202)에 포함된 로직에 의해서 구현될 수 있다. 서브-샘플링 루틴은 인보크되고(단계 1002), 고정된 서브-샘플링 레이트 N 및 프레임 분할을 위한 분할 수 X가 판독된다(단계 1004). 분할 수 X는 프레임들이 분할되는 타일들의 수 를 규정하고, 구성가능한 값일 수 있다. 버퍼링된 타일들의 추적을 용이하게 하는 카운터 변수 K가 또한 단계(1004)에서 표시된 바와 같이 예컨대 "1"의 값으로 초기화될 수 있다.
이어서, 카운터 변수 i가 서브-샘플링 레이트 N으로 설정될 수 있다(단계 1006). 이어서, 서브-샘플링 루틴은 프레임(i)의 수신을 기다릴 수 있다(단계 1008). 프레임(i)의 수신 시에, 카운터 변수 i가 서브-샘플링 레이트 N과 동일한지를 결정하기 위해 평가가 이루어질 수 있다(단계 1010). 카운터 변수 i가 서브-샘플링 레이트 N과 동일하지 않은 경우, 현재 프레임(i)이 고정된 서브-샘플링 레이트에 따라 버려지거나 그렇지않으면 무시될 수 있다(단계 1012).
단계(1010)로 다시 돌아가서, 카운터 변수가 서브-샘플링 레이트와 동일한 경우, 프레임(i)은 X개의 타일들로 분할될 수 있다(단계 1014). 이어서, 분할된 프레임의 첫번째 타일(k)을 버퍼링하기 위한 충분한 용량이 존재하는지를 결정하기 위해서 평가가 이루어질 수 있다(단계 1016). 만약 타일(k)을 버퍼링하기에 충분하지 않은 용량이 존재한다면, 타일(k) 내지 타일(X)이 버려질 수 있다(단계 1018).
단계(1016)로 다시 돌아가서, 타일(k)을 버퍼링하기 위한 충분한 버퍼 용량이 이용가능한 경우, 타일(k)은 인코딩되고 버퍼링될 수 있고, 타일 카운터 변수 k가 증분될 수 있다(단계 1020). 타일 카운터 변수를 분할 수 X에 비교함으로써 현재 프레임의 각각의 타일이 버퍼링되었는지를 결정하기 위해 평가가 이루어질 수 있다(단계 1022). 현재 프레임의 각각의 타일이 버퍼링되지 않은 경우, 서브-샘플 링 루틴은 단계(1016)로 돌아가서, 다음 타일(k)을 저장하기 위한 충분한 버퍼 용량이 존재하는지를 결정한다. 가장 최근에 버퍼링된 타일이 현재 프레임(i)의 마지막 타일인 경우, 타일 카운터 변수 k는 "1"로 재설정될 수 있고, 프레임 카운터 변수 i가 감분될 수 있다(단계 1024). 카운터 변수가 단계(1024)에 따라 감분된 이후에, 서브-샘플링 루틴은 프레임 카운터 변수 i가 제로와 동일한지 여부를 결정함으로써(단계 1026), 서브-샘플링 레이트 N에 따라 다음 프레임이 버퍼링되도록 스케줄링됨을 나타내기 시작할 수 있다. 카운터 변수가 제로와 동일하지 않은 경우, 서브-샘플링 루틴이 계속될지 여부에 대한 평가가 이루어질 수 있다(단계 1030). 서브-샘플링 루틴이 계속될 경우, 처리과정은 단계(1008)에 따라 다음 프레임(i)의 수신을 기다리기 위해 돌아갈 수 있다. 만약 처리과정이 계속되지 않는다고 결정된다면, 서브-샘플링 루틴 사이클은 종료할 수 있다(단계 1032).
단계(1026)로 다시 돌아가서, 카운터 변수 i가 제로와 동일한 것으로 평가되는 경우, 서브-샘플링 루틴이 계속될지 여부를 결정하기 위해 평가가 이루어질 수 있다(단계 1028). 서브-샘플링 루틴이 계속될 경우, 처리과정은 단계(1006)에 따라 프레임 카운터 변수 i를 서브-샘플링 레이트 N로 재설정하기 위해 돌아갈 수 있다. 대안적으로, 서브-샘플링 루틴 사이클은 단계(1032)에 따라 종료할 수 있다.
다른 실시예에 따르면, 추가적인 스루풋 감소가 타일 복사 메커니즘에 의해서 달성된다. 비디오 소스에서는, 순환 중복 검사(CRC) 또는 다른 적절한 파라메트릭 평가가 분할된 프레임들의 각 타일에 대해 수행된다. 도 2에 도시된 각각의 CRC 기능(210 및 212)에 의해서 타일의 원시 픽셀 데이터 또는 타일의 웨이블릿 변 환 데이터에 대해 CRC가 계산될 수 있다. 이어서, CRC는 소스에서 저장될 수 있다. 비디오 프레임들의 시퀀스의 초기 프레임에서, 그 초기 프레임의 모든 타일들은 "새로운 타일들"로 간주되고, 따라서 처리되어 싱크로 전송될 것이다. 초기 프레임 이후에, 후속 프레임들의 상응하는 타일들은 버려지거나 그렇지않으면 무시될 수 있고, 따라서 후속 타일이 이전 프레임의 상응하는 타일과 상이하지 않은 것으로 결정되는 경우에는 싱크로 전송되지 않을 수 있다. 예컨대, 도 8로 다시 돌아가서, 프레임(802)이 싱크로 전송될 프레임들의 시퀀스의 첫번째 프레임을 포함한다고 가정하자. 만약 프레임(802)에 후속하는 프레임(804)의 타일(804a)이 프레임(802)의 상응하는 타일(802a)과 상이하지 않다면, 타일(804a)은 소스측에서 버려지거나 그렇지않으면 무시될 수 있다. 유리하게, 소스로부터 링크로 전송될 필요가 있는 데이터는 감소된다. 실시예에서, 프레임의 타일들에 대해 계산된 CRC 값들은 이전 프레임의 상응하는 타일들이 변경되었는지를 결정하기 위해서 그 타일들의 CRC 값들에 각각 비교되고, 이전 프레임의 상응하는 타일에 대해 변경된 것으로 결정되는 타일들만이 인코딩되어 싱크로 전송된다.
여기서 설명된 타일 복사 메커니즘을 용이하게 하기 위해서, 각각의 타일들을 버퍼링하기 위한 다수의 버퍼들이 싱크에 제공될 수 있다. 이제 도 11을 참조하면, 실시예에 따라 구현되는 싱크 버퍼 구성(1100)의 개략도가 도시되어 있다. 4개의 타일들로 분할되는 프레임들의 위의 예를 계속 참조하면, 버퍼 세트들(1110-1114) 각각은 분할된 프레임들의 4개의 타일들 중 하나를 위해 할당되는 4개의 버퍼들을 포함한다. 본 예에서, 싱크는 분할된 프레임들의 다수(X)의 타일들 중 하 나와 각각 연관되는 다수의 버퍼들(1110a-1110d)을 포함한 버퍼 세트(1110)를 포함한다. 유사한 방식으로, 버퍼 세트(1120)는 X개의 타일들 각각에 하나씩 할당되는 버퍼들(1120a-1120d)을 포함하고, 버퍼 세트(1130)는 X개의 타일들 각각에 하나씩 할당되는 버퍼들(1130a-1130d)을 포함하고, 버퍼 세트(1140)는 X개의 타일들 각각에 하나씩 할당되는 버퍼들(1140a-1140d)을 포함한다. 프레임의 타일들이 싱크에서 수신될 때, 그 싱크는 예컨대 버퍼 세트(1110)와 같은 특정 버퍼 세트의 각 버퍼들에 타일들을 기록할 수 있다. 싱크는 그 싱크에 의해 수신되는 후속 프레임의 프레임들의 타일들의 기록을 위해 예컨대 버퍼 세트(1120)와 같은 다음 버퍼 세트로 사이클링할 수 있다. 싱크는 수신되는 프레임의 타일들이 버퍼 세트(1140)에 기록될 때까지 버퍼 세트들을 통해 계속해서 사이클링하고, 그 때에 그 싱크는 다른 수신되는 프레임의 타일들을 기록하기 위해 버퍼 세트(1110)로 돌아간다. 버퍼 세트들(1110-1140)을 포함하는 버퍼 구성이 싱크에 배치되는 WDV 서브시스템의 SDRAM 버퍼(228)에 유지될 수 있다.
수신되는 프레임들 및 그것들의 구성요소인 타일들의 처리과정을 용이하게 하기 위해서, 싱크는 특정 타일 및 상응하는 버퍼를 지시하는 포인터들을 포함할 수 있다. 실시예에 따르면, 싱크는 기록 버퍼 포인터들, 다음 버퍼 포인터들, 및 현재 버퍼 포인트들의 세트를 포함한다. 기록 버퍼 포인터들은 싱크에 의해 수신되고 있으며 따라서 그 싱크에 의한 디스플레이 준비가 되지 않은 프레임의 타일들을 저장하는 버퍼들을 지시한다. 유사한 방식으로, 다음 버퍼 포인터는 싱크에 의해 모두 수신되고 그 싱크에 의한 디스플레이 처리를 위해 대기되는 타일들을 갖는 프레임의 타일들을 저장하는 버퍼들을 지시한다. 즉, 다음 버퍼 포인터들은 현재 디스플레이되는 프레임에 이어서 디스플레이될 프레임의 타일들을 지시한다. 현재 버퍼 포인터들은 싱크에 의해 현재 디스플레이되는 프레임의 타일들을 저장하는 버퍼들을 지시한다.
도 12A 내지 도 12E는 실시예에 따라 수신되는 프레임들의 구성요소인 타일들을 지시하기 위해 싱크에 의해 유지되는 예시적인 버퍼 포인터들에 대한 개략도를 나타낸다. 도 12A 내지 도 12E의 설명을 위한 예들에서, 포인터들은 타일 식별자, 및 타일이 저장되는 버퍼 세트에 대한 지시를 포함한다. 특히, 버퍼 포인터들은 설명을 위해 X 및 Y로 지정되는데, X는 타일 지시자를 나타내고, Y는 상응하는 타일이 저장되는 버퍼 세트를 나타낸다.
위에서 언급된 바와 같이, 프레임 시퀀스의 첫번째 프레임의 각각의 타일은 싱크로 전송되며, 특정 버퍼 세트에 저장된다. 예컨대, 도 11에 도시된 프레임(1150)이 프레임 시퀀스의 첫번째 프레임을 포함한다고 가정하면, 각각의 타일(1150a-1150d)은 그 타일들이 싱크에 수신될 때 버퍼 세트(1110)의 각 버퍼(1110a-1110d)에 저장될 수 있다. 따라서, 타일들(1150a-1150d)이 각각의 버퍼들(1110a-1110d)에 저장될 때, 기록 버퍼 포인터들(1210a-1210d)은 버퍼 세트(1110)(설명을 위해 버퍼 세트 0으로 지정되었음) 및 타일들(1150a-1150d)을 지시하는 포인트 값들로 채워진다. 이를테면, 기록 버퍼 포인터(1210a)는 타일 0(즉, 1150a)이 버퍼 세트 0(즉, 버퍼 세트(1110))에 저장됨을 나타내는 값 "0,0"을 갖는다. 따라서, 기록 버퍼 포인터(1210a)는 첫번째 타일(1150a)이 버퍼 세 트(1110)의 버퍼(1110a)에 저장됨을 나타낸다. 유사한 방식으로, 기록 버퍼 포인터들(1210b-1210d)은 프레임(1150)의 현재 수신되는 타일들(1150b-1150d)(타일 1 내지 타일 3)이 버퍼 세트 "0"의 상응하는 버퍼들에 저장됨을 나타내는 "1.0", "2.0" 및 "3.0"의 포인터 값들을 갖는다.
프레임 종료(EOF) 플래그(1151)가 프레임(1150)의 마지막 타일(1150d)의 전송과 함께 전송되거나 또는 그에 후속하여 전송될 수 있다. EOF 플래그(1151)는 완벽한 프레임이 싱크에 전송되었으며 그로인해 수신되는 후속 타일들은 다른 프레임의 타일들을 포함한다는 지시를 그 싱크에 제공한다. 따라서, EOF 플래그(1151)의 수신 시에, 타일들(1150a-1150d)을 포함하는 프레임이 싱크에 의해서 완벽하게 수신되고 싱크에 의한 디스플레이를 위해서 처리될 수 있다. 따라서, 기록 버퍼 포인터들(1210)의 포인터 값들이 도 12B에 도시된 바와 같이 상응하는 다음 버퍼 포인터들(1220)에 복사될 수 있다. 또한, 프레임(1150)은 프레임 시퀀스의 첫번째 프레임을 포함하기 때문에, 다음 버퍼 포인터들(1220)은 도 12B에 도시된 바와 같이 상응하는 현재 프레임 포인터들(1230)에 복사될 수 있다. 따라서, 이어서, 싱크는 각각의 현재 프레임 포인터들(1230a-1230d)을 통해 타일들(1150a-1150d)을 판독하고, 그 타일들을 처리하며, 구성요소인 타일들(1150a-1150d)을 포함하는 프레임을 디스플레이할 수 있다.
본 예를 계속 참조하면, 두번째 프레임(1152)이 싱크에 전송될 것이라고 가정하자. 또한, 타일들(1152a 및 1152c-1152d)이 이전 프레임(1150)의 각각의 상응하는 타일들(1150a 및 1150c-1150d)과 동일하다고 소스가 결정하였다고 가정하자. 따라서, 소스는 타일들(1152a 및 1152c-1152d)을 버릴 수 있고(설명을 위해 크로스 해치들로 지정된 바와 같이), 단지 타일(1152b) 및 EOF 플래그(1153)를 전송할 수 있다. 타일(1152b)의 수신 시에, 싱크는 타일(1152b)을 버퍼 세트(1120)에 기록할 수 있다. 특히, 싱크는 분할된 프레임의 타일 1로 지정된 타일에 할당되는 버퍼(1220b)에 타일(1152b)을 기록할 수 있다. 타일(1152b)이 버퍼(1120b)에 기록될 때, "1.1"의 값이 도 12C에 도시된 바와 같이 싱크의 기록 포인터(1210b)에 할당될 수 있고, 이는 현재 수신되고 있는 프레임의 타일 1이 버퍼 세트(1120), 예컨대 버퍼 세트 1에 저장됨을 나타낸다. 싱크에 의한 EOF 플래그(1153)의 수신은 프레임(1152)의 디스플레이를 위해 필요한 모든 필수적인 타일들이 싱크로 전송되었음을 싱크에 알린다. 따라서, 이어서, 싱크는 도 12D에 도시된 바와 같이 디스플레이될 다음 프레임의 타일들을 지시하는 다음 버퍼 포인터들(1220)로 기록 버퍼 포인터들(1210)을 복사할 수 있다. 싱크 디스플레이 처리과정이 다음 프레임을 디스플레이하기 위해 대기할 때, 예컨대 프레임 간격(예컨대, 1/60초)의 만료까지, 다음 버퍼 포인터들(1220)은 도 12E에 도시된 바와 같이 현재 버퍼 포인터들(1230)에 복사될 수 있다. 이러한 경우에, 현재 버퍼 포인터들(1230)에 의해 지시되는 디스플레이될 현재 프레임은 다수의 프레임들의 타일들의 혼합, 즉, 프레임의 타일들(1150a 및 1150c-1150d)과 프레임(1152)의 타일(1152b)의 혼합인 프레임을 포함한다. 따라서, 타일들(1150a 및 1150c-1150d)은 타일들(1152a 및 1152c-1152d)의 복제 컨텐트를 재전송할 필요가 없이 디스플레이를 위한 후속 프레임에 효과적으로 복사된다.
도 13은 실시예에 따라 싱크에 구현되는 타일 복사 루틴의 처리과정을 나타내는 흐름도(1300)이다. 타일 복사 루틴이 인보크되고(단계 1302), 버퍼 세트 인덱스 변수 i 및 버퍼 인덱스 변수 j가 제로로 초기화될 수 있다(단계 1304). 이어서, 싱크는 타일(k)의 수신을 기다린다(단계 1306). 여기서 제공되는 설명을 위한 예들에서, 프레임들은 4개의 타일들로 분할되고, 따라서 수신되는 타일(k)은 분할된 프레임 내의 타일 위치를 지시하는 k(0) 내지 k(3)의 식별자를 가질 수 있다. 타일(k)의 수신 시에, 싱크는 버퍼 세트(i)의 버퍼(k)에 타일(k)을 기록할 수 있다(단계 1308). 이어서, 타일(k)이 싱크에 전송되고 있는 프레임의 수신될 마지막 타일인지를 지시하는 EOF 플래그가 수신되는지를 결정하기 위해 평가가 이루어질 수 있다(단계 1310). EOF 플래그가 수신되지 않는 경우, 싱크는 다른 타일(k)을 수신하기 위해 단계(1306)로 돌아갈 수 있다. EOF 플래그의 수신 시에, 기록 버퍼(j)는 상응하는 다음 버퍼(j)에 복사될 수 있다(단계 1312). 이어서, 버퍼 인덱스 j는 증분되고(단계 1314), 그 다음에 버퍼 인덱스가 "3"을 초과함으로써 모든 기록 버퍼들이 상응하는 다음 버퍼들에 복사되었음을 지시하는지 결정하기 위해서 평가가 이루어질 수 있다. 만약 임의의 기록 버퍼들이 상응하는 다음 버퍼들로 복사되기 위해 남아 있다면, 처리과정은 기록 버퍼(j)를 상응하는 다음 버퍼(j)에 복사하기 위해서 단계(1312)로 돌아갈 수 있다.
모든 기록 버퍼들이 상응하는 다음 버퍼들에 복사되었을 때, 버퍼 세트 인덱스 i는 증분될 수 있고, 버퍼 인덱스는 제로로 재설정될 수 있다(단계 1318). 타일 복사 루틴이 계속될지를 결정하기 위해 평가가 이루어질 수 있다(단계 1320). 타일 복사 루틴이 계속되는 경우, 버퍼 세트 인덱스 i가 3보다 큼으로써 마지막 버퍼 세트가 기록되었음을 나타내는지를 결정하기 위해 평가가 이루어질 수 있다(단계 1322). 마지막 버퍼 세트가 기록되어진 경우, 버퍼 세트 인덱스 i는 제로로 재설정될 수 있고(단계 1324), 처리과정은 다른 프레임으로부터 타일(k)을 수신하기 위해 단계(1306)로 돌아갈 수 있다. 만약 마지막 버퍼가 단계(1322)에서 기록되지 않았다고 결정되면, 타일 복사 루틴은 다른 프레임으로부터 타일(k)을 수신하기 위해 단계(1306)로 돌아갈 수 있다. 타일 복사 루틴은 단계(1320)에서 적합한 평가 시에 종료할 수 있다(단계 1326). 물론, 타일 복사 루틴은 적절한 종료 인터럽트 또는 다른 이벤트 시에는 그 루틴의 처리과정 중 아무 곳에서나 종료할 수 있다.
설명된 바와 같이, 여기서 설명된 실시예들은 UWB 시스템에서 RF 링크의 필요한 스루풋을 감소시키기 위한 메커니즘들을 제공한다. 일실시예에서, RF 링크를 통해 싱크로 전송될 프레임들의 수 또는 그것의 일부를 제한하는 임시 서브-샘플링 루틴이 제공된다. 그 임시 서브-샘플링 루틴은 프레임들이 버려지는 레이트를 규정하는 고정되거나 정적인 서브-샘플링 레이트를 가질 수 있다. 다른 실시예에 따르면, 자동적인 임시 서브-샘플링 메커니즘이 제공된다. 또 다른 실시예에서는, 타일 복사 메커니즘이 RF 링크의 스루풋을 감소시키기 위해 구현될 수 있다. WDV 서브시스템은 여기서 설명된 임시 서브-샘플링 및 타일 복사 루틴들을 용이하게 하는 외부 프레임 버퍼로의 인터페이스를 구비할 수 있다.
도 6, 도 7, 도 10 및 도 13의 흐름도들은 설명된 실시예들의 이해를 용이하게 하기 위해 처리를 차례로 나열하지만, 수행되는 그 동작들의 그러한 나열로 반 드시 나타내지는 않는다. 여러 실시예들에서, 도 6, 도 7, 도 10 및 도 13에 설명된 처리과정의 단계들은 다른 순서로 수행될 수 있고, 하나 이상의 설명된 단계들이 다른 단계들과 동시에 수행될 수 있다. 추가적으로, 도 6, 도 7, 도 10 및 도 13의 일부 처리 단계들의 실행은 여기서 설명된 실시예들로부터 벗어나지 않고 배제될 수 있다. 설명을 위한 블록도들 및 흐름도들은 처리에 있어 특정 논리 기능들 또는 단계들을 구현하기 위한 하나 이상의 실행가능 명령들을 포함하는 모듈들, 세그먼트들, 또는 코드의 일부들을 나타낼 수 있는 처리 단계들 또는 블록들을 나타낸다. 비록 특정 예들이 특정 처리 단계들 또는 절차들을 나타내지만, 많은 대안적인 구현들이 가능하고 간단한 설계 선택에 의해서 이루어질 수 있다. 일부 처리 단계들은 예컨대 기능, 목적, 표준에 순응, 레거시 구조(legacy structure), 사용자 인터페이스 설계 등을 고려하는 것에 기초하여 여기서의 특정한 설명과 다른 순서로 실행될 수 있다.
본 발명의 양상들이 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 결합으로 구현될 수 있다. 시스템의 여러 엘리먼트들은, 개별적으로나 혹은 공동으로, 처리 유닛에 의한 실행을 위해 기계-판독가능 저장 장치에 명백히 포함되는 컴퓨터 프로그램 물건으로서 구현될 수 있다. 본 발명의 실시예들의 여러 단계들은 입력에 대해 동작함으로써 기능들을 수행하기 위해 컴퓨터-판독가능 매체 상에 명백히 포함되는 프로그램을 실행하고 출력을 생성하는 컴퓨터 프로세서에 의해서 수행될 수 있다. 컴퓨터-판독가능 매체는, 예컨대, 메모리, 콤팩트 디스크와 같은 운반가능 매체, 플로피 디스크, 또는 디스켓일 수 있고, 따라서 본 발명의 양상들을 구현하 는 컴퓨터 프로그램이 컴퓨터 상에 로딩될 수 있다. 컴퓨터 프로그램은 임의의 특정 실시예로 제한되지 않고, 또한 단일 컴퓨터 프로세서 도는 다수의 컴퓨터 프로세서들 상에서 실행하는 예컨대 운영 시스템, 애플리케이션 프로그램, 포어그라운드(foreground) 및 백그라운드(background) 처리, 드라이버, 네트워크 스택, 또는 이들의 임의의 결합으로 구현될 수 있다. 또한, 본 발명의 실시예들의 단계들이 생성되거나, 제작되거나, 수신되거나, 그렇지않으면 메모리와 같은 컴퓨터-판독가능 매체 상에 구현되는 하나 이상의 데이터 구조들을 제공할 수 있다.
비록 본 발명의 실시예들이 상세히 설명되었지만, 당업자들이라면 본 발명의 사상 및 범위로부터 벗어나지 않고 실시예들에서 다양한 변경들, 대체들 및 교체들을 수행할 수 있음을 알아야 한다.

Claims (47)

  1. 무선 통신 시스템에서 프레임들을 버퍼링하는 방법으로서,
    프레임들이 버려지는 레이트(rate)를 규정하는 서브-샘플링 레이트를 설정하는 단계;
    싱크(sink)에 전송하기 위하여 프레임들의 제 1 시퀀스를 수신하는 단계;
    적어도 제 1 프레임을 포함하는 프레임들의 제 2 시퀀스를 형성하기 위하여 상기 서브-샘플링 레이트에 기초하여 프레임들의 상기 제 1 시퀀스의 일부를 버리는 단계 ― 상기 제 1 프레임은 제 1 다수의 타일들을 포함함 ― ;
    상기 제 1 다수의 타일들 중 제 1 타일을 저장하기 위하여 프레임 버퍼의 용량을 평가하는 단계;
    프레임들의 제 3 시퀀스를 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 타일 및 프레임들의 제 2 시퀀스로부터의 상기 제 1 다수의 타일들의 임의의 남아있는 비버퍼링된(non-bufferred) 타일들을 버리는 단계; 및
    상기 싱크에 전송하기 위하여 프레임들의 상기 제 3 시퀀스의 인커밍(incoming) 프레임 중 적어도 일부를 버퍼링하는 단계를 포함하는,
    프레임들 버퍼링 방법.
  2. 제 1항에 있어서, 상기 인커밍 프레임을 상기 싱크로 전송하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  3. 삭제
  4. 제 1항에 있어서, 상기 인커밍 프레임은 상기 용량이 상기 인커밍 프레임을 위해 충분하다는 결정에 응하여 버퍼링되는,
    프레임들 버퍼링 방법.
  5. 제 1항에 있어서, 상기 인커밍 프레임을 제 2의 타일들(tiles)로 분할하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  6. 삭제
  7. 제 5항에 있어서,
    상기 제 2 다수의 타일들 중 제 2 타일의 압축된 버전을 위해 버퍼 용량을 평가하는 단계; 및
    상기 버퍼 용량이 상기 제 2 타일의 상기 압축된 버전을 저장하기에 충분하다는 결정에 응하여, 상기 제 2 타일의 상기 압축된 버전을 상기 버퍼에 저장하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  8. 제 7항에 있어서,
    상기 제 2 다수의 타일들 중 제 2 타일의 압축된 버전을 위해 상기 버퍼 용량을 평가하는 단계; 및
    상기 버퍼 용량이 상기 제 2 타일의 상기 압축된 버전을 저장하기에 충분하지 않다는 결정에 응하여, 상기 제 2 다수의 타일들 중 상기 제 2 타일 및 임의의 나머지 비버퍼링된 타일들을 버리는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  9. 제 8항에 있어서,
    상기 프레임들의 시퀀스에서 상기 인커밍 프레임에 후속하는 프레임의 다수의 타일들을 버리는 단계;
    상기 인커밍 프레임에 후속하는 프레임의 추가 타일의 압축된 버전을 위해 상기 버퍼 용량을 평가하는 단계; 및
    상기 버퍼 용량이 상기 인커밍 프레임에 후속하는 프레임의 상기 추가 타일의 상기 압축된 버전을 저장하기에 충분하다는 결정에 응하여, 상기 인커밍 프레임에 후속하는 프레임의 상기 추가 타일의 상기 압축된 버전을 버퍼링하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  10. 무선 통신 시스템에서 프레임들을 버퍼링하는 방법으로서,
    제 2 다수의 프레임들을 형성하기 위하여 서브-샘플링 레이트에 기초하여 제 1 다수의 프레임들 중 하나 이상을 버리는 단계;
    상기 제 2 다수의 프레임들 중 제 1 프레임을 제 1 다수의 파티션들로 분할하는 단계;
    상기 제 2 다수의 프레임들 중 제 2 프레임을 제 2 다수의 파티션들로 분할하는 단계 ― 상기 제 2 다수의 파티션들 각각은 상기 제 1 다수의 파티션들 중 하나에 각각 상응함 ― ;
    상기 제 2 다수의 파티션들 각각을 상기 제 1 다수의 파티션들 중 상응하는 파티션과 비교하는 단계;
    상기 제 1 다수의 파티션들 중의 상기 상응하는 파티션과 상이하지 않은 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버리는 단계;
    상기 제 2 다수의 파티션들 중 제 1 파티션을 저장하기 위하여 프레임 버퍼의 용량을 평가하는 단계; 및
    제 3 다수의 프레임들을 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 파티션 및 상기 제 2 다수의 프레임들로부터의 상기 제 2 다수의 파티션들 중 임의의 나머지 비버퍼링된 파티션들을 버리는 단계를 포함하는,
    프레임들 버퍼링 방법.
  11. 제 10항에 있어서, 상기 제 1 다수의 파티션들 중 상응하는 파티션들과 상이한 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버퍼링하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  12. 제 11항에 있어서, 상기 제 1 다수의 파티션들 중 상응하는 파티션과 상이한 것으로 결정되는 상기 제 2 다수의 파티션들 각각을 싱크로 전송하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  13. 제 12항에 있어서, 상기 제 1 다수의 파티션들 중 상응하는 파티션과 상이한 것으로 결정되는 상기 제 2 다수의 파티션들 각각을 전송한 이후에 프레임 종료 지시자를 전송하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  14. 삭제
  15. 삭제
  16. 처리 시스템에 의해 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 매체로서,
    무선 통신 시스템에서 프레임들을 버퍼링하기 위한 상기 컴퓨터-실행가능 명령들은,
    프레임들이 버려지는 레이트(rate)를 규정하는 서브-샘플링 레이트를 설정하는 명령들;
    싱크에 전송하기 위한 프레임들의 제1 시퀀스를 수신하는 명령들;
    적어도 제 1 프레임을 포함하는 프레임들의 제 2 시퀀스를 형성하기 위하여 상기 서브-샘플링 레이트에 기초하여 프레임들의 상기 제 1 시퀀스의 일부를 버리는 명령들 ― 상기 제 1 프레임은 제 1 다수의 타일들을 포함함 ― ;
    프레임들의 제 3 시퀀스를 형성하기 위하여 프레임 버퍼의 용량에 기초하여 상기 제 1 타일 및 프레임들의 제 2 시퀀스로부터의 상기 제 1 다수의 타일들의 임의의 남아있는 비버퍼링된(non-bufferred) 타일들을 버리는 단계; 및
    상기 싱크에 전송하기 위한 상기 프레임들의 제 3 시퀀스의 인커밍 프레임 중 적어도 일부를 버퍼링하는 명령들을 포함하는,
    컴퓨터-판독가능 매체.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 처리 시스템에 의해 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 매체로서,
    무선 통신 시스템에서 프레임들을 버퍼링하기 위한 상기 컴퓨터-실행가능 명령들은,
    제 2 다수의 프레임들을 형성하기 위하여 서브-샘플링 레이트에 기초하여 제 1 다수의 프레임들 중 하나 이상의 프레임들을 버리는 명령들;
    상기 제 2 다수의 프레임들 중 제 1 프레임을 제 1 다수의 파티션들로 분할하는 명령들;
    상기 제 2 다수의 프레임들 중 제 2 프레임을 제 2 다수의 파티션들로 분할하는 명령들 ― 상기 제 2 다수의 파티션들 각각은 상기 제 1 다수의 파티션들 중 하나에 각각 상응함 ― ;
    상기 제 2 다수의 파티션들 각각을 상기 제 1 다수의 파티션들 중 상응하는 파티션과 비교하는 명령들; 및
    상기 제 1 다수의 파티션들 중 상기 상응하는 파티션과 상이하지 않은 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버리는 명령들;
    상기 제 2 다수의 파티션들 중 제 1 파티션을 저장하기 위하여 프레임 버퍼의 용량을 평가하는 명령들; 및
    제 3 다수의 프레임들을 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 파티션 및 상기 제 2 다수의 프레임들로부터의 상기 제 2 다수의 파티션들의 임의의 남아있는 비버퍼링된 파티션들을 버리는 명령들을 포함하는,
    컴퓨터-판독가능 매체.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 제 10항에 있어서, 상기 제 1 및 제 2 다수의 파티션들 중 상응하는 파티션들의 임의의 파티션이 서로 상이한지 여부를 결정하기 위해서 순환 중복 검사(CRC)를 활용하는 단계를 더 포함하는,
    프레임들 버퍼링 방법.
  32. 삭제
  33. 프레임 버퍼; 및
    프로세서를 포함하며,
    상기 프로세서는,
    프레임들이 버려지는 레이트(rate)를 규정하는 서브-샘플링 레이트를 설정하고,
    싱크(sink)에 전송하기 위하여 프레임들의 제 1 시퀀스를 수신하고,
    적어도 제 1 프레임을 포함하는 프레임들의 제 2 시퀀스를 형성하기 위하여 상기 서브-샘플링 레이트에 기초하여 프레임들의 상기 제 1 시퀀스의 일부를 버리고 ― 상기 제 1 프레임은 제 1 다수의 타일들을 포함함 ― ,
    상기 제 1 다수의 타일들 중 제 1 타일을 저장하기 위하여 프레임 버퍼의 용량을 평가하고,
    프레임들의 제 3 시퀀스를 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 타일 및 프레임들의 제 2 시퀀스로부터의 상기 제 1 다수의 타일들의 임의의 남아있는 비버퍼링된 타일들을 버리고, 그리고
    상기 싱크에 전송하기 위하여 프레임들의 상기 제 3 시퀀스의 인커밍 프레임 중 적어도 일부를 버퍼링하도록 구성되는, 장치.
  34. 제 33 항에 있어서,
    상기 인커밍 프레임을 상기 싱크로 전송하도록 구성된 송신기를 더 포함하는, 장치
  35. 제 33 항에 있어서,
    상기 인커밍 프레임은 상기 용량이 상기 인커밍 프레임을 위해 충분하다는 결정에 응하여 버퍼링되는, 장치.
  36. 제 33 항에 있어서,
    상기 프로세서는 상기 인커밍 프레임을 제 2의 타일들(tiles)로 분할하도록 추가로 구성되는, 장치.
  37. 제 36 항에 있어서,
    상기 프로세서는 상기 제 2 다수의 타일들 중 제 2 타일의 압축된 버전을 위해 버퍼 용량을 평가하도록 추가로 구성되며,
    상기 프로세서는 상기 버퍼 용량이 상기 제 2 타일의 상기 압축된 버전을 저장하기에 충분하다는 결정에 응하여, 상기 제 2 타일의 상기 압축된 버전을 상기 버퍼에 저장하도록 추가로 구성되는, 장치.
  38. 제 36 항에 있어서,
    상기 프로세서는, 상기 제 2 다수의 타일들 중 제 2 타일의 압축된 버전을 위해 상기 버퍼 용량을 평가하고, 그리고
    상기 버퍼 용량이 상기 제 2 타일의 상기 압축된 버전을 저장하기에 충분하지 않다는 결정에 응하여, 상기 제 2 다수의 타일들 중 상기 제 2 타일 및 임의의 나머지 비버퍼링된 타일들을 버리도록 추가로 구성되는, 장치.
  39. 제 38 항에 있어서,
    상기 프로세서는,
    상기 프레임들의 시퀀스에서 상기 인커밍 프레임에 후속하는 프레임의 다수의 타일들을 버리고,
    상기 인커밍 프레임에 후속하는 프레임의 추가 타일의 압축된 버전을 위해 상기 버퍼 용량을 평가하도록 추가로 구성되며,
    상기 프로세서는 상기 버퍼 용량이 상기 인커밍 프레임에 후속하는 프레임의 상기 추가 타일의 상기 압축된 버전을 저장하기에 충분하다는 결정에 응하여, 상기 인커밍 프레임에 후속하는 프레임의 상기 추가 타일의 상기 압축된 버전을 버퍼링하도록 추가로 구성되는, 장치.
  40. 프레임 버퍼; 및
    상기 프레임 버퍼에 연결된 프로세서를 포함하며,
    상기 프로세서는,
    제 2 다수의 프레임들을 형성하기 위하여 서브-샘플링 레이트에 기초하여 제 1 다수의 프레임들 중 하나 이상을 버리고,
    상기 제 2 다수의 프레임들 중 제 1 프레임을 제 1 다수의 파티션들로 분할하고,
    상기 제 2 다수의 프레임들 중 제 2 프레임을 제 2 다수의 파티션들로 분할하고 ― 상기 제 2 다수의 파티션들 각각은 상기 제 1 다수의 파티션들 중 하나에 각각 상응함 ― ,
    상기 제 2 다수의 파티션들 각각을 상기 제 1 다수의 파티션들 중 상응하는 파티션과 비교하고,
    상기 제 1 다수의 파티션들 중의 상기 상응하는 파티션과 상이하지 않은 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버리고,
    상기 제 2 다수의 파티션들 중 제 1 파티션을 저장하기 위하여 프레임 버퍼의 용량을 평가하고, 그리고
    제 3 다수의 프레임들을 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 파티션 및 상기 제 2 다수의 프레임들로부터의 상기 제 2 다수의 파티션들 중 임의의 나머지 비버퍼링된 파티션들을 버리도록 구성되는, 장치.
  41. 제 40 항에 있어서,
    상기 프로세서는, 상기 프레임 버퍼에서 상기 제 1 다수의 파티션들 중 상응하는 파티션들과 상이한 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버퍼링하도록 구성되는, 장치.
  42. 제 41 항에 있어서,
    상기 제 1 다수의 파티션들 중 상응하는 파티션과 상이한 것으로 결정되는 상기 제 2 다수의 파티션들 각각을 싱크로 전송하도록 구성된 송신기를 더 포함하는, 장치.
  43. 제 42 항에 있어서,
    상기 송신기는, 상기 제 1 다수의 파티션들 중 상응하는 파티션과 상이한 것으로 결정되는 상기 제 2 다수의 파티션들 각각을 전송한 이후에 프레임 종료 지시자를 전송하도록 추가로 구성되는, 장치.
  44. 프레임들이 버려지는 레이트(rate)를 규정하는 서브-샘플링 레이트를 설정하기 위한 수단;
    싱크(sink)에 전송하기 위하여 프레임들의 제 1 시퀀스를 수신하기 위한 수단;
    적어도 제 1 프레임을 포함하는 프레임들의 제 2 시퀀스를 형성하기 위하여 상기 서브-샘플링 레이트에 기초하여 프레임들의 상기 제 1 시퀀스의 일부를 버리기 위한 수단 ― 상기 제 1 프레임은 제 1 다수의 타일들을 포함함 ― ;
    상기 제 1 다수의 타일들 중 제 1 타일을 저장하기 위하여 프레임 버퍼의 용량을 평가하기 위한 수단;
    프레임들의 제 3 시퀀스를 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 타일 및 프레임들의 제 2 시퀀스로부터의 상기 제 1 다수의 타일들의 임의의 남아있는 비버퍼링된 타일들을 버리기 위한 수단; 및
    상기 싱크에 전송하기 위하여 프레임들의 상기 제 3 시퀀스의 인커밍 프레임 중 적어도 일부를 버퍼링하기 위한 수단을 포함하는, 장치.
  45. 제 2 다수의 프레임들을 형성하기 위하여 서브-샘플링 레이트에 기초하여 제 1 다수의 프레임들 중 하나 이상을 버리기 위한 수단;
    상기 제 2 다수의 프레임들 중 제 1 프레임을 제 1 다수의 파티션들로 분할하기 위한 수단;
    상기 제 2 다수의 프레임들 중 제 2 프레임을 제 2 다수의 파티션들로 분할하기 위한 수단 ― 상기 제 2 다수의 파티션들 각각은 상기 제 1 다수의 파티션들 중 하나에 각각 상응함 ― ;
    상기 제 2 다수의 파티션들 각각을 상기 제 1 다수의 파티션들 중 상응하는 파티션과 비교하기 위한 수단;
    상기 제 1 다수의 파티션들 중의 상기 상응하는 파티션과 상이하지 않은 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버리기 위한 수단;
    상기 제 2 다수의 파티션들 중 제 1 파티션을 저장하기 위하여 프레임 버퍼의 용량을 평가하기 위한 수단; 및
    제 3 다수의 프레임들을 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 파티션 및 상기 제 2 다수의 프레임들로부터의 상기 제 2 다수의 파티션들 중 임의의 나머지 비버퍼링된 파티션들을 버리기 위한 수단을 포함하는, 장치.
  46. 무선 비디오 플레이어로서,
    안테나;
    프레임 버퍼; 및
    프로세서를 포함하며,
    상기 프로세서는,
    프레임들이 버려지는 레이트(rate)를 규정하는 서브-샘플링 레이트를 설정하고,
    싱크에 전송하기 위하여 프레임들의 제 1 시퀀스를 수신하고,
    적어도 제 1 프레임을 포함하는 프레임들의 제 2 시퀀스를 형성하기 위하여 상기 서브-샘플링 레이트에 기초하여 프레임들의 상기 제 1 시퀀스의 일부를 버리고 ― 상기 제 1 프레임은 제 1 다수의 타일들을 포함함 ― ,
    상기 제 1 다수의 타일들 중 제 1 타일을 저장하기 위하여 프레임 버퍼의 용량을 평가하고,
    프레임들의 제 3 시퀀스를 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 타일 및 프레임들의 제 2 시퀀스로부터의 상기 제 1 다수의 타일들의 임의의 남아있는 비버퍼링된 타일들을 버리고, 그리고
    상기 프레임 버퍼에서, 상기 안테나를 통하여, 상기 싱크에 전송하기 위하여 프레임들의 상기 제 3 시퀀스의 인커밍 프레임 중 적어도 일부를 버퍼링하도록 구성되는,
    무선 비디오 플레이어.
  47. 무선 비디오 플레이어로서,
    안테나;
    프레임 버퍼; 및
    상기 프레임 버퍼에 연결된 프로세서를 포함하며,
    상기 프로세서는,
    제 2 다수의 프레임들을 형성하기 위하여 서브-샘플링 레이트에 기초하여 제 1 다수의 프레임들 중 하나 이상을 버리고,
    상기 제 2 다수의 프레임들 중 제 1 프레임을 제 1 다수의 파티션들로 분할하고,
    상기 제 2 다수의 프레임들 중 제 2 프레임을 제 2 다수의 파티션들로 분할하고 ― 상기 제 2 다수의 파티션들 각각은 상기 제 1 다수의 파티션들 중 하나에 각각 상응함 ― ,
    상기 제 2 다수의 파티션들 각각을 상기 제 1 다수의 파티션들 중 상응하는 파티션과 비교하고,
    상기 제 1 다수의 파티션들 중의 상기 상응하는 파티션과 상이하지 않은 것으로 결정되는 상기 제 2 다수의 파티션들 중 임의의 파티션을 버리고,
    상기 제 2 다수의 파티션들 중 제 1 파티션을 저장하기 위하여 프레임 버퍼의 용량을 평가하고,
    제 3 다수의 프레임들을 형성하기 위하여 상기 프레임 버퍼의 상기 용량에 기초하여 상기 제 1 파티션 및 상기 제 2 다수의 프레임들로부터의 상기 제 2 다수의 파티션들 중 임의의 나머지 비버퍼링된 파티션들을 버리고, 그리고
    상기 프레임 버퍼에서, 상기 안테나를 통하여 싱크로 전송하기 위하여, 상기 제 3 다수의 프레임들의 인커밍 프레임의 적어도 일부를 버퍼링하도록 구성되는,
    무선 비디오 플레이어.
KR1020097027469A 2007-05-31 2008-05-27 초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체 KR101160740B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/756,428 2007-05-31
US11/756,428 US8300699B2 (en) 2007-05-31 2007-05-31 System, method, and computer-readable medium for reducing required throughput in an ultra-wideband system
PCT/US2008/064868 WO2008150768A1 (en) 2007-05-31 2008-05-27 System, method, and computer-readable medium for reducing required throughput in an ultra-wideband system

Publications (2)

Publication Number Publication Date
KR20100028066A KR20100028066A (ko) 2010-03-11
KR101160740B1 true KR101160740B1 (ko) 2012-06-28

Family

ID=40088150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097027469A KR101160740B1 (ko) 2007-05-31 2008-05-27 초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체

Country Status (6)

Country Link
US (1) US8300699B2 (ko)
EP (1) EP2153301B1 (ko)
JP (1) JP5335775B2 (ko)
KR (1) KR101160740B1 (ko)
CN (1) CN101730873B (ko)
WO (1) WO2008150768A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200321A1 (en) * 2008-12-19 2010-06-23 Thomson Licensing Method for browsing video streams
GB2485613B (en) * 2010-11-22 2014-08-13 Displaylink Uk Ltd Display control device
US9497466B2 (en) * 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
US8990435B2 (en) 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
EP2740270A4 (en) 2011-10-31 2015-04-29 Mediatek Inc APPARATUS AND METHOD FOR BUILDING REFERENCED CONTEXT TABLES TO PERFORM AN ENTROPTIC DECODING OF A MULTI-TILE ENCODED IMAGE AND CORRESPONDING ENTROPY DECODER
DE102012201978A1 (de) * 2012-02-10 2013-08-14 Robert Bosch Gmbh Verfahren zum Auslesen einer Lichtsensorsteuereinrichtung sowie Vorrichtung zum Auslesen einer Lichtsensorsteuereinrichtung
DE102012014174A1 (de) * 2012-07-16 2014-01-16 Rational Aktiengesellschaft Verfahren zur Anzeige von Parametern eines Garprozesses und Anzeigevorrichtung für ein Gargerät
US20140152891A1 (en) * 2012-12-05 2014-06-05 Silicon Image, Inc. Method and Apparatus for Reducing Digital Video Image Data
US9892707B2 (en) 2013-03-14 2018-02-13 Displaylink (Uk) Limited Decompressing stored display data every frame refresh
US9940686B2 (en) * 2014-05-14 2018-04-10 Intel Corporation Exploiting frame to frame coherency in a sort-middle architecture
US9444548B1 (en) * 2014-10-15 2016-09-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Wavelet-based processing for fiber optic sensing systems
JP2017050816A (ja) * 2015-09-04 2017-03-09 パナソニックIpマネジメント株式会社 照明装置、及び、照明システム
US10560755B2 (en) * 2016-09-23 2020-02-11 Verizon Patent And Licensing Inc. Methods and systems for concurrently transmitting object data by way of parallel network interfaces
US20190324776A1 (en) 2018-04-18 2019-10-24 Microsoft Technology Licensing, Llc Dynamic management of interface elements based on bound control flow

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471248A (en) * 1992-11-13 1995-11-28 National Semiconductor Corporation System for tile coding of moving images
US6212232B1 (en) * 1998-06-18 2001-04-03 Compaq Computer Corporation Rate control and bit allocation for low bit rate video communication applications
US20040042547A1 (en) * 2002-08-29 2004-03-04 Scott Coleman Method and apparatus for digitizing and compressing remote video signals
US20040179019A1 (en) * 2003-03-12 2004-09-16 Nvidia Corporation Double-buffering of pixel data using copy-on-write semantics

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK163091C (da) * 1982-07-23 1992-06-09 British Telecomm Videodatatransmissionsanlaeg og modtager til brug sammen med anlaegget
JPS6382078A (ja) 1986-09-25 1988-04-12 Mitsubishi Electric Corp 動画像伝送装置
US5056044A (en) * 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
DE69122147T2 (de) * 1990-03-16 1997-01-30 Hewlett Packard Co Verfahren und Einrichtung zum Abschneiden von Pixeln von Quellen- und Zielfenstern in einem graphischen System
JP2865782B2 (ja) * 1990-03-16 1999-03-08 富士通株式会社 非同期伝送用codec装置
JPH06351010A (ja) 1993-06-03 1994-12-22 Hitachi Ltd 無線テレビ電話装置
US5515296A (en) * 1993-11-24 1996-05-07 Intel Corporation Scan path for encoding and decoding two-dimensional signals
JPH07170291A (ja) 1993-12-15 1995-07-04 Sony Corp 送信装置
US5774186A (en) * 1995-12-29 1998-06-30 International Business Machines Corporation Interruption tolerant video program viewing
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
US6856320B1 (en) * 1997-11-25 2005-02-15 Nvidia U.S. Investment Company Demand-based memory system for graphics applications
US6959045B2 (en) * 1997-12-30 2005-10-25 Mediatek, Inc. Reduced cost decoder using bitstream editing for image cropping
US6385248B1 (en) * 1998-05-12 2002-05-07 Hitachi America Ltd. Methods and apparatus for processing luminance and chrominance image data
US6404425B1 (en) * 1999-01-11 2002-06-11 Evans & Sutherland Computer Corporation Span-based multi-sample z-buffer pixel processor
US7492393B2 (en) 1999-02-12 2009-02-17 Sony Corporation Method of and apparatus for generating a precise frame rate in digital video transmission from a computer system to a digital video device
US6873658B2 (en) * 1999-12-20 2005-03-29 Texas Instruments Incorporated Digital still camera system and method
US6919898B2 (en) * 2000-01-21 2005-07-19 Hewlett-Packard Development Company, L.P. Method and apparatus for ascertaining and selectively requesting displayed data in a computer graphics system
WO2002071639A1 (en) * 2001-03-05 2002-09-12 Intervideo, Inc. Systems and methods for error resilient encoding
US7053863B2 (en) * 2001-08-06 2006-05-30 Ati International Srl Wireless device method and apparatus with drawing command throttling control
US6825847B1 (en) * 2001-11-30 2004-11-30 Nvidia Corporation System and method for real-time compression of pixel colors
GB0130198D0 (en) * 2001-12-17 2002-02-06 Snell & Wilcox Ltd Video processing
US6999087B2 (en) * 2002-03-12 2006-02-14 Sun Microsystems, Inc. Dynamically adjusting sample density in a graphics system
US8068546B2 (en) * 2002-08-29 2011-11-29 Riip, Inc. Method and apparatus for transmitting video signals
US8933945B2 (en) * 2002-11-27 2015-01-13 Ati Technologies Ulc Dividing work among multiple graphics pipelines using a super-tiling technique
US7792806B2 (en) * 2003-06-27 2010-09-07 Microsoft Corporation Rate change
US7085894B2 (en) 2003-09-11 2006-08-01 International Business Machines Corporation Selectively accepting cache content
US20060002315A1 (en) * 2004-04-15 2006-01-05 Citrix Systems, Inc. Selectively sharing screen data
US7827139B2 (en) * 2004-04-15 2010-11-02 Citrix Systems, Inc. Methods and apparatus for sharing graphical screen data in a bandwidth-adaptive manner
US20050289631A1 (en) * 2004-06-23 2005-12-29 Shoemake Matthew B Wireless display
US8320446B2 (en) * 2004-11-24 2012-11-27 Qformx, Inc. System for transmission of synchronous video with compression through channels with varying transmission delay
US8355434B2 (en) * 2005-01-10 2013-01-15 Qualcomm Incorporated Digital video line-by-line dynamic rate adaptation
JP5149628B2 (ja) * 2005-01-17 2013-02-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 順序付けられたビデオ・フレーム組を送信し、受信するためのシステム、送信器、受信器、方法及びソフトウェア
US7986844B2 (en) * 2005-11-22 2011-07-26 Intel Corporation Optimized video compression using hashing function
US7659893B1 (en) * 2006-10-02 2010-02-09 Nvidia Corporation Method and apparatus to ensure consistency of depth values computed in different sections of a graphics processor
US7692659B1 (en) * 2006-11-06 2010-04-06 Nvidia Corporation Color-compression using automatic reduction of multi-sampled pixels
US8873671B2 (en) * 2008-03-26 2014-10-28 Qualcomm Incorporated Method and system for LLR buffer reduction in a wireless communication modem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471248A (en) * 1992-11-13 1995-11-28 National Semiconductor Corporation System for tile coding of moving images
US6212232B1 (en) * 1998-06-18 2001-04-03 Compaq Computer Corporation Rate control and bit allocation for low bit rate video communication applications
US20040042547A1 (en) * 2002-08-29 2004-03-04 Scott Coleman Method and apparatus for digitizing and compressing remote video signals
US20040179019A1 (en) * 2003-03-12 2004-09-16 Nvidia Corporation Double-buffering of pixel data using copy-on-write semantics

Also Published As

Publication number Publication date
EP2153301A1 (en) 2010-02-17
EP2153301A4 (en) 2012-01-04
JP5335775B2 (ja) 2013-11-06
US20080298463A1 (en) 2008-12-04
WO2008150768A1 (en) 2008-12-11
EP2153301B1 (en) 2017-05-17
KR20100028066A (ko) 2010-03-11
CN101730873A (zh) 2010-06-09
CN101730873B (zh) 2012-12-26
JP2010529743A (ja) 2010-08-26
US8300699B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
KR101160740B1 (ko) 초광대역 시스템에서 필요한 스루풋을 감소시키기 위한 시스템, 방법, 및 컴퓨터-판독가능 매체
US8874812B1 (en) Method and apparatus for remote input/output in a computer system
US7522125B2 (en) Wireless device method and apparatus with drawing command throttling control
US7916956B1 (en) Methods and apparatus for encoding a shared drawing memory
US8767820B2 (en) Adaptive display compression for wireless transmission of rendered pixel data
CN112261460B (zh) 一种基于pcie的多路视频解码方案设计方法
US9367499B2 (en) System on chip for enhancing quality of service and method of controlling the same
US9607407B2 (en) Variable-width differential memory compression
US10672098B1 (en) Synchronizing access to buffered data in a shared buffer
US20130148740A1 (en) Method and apparatus for processing partial video frame data
WO2012172393A1 (en) Method and device for encoding and decoding an image
US8736617B2 (en) Hybrid graphic display
US11962795B2 (en) Video frame codec architectures
KR102619668B1 (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
US8032675B2 (en) Dynamic memory buffer allocation method and system
US20060265520A1 (en) Method and system for high speed network application
US10249269B2 (en) System on chip devices and operating methods thereof
US9888250B2 (en) Techniques for image bitstream processing
CN114745554A (zh) 基于SoC级联的显示方法和装置、电子设备及存储介质

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: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7