KR20200055668A - 이미지 스케일링 - Google Patents

이미지 스케일링 Download PDF

Info

Publication number
KR20200055668A
KR20200055668A KR1020190143443A KR20190143443A KR20200055668A KR 20200055668 A KR20200055668 A KR 20200055668A KR 1020190143443 A KR1020190143443 A KR 1020190143443A KR 20190143443 A KR20190143443 A KR 20190143443A KR 20200055668 A KR20200055668 A KR 20200055668A
Authority
KR
South Korea
Prior art keywords
image
input
video
hdmi
pixels
Prior art date
Application number
KR1020190143443A
Other languages
English (en)
Inventor
아난드 벤키타숩라마니
바바나 무라리크리쉬나
쉬리자 스가탄
니알 디. 오'코넬
Original Assignee
아날로그 디바이시즈 인터내셔널 언리미티드 컴퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아날로그 디바이시즈 인터내셔널 언리미티드 컴퍼니 filed Critical 아날로그 디바이시즈 인터내셔널 언리미티드 컴퍼니
Publication of KR20200055668A publication Critical patent/KR20200055668A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4023Decimation- or insertion-based scaling, e.g. pixel or line decimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • 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/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate 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/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 or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • 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/06Use of more than one graphics processor to process data before displaying to one or more screens
    • 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
    • G09G2370/00Aspects of data communication
    • G09G2370/12Use of DVI or HDMI protocol in interfaces along the display data pipeline

Abstract

일예에서, 입력 이미지를 수신하기 위한 입력 버퍼; 입력 이미지를 복수의 N 수직 슬라이스로 분할하는 슬라이서 회로; 디-래스터화를 위한 N 병렬 입력 버퍼; 각각의 스케일러는 이미지 스케일링 알고리즘에 따라 N 수직 슬라이스 중 하나를 래스터 형태로 스케일링되도록 구성되는 하드웨어인, N 병렬 이미지 스케일러; 재-래스터화를 위한 N 병렬 출력 버퍼; 및 스케일링된 수직 슬라이스를 조합된 스케일링된 출력 이미지로 조합하는 출력 멀티플렉서를 포함하는 비디오 프로세서가 개시된다.

Description

이미지 스케일링{IMAGE SCALING}
본 개시는 일반적으로 컴퓨팅 분야에 관한 것으로, 특히, 전적으로는 아니지만, 비디오 처리를 위한 시스템 및 방법에만 관한 것이다.
최신 비디오 시스템은, 비제한적 예로서, HDMI(High-Definition Multimedia Interface), 디스플레이포트(DisplayPort), USB-C(Universal Serial Bus Type C) 및 DVI(Digital Video Interface)와 같은 인터페이스를 통해 고품질 디지털 비디오를 수신 및 렌더링할 수 있다.
일예에서, 입력 이미지를 수신하기 위한 입력 버퍼; 입력 이미지를 복수의 N 수직 슬라이스로 분할하는 슬라이서 회로; 각각의 스케일러가 이미지 스케일링 알고리즘에 따라 N 수직 슬라이스 중 하나를 라인 단위로 스케일링하도록 구성된 하드웨어인, N 병렬 이미지 스케일러; 및 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 조합하기 위한 출력 멀티플렉서를 포함하는 비디오 프로세서가 개시된다.
본 개시는 첨부 도면과 함께 읽을 때 다음의 상세한 설명으로부터 가장 잘 이해된다. 업계의 표준 관행에 따라, 다양한 특징은 실제 크기대로 도시되지 않고 단지 설명 목적을 위해서만 사용된다는 것이 강조된다. 스케일이 도시되는 경우, 명시적 또는 암시적으로, 이는 단지 하나의 예시적인 예를 제공한다. 다른 실시예에서, 다양한 특징의 치수는 논의의 명확성을 위해 임의로 증가 또는 감소될 수 있다.
도 1a 및 도 1b는 본 명세서의 교시에 따라, 비디오 시스템의 다양한 실시예를 도시한 것이다.
도 2는 본 명세서의 교시에 따라, 수직 이미지 슬라이싱을 도시한 것이다.
도 3은 본 명세서의 교시에 따라, 이미지 스케일링이 어떻게 발생하는지에 대한 블록도이다.
도 4는 본 명세서의 교시에 따라, 스케일링 동작을 도시하는 블록도이다.
도 5는 본 명세서의 교시에 따라, 예시적 스케일러의 블록도이다.
도 6은 본 명세서의 교시에 따라, 파이프라이닝을 도시한 블록도이다.
도 7은 본 명세서의 교시에 따라, 비디오 스케일링 방법의 흐름도이다.
도 8은 본 명세서의 교시에 따라, HDMI 시스템의 블록도이다.
도 9a 및 도 9b는 본 명세서의 교시에 따라, 시스템-온-칩의 블록도이다.
다음의 개시는 본 개시의 상이한 특징들을 구현하기 위한 많은 상이한 실시예 또는 예를 제공한다. 성분 및 배열의 구체적 예는 본 개시를 단순화하기 위해 아래에 설명된다. 이들은 물론 예일 뿐이며 제한하려는 것이 아니다. 또한, 본 개시는 다양한 예에서, 또는 상이한 도면들에 걸쳐 몇몇 경우들에서 참조번호 및/또는 문자를 반복할 수 있다. 이 반복은 단순성 및 명확성을 위한 것이며, 그 자체가 논의되는 다양한 실시예 및/또는 구성 간에 관계를 정하지 않는다. 상이한 실시예는 상이한 이점을 가질 수 있으며, 임의의 실시예에 어떠한 특별한 이점도 반드시 요구되는 것이 아니다.
디스플레이 해상도, 컬러 깊이, 및 프레임 레이트 면에서 현대의 많은 디스플레이 시스템은 이들의 데이터 소스를 능가한다. 예를 들어, 최신의 TV 세트는 4K 및 8K UHD(Ultra-High Definition) 디스플레이를 할 수 있게 한다. 이들 디스플레이 기술은 사람이 인지할 수 있는 시계의 경계를 테스트할 수 있게 한다. 그러나 종종, 이들 디스플레이는 디스플레이 능력을 완전히 활용할 수 없는 이전 세대의 디스플레이 소스에 의해 구동된다. 예를 들어, 많은 소비자들이 제1-세대 블루-레이 디스크 플레이어를 갖고 있다. 대부분의 블루-레이 디스크 플레이어 상품은 고화질(HD)(예를 들면, 720p) 또는 소위 풀 HD(1080p)로 비디오를 디스플레이한다. 720p 및 1080p에서 "p"는 프로그레시브 스캔(또는 "비-인터레이스") HD 신호 포맷을 지칭한다. 720p HD는 스크린을 가로질러 수평으로 1,280 픽셀과 스크린 아래로 수직으로 720 수평 픽셀을 디스플레이하여, 16 대 9의 어스펙트비를 갖고 720 수평 라인이 되게 한다. 1080p 풀 HD는 스크린을 가로질러 수평으로 1,920 픽셀과 스크린 아래로 수직으로 1080 수평 픽셀을 디스플레이하여, 16 대 9의 어스펙트비를 갖고 1080 수평 라인이 되게 한다. "i"는 인터레이스 HD 신호 포맷을 지칭하는 것으로 비공식이지만 일반적으로 언급되는 호칭의 720i 및 1080i과 비교하여, 720p 및 1080p는 한 프레임 내에서 라인들을 교번하지 않고 모든 라인들을 전송함으로써 이미지 플리커를 방지할 필요성을 감소시킨다.
블루-레이 디스크 플레이어가 720p HD 및 1080p 풀 HD를 제공할 수 있지만, 이들은 구 디지털 비디오 디스크(DVD)도 재생할 수 있다. 많은 사용자는 여전히 블루-레이 디스크로 교체할 용의가 없는 기존의 대량 수집한 DVD를 갖고 있다. DVD는 최대 해상도가 480p(720 x 480 픽셀)여서 훨씬 더 제한적이다.
이들 해상도를 3840 x 2160 해상도를 제공하는 4K UHD 텔레비전 또는 7680 x 4320 해상도를 제공하는 8K UHD 텔레비전과 비교한다.
이들 해상도는 너무 높아 표준 블루-레이 디스크는 4K 또는 8K 비디오를 저장할 데이터 용량이 없다. 따라서, 현재 환경에서, 4K 및 8K는 일반적으로 비디오 스트리밍 기술로 간주된다. 그러나 최근의 소비자들은 비디오가 실시간으로 스트리밍되고 버퍼링이 거의 내지는 없이 자신들의 텔레비전에서 재생되기를 기대한다. 4K 및 8K 비디오는 사용자가 광섬유 서비스와 같은 매우 하이-엔드의 인터넷 연결을 갖지 않는한 성공적으로 스트리밍되지 않을 수 있다. 따라서, 4K 및 8K UHD 가능 텔레비전을 가진 소비자는 고 성능 디스플레이에 면해 있기는 하나 이 디스플레이를 최대 해상도로 구동할 수 없는 많은 비디오 소스에 면해 있다.
기존의 많은 텔레비전은 480p DVD 또는 720p 및 1080p 블루-레이 디스크 플레이어와 같은 저 해상도 레거시 디바이스로부터 비디오 스트림을 지원할 능력을 갖고 있다. 그러나 소비자들은 이들이 프리미엄을 지불한 고 해상도 텔레비전으로선명하지 못한 저해상도 비디오를 시청하는 것에 불만이 있을 수 있다.
이러한 텔레비전 소비자에게 프리미엄 시청 환경을 제공하기 위해 많은 텔레비전은 현재 비디오 업스케일 능력을 갖고 있다. 예를 들어, 이들 텔레비전은 1080p 입력 스트림을 수신하고 이 스트림을 4K UHD 해상도로 업스케일할 수 있다. 그러나, 해상도가 8K 이상으로 증가함에 따라, 이러한 업스케일링은 마이크로프로세서, 디지털 신호 프로세서(DSP), 또는 업스케일링을 제공하기 위해 사용되는 ASIC(application-specific integrated circuit)과 같은 하드웨어 유형의 능력에 부담을 줄 수 있다.
예를 들어, 8K UHD 및 초당 60 프레임으로 비디오를 처리하는 것은 초당 약 2.4 기가 픽셀을 처리할 것을 요구한다. 그러나 이러한 처리를 위해 사용되는 일반적인 DSP는 초당 약 700 메가 픽셀에서 동작한다. 훨씬 더 크거나 빠른 DSP 또는 변환 하드웨어를 설계하는 것은 사소하지 않은 작업이다.
본 명세서는 비디오 스트림을 복수의 N 수직 슬라이스로 분할하고 N 수직 슬라이스를 N 병렬 스케일러 하드웨어 요소 또는 DSP 상에서 병렬로 처리함으로써 HD 포맷으로의 비디오의 업스케일링 또는 다운스케일링을 제공하는 시스템 및 방법을 예시한다. 다운스케일링은 소스의 컨텐츠가 고해상도(예를 들면, 8K)이고 소스에 다운스케일링 능력이 없지만 디스플레이가 1080p 또는 4K와 같은 저 해상도만 가능할 때 지원될 수 있다. 이 경우, 소스와 디스플레이 사이에 다운스케일러가 배치될 필요가 있을 수 있다.
본 명세서 전체에서, 예는 4개의 병렬 스케일러에서 비디오를 8K로 업스케일링하는 HDMI(High-Definition Multimedia Interface) 수신기와 관련하여 논의될 것이다. 이들 예는 모두 비제한적 예로서 이해되어야 한다. 다른 실시예에서, 다른 인터커넥트 뿐만 아니라 다른 비디오 표준들이 사용될 수 있다. 예를 들어, 비디오는 인터넷과 같은 디지털 전달 시스템을 통해서, 또는 USB, USB-C, 디스플레이포트, 등과 같은 다른 인터페이스를 통해 전달될 수 있다. 또한, 이 명세서에서 비디오를 업스케일링하는 교시는 본원에 제공된 비디오 신호 프로세서의 배타적 기능인 것으로 이해되지 않아야 한다. 비디오 신호 프로세서는, 예시적이고 비제한적인 예로서, 컬러 공간 변환, 크롭핑, 디인터레이싱, 및 프레임 레이트 변환과 같은 다른 서비스를 포함하여 많은 종류의 비디오 신호 처리를 제공할 수 있다.
본 명세서의 실시예는 디-래스터화(de-rasterization) 버퍼, 재-래스터화(re-rasterization) 버퍼, HDMI 제어기, 더블 데이터 레이트(DDR) 제어기, 물리적 및 논리적 인터페이스, 및 임의의 적절한 요소와 같은 다른 요소 뿐만 아니라, 본원에 교시된 N 병렬 스케일러를 포함하는 ASIC 또는 SoC(system-on-a-chip)을 포함할 수 있다. 본원에 논의된 스케일러는 일부 예에서 IP(intellectual property) 블록으로서 제공될 수 있다. 스케일러를 포함하는 IP 블록은 스케일러만을 포함할 수도 있을 것이며, 또는 본 명세서의 교시에 사용을 위해 스케일러를 적응시키도록 특정하게 구성된 지원 요소를 포함할 수 있다. 예를 들어, IP 블록은 스케일러뿐만 아니라, 픽셀 변환기, 디-래스터화 버퍼, 재-래스터화 버퍼 및/또는 출력 멀티플렉서와 같은 요소를 지원할 수도 있다. 일부 경우에, N 스케일러는 병렬 스케일러 유닛으로서 모놀리식으로 제공될 수 있다. 이 경우, 스케일러는 IP 블록, 별도의 ASIC, 또는 집적 회로의 일부로서 제공될 수 있다. 또한, 본 명세서에서 스케일러의 예로서 커스텀 회로가 사용되지만, 본 명세서의 스케일러는 DSP, 그래픽 처리 유닛(GPU), 중앙 처리 유닛(CPU), 또는 다른 적절한 처리 요소를 사용하여 구축될 수 있다.
본 명세서의 병렬 스케일러는, 비제한적이고 예시적인 예로서, 대략 600 내지 700 MHz에서 동작하는 4개의 독립적인 스케일러를 포함한다. 이 4개의 독립적인 스케일러들은 함께하여, 초당 총 2.4 기가 픽셀의 이미지 처리 능력을 제공하며, 따라서 비디오를 480p, 720p, 1080p 및 4K를 포함하여 최대 8K까지 실시간으로 스케일업할 수 있게 한다. 또한, 협력적 디인터레이서를 사용하여, 본 명세서에 따른 시스템은 480i, 720i 및 1080i와 같은 다른 비디오 포맷을 업스케일할 수 있다.
본 명세서의 스케일러의 예시적인 실시예는 4개의 병렬 스케일러를 제공하며, 이들 각각은 실질적으로 동일한 이미지 스케일링 알고리즘을 제공한다. 이미지 스케일링 알고리즘은 다항식 보간 알고리즘일 수 있는데, 이는 단순히 두 점 사이의 선형 근사를 계산하는 것이 아니라 입력 데이터의 4개 점에 기초하여 곡선을 보간함으로써 고품질 이미지 스케일링을 제공한다. 입력 데이터의 각 점은 개별 픽셀일 수 있다. 따라서, 스케일러는 한 라인의 입력 픽셀을 취하여 이 라인을 4개의 병렬 청크로 나눌 수 있으며, 각 청크는 대략 2000 픽셀을 내포한다. 이어 이들 2000 픽셀 청크는 4개의 병렬 스케일러에 의해 차례로 처리되며, 이어 각 스케일러는 이의 보간된 픽셀을 FIFO(first in, first out) 버퍼에 출력한 후 다음 라인으로부터 청크를 수신한다. 출력 이미지는 함께 멀티플렉싱되고, 재-래스터화되고, 이어 최대 8K UHD 해상도로 비디오 디스플레이에 구동될 수 있다.
각 스케일러를 위한 FIFO 버퍼가 비워지지 않도록 이미지 스케일러는 파이프라인될 수 있다. 모든 슬라이스 스케일러는 동시에 병렬로 동작한다. 이미지의 시작에서, 이들은, 입력이 래스터 포맷이라고 가정하여, 쿼터 라인 오프셋에서 시작한다. 이 쿼터 오프셋 지연은 디-래스터화 및 재-래스터화 버퍼 크기를 거의 최적화하기 위한 것이다. 반대로, 입력이 파일시스템에 파일로서 저장되었다면, 모든 슬라이스 스케일러는 프레임 시작에서 함께 시작할 수도 있을 것이다. 그러나 실시간 동작에 있어, 재-래스터화 버퍼 크기는 스케일러가 쿼터 라인 오프셋에서 시작한다면 더 좋다. 이 경우, 입력 디-래스터화 버퍼는 필요하지 않을 수 있다.
이미지가 4개의 수직 슬라이스로 슬라이스되고 각 슬라이스가 자체 스케일러에 의해 독립적으로 처리됨으로써, 이미지가 각 슬라이스 사이에 라인이 있는 4개의 개별 이미지로 나타날 수 있는 위험이 있다. 이것은 최종 사용자 관점에서 차선의 시청 환경인 것으로 간주될 수 있으며 많은 경우에 원래 단일 8K UHD 이미지로서 코딩된 것처럼 보이는 하나의 연속한 이미지를 제공하는 것이 바람직하다. 이를 달성하기 위해, 각각의 스케일러는 주어진 라인 상에 특정 사분위에 대한 제1 입력으로서 또는 이전 사분위로부터 하나 이상의 이전 픽셀을 수신할 수 있다. 예를 들어, 바이리니어 보간이 사용되고 있다면, 스케일러 2는 사분위 1의 마지막 픽셀을 제1 입력 픽셀로서 수신할 것이다. 따라서, 스케일러는 2개의 주변 픽셀로부터 새로운 픽셀의 거리에 기초하여 가중 평균을 보간할 수 있을 것이다. 더 나은 디스플레이 경험을 위해, 바이리니어 보간이 사용되는 것보다는 바이큐빅 보간과 같은 다항식 보간이 사용될 수 있다. 바이큐빅 보간은 2픽셀 사이의 단순 선형 가중 평균을 계산하지 않고, 입력으로서 4개의 픽셀을 취하여 가중 평균을 계산한다. 바이큐빅 보간은 입력의 4 픽셀을 요구하기 때문에, 각 사분위는 이전 사분위로부터 마지막 2 픽셀을 초기 2 픽셀로서 수신할 수 있다. 유사하게, 각각의 사분위는 사분위의 끝에서 스케일링된 출력 픽셀을 계산하기 위해 다음 사분위로부터 2 픽셀을 수신할 수 있다. 이것은 바이큐빅 보간을 계산하기 위해 작업할 4개의 픽셀을 스케일러에 제공한다. 다른 보간 알고리즘이 사용된다면, 수직 슬라이스들 사이의 원할한 전이를 제공하기 위해 이전의 사분위로부터 다른 개수의 이전 픽셀들이 제공될 수 있다.
일단 스케일러가 전체 한 라인의 출력을 성공적으로 계산하였으면, 이 출력 라인은 재-래스터화되고, 이어 디스플레이에 구동될 수 있다. 바람직한 사용자 경험을 제공하기 위해, 스케일러는 초당 약 60 프레임을 처리할 수 있도록 구성되고, 이에 따라 디스플레이가 초당 원하는 60 프레임으로 구동될 수 있음을 보장할 수 있다.
이미지 스케일링을 제공하기 위한 시스템 및 방법이 이제 첨부된 도면을 보다 구체적으로 참조하여 설명될 것이다. 도면 전체에 걸쳐, 특정 디바이스 또는 블록이 도면 전체에 걸쳐 전체적으로 또는 실질적으로 일관됨을 나타내기 위해 어떤 참조 번호가 반복될 수 있음에 유의해야 한다. 그러나, 이것은 개시된 다양한 실시예 간에 임의의 특정한 관계를 암시하려는 것이 아니다. 어떤 예에서, 요소의 지너스는 특정 참조번호("위젯 10")로 지칭될 수 있는 반면, 지너스의 개개의 종 또는 예는 하이픈으로 표시된 숫자("제1 특정 위젯 10-1" 및 "제2 특정 위젯 10-2")로 지칭될 수 있다.
도 1a 및 도 1b는 본 명세서의 교시에 따라, 비디오 시스템(100)의 다양한 실시예를 도시한 것이다.
도 1a에 도시된 실시예에서, HDMI 소스(104)는 신호를 구동하고 있다. HDMI 소스(104)는, 예를 들어, VHS 플레이어, DVD 플레이어, 블루-레이 디스크 플레이어, 또는 온라인 비디오, 혹은 로컬 저장장치에 저장된 비디오와 같은 일부 디지털 미디어 컨텐츠 전달 시스템일 수 있다. 이 예에서, HDMI 소스(104)는 480p와 같은 일부 저 해상도로 출력 비디오 또는 720p 또는 1080p에서 HD를 구동한다. HDMI 소스(104)는 이의 출력 비디오 신호를 HDMI 싱크(108)에 제공한다.
HDMI 싱크(108)는 480p, 720p, 1080p와 같은 자신의 본연의 해상도 또는 일부 다른 해상도로 입력 비디오를 수신한다. 그러나, HDMI 싱크(108)는 텔레비전(116)과 같은 디스플레이에 통신가능하게 결합되도록 구성된다. 텔레비전(116)은 HDMI 소스(104)의 본연의 해상도보다 높은 해상도를 가능하게 할 수 있다. 예를 들어, 텔레비전(116)은 4K 또는 8K UHD와 같은 해상도를 가능하게 할 수 있다. 따라서, 텔레비전(116)의 사용자 또는 시청자에게 프리미엄 비디오 경험을 제공하기 위해, 비디오 프로세서(112)는 HDMI 싱크(108)와 텔레비전(116) 사이에 배치될 수 있다. 비디오 프로세서(112)는 텔레비전(116)의 최대 해상도 용량으로 울트라 HD 출력을 구동할 수 있다. 구체적으로, HDMI 프로세서(112)는 HDMI 싱크(108)로부터 저 해상도 HDMI 신호를 수신하고, 이 신호를 4K 또는 8K UHD와 같은 더 높은 해상도로 업스케일링하고, 업스케일된 이미지를 텔레비전(116)에 구동하도록 구성될 수 있다. 이어 텔레비전(116)은 비디오 프로세서(112)로부터 UHD HDMI 출력을 수신하고, 비디오를 이의 스크린에 디스플레이한다.
비디오 시스템(100-1)은 반드시 다양한 요소들 간의 물리적 관계를 특정하지는 않는 것에 유의한다. 이 실시예에서, HDMI 소스(104), HDMI 싱크(108), HDMI 프로세서(112), 및 텔레비전(116)은 개별 로직 기능들을 나타내는 블록도 구성으로 도시되었다. 그러나, 이들 요소는 임의의 적절한 구성으로 배열될 수 있음에 유의해야 한다. 예를 들어, HDMI 소스(104), HDMI 싱크(108), HDMI 프로세서(112), 및 텔레비전(116)은 모두 하나의 물리적으로 패키지된 유닛일 수 있다. 구체적으로, 텔레비전(116)은 HDMI 소스(104)로부터 디지털 비디오를 수신하고, 비디오를 HDMI 싱크(108)에 보내고, 비디오 프로세서(112)에서 비디오를 처리하고, 비디오를 텔레비전(116)의 스크린 상에 디스플레이하는 능력을 가질 수도 있을 것이다. 대안적으로, HDMI(104)는 비디오 플레이어 또는 네트워크 연결과 같은 완전히 별개의 디바이스일 수도 있을 것이고, HDMI 싱크(108)는 또한 시스템을 위한 별도의 HDMI 수신기로서 제공될 수도 있을 것이다. 비디오 프로세서(112)는 별도의 로직 디바이스로서, 또는 비디오 업스케일링 기능을 위한 HDMI 싱크(108)를 제공하는 독립형 셋톱 박스로서 구현될 수도 있을 것이다.
이어 비디오 프로세서(112)는 이의 업스케일링된 출력을 텔레비전(116)과 같은 UHD-가능 디스플레이에 구동할 수도 있을 것이다. 이것은 많은 가능한 실시예들 중 2개만을 도시하며, 일반적으로 임의의 로직 그룹화 또는 물리적 구성 및 배치가 사용될 수도 있을 것이다.
도 1b는 어떤 요소가 SoC(system-on-a-chip)(150)에 위치된 비디오 시스템(100-2)의 블록도이다. SoC(150)는 실리콘 웨이퍼 제작과 같은 제조 프로세스를 통해 전기 및 전자 요소 뿐만 아니라 로직 요소가 제공된 실리콘 또는 다른 반도체 기판에 기초한 모노리식 제조 물품일 수 있다. 이 실시예에서, 비디오 신호 프로세서(124)는 도 1a의 HDMI 프로세서(112)와 유사할 수 있다. SERDES(serializer/deserializer) 수신기(120)는 도 1a의 HDMI 싱크(108)와 유사할 수 있다. SERDES 송신기(128)는 도 1a의 비디오 프로세서(112)의 일부 또는 유사한 것으로 간주될 수 있다.
이 실시예에서, SoC(150)는 다이나믹 랜덤 액세스 메모리(DRAM)(132)에 통신가능하게 결합한다. DRAM(132)은 SoC(150)를 위한 동작 메모리를 제공한다. SERDES 수신기(120)는 임의의 적합한 SERDES 종일 수 있고, 예시적 및 비제한적 예로서, HDMI, 다이렉트 미디어 인터페이스(DMI), USB-C, 이더넷(이더넷 패킷에 내장된 비디오를 갖는), 또는 임의의 다른 적절한 비디오 전달 메커니즘을 포함한, 하나 이상의 포맷으로 신호를 수신할 수 있다. SERDES 수신기(120)는 이의 비디오 신호를 비디오 신호 프로세서(124)에 제공한다.
비디오 신호 프로세서(124)는 이의 입력 비디오 상에 임의의 수의 비디오 신호 처리 기능을 제공할 수 있다. 이들은, 예시적이고 비제한적인 예로서, 컬러 공간(또는 "개멋") 변환(디스플레이된 컬러의 수가 증가 또는 감소될 수 있다), 이미지 크롭핑(예를 들어, 16 x 9 내지 4 x 3 또는 이외 다른 크롭핑), 인터레이스된 비디오의 디인터레이싱, 스케일링(예를 들어, 480p, 480i, 720p, 1080p 또는 다른 최대 4K 또는 8K UHD와 같은 포맷으로부터 업스케일링을 포함한), 및 프레임 레이트 변환(예를 들면, 초당 24 프레임 및 초당 60 프레임과 같은 포맷간에 변환하기 위해 프레임을 보간 및 추가 또는 제거)을 포함할 수 있다.
비디오 신호 프로세서(124)의 다양한 기능은 다양한 전용 또는 협력적 로직 블록에 의해 수행될 수 있음에 유의한다. 일부 경우에, 이들 기능은, 예를 들어, 스케일링이 수행되기 전에 이미지가 크롭핑되거나 디인터레이싱되도록 파이프라인될 수 있다. 일부 실시예에서, 비디오 신호 프로세서(124)의 다양한 요소는 IP 블록에 의해 제공될 수 있으며, 이는 정의된 입력, 정의된 출력, 및 출력을 생성하기 위해 입력에 대해 수행되는 정의된 처리 기능을 갖는 "블랙 박스"로서 기능할 수 있다. 이러한 IP 블록은 유리하게 시스템 설계자가 이들 기능을 독립형 디바이스로서 판매할 수 있게 한다.
일단 비디오 신호 프로세서(124)가 이의 비디오의 변환 및 처리를 마치면, 출력 비디오를 SERDES 송신기(128)에 제공하는데, 이는 출력을 도 1a의 UHD-가능 디스플레이(116), 컴퓨터 모니터, 상업용 디스플레이(예를 들면, 점보트론 또는 대형 회의실 디스플레이), 또는 임의의 다른 디스플레이 기술과 같은 디스플레이에 구동한다.
도 2는 본 명세서의 교시에 따라, 수직 이미지 슬라이싱을 도시한 것이다.
도 2를 도시한 것은 비디오 스트림으로부터 추출된 프레임일 수 있는 원 프레임(204)이다. 예를 들어, 원 프레임(204)은 1/24초 또는 1/60초 동안과 같이 스크린 상에 디스플레이되는 단일 비디오 프레임일 수 있다. HDMI는 디스플레이 스트림 압축(DSC)과 같은 비디오 압축을 채용하는 것에 유의한다. HDMI는 DSC를 채용하기 때문에, 그리고 다른 비디오 포맷은 압축을 제공하기 때문에, 개개의 프레임은 초기에는 모놀리식 이미지로서 사용되지 못할 수 있다. 오히려, 압축 기술은 종종 이전 프레임과 현재 프레임 사이에 델타를 채용하고, 프레임 간에 상이한 픽셀들만 변경한다. 그러나, 본 명세서의 일부 실시예는 비압축된 프레임별 포맷으로 비디오에 동작함으로써 이점을 실현한다. 따라서, 비디오 스트림으로부터 원 프레임(204)을 얻기 위해, DSC 기능은 소스 데이터로부터 풀 프레임을 구축하기 위해 필요할 수 있다. 일단 프레임(204)이 적절하게 구축되었으면, 이는 본 명세서의 교시에 따라, 처리될 수 있다.
예시적 예로서, 스케일러는 48-비트 컬러 깊이를 갖는 7680 x 4320 픽셀 비트맵에 기초하여 원 프레임(204)을 8K 해상도까지 스케일링하기 위해 사용될 수 있다. 48-비트 컬러 깊이의 8K 비디오가 여기에선 비제한적인 예로서 제공되며, 다른 비디오 해상도가 사용될 수 있음에 유의한다. 일부 실시예에서, 일반적으로 업-디더링이라 지칭되는 프로세스에 의해, 픽셀에서 각각의 컬러 성분의 LSB 측에 랜덤 비트를 생성함으로써, 24-비트 컬러 깊이와 같은 낮은 컬러 깊이로부터 변환하는 방법이 제공될 수 있다.
디더링 및 업스케일링은 개별적 프로세스이거나 함께 수행될 수 있는 것에 유의한다. 업스케일링은 한 점이 다른 2개의 점들 사이에 보간되고 한 픽셀이 다른 두 픽셀 사이에 보간되고, 새로운 픽셀엔 2개의 가장 가까운 픽셀의 컬러의 선형 가중 평균에 기초한 컬러가 주어지는 선형 보간의 형태를 취할 수 있다. 다른 실시예는 더 나은 보간 및 따라서 더 나은 이미지 스케일링을 제공하기 위해 보다 복잡한 알고리즘을 사용할 수 있다. 예를 들어, 스케일러는 재-샘플링된 픽셀이 스케일링을 위해 사용되는 커널의 유형에 의해 결정되는 적절한 임펄스 응답으로 가중함으로써 다수의 이웃 픽셀로부터 보간되는 보간 알고리즘을 채용할 수도 있을 것이다. 예를 들어, 바이큐빅 보간과 같은 보간 방법으로서는 새로운 픽셀의 값을 보간하기 위해 4개의 픽셀이 사용된다. 새로운 값은 수평 및 수직으로(즉, 수직으로 위로 2개와 밑으로 2개 뿐만 아니라, 수평으로 새로운 픽셀의 각 측으로 2개의 픽셀) 각 차원에서 2개의 픽셀로부터 보간된다. 이 유형의 보간은 새로운 픽셀에 대해 더 나은 위치와 더 나은 컬러를 제공한다.
그러나, 주어진 프로세스 노드(예를 들면, 28nm)에서 현존 스케일러는 약 650 내지 700MHz에 유지하여, 새로운 이미지를 보간함에 있어 초당 650 내지 700 메가 샘플을 제공한다. 이것은, 예를 들어, 1080p 풀 HD에서 4K UHD로 보간하는데 적합할 수 있다. 그러나, 초당 700 메가 샘플은 스케일러의 입력 또는 출력 레이트가 60Hz에서 8K와 같이 4K 60Hz 이상일 때는 보간하기에 충분하지 않다. 따라서. 8K UHD 업스케일링과 같은 매우 높은 해상도를 제공하기 위해선 추가의 처리 능력이 필요할 수 있다.
더 크고 빠른 스케일러 IP 블록을 설계하는 것은 사소한 것이 아니기 때문에, 본 명세서는 원 프레임(204)을 슬라이스된 프레임(212)으로 수직으로 슬라이스한다. 슬라이스된 프레임(212)은 다수의 수직 슬라이스(208), 즉 슬라이스(208-1), 슬라이스(208-2), 슬라이스(208-3), 및 슬라이스(208-4)를 포함한다. 예로서 8K 해상도를 사용할 때, 슬라이스된 이미지(206)는 4320개의 라인을 가지며, 각 라인은 약간 2000 픽셀 미만의 사분위로 분할된다. 각각의 사분위 또는 슬라이스(208)는 예를 들어, 슬라이스(208-1)가 제1 스케일러에 할당되고, 슬라이스(208-2)가 제2 스케일러에 할당되고, 슬라이스(208-3)가 제3 스케일러에 할당되고, 슬라이스(208-4)가 제4 스케일러에 할당되게 병렬 스케일러 아키텍처에서 전용 스케일러에 할당될 수 있다. 이들 스케일러는 7680 픽셀을 포함하는 라인(212)에 의해 예시된 바와 같이 라인 단위로 픽셀을 보간할 수 있다. 이 라인은 슬라이스(208-1), 슬라이스(208-2), 슬라이스(208-3), 및 슬라이스(208-4)와 같이 4개의 사분위 또는 슬라이스로 분할된다. 제1 스케일러가 슬라이스(208-1)에 대한 픽셀을 보간할 때, 각 동작에서 각 차원(즉, 수직 및 수평)에서 4개의 입력 픽셀로부터 하나의 새로운 픽셀을 보간하기 위한 보간 방법을 사용할 수 있다. 이 출력 픽셀은 2개의 선행 픽셀과 2개의 후속 픽셀 사이에 새로운 픽셀로서 출력된다. 이어 스케일러는 1 픽셀만큼 증분하고, 새로운 한 세트의 픽셀을 취하고, 4개의 픽셀 중간에서 하나 이상의 새로운 픽셀을 보간한다.
그러나, 슬라이스(208)가 완전히 독립적인 엔티티로서 취급된다면, 출력은 4개의 슬라이스 사이에 가시적 라인을 갖는 4개의 관계되지만 별개의 이미지들로서 나타날 것이라는 것에 유의한다. 따라서, 슬라이스(208-2, 208-3, 208-4) 각각은 이들의 제1의 3개의 픽셀로서 이전 슬라이스의 마지막 3개의 픽셀을 수신하는데, 이는 이들 3개의 슬라이스에 동작하는 스케일러가 슬라이스들 사이의 시작 경계 픽셀을 보간할 수 있게 한다. 유사하게, 슬라이스(208-1, 208-2, 208-3) 각각은 이들의 마지막 3개의 픽셀로서 다음 슬라이스의 제1의 3개의 픽셀을 수신하는데, 이는 이들 3개의 슬라이스에 동작하는 스케일러가 슬라이스들 사이의 끝 경계 픽셀을 보간할 수 있게 한다. 수평 오프셋 값은 제1 슬라이스를 제외한 모든 슬라이스의 시작에서 변조될 수 있다.
이것은 슬라이스된 이미지(206)가 8K까지 스케일링될 때, 출력 비디오가 라인이 없는 단일 심리스 이미지로서 나타날 것임을 보장한다. 따라서, 행(212)에 도시된 바와 같이, 슬라이스(208-1)의 최종 3개의 픽셀(220)은 슬라이스(208-2)의 제1의 3개의 픽셀로서 제2 스케일러에 제공된다. 따라서, 슬라이스(208-1, 208-4)는 1923 픽셀을 갖는 반면 슬라이스(208-2, 208-3)는 1926 픽셀을 갖는다. 선행 및 후속 슬라이스로부터 마지막 및 제1 픽셀의 이러한 사용은 수직 슬라이스 경계에 걸쳐 매끄러운 스케일링을 보장하는데 도움을 준다.
도 3은 본 명세서의 교시에 따라, 이미지 스케일링이 어떻게 행해지는지의 블록도이다.
입력 이미지(304)로 시작하여, 이미지는 4개의 수직 슬라이스(308-1, 308-2, 308-3, 308-4)로 슬라이스된다. 이전 도면에 도시된 바와 같이, 슬라이스(308-2, 308-3, 308-4)가 이전 이미지로부터 하나 이상의 픽셀(예를 들어, 선형 보간이 사용되고 있다면 이전의 하나의 픽셀, 또는 더 높은 차수(예를 들어, 바이큐빅) 보간이 사용되고 있다면 3개의 이전의 픽셀)을 포함할 수 있을지라도, 각각의 슬라이스(308)는 대략 입력 이미지(304)의 사분위를 나타낸다.
이어 4개의 독립적인 스케일러는 슬라이스(308)를 업스케일된 슬라이스(312)로 업스케일링한다. 즉, 슬라이스(308-1)는 슬라이스(312-1)로 업스케일링된다. 슬라이스(308-2)는 슬라이스(312-2)로 업스케일링된다. 슬라이스(308-3)는 슬라이스(312-3)로 업스케일링된다. 슬라이스(308-4)는 슬라이스(312-4)로 업스케일링된다. 이 명세서 전체에서, 이용될 수 있는 이미지 스케일링 기술의 예로서 선형 및 고차 보간이 사용된다. 그러나 여기서는 많은 이미지 스케일링 알고리즘이 알려져 있으며, 본 명세서의 교시가 반드시 특정 이미지 스케일링 방법을 요구하는 것은 아님에 유의해야 한다. 오히려, 본원에 교시는 임의의 이미지 스케일링 알고리즘과 호환가능하다.
이어서, 스케일링된 슬라이스(312)는 다양한 슬라이스(312)를 수평으로 재조합하고 결과를 업스케일링된 이미지(316)에 멀티플렉싱함으로써 함께 멀티플렉싱된다. 예를 들어, 원 이미지(304)는 1080p 풀 HD 이미지일 수 있고, 업스케일링된 이미지(316)는 UHD 4K 또는 8K 이미지일 수 있다.
도 4는 본 명세서의 교시에 따라, 스케일링 동작을 나타내는 블록도이다.
도 4의 도시에서, 입력(404)은 스케일업될 것이다. 용이한 참조를 위해, 입력(404) 내 픽셀은 픽셀 A, E, I, M 및 Q로 지칭된다. 예시로서, 픽셀은 수평으로 4배만큼 스케일업될 필요가 있을 수 있다. 예를 들어, 1080p와 8K UHD 간에 변환함에 있어서는 각 소스 픽셀로부터 3개의 추가의 수평 픽셀을 보간하는 것이 필요하다. 1080p에서 8K로 가는 것은 4배만큼 스케일업한다는 것은 반직관적인 것처럼 보일 수 있지만 이는 사실이다. 1080p에서, 숫자 1080은 1920 x 1080 해상도에서 수직 라인 수를 나타내고, 8K에서, 8K는 7680 x 4320 해상도에서 라인당 수평 픽셀 수를 나타낸다. 따라서, 8K는 각 차원에서 1080p보다 약 4배 더 크며, 약 16배 더 많은 총 픽셀 수를 포함한다.
따라서, 입력(404)의 픽셀 A는 출력(408)에서 픽셀(ABCD)로 보간된다. 입력(404)의 픽셀 E는 출력(408)에서 픽셀(EFGH)로 보간된다. 입력(404)의 픽셀 I은 출력(408)에서 픽셀(IJKL)로 보간된다. 입력(404)의 픽셀 M은 출력(408)에서 픽셀(MNOP)로 보간된다.
앞에서 설명한 바와 같이, 8K 해상도로 보간하는 것은 초당 약 2.4 메가픽셀의 처리 능력을 요구한다. 현존 스케일러는 임베디드 시스템에서 가용 MIPS 또는 특정 프로세스 노드에서 최대 속도와 같은 구현 제한에 기인하여 초당 700 메가픽셀 능력으로 종종 제한되기 때문에, 이들 스케일러는 실시간으로 1080p를 8K로 성공적으로 보간하기에는 부적절할 수 있다. 따라서, 이 예에서, 4개의 독립 스케일러가 입력(404)의 4개의 사분위를 보간하기 위해 사용된다. 구체적으로, 제1 스케일러는 픽셀 A로부터 시작하는 3개의 추가 픽셀을 보간하고, 제2 스케일러는 픽셀 E로부터 시작하는 3개의 추가 픽셀을 보간하고, 제3 스케일러는 픽셀 I에서 시작하는 3개의 추가 픽셀을 보간하고, 제4 스케일러는 픽셀 M에서 시작하는 3개의 추가 픽셀을 보간한다. 블록도에 도시된 바와 같이, 보간은 실시간으로 수행된다. 각 슬라이스 스케일러는 입력 라인 폭의 1/N와 동일한 라인 폭을 갖는 수직 슬라이스에 동작하며, 실제 입력의 한 라인 시간과 동일한 더 느린 시간 기간에 라인을 스케일링한다. 이것은 E가 도달할 때까지 A, B, C 및 D를 계산한 병렬로 다수 스케일링 동작과는 다르다.
출력 버퍼가 비워지지 않도록 하기 위해, 스케일러는 도시된 바와 같이 파이프라인 방식으로 동작할 수 있다. 예를 들어, 스케일러(412-1)는 먼저 픽셀(ABCD)을 보간하고 이들을 출력 버퍼에 기입한다. 스케일러(412-1)가 다음 라인의 동일한 사분위에 동작하는 동안, 스케일러(412-2)는 픽셀(EFGH)을 보간하고 이들을 이의 출력 버퍼에 기입한다.
스케일러(412-2)는 또 다른 라인의 제2 사분위에 동작하는 동안, 스케일러(412-3)는 픽셀(IJKL)을 보간하여 이들을 이의 출력 버퍼에 기입한다. 스케일러(412-3)가 또 다른 라인의 제3 사분위에 동작하는 동안, 스케일러(412-4)는 픽셀(MNOP)을 보간하여 이들을 이의 출력 버퍼에 기입한다. 일단 스케일러가 보간된 전체 라인을 이들의 출력 버퍼에 기입하였으면, 4개의 사분위는 함께 멀티플렉스되고 이 출력 라인을 스케일링된 이미지에 그리기 위해 출력 버퍼에 기록될 수 있다.
선형 보간이 사용되는 경우, 각 픽셀은 각 차원에서(수평과 수직) 가장 가까운 2개의 점의 단순 가중 평균으로서 보간될 수 있다(더 가까운 점에 기초하여 다소 무겁게 가중된다). 바이큐빅 보간이 사용된다면, 픽셀은 각각 위와 아래의 두 점으로부터, 그리고 각각 왼쪽과 오른쪽에 두 점으로부터 보간되어 각 차원에서 큐빅 보간을 제공할 수 있다.
도 5는 본 명세서의 교시에 따라, 예시적 스케일러의 블록도이다.
앞서 논의된 바와 같이, 스케일러(500)는 4개의 독립적인 스케일러, 즉 S1(512-1) 내지 S4(512-4)를 포함한다. 이들 스케일러가 서로 독립적으로 동작하지만, 병렬 스케일러(500)는 단일 스케일링된 출력 이미지를 제공하기 위해 이들 스케일러를 동작시키도록 구성된다.
병렬 스케일러(500)는 비디오 입력(502)을 수신한다. 비디오 입력(502)은 전술한 바와 같이 4개의 수직 슬라이스로 슬라이스된다. 구체적으로, 제1 슬라이스는 1923 픽셀(제2 슬라이스의 시작으로부터 3 픽셀)을 가지며, 제2 슬라이스는 1926 픽셀(제1 슬라이스의 마지막 3개의 픽셀과 제3 슬라이스로부터 제1의 3개의 픽셀을 포함한다)을 가지며, 제3 슬라이스는 1926 픽셀(제2 슬라이스로부터 마지막 3개 픽셀과 제4 슬라이스로부터 제1의 3개 픽셀 포함한다)을 가지며, 제4 슬라이스는 1923 픽셀(제3 슬라이스의 마지막 3개 픽셀을 포함한다)을 갖는다.
디-래스터화 버퍼(504)의 목적은 슬라이스 스케일러가 이의 최대 능력인 더 느린 레이트로 동작할 수 있도록 입력 픽셀을 느리게 하는 것이다. 예를 들어, 각 슬라이스 스케일러는 480개의 입력 픽셀로부터 한 라인 시간에 1920개의 스케일링된 픽셀만을 생성할 수 있다. 그러나, 8K 출력을 위해서는 한 라인의 시간에 7680개의 픽셀이 생성되어야 하는데, 이는 한 라인 시간에 1920개의 입력 픽셀이 처리될 것을 요구한다. 각 슬라이스 스케일러는 한 라인 시간에 480개 입력 픽셀만을 처리할 수 있으므로, 1920개의 입력 픽셀은 한 라인 시간에 480개의 입력 픽셀의 레이트로 느려진다. 디-래스터화 버퍼로의 입력 레이트는 입력의 실제 레이트(한 라인 시간에 1920 픽셀)이며, 이 버퍼의 출력은 1/4 속도이다(예를 들면, 한 라인 시간당 480 개의 입력 픽셀).
제1 슬라이스는 디-래스터화 버퍼(504-1)에 제공된다. 제2 슬라이스는 디-래스터화 버퍼(504-2)에 제공된다. 제3 슬라이스는 디-래스터화 버퍼(504-3)에 제공된다. 제4 슬라이스는 디-래스터화 버퍼(504-4)에 제공된다. 디-래스터화 버퍼(504)는 래스터화된 입력을 취하여 이미지의 라인 레이트와 동일한 레이트로 출력을 생성한다.
디-래스터화 버퍼(504-1)는 이의 라인을 변환기(508-1)에 제공하고, 디-래스터화 버퍼(504-2)는 이의 출력을 변환기(508-2)에 제공하고, 디-래스터화 버퍼(504-3)는 이의 출력을 변환기(508-3)에 제공하고, 디-래스터화 버퍼(504-4)는 이의 출력을 변환기(508-4)에 제공한다.
4개 픽셀 대 1 픽셀 변환기(508-1)는 하나의 픽셀로 보간하기 위해 사용할 4개의 픽셀을 수집한다. 시스템이 한 클록 사이클에서 4개의 픽셀을 전송하고 취급하기 때문에(예를 들어, 초당 2400 메가픽셀을 변환해야 하는 요건으로 600 내지 700MHz 클록 주파수에 의해 구동된다), 이것은 각 슬라이스 스케일러가 마치 단일 픽셀 처리 스케일러인 것처럼 하나의 픽셀에 동작하므로 4개의 픽셀을 하나의 픽셀로 변환하는 것이 필요할 수도 있다. 픽셀 변환기(508)는 이들의 출력(예를 들어, 각각 단일 픽셀)을 스케일러에 제공한다. 구체적으로, 변환기(508-1)은 이의 출력을 스케일러 S1(512-1)에 제공하고, 변환기(508-2)는 이의 출력을 스케일러 S2(512-2)에 제공하며, 변환기(508-3)는 이의 출력을 스케일러 S3(512-3)에 제공하며, 변환기(508-4는 이의 출력을 스케일러 S4(512-4)에 제공한다.
스케일러(512)는 병렬 스케일러(500)의 가장 계산 집약적인 동작을 수행한다. 예시적 예에서, 스케일러(512)는 디-래스터화 버퍼에 의해 제공되는 각각의 차원에서 4개의 픽셀을 취하고, 이들 입력 픽셀의 중간에서 하나 이상의 보간된 픽셀을 입력 픽셀로부터 보간한다. 스케일러(512)는 전용 하드웨어일 수 있으므로(ASIC 또는 SoC에서와 같이), 이들은 단일 클록 사이클에서 보간 동작을 수행하도록 설계될 수 있다. 따라서, 700 MHz에서 동작하는 스케일러(512)는 보간의 초당 7억개 샘플을 제공한다. 사용되는 픽셀 수는 사용되는 스케일러 커널에 의존하는 것에 유의한다. 예를 들어, 2개의 입력 픽셀은 바이리니어 보간을 위해 사용되고, 4개의 픽셀은 바이큐빅 보간을 위해 사용되고, 다른 수의 픽셀은 다른 모델을 위해 사용될 수 있다.
스케일러(512)는 이들의 출력을 재-래스터화 버퍼(516)에 제공한다. 즉, 스케일러 S1(512-1)은 이의 출력을 재-래스터화 버퍼(516-1)에 제공하고, 스케일러 S2(512-2)는 이의 출력을 재-래스터화 버퍼(516-2)에 제공하고, 스케일러 S3(512-3)는 이의 출력을 재-래스터화 버퍼(516-3)에 제공하고, 스케일러 S4(512-4)는 이의 출력을 재-래스터화 버퍼(516-4)에 제공한다.
이어 재-래스터화 버퍼(516)는 이들의 재-래스터화된 출력을 출력 멀티플렉서(520)에 제공하는데, 이는 이미지의 4개의 사분위로부터 4개의 수직 슬라이스를 이미지의 단일 출력 라인으로 조합한다. 이어 출력 멀티플렉서(520)는 이 라인을 비디오 출력(524)으로서 제공한다.
도 6은 본 명세서의 교시에 따라, 파이프라이닝을 도시한 블록도이다. 앞에서 논의한 바와 같이, 파이프라이닝은 버퍼 언더런을 피하기 위해 출력 버퍼가 비어 있지 않은채로 있도록 하기 위해 사용될 수 있다.
도 6에 도시된 바와 같이, 입력 라인은 4개의 사분위로 분할될 수 있다. 이들은 라인 1의 제1 사분위에 대해 L1Q1, 라인 1의 제2 사분위에 대해 L1Q2, 라인 1의 제3 사분위에 대해 L1Q3, 라인 1의 제4 사분위에 대해 L1Q4라 지칭된다. 각각의 사분위는 도 5의 스케일러(512)와 같은 특정 스케일러에 할당될 수있다. 예를 들어, 스케일러 S1(512-1)은 Q1에 할당될 수도 있을 것이며, 스케일러 S2(512-2)는 Q2에 할당될 수도 있을 것이며, 스케일러 S3(512-3)은 Q3에 할당될 수도 있을 것이며, 스케일러 S4(512-4)는 Q4에 할당될 수도 있을 것이다. 따라서, 각 스케일러는 이의 입력 라인의 동일 사분위에 일관되게 동작한다. 파이프라이닝을 제공하기 위해, 슬라이스 스케일러는 입력의 동일 라인에 동작하지만 이들은 시간 분산 방식으로 동작한다. 도 6에 도시된 바와 같이, S1은 라인 1 동안 완전히 동작하며; S2는 현재 라인에서(예를 들면, 라인 1에 대해) 자신의 시간의 제 3/4에서 동작하고, 다음 라인(예를 들면, 라인 2에 대해)의 시작에서 자신의 시간의 제 1/4에서 동작하며; S3은 현재 라인(예를 들면, 라인 1에 대해)에서 자신의 시간의 제 1/2에서, 다음 라인(예를 들면, 라인 2에 대해)의 시작에서 자신의 시간의 제 1/2에서 동작하고; S4는 현재 라인(예를 들면, 라인 1에 대해)에서 자신의 시간의 제 1/4에서, 다음 라인(예를 들면, 라인 2에 대해)의 시작에서 자신의 시간의 제 3/4에서 동작한다.
스케일러가 시간=t0에서, 비디오 스트림에서 제1 이미지의 제1 라인부터 시작한다고 가정하면, L1Q1은 1/4 픽셀 레이트로 스케일링된다. 이것은 제1 스케일러가 L1의 픽셀의 1/4을 수신하고 원하는 픽셀 레이트의 대략 1/4에서 동작한다는 것을 의미한다. 예를 들어, 8K로 업스케일하기 위해선, 초당 약 2.4 기가 샘플이 요구되지만 각 스케일러는 초당 약 600 내지 700 메가-샘플로 동작할 수 있다. 이 시점에서, 스케일러 S1(512-1)를 위한 재-래스터화 버퍼는 3/16 라인 깊이이다.
스케일러 S1은 L1Q1에 동작을 시작하고, 시간=t0와 시간=t3 사이에서 L1Q1에 동작한다. 항시 스케일러 S1(512-1)은 이의 출력을 L1Q1 스케일링된 출력에 기입한다.
시간=t1에서, 스케일러 S2(512-2)는 L1Q2에 동작을 시작한다. L1Q1에서와 같이, L1Q2는 1/4 픽셀 레이트로 스케일링되고, 스케일러 S2(512-2)를 위한 재-래스터화 버퍼는 3/16 라인 깊이이다.
시간=t2에서, 스케일러 S3(512-3)는 L1Q3에 동작을 시작한다. L1Q1 및 L1Q2에서와 같이, L1Q3는 1/4 픽셀 레이트로 스케일링되고, 스케일러 S3(512-3)를 위한 재-래스터화 버퍼는 3/16 라인 깊이이다.
시간=t4에서, 스케일러 S1(512-1)는 L1Q1에 대한 자신의 동작을 마치고, 자신의 출력 버퍼에 L1Q1 스케일링된 출력을 제공한다. 그 동안, 스케일러 S4(512-4)는 L1Q4에 동작을 시작한다. L1Q1, L1Q2 및 L1Q3에서와 같이, L1Q4는 1/4 픽셀 레이트로 스케일링되며, 스케일러 S4(512-4)를 위한 재-래스터화 버퍼는 3/16 라인 깊이이다.
다음 사이클에서, 시간=t0에서, 스케일러 S1(512-1)은 L2Q1에 동작을 시작하고, 다른 스케일러는 L1의 자신들의 각각의 사분위에 자신들의 동작을 계속한다. 새로운 사이클의 시간=t1에서, 스케일러 S2(512-2)는 L2Q2에 동작을 시작한다. 새로운 사이클의 시간=t2에서, 스케일러 S3(512-3)은 새로운 사이클의 L1Q3에 동작을 시작하고, 새로운 사이클의 시간=t3에서, 스케일러 S4(512-4)는 L2Q4에 동작을 시작한다. 이어 출력은 멀티플렉스될 수 있다.
아래 표는 다양한 출력 시간에서 재-래스터화 버퍼의 상태를 예시한다. 이 표는 하나의 예만을 예시하며, 이는 이 명세서의 다른 곳에서 예시된 것과 동일하거나 상이한 실시예일 수 있다. 라인의 모든 사분위에 대해:
1. 1/4 출력 라인은 Q1, Q2, Q3 또는 Q4 재-래스터화 버퍼로부터 제거된다.
2. 1/16 출력 라인은 각 스케일러에 의해 생성된다.
3. 1/4 입력 라인은 특정 디-래스터화 버퍼가 요구되는 입력의 가용성과 이 버퍼 내 공간에 따라 취할 수 있는 최대이다.
Figure pat00001
이 병렬 및 파이프라인된 스케일링을 제공함으로써, 본 명세서의 시스템은 4:4:4 컬러 엔코딩 데이터로 12-비트 프로세스를 실현한다. 4:4:4는 루마 및 크로마 성분이 최대 대역폭으로 보유되는 컬러 포맷이다. 컬러는 YUV(Y=루마, UV=크로미넌스)와 같은 컬러 공간에서 렌더링될 수 있다. 다른 실시예에서, 적색, 녹색, 청색(RGB) 또는 시안, 마젠타, 옐로우, 블랙(CMYK)과 같은 다른 컬러 공간이 사용될 수 있다.
유리하게, 이 방법은 선명도, 디테일, 및 화상 향상을 제공하고, 또한 어스펙트비 변환뿐만 아니라 사용자 제어가능의 수평 및 수직 해상도에 대한 지원을 제공하는 지향성 보간과 함께 사용될 수 있다.
도 7은 본 명세서의 교시에 따라, 비디오를 업스케일링하는 방법(700)의 흐름도이다.
방법(700)은 임의의 적합한 하드웨어 또는 하드웨어, 소프트웨어 및/또는 펌웨어의 조합에 의해 수행될 수 있다. 용이한 참조를 위해, 디바이스 수행 방법(700)은 스케일러라 지칭될 것이다. 이것은 방법을 제공하는 임의의 하드웨어, 소프트웨어 및/또는 펌웨어를 포함하는 것으로 이해해야 한다.
블록(704)에서, 스케일러는 원 입력 이미지를 수신한다. 원 입력 이미지는, 예를 들어, 예시적이고 비제한적인 예로서, 480p, 720p, 1080p 또는 4K UHD와 같은 임의의 적절한 포맷의 비디오일 수 있다. 이들 포맷은 단지 예로서 제공되며, 특정 실시예의 요구에 따라 다른 해상도가 지원될 수 있음에 유의한다.
블록(708)에서, 스케일러는 입력 이미지를 N 수직 슬라이스로 분할한다. 전술한 예에서, 예시는 이미지가 4개의 수직 슬라이스로 분할되고, 각각은 사분위라 지칭됨을 보여준다. 이것은, 예를 들어, 700MHz 스케일러로 비디오를 8K로 업스케일링하는 경우에 유용한다. 그러나, 다른 실시예는 다른 클럭 속도로 동작하는 다른 수의 슬라이스, 또는 다른 유형의 하드웨어를 요구할 수 있다.
블록(712)에서, 스케일러는 수직 슬라이스를 스케일업하고 각각의 이미지에 대한 픽셀 사이의 중간 점들을 보간하기 위해 복수의 개개의 슬라이스당 스케일러를 병렬로 동작시킨다. 이 보간은, 예를 들어, 각각의 차원에서 2개의 점들 사이의 선형 보간, 각 차원에서 4개의 점들 사이의 더 높은 차수(예를 들어, 바이큐빅) 보간, 다른 다항식 보간, 또는 본 명세서의 교시와 호환되는 임의의 다른 적합한 업스케일링 또는 다운스케일링 알고리즘의 형태를 취할 수 있다.
블록(716)에서, 수직 슬라이스를 업스케일링하는 것은 슬라이스 사이의 경계를 매끄럽게 하는 것을 포함한다. 스케일러는 이것을, 예를 들어, 이전 슬라이스로부터 다음 슬라이스로 1, 3 또는 몇몇 다른 수의 픽셀을 제공함으로써 수행할 수 있다. 이것은 슬라이스들 사이의 매끄러운 보간을 허용한다. 다른 실시예에서, 특히 선형 보간 또는 고차 보간, 다른 적합한 알고리즘 이외의 다른 알고리즘을 사용하는 것들이 경계를 매끄럽게 하기 위해 사용될 수 있다.
결과는 N개의 개별 업스케일된 슬라이스이다.
블록(720)에서, 스케일러는 스케일링된 슬라이스를 함께 멀티플렉스한다. 이것은 스케일링된 슬라이스를 단일 이미지로서 출력할 수 있게 한다. 예를 들어, 멀티플렉서는 다수의 입력 라인을 포함할 수 있고, 각각의 개별 스케일러는 사분위 또는 다른 1/N 입력 라인을 제공한다. 멀티플렉서는 이들 사분위 또는 1/N-타일을 함께 연쇄시켜, 이에 따라 단일 응집성 출력 라인을 생성한다.
블록(724)에서, 일단 출력 이미지의 모든 라인이 모아졌으면, 이 출력 이미지는 1/k초 동안 스크린에 구동될 수 있으며, k는 프레임 레이트(예를 들어, 예시로서, 초당 24 프레임 또는 초당 60 프레임)이다.
블록(798)에서, 방법은 행하여졌다.
도 8은 본 명세서의 교시에 따라, HDMI 시스템의 블록도이다. 이 예에서, HDMI 시스템은 HDMI 소스(800) 및 HDMI 싱크(802)를 포함한다.
HDMI 소스(800)는, 예시적인 예로서, DVD 플레이어, 블루-레이 디스크 플레이어, 컴퓨터 또는 다른 비디오 소스에 의해 제공될 수 있다. HDMI 소스(800)는 HDMI 송신기(804)에 의해 송신될 비디오 및 오디오 신호를 수신한다. HDMI 송신기(804)는 3개의 물리적으로 분리된 통신 채널, 즉 데이터 디스플레이 채널(DDC), 천이-최소화 차동 시그널링(TMDS) 신호, 및 소비자 전자장치 제어(CEC) 채널을 포함한다. HDMI 소스(800)는 또한 이더넷 및 오디오 리턴을 위한 선택적 채널인 HDMI 이더넷 및 오디오 리턴 채널(HEAC)을 제공할 수 있다. 또한, HDMI 소스(800)는 높거나 낮은, 그리고 연결의 검출을 제공하는 선택적인 핫 플러그 검출 채널(HPD) 라인을 제공할 수 있다.
HDMI 소스(800) 및 HDMI 싱크(802)의 다양한 채널 및 기능은 다양한 실시예 및 반복을 갖는 HDMI 표준에 의해 제공된다. 이 도면의 예시는 단지 이더넷 제어기 쌍의 예시적인 예인 것으로서 이해되어야 하고, 제한적인 예로서 이해되거나 본 명세서의 교시를 특정 버전의 HDMI 표준으로 제한하지 않아야 한다. 일반적으로, 이 도면의 교시는 본 명세서의 교시가 실시될 수 있는 예시적인 프레임워크로서 이해되어야 한다. 구체적으로, HDMI가 오디오 및 비디오 데이터에 대한 전송 표준으로서 사용되는 실시예에서, 본 명세서의 교시의 실시예는 HDMI 소스(800) 및 HDMI 싱크(802)에 도시된 것과 같은 요소를 포함할 수 있다.
HDMI 송신기(804)와 HDMI 수신기(808) 사이의 TMDS 채널은 3가지 상이한 패킷 유형을 사용하여 비디오, 오디오 및 보조 데이터를 인터위빙한다. 이들은 비디오 데이터 기간, 데이터 아일랜드 기간, 및 제어 기간으로서 알려져 있다.
비디오 데이터 기간 동안, 출력 비디오의 픽셀은 HDMI 송신기(804)와 HDMI 수신기(808) 사이에서 전송된다. 수평 또는 수직 블링킹 간격을 점유할 수 있는 데이터 아일랜드 기간은 HDMI 송신기(804)와 HDMI 수신기(808) 사이에서 오디오 및 보조 데이터를 전송하기 위해 사용된다. 이들 오디오 및 보조 데이터는 이더넷 또는 USB(Universal Serial Bus)와 같은 보다 통상적인 통신 매체를 통한 데이터 전송과 유사하게, 일련의 패킷으로서 전송될 수 있다.
제어 기간은 비디오 기간과 데이터 아일랜드 기간 사이에서 발생하며, 제어 신호를 전송하기 위해 사용된다. HDMI는 8b/10b 엔코딩을 사용하여 엔코딩된 문자를 전송하기 위해 TMDS 채널을 사용한다. DVI는 또한 TMDS를 사용하여 비디오 데이터를 전송하기 때문에 HDMI는 구 디지털 비주얼 인터페이스(DVI) 표준과 역호환되는 것에 유의한다. 그러나, HDMI는 더 작은 커넥터를 사용하며, 비디오 데이터 기간의 수평 및 수직 블링킹 간격 사이에 데이터 아일랜드 기간과 제어 기간을 제공하는 능력을 추가한다.
디스플레이 데이터 채널은 I2C(Inter-Integrated Circuit) 버스 사양에 기초하여 통신을 제공한다. HDMI 표준은 이의 디바이스가 DDC 또는 EDDC(Enhanced Data Display Channel)를 구현할 것을 요구하는데, 이는 HDMI 싱크(802)로부터 확장 디스플레이 식별 데이터(EDID) 또는 인핸스드 EDID를 읽기 위해 HDMI 소스(800)에 의해 사용된다. EDID(810)은 HDMI 싱크(802)가 어떤 오디오 및/또는 비디오 포맷을 수락할 수 있는지를 HDMI 소스(800)에 알린다. HDMI 표준은 DDC가 초당 최소 100kb 대역폭을 지원할 것을 요구하며, 훨씬 더 빠른 레이트로 스케일업될 수 있다. 일부 실시예에서, DDC는 또한 HDMI 소스(800)와 HDMI 싱크(802) 사이에서 전송되는 콘텐츠에 대한 디지털 권한 관리(DRM)를 시행하기 위해 사용되는 고-대역폭 디지털 콘텐츠 보호(HDCP)를 제공하기 위해 사용된다. 이것은 소비자가 중개 디바이스를 사용하여 비디오 스트림으로부터 고품질 디지털 비디오를 추출할 수 없게 하는데 도움을 준다.
도 8의 예시에서, Tx CEC(812) 및 Rx CEC(816)는 CEC 라인을 통해 통신한다. CEC 라인은 최종 사용자가 CEC 가능 디바이스에 명령하고 제어할 수 있게한다. HDMI 표준의 현재 반복은 HDMI 연결을 통해 최대 15개까지의 서로 다른 CEC 가능 디바이스를 제어할 수 있게 한다. 따라서, 사용자는 텔레비전 리모트, 셋톱-박스 리모트, DVD 플레이어 리모트, 또는 단일 디바이스를 제어하는 그외 다른 리모트와 같은 단일 리모트 콘트롤만을 사용하여 텔레비전, DVD 플레이어, 블루-레이 디스크 플레이어, 또는 이외 다른 디바이스를 제어할 수 있다. 유리하게, CEC는 개별 CEC 가능 디바이스가 사용자 개입없이 서로 명령하고 제어할 수 있게 한다.
CEC는 유럽 전기기술 표준화 위원회(CENELEC) 표준 AV.링크 프로토콜을 기반으로 단일-와이어 양방향 직렬 버스를 제공한다.
이것이 제공되는 경우, HEAC 유틸리티 라인은, 송신기 HEAC(820)와 수신기 HEAC(824) 사이의 통신을 제공할 수 있다. HDMI 이더넷 및 오디오 리턴 채널은 오디오 리턴 채널(ARC) 및 HDMI 이더넷 채널(HEC) 모두를 제공한다. 조인트 HEAC는 HDMI 표준 1.4에 도입되었으며, HEC를 위한 고속 방향성 데이터 통신 및 ARC를 통해 업스트림으로 오디오 데이터를 전송하는 능력을 제공한다.
ARC는 TV와 수신기 또는 스피커 시스템 사이에 다른 케이블을 모사하는 오디오 링크이다. 이것은 TV가 다른 장비 대신 비디오 스트림을 생성하거나 수신할 때 사용될 수 있다. 예를 들어, 이것은 스마트 TV 상에 앱(app)을 통해(이를테면 스트리밍 공급자 넷플릭스를 통해) 비디오가 제공되고 있을 때 사용될 수 있지만, 그러나 오디오는 외부 스피커와 같은 다른 장비에 의해 제공된다. ARC가 없으면, 텔레비전에서 출력되는 오디오는 별도의 케이블을 통해 스피커 시스템으로 라우팅되어야 할 것이다. 그러나 ARC이 있으면, 오디오는 텔레비전을 통해 스피커에 직접 제공될 수 있다. HEC는 비디오, 오디오 및 데이터 스트림을 단일 HDMI 케이블로 통합하고 HDMI를 통해 IP 기반 애플리케이션을 가능하게 한다. 이것은 초당 100Mb 이상으로 양방향 이더넷 통신을 제공한다. 물리적으로, HEC는 단일 트위스트 페어의 데이터-등급 와이어를 통해 100Base-T 신호를 동시에 보내고 수신하는 하이브리드이다.
도 9a 및 도 9b는 본 명세서의 교시에 따라, 시스템-온-칩(900)의 블록도이다.
SoC(900)은 본 명세서의 교시에서 사용될 수 있는 폼 팩터의 예시적이고 비제한적인 예로서 제공된다는 점에 유의한다. 이 경우에, SoC(900)은 모놀리식으로 HDMI 수신기에서 다수의 비디오 처리 기능을 제공하고 처리된 비디오를 HDMI 출력으로서 제공한다. 이러한 SoC는 도 1b에서 SoC(150)으로서 예시되었다. 도 1b의 SoC(150)의 교시는 이들이 호환되는 도 9a 및 도 9b의 SoC(900)에 적용할 수 있다. 그러나, SoC(900)는 일부 예에서 도 1b의 SoC(150)에 대한 별도의 또는 대안적 실시예일 수 있음을 이해해야 한다. 다른 예에서, SoC(900)는 도 1b의 SoC(150)의 교시의 보다 상세한 예시인 것으로 간주될 수 있다.
도 9a에서, SoC(900)은 DDR 3/4(948)과 같은 랜덤 액세스 메모리와 함께 동작할 수 있음이 도시되었다. 이것은 일부 실시예에서 SoC(900)의 일부가 아나라 별도의 모듈로서 제공되는 더블 데이터 레이트 다이나믹 랜덤 액세스 메모리(DRAM)이다. 그러나, 이 예시는 SoC(900)과 함께 온-칩 DDR의 사용을 배제하는 것으로 이해되어서는 안 된다. 그보다는, 이것은 DDR(948)이 SoC(900)과는 별도의 모듈 요소로서 제공되는 단지 일반적인 실시예를 예시한다.
DDR(948)을 제외하고, 도 9a 및 도 9b에 도시된 다른 요소는 SoC(900)과 같은 SoC에 일반적으로 포함된다. 그러나, 이것은 SoC(900)이 여기에 예시된 모든 요소를 포함할 필요가 있거나, 또는 예시된 요소 이외의 다른 요소를 포함할 수 없음을 암시하는 것으로 이해해서는 안 된다. 그보다는, SoC(900)은 일반적으로 사용되는 구성의 예시로서 제공된다.
편의상, SoC(900)는 3개의 블록, 즉 도 9a의 블록(901, 902) 및 도 9b의 블록(903)으로 분할된다. 블록(901, 903)은 초당 약 700 MHz 또는 700 메가-샘플에서 동작할 수 있다. 대조적으로, 블록(902)은 초당 2.4 기가샘플과 같이 훨씬 더 빠른 레이트로 수행될 필요가 있을 수 있는 실시간 비디오 동작을 포함한다. 이 더 높은 속도는, 예를 들어, 8K 비디오의 실시간 처리 및 업스케일링을 제공하기 위해 요구될 수 있다.
블록(901)에서, HDMI 수신기 PHY(904)는 비디오 소스로부터 비디오 데이터를 수신하기 위한 물리적 인터페이스를 제공한다. 비디오 소스는 이 명세서에서 논의된 임의의 소스, 또는 이 명세서의 교시에 적합한 임의의 다른 비디오 소스일 수 있다. 예를 들어, HDMI, 디스플레이포트, 또는 CVBS(컬러, 비디오, 블랭킹 및 싱크라고도 알려진, 컴포지트 비디오 베이스밴드 신호)와 같은 아날로그 비디오 인터페이스 외에.
HDMI 수신기 PHY(904)에 의해 수신된 입력 비디오는 HDMI 수신기 디지털 회로(906)에 의해 처리된다. HDMI 수신기 디지털 회로(906)는 HDMI 표준에 따라, HDMI 입력을 처리하기 위한 로직을 포함한다. HDMI 수신기 디지털 회로(906)는 또한 HDCP 능력(908)을 포함할 수 있는 것에 유의한다. HDCP(908)는, 도 8에 도시된 바와 같이, HDMI 컨텐츠에 대한 DRM을 제공한다.
HDMI 수신기 디지털 회로(906)는 이의 출력을 링크 데이터 압축해제 회로(910)에 제공한다. 링크 데이터 압축해제 회로(910)는 압축된 HDMI 비디오 신호를 일련의 개별 프레임으로 변환하기 위해 요구될 수 있으며, 각 프레임은 그 자신의 비트맵이다. 이것은, 산업 표준에 따라, HDMI가 비디오 프레임이 일련의 비트맵으로서가 아니라 참조 프레임으로부터 일련의 델타로서 제공되는 압축된 비디오 포맷을 제공하기 때문에 필요할 수 있다.
압축해제된 비디오는 프레임버퍼 압축을 제공하고 결과를 DDR 3/4 메모리 제어기(940)를 통해 메모리에 저장하는 프레임버퍼 압축기(912)에 제공될 수 있다. 메모리 제어기(940)는 DDR(948)과의 통신을 제공하는 DDR 3/4 PHY(944)와 통신한다. 위에서 언급한 바와 같이, DDR(948)은 반드시 SoC(900)의 일부일 필요는 없지만, 일부 예에서는 별도의 모듈 유닛으로서 제공될 수 있다. DDR 3/4 PHY(994)는 압축 코덱을 포함할 수 있다.
프레임버퍼 압축해제기(914)는 메모리로부터 압축된 정보를 수신하고, 이어 압축해제된 비디오를 디인터레이서/스케일러(916)에 제공한다. 디인터레이서/스케일러(916)는 몇 가지 기능을 제공할 수 있다. 예를 들어, 비디오가 프로그레시브 스캔 포맷 대신 인터레이스 포맷으로 제공된다면, 업스케일될 수 있기 전에 먼저 프로그레시브 스캔 포맷으로 변환되어야 한다. 따라서, 디인터레이서/스케일러(916)의 디인터레이서 기능은 이 디인터레이싱을 제공할 수 있다. 디인터레이서/스케일러(916)는 또한 도 5의 스케일러(500)와 같은 병렬 스케일러를 제공할 수 있다. 이것은 본 명세서의 교시에 따라, 이미지를 업스케일 또는 다운스케일할 수 있다.
일단 디인터레이서/스케일러(916)가 이미지를 처리, 디인터레이스, 및 업스케일링 또는 다운스케일링하였으면, 비디오 프레임은 링크 데이터 압축기(918)에 제공될 수 있다. 링크 데이터 압축기(918)는 HDMI 표준에 따라 비디오를 압축하며, 따라서 더 이상 개별 프레임의 일련의 개별 비트맵은 아니며 프레임 간의 차이에 기초한 압축된 비디오 포맷을 제공한다.
도 9b로 가서, DSC 압축기(920)는 이의 압축된 HDMI-호환 신호를 HDMI 송신기 디지털 회로(924)에 제공한다. HDMI 수신기 디지털 회로(906)에서와 같이, HDMI 송신기 디지털 회로(924)는 HDMI 신호를 제공하기 위한 로직을 포함하고, DRM을 위한 HDCP(928)를 포함할 수 있다.
HDMI 송신기 디지털 회로(924)는 이의 데이터를 HDMI 송신기 PHY(932)에 제공하는데, 이는 HDMI 신호를 예를 들어 도 1의 UHD-가능 텔레비전(116)과 같은 디스플레이로 구동한다.
구현예
다음 실시예는 예시로서 제공된다.
일예에서, 입력 이미지를 수신하는 입력 버퍼; 입력 이미지를 N개의 복수의 수직 슬라이스들로 분할하는 슬라이서 회로; 각각의 스케일러가 이미지 스케일링 알고리즘에 따라 N 수직 슬라이스들 중 하나를 라인 단위로 스케일링하도록 구성된 하드웨어인, N 병렬 이미지 스케일러들; 및 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 조합하기 위한 출력 멀티플렉서를 포함하는, 비디오 프로세서가 개시된다.
입력 비디오 스트림을 수신하고 입력 비디오 스트림으로부터 입력 이미지를 추출하기 위한 로직 및 회로를 더 포함하는, 비디오 프로세서가 더욱 개시된다.
각각의 수직 슬라이스는 실질적으로 상기 입력 이미지의 1/N-타일인, 비디오 프로세서가 더욱 개시된다.
N=4인, 비디오 프로세서가 더욱 개시된다.
입력 이미지가 비디오 스트림의 프레임이고, 출력 이미지가 7,680 수평 픽셀 x 4,320 수직 픽셀로 스케일링되는, 비디오 프로세서가 더욱 개시된다.
8K UHD 해상도의 입력 비디오 스트림을 수신하고, N 병렬 이미지 스케일러를 통해 이미지를 낮은 해상도로 다운스케일링하는 로직 및 회로를 포함하는, 비디오 프로세서가 더욱 개시된다.
480p, 480i, 720p, 720i, 1080p, 1080i, 및 4K UHD(Ultra-High Definition)로부터 선택된 해상도의 입력 비디오 스트림을 수신하고, 입력 비디오 스트림을 N 병렬 이미지 스케일러들을 통해 8K UHD 해상도의 출력 비디오 스트림으로 스케일링하기 위한 로직 및 회로를 포함하는, 비디오 프로세서가 더욱 개시된다.
이미지 스케일링 알고리즘이 바이리니어 보간을 포함하는, 비디오 프로세서가 더욱 개시된다.
이미지 스케일링 알고리즘이 고차 보간을 포함하는, 비디오 프로세서가 더욱 개시된다.
이미지 스케일링 알고리즘이 고차 보간을 포함하는, 비디오 프로세서가 더욱 개시된다.
실질적으로 제1, 제2 및 제3 사분위를 나타내는 수직 슬라이스들은 후속 슬라이스로부터 3개의 제1 픽셀들을 포함하고, 제2, 제3 및 제4 사분위들을 나타내는 수직 슬라이스들은 선행 슬라이스로부터 3개의 마지막 픽셀들을 포함하고; 또한, 상기 제1, 제2 및 제3 슬라이스들은 상기 후속 슬라이스로부터의 상기 3개의 제1 픽셀들을 포함하는, 비디오 프로세서가 더욱 개시된다.
수직 슬라이스의 적어도 일부는 선행 또는 후속 슬라이스로부터 하나 이상의 마지막 픽셀을 포함하는, 비디오 프로세서가 더욱 개시된다.
수직 슬라이스의 적어도 일부는 선행 또는 후속 슬라이스로부터 3개의 마지막 픽셀을 포함하는, 비디오 프로세서가 더욱 개시된다.
버퍼 언더런을 방지하기 위해 N 이미지 스케일러가 파이프라인되는, 비디오 프로세서가 더욱 개시된다.
출력 이미지가 HDMI(high-definition multimedia interface)-호환 비디오 스트림의 프레임인, 비디오 프로세서가 더욱 개시된다.
입력 이미지가 HDMI(high-definition multimedia interface)-호환 비디오 스트림의 프레임인, 비디오 프로세서가 더욱 개시된다.
전술한 예 중 임의의 예의 비디오 프로세서를 포함하는, IP(intellectual property) 블록이 더욱 개시된다.
입력 이미지를 수신하는 회로; 입력 이미지를 복수의 N 슬라이스들로 분할하는 이미지 슬라이서; N 슬라이스들을 병렬로 스케일링하도록 배치되고, 입력 이미지 내 픽셀들 사이의 중간 픽셀들을 보간하기 위한 보간기 회로를 포함하는, N 이미지 스케일러들; 및 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 멀티플렉싱하기 위한 출력 멀티플렉서를 포함하는, 시스템-온-칩(SoC)가 또한 개시된다.
픽셀 레이트의 제 1/N로 입력 이미지를 수신하기 위한 N 입력 디-래스터화 버퍼; 및 N 스케일링된 슬라이스들을 수집하여 이들을 1의 픽셀 레이트로 출력하기 위한 재-래스터화 버퍼를 더 포함하는, SoC가 더욱 개시된다.
입력 비디오 스트림을 수신하고 입력 비디오 스트림으로부터 입력 이미지를 추출하는 회로를 더 포함하는, SoC가 더욱 개시된다.
각 수직 슬라이스는 입력 이미지의 실질적으로 1/N-타일인, SoC가 더욱 개시된다.
N=4인, SoC가 더욱 개시된다.
입력 이미지가 비디오 스트림의 프레임이고, 출력 이미지가 7,680 수평 픽셀 x 4,320 수직 픽셀로 스케일링되는, SoC가 더욱 개시된다.
480p, 480i, 720p, 720i, 1080p, 1080i, 및 4K UHD(Ultra-High Definition)로부터 선택된 해상도의 입력 비디오 스트림을 수신하고, 입력 비디오 스트림을 N 병렬 이미지 스케일러를 통해 8K UHD 해상도의 출력 비디오 스트림으로 스케일링하는 회로를 포함하는, SoC가 더욱 개시된다.
보간기 회로가 선형 보간기를 포함하는, SoC가 더욱 개시된다.
보간기 회로가 다항식 보간기를 포함하는, SoC가 더욱 개시된다.
보간기 회로가 고차 보간기를 포함하고, 수직 슬라이스 중 적어도 일부가 선행 슬라이스로부터 3개의 마지막 픽셀을 포함하는, SoC가 더욱 개시된다.
보간기 회로가 고차 보간기를 포함하고, 수직 슬라이스 중 적어도 일부가 후속 슬라이스로부터 3개의 마지막 픽셀을 포함하는, SoC가 더욱 개시된다.
수직 슬라이스 중 적어도 일부가 선행 슬라이스로부터의 하나 이상의 마지막 픽셀을 포함하는, SoC가 더욱 개시된다.
수직 슬라이스 중 적어도 일부가 후속 슬라이스로부터의 하나 이상의 마지막 픽셀을 포함하는, SoC가 더욱 개시된다.
수직 슬라이스 중 적어도 일부가 선행 슬라이스로부터 3개의 마지막 픽셀을 포함하는, SoC가 더욱 개시된다.
수직 슬라이스의 적어도 일부가 후속 슬라이스로부터 3개의 마지막 픽셀을 포함하는, SoC가 더욱 개시된다.
버퍼 언더런을 방지하기 위해 N 이미지 스케일러가 파이프라인되는, SoC가 더욱 개시된다.
입력 HDMI 비디오 스트림을 수신하는 HDMI(High-Definition Multimedia Interface) 수신기; HDMI 비디오 입력을 압축해제하고 입력 이미지를 추출하는, DSC 압축해제기; 출력 이미지를 수신하고 출력 이미지를 스케일링된 출력 HDMI 비디오 스트림으로 엔코딩하는 DSC 압축기; 및 스케일링된 출력 HDMI 비디오 스트림을 송신하는 HDMI 송신기를 더 포함하는, 다수의 상기 예들의 SoC가 더욱 개시된다.
프레임 버퍼 압축을 위한 코덱을 더 포함하는, SoC가 더욱 개시된다.
다이나믹 랜덤 액세스 메모리 인터페이스를 더 포함하는, SoC가 더욱 개시된다.
디인터레이서를 더 포함하는, SoC가 더욱 개시된다.
컬러 공간 변환기를 더 포함하는, SoC가 더욱 개시된다.
이미지 크롭퍼를 더 포함하는, SoC가 더욱 개시된다.
프레임 레이트 변환기를 더 포함하는, SoC가 더욱 개시된다.
입력 이미지를 수신하는 단계; 입력 이미지를 복수의 N 슬라이스들로 슬라이스하는 단계; 이미지 스케일링 알고리즘에 따라 N 슬라이스들을, 병렬로, 래스터-기반 스케일링하는 단계; 및 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 조합하는 단계를 포함하는, 이미지를 스케일링하는 방법이 개시된다.
입력 비디오 스트림으로부터 입력 이미지를 수신하여 추출하는 단계를 더 포함하는, 방법이 더욱 개시된다.
각 슬라이스가 실질적으로 입력 이미지의 1/N-타일인, 방법이 더욱 개시된다.
N=4인, 방법이 더욱 개시된다.
입력 이미지가 비디오 스트림의 프레임이고 출력 이미지가 7,680 수평 픽셀 x 4,320 수직 픽셀로 스케일링되는, 방법이 더욱 개시된다.
이미지를 8K UHD 해상도로 업스케일링하거나 이미지를 8K UHD 해상도로부터 다운스케일링하는 단계를 더 포함하는, 방법이 더욱 개시된다.
이미지 스케일링 알고리즘이 선형 보간을 포함하는, 방법이 더욱 개시된다.
이미지 스케일링 알고리즘이 다항식 보간을 포함하는, 방법이 더욱 개시된다.
이미지 스케일링 알고리즘이 이차 보간을 포함하는, 방법이 더욱 개시된다.
수직 슬라이스 중 적어도 일부가 선행 슬라이스로부터의 하나 이상의 마지막 픽셀을 포함하는, 방법이 더욱 개시된다.
수직 슬라이스의 적어도 일부가 선행 슬라이스로부터 3개의 마지막 픽셀을 포함하는, 방법이 더욱 개시된다.
병렬 라인 단위 이미지 스케일링을 파이프라이닝하는 단계를 더 포함하는, 방법이 더욱 개시된다.
출력 이미지가 고해상도 멀티미디어 인터페이스(HDMI)-호환 비디오 스트림의 프레임인, 방법이 더욱 개시된다.
입력 이미지가 고화질 멀티미디어 인터페이스(HDMI)-호환 비디오 스트림의 프레임인, 방법이 더욱 개시된다.
프레임 버퍼 압축 및 압축해제를 제공하는 단계를 더 포함하는, 다수의 상기 예의 방법이 더욱 개시된다.
다이나믹 랜덤 액세스 메모리 인터페이스를 더 포함하는, SoC가 더욱 개시된다.
디인터레이싱을 제공하는 단계를 더 포함하는, 다수의 상기 예의 방법이 더욱 개시된다.
컬러 공간 변환을 제공하는 단계를 더 포함하는, 다수의 상기 예의 방법이 더욱 개시된다.
이미지 크롭핑을 제공하는 단계를 더 포함하는, 다수의 상기 예의 방법이 더욱 개시된다.
다수의 상기 예의 방법을 수행하기 위한 수단을 포함하는, 장치가 더욱 개시된다.
수단은 시스템-온-칩을 포함하는, 장치가 더욱 개시된다.
수단이 셋톱-박스를 포함하는, 장치가 더욱 개시된다.
상기 예들 중 하나 이상의 장치를 포함하는, 스마트 텔레비전이 더욱 개시된다.
또한, 프로그램가능 디바이스가 방법을 수행하거나 또는 다수의 상기 예의 장치의 적어도 일부를 실현하도록 명령하기 위한 명령을 저장한 하나 이상의 실체적 비일시적 컴퓨터 판독가능 매체가 개시된다.
하나 이상의 실체적 비일시적 컴퓨터 판독가능 매체가 또한 개시되며, 명령은 하드웨어 디스크립션 언어 지시를 포함한다.
전술한 개요는 본원에 개시된 주제의 하나 이상의 실시예의 특징을 개괄한다. 이들 실시예는 당업자(PHOSITA)가 본 개시의 다양한 측면들을 더 잘 이해할 수 있도록 제공된다. 기본 기술 및/또는 표준 뿐만 아니라, 잘 알려진 어떤 용어는 자세히 설명하지 않고 참조할 수 있다. PHOSITA는 본 명세서의 교시를 실시하기에 충분한 기술 및 표준에서 배경 지식 또는 정보를 보유하거나 액세스할 수 있을 것으로 예상된다.
PHOSITA는 이들이 동일한 목적을 수행하고 및/또는 본원에 도입된 실시예의 동일한 잇점을 달성하기 위한 다른 프로세스, 구조 또는 변형을 설계 또는 수정하기 위한 토대로서 본 개를 용이하게 사용할 수 있음을 이해할 것이다. PHOSITA는 또한 이러한 등가의 구성이 본 개시의 사상 및 범위를 벗어나지 않으며, 이들이 본 개시의 사상 및 범위를 벗어나지 않고 본원에서 다양한 변경, 대체 및 변경을 행할 수 있음을 인식할 것이다.
도면을 참조하여 위에서 논의된 활동은 신호 처리(예를 들어, 제스처 신호 처리, 비디오 신호 처리, 오디오 신호 처리, 아날로그-디지털 변환, 디지털-아날로그 변환)를 수반하는 임의의 집적 회로, 특히 일부가 디지털화된 실시간 데이터 처리와 관련될 수 있는 것인 특수화된 소프트웨어 프로그램 또는 알고리즘을 실행할 수 있는 것들에 적용가능함에 유의한다. 어떤 실시예는 다중-DSP, 다중-ASIC 또는 다중-SoC 신호 처리, 부동 소수점 처리, 신호/제어 처리, 고정-기능 처리, 마이크로제어기 응용, 등에 관계될 수 있다. 어떤 맥락에서, 본원에서 논의된 특징은 의료 시스템, 과학 기기, 무선 및 유선 통신, 레이더, 산업 프로세스 제어, 오디오 및 비디오 장비, 전류 감지, 계측(고도로 정밀할 수 있는), 및 기타 디지털-처리-기반 시스템에 적용가능할 수 있다. 또한, 위에서 논의된 어떤 실시예는 의료 이미징, 환자 모니터링, 의료 기기 및 가정 건강관리를 위한 디지털 신호 처리 기술에 제공될 수 있다. 이것은, 예를 들어, 폐 모니터, 가속도계, 심박수 모니터, 또는 페이스메이커를 이들을 위한 주변장치와 함께 포함할 수도 있을 것이다. 다른 응용은 안전 시스템(예를 들면, 안정성 제어 시스템, 운전자 보조 시스템, 제동 시스템, 임의의 종류의 인포테인먼트 및 실내 응용)을 위한 자동차 기술을 수반할 수 있다. 또한, 파워트레인 시스템(예를 들면, 하이브리드 및 전기 자동차에서)은 배터리 모니터링, 제어 시스템, 보고 제어, 유지보수 활동, 등에서 고정밀 데이터 변환, 렌더링, 및 디스플레이 제품을 사용할 수 있다. 또 다른 예시적인 시나리오에서, 본 개시의 교시는 생산성, 에너지 효율 및 신뢰성을 구동하는 것을 돕는 프로세스 제어 시스템을 포함하는 산업 시장에서 적용가능할 수 있다. 소비자 응용에서, 상술한 신호 처리 회로의 교시는 이미지 처리, 자동 초점 및 이미지 안정화(예를 들어, 디지털 스틸 카메라, 캠코더, 등)를 위해 사용될 수 있다. 다른 소비자 응용은 홈 시어터 시스템, DVD 레코더 및 고화질 텔레비전을 위한 오디오 및 비디오 프로세서를 포함할 수 있다. 다른 소비자 응용은 진보된 터치 스크린 제어기(예를 들어, 임의의 유형의 휴대용 미디어 디바이스를 위한)를 포함할 수 있다. 따라서, 이러한 기술은 용이하게 스마트폰, 태블릿, 보안 시스템, PC, 게이밍 기술, 가상 현실, 시뮬레이션, 훈련, 등의 일부가 될 수도 있을 것이다.
전술한 개요는 당업자가 본 개시의 측면을 더 잘 이해할 수 있도록 몇몇 실시예의 특징을 개괄한다. 당업자는 이들이 동일한 목적을 수행하고 및/또는 본원에 도입된 실시예의 동일한 장점을 달성하기 위한 다른 프로세스 및 구조를 설계 또는 수정하기 위한 기초로서 본 개시를 용이하게 사용할 수 있음을 이해해야 한다. 당업자는 이러한 등가 구성이 본 개시의 사상 및 범위를 벗어나지 않으며, 본 개시의 사상 및 범위를 벗어나지 않으면서 본원에서 다양한 변경, 대체 및 변형을 행할 수 있음을 인식해야 한다.
본 개시의 특정 실시예는 SoC(system-on-a-chip) 중앙 처리 유닛(CPU) 패키지를 용이하게 포함할 수 있다. SoC는 컴퓨터 또는 다른 전자 시스템의 성분을 단일 칩에 집적하는 집적회로(IC)를 나타낸다. 이것은 디지털, 아날로그, 믹싱 신호 및 라디오 주파수 기능을 내포할 수 있는데, 이들 모두는 단일 칩 기판에 제공될 수 있다. 다른 실시예는 단일 전자 패키지 내에 위치되고 전자 패키지를 통해 서로 밀접하게 상호작용하도록 구성된 복수의 칩을 갖는 멀티-칩-모듈(MCM)을 포함할 수 있다. ASIC 또는 SoC의 임의의 모듈, 기능 또는 블록 요소는, 적절한 경우, IP 블록의 논리적 세부 사항을 개시하지 않고 별도로 배포할 수 있는, 재사용가능한 "블랙 박스" IP(intellectual property) 블록 내에 제공될 수 있다. 다양한 다른 실시예에서, 디지털 신호 처리 기능은 ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), 및 다른 반도체 칩에서 하나 이상의 실리콘 코어에 구현될 수 있다.
일부 경우에, 본 명세서의 교시는 실행될 때 본원에 개시된 방법 또는 기능을 수행하게 프로그램가능 디바이스(프로세서 또는 DSP와 같은)에 명령하는 실행가능 명령을 저장한 하나 이상의 실체적 비일시적 컴퓨터 판독가능 매체에 엔코딩될 수 있다. 본원에 교시가 하드웨어 디바이스(ASIC, IP 블록, 또는 SoC와 같은)에 적어도 부분적으로 구현되는 경우, 비일시적 매체는 본원에 개시된 방법 또는 기능을 수행하기 위해 로직으로 하드웨어 프로그램된 하드웨어 디바이스를 포함할 수도 있을 것이다. 교시는 또한 개시된 하드웨어 요소를 생성하기 위해 제작 프로세스를 프로그램하기 위해 사용될 수 있는, 레지스터 전송 레벨(RTL) 또는 이외 VHDL 또는 베릴로그와 같은 다른 하드웨어 디스크립션 언어의 형태로 실시될 수도 있을 것이다.
예시적 구현에서, 본원에 개괄된 처리 활동의 적어도 일부는 또한 소프트웨어로 구현될 수 있다. 일부 실시예에서, 이들 특징 중 하나 이상은 개시된 도면의 요소 외부에 제공되거나 또는 의도된 기능을 달성하기 위해 임의의 적절한 방식으로 통합될 수 있는 하드웨어로 구현될 수 있다. 다양한 성분은 본원에 개괄된 동작을 달성하기 위해 공조할 수 있는 소프트웨어(또는 레시프로케이트 소프트웨어)를 포함할 수 있다. 또 다른 실시예에서, 이들 요소는 동작을 용이하게 하는 임의의 적합한 알고리즘, 하드웨어, 소프트웨어, 성분, 모듈, 인터페이스, 또는 객체를 포함할 수 있다.
또한, 설명된 마이크로프로세서와 관련된 성분 중 일부는 제거되거나 아니면 통합될 수 있다. 일반적인 면에서, 도면에 도시된 배열은 이들의 표현에서 보다 논리적일 수 있는 반면, 물리적 아키텍처는 이들 요소의 다양한 순열, 조합 및/또는 하이브리드를 포함할 수 있다. 무수한 가능한 설계 구성이 본원에 개괄된 동작 목적을 달성하기 위해 사용될 수 있음을 주목해야 한다. 따라서, 관련된 인프라구조는 무수히 많은 대체 배열, 설계 선택, 디바이스 가능성, 하드웨어 구성, 소프트웨어 구현, 장비 옵션, 등을 갖는다.
적절하게 구성된 임의의 프로세서 성분은 본원에 상세히 설명된 동작을 달성하기 위해 데이터와 관련된 임의의 유형의 명령을 실행할 수 있다. 본원에 개시된 임의의 프로세서는 요소 또는 아티클(예를 들어, 데이터)을 하나의 상태 또는 상황에서 또 다른 상태 또는 상황으로 전환할 수도 있을 것이다. 또 다른 예에서, 본원에 개괄된 일부 활동은 고정된 로직 또는 프로그램가능 로직(예를 들어, 프로세서에 의해 실행되는 소프트웨어 및/또는 컴퓨터 명령)으로 구현될 수 있고, 본원에서 식별된 요소는 프로그램가능 프로세서, 프로그램가능 디지털 로직(예를 들어, FPGA, 소거가능 프로그램가능 판독전용 메모리(EPROM), 전기적 소거가능 프로그램가능 판독전용 메모리(EEPROM), 디지털 로직, 소프트웨어, 코드, 전자 명령을 포함하는 ASIC, 플래시 메모리, 광학 디스크, CD-ROM, DVD ROM, 자기 또는 광학 카드, 전자 명령을 저장하기에 적합한 다른 유형의 기계 판독가능 매체, 또는 이들의 임의의 적절한 조합의 일부 유형일 수도 있을 것이다. 동작에서, 프로세서는 임의의 적합한 유형의 비일시적 저장 매체(예를 들어, 랜덤 액세스 메모리(RAM), 판독전용 메모리(ROM), FPGA, EPROM, 전기적 소거가능 프로그램가능 ROM(EEPROM), 등), 소프트웨어, 하드웨어, 또는 임의의 적절한 성분, 디바이스, 요소, 또는 적합하고 특정 요구에 기초한 대상에 정보를 저장할 수 있다. 또한, 프로세서에서 추적, 전송, 수신 또는 저장되는 정보는 특정 요구 및 구현에 기초하여, 임의의 데이터베이스, 레지스터, 테이블, 캐시, 큐, 제어 목록, 또는 저장 구조에 제공될 수 있으며, 이들 모두는 임의의 적절한 시간 프레임에서 참조될 수 있을 것이다. 본원에서 논의된 임의의 메모리 아이템은 광범위한 용어 '메모리' 내에 포함되는 것으로 해석되어야 한다. 유사하게, 본원에 기술된 임의의 잠재적 처리 요소, 모듈 및 기계는 광범위한 용어 '마이크로프로세서' 또는 '프로세서' 내에 포함되는 것으로 해석되어야 한다. 또한, 다양한 실시예에서, 본원에 설명된 프로세서, 메모리, 네트워크 카드, 버스, 저장 디바이스, 관련 주변장치, 및 다른 하드웨어 요소는 이들 하드웨어 요소의 기능을 에뮬레이트 또는 가상화하도록 소프트웨어 또는 펌웨어에 의해 구성된 프로세서, 메모리 및 기타 관련 디바이스에 의해 실현될 수 있다.
본원에 기술된 기능의 전부 또는 일부를 구현하는 컴퓨터 프로그램 로직은 소스 코드 형태, 컴퓨터 실행가능 형태, 하드웨어 디스크립션 형태, 및 다양한 중간 형태(예를 들어, 마스크 워크, 또는 어셈블러, 컴파일러, 링커 또는 로케이터에 의해 생성된 형태)를 포함하는, 그러나 어떠한 식으로든 이에 한정되지는 않는, 다양한 형태로 구현된다. 예에서, 소스 코드는 객체 코드, 어셈블리 언어, 또는 OpenCL, RTL, 베릴로그, VHDL, 포트란, C, C++, JAVA, 또는 다양한 운영체제 또는 운영 환경에서 사용하기 위한 HTML와 같은 하이-레벨 언어와 같은 다양한 프로그래밍 언어로 구현된 일련의 컴퓨터 프로그램 명령을 포함한다. 소스 코드는 다양한 데이터 구조 및 통신 메시지를 정의하고 사용할 수 있다. 소스 코드는 컴퓨터 실행가능 형태일 수 있거나(예를 들어, 인터프리터를 통해), 소스 코드는 컴퓨터 실행가능 형태로 변환될 수 있다(예를 들어, 번역기, 어셈블러, 또는 컴파일러를 통해).
위에 실시예의 논의에서, 커패시터, 버퍼, 그래픽 요소, 인터커넥트 보드, 클록, DDR, 카메라 센서, 변환기, 인덕터, 저항기, 증폭기, 스위치, 디지털 코어, 트랜지스터, 및/또는 다른 성분은 특정한 회로 요구를 수용하기 위해 쉽게 교체되거나, 대체되거나, 아니면 수정될 수 있다. 또한, 보완 전자 디바이스, 하드웨어, 비일시적 소프트웨어, 등의 사용은 본 개시의 교시를 구현하기 위해 똑같이 실행가능한 옵션을 제공한다는 점에 유의해야 한다.
하나의 예시적 실시예에서, 도면의 임의의 수의 전기 회로는 연관된 전자 디바이스의 보드 상에 구현될 수 있다. 보드는 전자 디바이스의 내부 전자 시스템의 다양한 성분을 보유할 수 있고 또한 다른 주변장치를 위한 커넥터를 제공할 수 있는 일반적인 회로 보드일 수 있다. 보다 구체적으로, 보드는 시스템의 다른 성분이 전기적으로 통신할 수 있는 전기 연결을 제공할 수 있다. 임의의 적합한 프로세서(디지털 신호 프로세서, 마이크로프로세서, 지원 칩셋, 등을 포함한), 메모리 요소, 등은 특정 구성 요구, 처리 요망, 컴퓨터 설계, 등에 기초하여 보드에 적절하게 결합될 수 있다. 외부 저장장치, 추가의 센서, 오디오/비디오 디스플레이를 위한 제어기, 및 주변 디바이스와 같은 다른 성분은 플러그인 카드로서 보드에, 또는 케이블을 통해 부착되거나, 보드 자체에 통합될 수 있다. 또 다른 예시적 실시예에서, 도면의 전기 회로는 독립형 모듈(예를 들어, 특정 응용 또는 기능을 수행하도록 구성된 관련된 성분 및 회로를 갖는 디바이스)로서 구현되거나 전자 디바이스의 응용 특정 하드웨어에 플러그인 모듈로서 구현될 수 있다.
본원에 제공된 다수의 예에서, 상호작용은 2, 3, 4 또는 그 이상의 전기 성분의 관점에서 기술될 수 있음에 유의한다. 그러나, 이것은 명확성과 예의 목적으로만 행해졌다. 시스템은 임의의 적절한 방식으로 합체될 수 있음을 이해해야 한다. 유사한 설계 대안에 따라, 도면의 도시된 성분, 모듈, 및 요소의 임의의 것은 다양한 가능한 구성으로 조합될 수 있으며, 이들 모두는 명백히 이 명세서의 넓은 범위 내에 있다. 어떤 경우에, 제한된 수의 전기 요소를 참조함으로써만 주어진 흐름 세트의 하나 이상의 기능을 설명하는 것이 더 쉬울 수 있다. 도면의 전기 회로 및 이의 교시는 쉽게 확장가능하고 보다 복잡하고/정교한 배열 및 구성 뿐만 아니라 많은 수의 성분을 수용할 수 있음을 이해해야 한다. 따라서, 제공된 예는 무수히 많은 다른 아키텍처에 잠재적으로 적용될 수 있는 전기 회로의 범위를 제한하거나 이의 넓은 교시를 방해하지 않아야 한다.
다수의 다른 변경, 대체, 변형, 변화 및 수정이 당업자에게 확인될 수 있으며, 본 개시는 첨부된 청구항의 범위 내에 속하는 모든 그러한 변경, 대체, 변형, 변화 및 수정을 포함하도록 의도된다. 미국 특허청(USPTO), 및 추가로, 본원에 첨부된 청구항을 해석함에 있어 이 출원에 발행된 임의의 특허의 임의의 독자를 돕기 위해, 출원인은 (a) 출원인이 "수단" 또는 "단계"라는 단어가 특정 청구범위에 특정하게 사용되지 않는 한, 첨부된 청구항의 어느 것이든 본원의 출원일에 존재하는 것으로서 35 U.S.C §112(f)를 적용하려 의도하지 않으며; (b) 명세서의 어떠한 진술에 의해서든, 첨부된 청구범위에 달리 반영되지 않는 어떠한 방식으로든 본 개시를 제한하려고 의도하지 않음을 유념해 두고자 한다.

Claims (20)

  1. 비디오 프로세서에 있어서,
    입력 이미지를 수신하는 입력 버퍼;
    상기 입력 이미지를 복수의 N 수직 슬라이스들로 분할하는 슬라이서 회로;
    각각의 스케일러가 이미지 스케일링 알고리즘에 따라 상기 N 수직 슬라이스들 중 하나를 라인 단위로 스케일링하도록 구성된 하드웨어인, N 병렬 이미지 스케일러들; 및
    상기 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 조합하기 위한 출력 멀티플렉서를 포함하는, 비디오 프로세서.
  2. 청구항 1에 있어서, 입력 비디오 스트림을 수신하고 상기 입력 비디오 스트림으로부터 상기 입력 이미지를 추출하기 위한 로직 및 회로를 더 포함하는, 비디오 프로세서.
  3. 청구항 1에 있어서, 각각의 수직 슬라이스는 실질적으로 상기 입력 이미지의 사분위인, 비디오 프로세서.
  4. 청구항 1에 있어서, 480p, 480i, 720p, 720i, 1080p, 1080i, 및 4K UHD(Ultra-High Definition)로부터 선택된 해상도의 입력 비디오 스트림을 수신하고, 상기 입력 비디오 스트림을 상기 N 병렬 이미지 스케일러들을 통해 8K UHD 해상도의 출력 비디오 스트림으로 스케일링하기 위한 로직 및 회로를 포함하는, 비디오 프로세서.
  5. 청구항 1에 있어서, 8K UHD 해상도의 입력 비디오 스트림을 수신하고, 상기 N 병렬 이미지 스케일러들을 통해 상기 이미지를 더 낮은 해상도로 다운스케일링하는 로직 및 회로를 포함하는, 비디오 프로세서.
  6. 청구항 1에 있어서, 상기 이미지 스케일링 알고리즘이 선형 보간을 포함하는, 비디오 프로세서.
  7. 청구항 1에 있어서, 상기 이미지 스케일링 알고리즘이 고차 보간을 포함하는, 비디오 프로세서.
  8. 청구항 6에 있어서, 실질적으로 제1, 제2 및 제3 사분위를 나타내는 수직 슬라이스들은 후속 슬라이스로부터 3개의 제1 픽셀들을 포함하고, 제2, 제3 및 제4 사분위들을 나타내는 수직 슬라이스들은 선행 슬라이스로부터 3개의 마지막 픽셀들을 포함하는, 비디오 프로세서.
  9. 청구항 1에 있어서, 상기 N 이미지 스케일러들은 파이프라인되는, 비디오 프로세서.
  10. 청구항 1에 있어서, 상기 출력 이미지는 고화질 멀티미디어 인터페이스(HDMI)-호환 비디오 스트림의 프레임인, 비디오 프로세서.
  11. 청구항 9에 있어서, 상기 입력 이미지는 고화질 멀티미디어 인터페이스(HDMI)-호환 비디오 스트림의 프레임인, 비디오 프로세서.
  12. 청구항 1의 비디오 프로세서를 포함하는, IP(intellectual property) 블록.
  13. 시스템-온-칩(SoC)에 있어서,
    입력 이미지를 수신하는 회로;
    상기 입력 이미지를 복수의 N 슬라이스들로 분할하는 이미지 슬라이서;
    상기 N 슬라이스들을 병렬로 스케일링하도록 배치되고, 상기 입력 이미지 내 픽셀들 사이의 중간 픽셀들을 보간하기 위한 보간기 회로를 포함하는, N 이미지 스케일러들; 및
    상기 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 멀티플렉싱하기 위한 출력 멀티플렉서를 포함하는, SoC.
  14. 청구항 13에 있어서, 픽셀 레이트의 제 1/N로 상기 입력 이미지를 수신하기 위한 N 입력 디-래스터화 버퍼; 및 상기 N 스케일링된 슬라이스들을 수집하여 이들을 1의 픽셀 레이트로 출력하기 위한 재-래스터화 버퍼를 더 포함하는, SoC.
  15. 청구항 13에 있어서, 상기 보간기 회로는 고차 보간기를 포함하고, 상기 수직 슬라이스들 중 적어도 일부는 선행 슬라이스로부터 3개의 마지막 픽셀들을 포함하는, SoC.
  16. 청구항 13에 있어서, 입력 HDMI 비디오 스트림을 수신하는 HDMI(High-Definition Multimedia Interface) 수신기;
    상기 HDMI 비디오 입력을 압축해제하고 상기 입력 이미지를 추출하는, DSC 압축해제기;
    상기 출력 이미지를 수신하고 상기 출력 이미지를 스케일링된 출력 HDMI 비디오 스트림으로 엔코딩하는 DSC 압축기; 및
    상기 스케일링된 출력 HDMI 비디오 스트림을 송신하는 HDMI 송신기를 더 포함하는, SoC.
  17. 이미지를 스케일링하는 방법에 있어서,
    입력 이미지를 수신하는 단계;
    상기 입력 이미지를 복수의 N 슬라이스들로 슬라이스하는 단계;
    이미지 스케일링 알고리즘에 따라 N 슬라이스들을, 병렬로, 래스터-기반 스케일링하는 단계; 및
    상기 스케일링된 수직 슬라이스들을 조합된 스케일링된 출력 이미지로 조합하는 단계를 포함하는, 방법.
  18. 청구항 17에 있어서, 입력 비디오 스트림으로부터 상기 입력 이미지를 수신하여 추출하는 단계를 더 포함하는. 방법.
  19. 청구항 17에 있어서, 이미지를 8K UHD 해상도로 업스케일링하거나 8K UHD 해상도에서 상기 이미지를 다운스케일링하는 단계를 더 포함하는, 방법.
  20. 청구항 19에 있어서, 상기 이미지 스케일링 알고리즘은 이차 보간을 포함하고, 상기 수직 슬라이스들 중 적어도 일부는 선행 슬라이스로부터의 하나 이상의 마지막 픽셀들을 포함하는, 방법.
KR1020190143443A 2018-11-12 2019-11-11 이미지 스케일링 KR20200055668A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/188,209 2018-11-12
US16/188,209 US10972744B2 (en) 2018-11-12 2018-11-12 Image scaling

Publications (1)

Publication Number Publication Date
KR20200055668A true KR20200055668A (ko) 2020-05-21

Family

ID=70469256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190143443A KR20200055668A (ko) 2018-11-12 2019-11-11 이미지 스케일링

Country Status (4)

Country Link
US (2) US10972744B2 (ko)
KR (1) KR20200055668A (ko)
CN (1) CN111182305B (ko)
DE (1) DE102019130366A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018101514A1 (ko) * 2016-12-01 2018-06-07 엘지전자 주식회사 영상표시장치, 및 이를 구비하는 영상표시 시스템
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling
US11631159B2 (en) * 2020-03-31 2023-04-18 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Zoom control of digital images on a display screen
WO2022120385A1 (en) * 2020-12-03 2022-06-09 Sying, Inc. Devices and methods for audio signal transmission from hdmi to usb-c
CN114205486A (zh) * 2022-01-27 2022-03-18 卡莱特云科技股份有限公司 一种基于Scaler的视频文件实时缩放方法及视频处理器

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950006769B1 (ko) * 1992-12-31 1995-06-22 현대전자산업주식회사 고선명 텔레비젼의 색차신호 동벡터 추출방법 및 움직임 보상장치
US5949490A (en) * 1997-07-08 1999-09-07 Tektronix, Inc. Distributing video buffer rate control over a parallel compression architecture
US6832009B1 (en) 1999-09-24 2004-12-14 Zoran Corporation Method and apparatus for improved image interpolation
US7292772B2 (en) * 2000-05-29 2007-11-06 Sony Corporation Method and apparatus for decoding and recording medium for a coded video stream
US20040183817A1 (en) 2002-12-03 2004-09-23 Bitstream Inc. Methods, systems, and programming for scaled display of web pages
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
US7411628B2 (en) * 2004-05-07 2008-08-12 Micronas Usa, Inc. Method and system for scaling, filtering, scan conversion, panoramic scaling, YC adjustment, and color conversion in a display controller
BRPI0606627A2 (pt) * 2005-01-19 2009-07-07 Thomson Licensing método e aparelho para codificação paralela em tempo real
CN101253777A (zh) * 2005-07-01 2008-08-27 极速决件公司 用于在多媒体信号编码中使用的方法、装置和系统
US8195008B2 (en) * 2007-06-28 2012-06-05 Broadcom Corporation Method and system for processing video data in a multipixel memory to memory compositor
US8159606B2 (en) 2008-08-04 2012-04-17 Thomson Licensing Method and apparatus for reversible, polynomial based image scaling
US8294603B2 (en) * 2009-06-30 2012-10-23 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
US20110078236A1 (en) 2009-09-29 2011-03-31 Olsen Jr Dan R Local access control for display devices
CN101697114B (zh) * 2009-10-23 2012-02-08 广东威创视讯科技股份有限公司 多屏拼接显示处理方法和装置
US8982964B2 (en) * 2010-09-16 2015-03-17 Panasonic Intellectual Property Management Co., Ltd. Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
WO2012112929A2 (en) * 2011-02-17 2012-08-23 The Johns Hopkins University Methods and systems for registration of radiological images
US8687922B2 (en) 2012-02-24 2014-04-01 Apple Inc. Parallel scaler processing
US9232139B2 (en) * 2012-07-24 2016-01-05 Apple Inc. Image stabilization using striped output transformation unit
US10448032B2 (en) * 2012-09-04 2019-10-15 Qualcomm Incorporated Signaling of down-sampling location information in scalable video coding
US9349072B2 (en) 2013-03-11 2016-05-24 Microsoft Technology Licensing, Llc Local feature based image compression
KR20140129607A (ko) * 2013-04-30 2014-11-07 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US9307191B2 (en) 2013-11-19 2016-04-05 Microsoft Technology Licensing, Llc Video transmission
KR102210956B1 (ko) 2014-01-06 2021-02-02 삼성전자주식회사 영상표시장치 및 영상표시장치의 구동방법, 이동단말장치 및 이동단말장치의 구동방법
US9405446B1 (en) * 2014-03-24 2016-08-02 Amazon Technologies, Inc. Efficient and interactive presentation of item images
CN104104888A (zh) * 2014-07-01 2014-10-15 大连民族学院 一种并行多核fpga数字图像实时缩放处理方法和装置
US10073553B2 (en) 2014-09-22 2018-09-11 Google Llc Scripting cross-device wearable interaction
US10277904B2 (en) * 2015-08-28 2019-04-30 Qualcomm Incorporated Channel line buffer data packing scheme for video codecs
US10120187B2 (en) * 2016-02-18 2018-11-06 Nvidia Corporation Sub-frame scanout for latency reduction in virtual reality applications
GB2556908B (en) * 2016-11-24 2021-10-13 Emdalo Tech Limited Ie System and method for determining the presence of objects in an image
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling

Also Published As

Publication number Publication date
US10972744B2 (en) 2021-04-06
US20210203966A1 (en) 2021-07-01
US20200154120A1 (en) 2020-05-14
CN111182305B (zh) 2022-03-01
US11463715B2 (en) 2022-10-04
CN111182305A (zh) 2020-05-19
DE102019130366A1 (de) 2020-05-14

Similar Documents

Publication Publication Date Title
CN111182305B (zh) 图像缩放装置和方法
CN109891381B (zh) 双路径中央凹图形管线
US20120314777A1 (en) Method and apparatus for generating a display data stream for transmission to a remote display
TWI567634B (zh) 採用多重顯示管線以驅動一影像圖框之獨立部分的裝置、運算系統及方法
KR100386579B1 (ko) 멀티 소스용 포맷 변환 장치
US20130057567A1 (en) Color Space Conversion for Mirror Mode
JP5414797B2 (ja) 送信装置、受信装置、システム、及び、そこで用いられる方法
EP2197209A1 (en) Transmission device, image data transmission method, reception device, and image display method in reception device
WO2017032081A1 (zh) 一种音视频播放设备、数据显示方法与存储介质
EP3169075A1 (en) Audio and video playback device
JP2005506009A (ja) 表示のためにディジタルビデオデータ信号を処理するディジタルビデオデータ信号処理システム及び方法
TWI504246B (zh) 視訊縮放器中之振鈴抑制
JP5669614B2 (ja) 画像表示装置及びその制御方法
JPWO2013150698A1 (ja) 映像信号送信装置及び受信装置
JP5828489B2 (ja) 単一クロックドメイン内のディープカラー映像の変換及び処理
CN111988552B (zh) 图像输出控制方法及装置和视频处理设备
CN114020228A (zh) 屏幕显示方法及装置
US20070122045A1 (en) System for scaling a picture unit from a first video resolution format to a second video resolution format
US20070065800A1 (en) Display apparatus and video wall having the same
CN105516633A (zh) 一种图像处理系统
TWI677245B (zh) 投影顯示設備及顯示方法
WO2020173183A1 (en) Parallel processing pipeline considerations for video data with portions designated for special treatment
TW201142696A (en) Image processing device and image signal processing system
WO2015132957A1 (ja) 映像機器及び映像処理方法
EP1741282A1 (en) Method and apparatus for vertically scaling pixel data

Legal Events

Date Code Title Description
A201 Request for examination