KR20240009176A - 다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법 - Google Patents

다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법 Download PDF

Info

Publication number
KR20240009176A
KR20240009176A KR1020220086330A KR20220086330A KR20240009176A KR 20240009176 A KR20240009176 A KR 20240009176A KR 1020220086330 A KR1020220086330 A KR 1020220086330A KR 20220086330 A KR20220086330 A KR 20220086330A KR 20240009176 A KR20240009176 A KR 20240009176A
Authority
KR
South Korea
Prior art keywords
slice
dsc
display
format
decoder system
Prior art date
Application number
KR1020220086330A
Other languages
English (en)
Inventor
장영종
김병수
김희탁
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020220086330A priority Critical patent/KR20240009176A/ko
Publication of KR20240009176A publication Critical patent/KR20240009176A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/172Methods 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 picture, frame or field
    • 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/186Methods 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 a colour or a chrominance component
    • 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/423Methods 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 characterised by memory arrangements
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

디스플레이 스트림 압축 디코더 시스템이 개시된다. 이 시스템은, 디스플레이 링크 장치를 통해 수신된 디스플레이 스트림 압축 데이터(이하, DSC 압축 데이터)로부터 픽처 파라미터(Picture Parameter Set: PPS) 정보와 비트스트림을 추출하는 디스플레이 링크 프로토콜 파서; 상기 PPS 정보를 파싱하여 디코딩 동작을 위한 파라미터를 설정하는 PPS 파서; 상기 비트스트림을 복수의 서브스트림으로 분할하는 역다중화기; 각 서브스트림을 다중 슬라이스 단위로 출력하는 슬라이스 버퍼 컨트롤러; 및 상기 다중 슬라이스 단위로 출력된 서브스트림을 상기 파라미터를 기반으로 디코딩하여 비디오 데이터를 출력하는 복수의 슬라이스 디코더를 포함한다.

Description

디스플레이 스트림 압축 디코더 시스템 및 그 방법{DECODER SYSTEM AND METHOD FOR DISPLAY STREAM COMPRESSION}
본 발명은 디스플레이 스트림 압축(Display Stream Compression: DSC) 디코딩 장치(이하, DSC 디코더 장치) 및 그 방법에 관한 것으로, 더욱 상세하게는 다중 슬라이스 단위로 압축한 비디오 데이터를 처리하는 DSC 디코더 시스템 및 그 방법에 관한 것이다.
최근 고해상도, 고주사율의 디스플레이 장치의 기술이 발전함에 따라 비디오 데이터 전송에 필요한 대역폭이 증가하고 있다. 고대역폭 데이터 전송은 신호 전송에 물리적인 어려움이 발생하며, 이를 해결하기 위해 전송하는 비디오 데이터를 압축하는 기술이 요구된다.
이러한 요구에 따라 VESA(Video Electronics Standard Association)에서는 화질 저하 없이 입력 비디오를 3:1로 압축할 수 있는 디스플레이 스트림 압축(Display Stream Compression: DSC) 기술 표준을 발표한 바 있다.
DSC 기술은 MIPI(Mobile Industry Processor Interface)-DSI(Display Serial Interface), DisplayPort 및 HDMI(High Definition Multimedia Interface) 와 같이 다양한 디스플레이 링크 비디오 전송 기술에서 전송 압축 기술로 채택되었다.
VESA에서 발표한 DSC 디코딩 알고리즘은 여러 과정의 연산을 포함하므로 계산 복잡도가 높고, 고속으로 입력되는 DSC 압축 데이터에 대한 디코딩 및 영상 출력을 실시간으로 처리할 수 있는 요구 사항을 반드시 만족해야 한다. 따라서, 고해상도 영상 처리를 위한 DSC 디코더 장치의 효율적인 구조가 반드시 필요하다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 고속으로 입력되는 다중 슬라이스 단위로 압축된 DSC 압축 데이터를 실시간으로 디코딩 처리하고, 동시에 다양한 출력 모드를 지원하기 위한 DSC 디코더 시스템 및 그 동작 방법을 제공하는 데 있다.
본 발명의 전술한 목적들 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부된 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확 해진다.
본 발명의 일면에 따른 디스플레이 스트림 압축 디코더 시스템은 디스플레이 링크 장치를 통해 수신된 디스플레이 스트림 압축 데이터(이하, DSC 압축 데이터)로부터 픽처 파라미터(Picture Parameter Set: PPS) 정보와 비트스트림을 추출하는 디스플레이 링크 프로토콜 파서; 상기 PPS 정보를 파싱하여 디코딩 동작을 위한 파라미터를 설정하는 PPS 파서; 상기 비트스트림을 복수의 서브스트림으로 분할하는 역다중화기; 각 서브스트림을 다중 슬라이스 단위로 출력하는 슬라이스 버퍼 컨트롤러; 및 상기 다중 슬라이스 단위로 출력된 서브스트림을 상기 파라미터를 기반으로 디코딩하여 비디오 데이터를 출력하는 복수의 슬라이스 디코더;를 포함단다.
본 발명의 다른 일면에 따른 디스플레이 스트림 압축 디코더 시스템의 동작 방법은 DSC 인코더 시스템으로부터 다중 슬라이스 단위로 DSC 압축 데이터를 수신하는 단계, 상기 수신된 DSC 압축 데이터를 파싱하여 픽처 파라미터 정보와 비트스트림으로 분류하는 제1 단계, 상기 파라미터 정보를 기반으로 DSC 디코딩을 위한 파라미터를 설정하는 제2 단계, 및 비트스트림을 다중 슬라이스 단위로 디코딩하여 상기 파라미터에 의해 정의된 출력 비디오 형식을 갖는 비디오 데이터를 생성하는 제3 단계를 포함한다.
본 발명에 따르면, 고속 입력되는 DSC 압축 데이터를 실시간 처리할 수 있고, VESA DSC 표준에 따른 다양한 파라미터(다양한 출력 모드)를 적용할 수 있다.
도 1은 본 발명의 실시 예에 따른 DSC 디코더 시스템에 고속으로 또는 실시간으로 입력되는 다중 슬라이스 단위로 압축된 DSC 압축 데이터를 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 DSC 디코더 시스템의 개략적인 구성을 보여주는 블록도이다.
도 3은 도 2에 도시된 DSC 디코더 장치의 내부 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 DSC 디코더 시스템의 동작을 설명하기 위한 순서도이다.
도 5 내지 8은 본 발명의 실시 예에 따른 DSC 디코더 장치의 출력 비디오 형식의 다양한 출력 타이밍을 설명하기 위한 도면들이다.
본 발명은 디스플레이 스트림 압축 (DSC) 과 같은 비디오 압축 기법들에 의해 압축된 DSC 압축 데이터의 디코딩을 처리하기 위한 하드웨어 구조 및 그 방법에 관한 것이다. 좀더 구체적으로, 본 발명은 다중 슬라이드 형태로 압축한 이미지를 처리하는 가변 길이 코딩(Variable Length Coding) 기반의 엔트로피 디코딩(entropy decoding)을 처리하는 하드웨어 구조에 관한 것이다.
본 발명의 실시 예는 알려진 DSC 표준을 기반으로 설명하지만, 당업자는 본원에서 개시된 시스템, 장치 및 방법은 임의의 적합한 비디오 코딩 표준에 적용가능할 수도 있음을 이해할 것이다. 예를 들어, 본 발명에서 개시된 실시 예는 비디오 코딩 표준들 중 하나 이상에 적용가능할 수도 있다.
비디오 코딩 표준들은, 예를 들면, ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual 및 (ISO/IEC MPEG-4 AVC 로서 또한 알려진) ITU-T H.264, 및 이런 표준들의 확 장판을 포함한 HEVC를 포함한다.
또한, 본 발명에서 설명하는 기법들은 미래에 개발될 표준들의 일부가 될 수도 있다. 다시 말해서, 본 발명에서 설명하는 하드웨어 구조들은 이전에 개발된 비디오 코딩 표준들, 현재 개발 중인 비디오 코딩 표준들, 및 차기 비디오 코딩 표준들에 적용가능할 수도 있다.
본 발명에 따른 신규한 시스템, 장치 및 방법이 이하에서 첨부 도면들을 참조하여 상세히 설명된다. 그러나 본 발명에 따른 신규한 시스템, 장치 및 방법은 많은 상이한 형태들로 구현될 수도 있으며, 본 발명을 통해서 제시되는 임의의 특정의 구조 또는 기능에 한정되는 것으로 해석되어서는 안 된다.
도 1은 본 발명의 실시 예에 따른 DSC 디코더 시스템에 고속으로 또는 실시간으로 입력되는 다중 슬라이스 단위로 압축된 DSC 압축 데이터를 설명하기 위한 도면이다.
도 1은 참조하면, 도 2를 참조하여 후술하는 DSC 디코더 시스템에 고속으로 또는 실시간으로 입력되는 DSC 압축 데이터(10)는 픽처 파라미터 정보(Picture Parameter Set: PPS)(12)와 비트스트림(bitstream) 데이터(14)를 포함하도록 구성될 수 있다.
픽처 파라미터 정보(12)는 후술하는 DSC 디코더 시스템에 의해 디코딩된 비디오 데이터의 출력 비디오 형식을 정의한다. 여기서, 출력 비디오 형식은, RGB 형식, YUV-444 형식, YUV-422 형식 또는 YUV-420 형식 등을 포함한다.
비트스트림 데이터(14)는 DSC 인코더 시스템에 의해 인코딩된 비디오 데이터의 인코딩 표현을 나타내는 비트들의 시퀀스를 의미한다. DSC 인코더 시스템은 비디오 데이터를 인코딩하며, 비디오 데이터는 복수의 픽처(picture)들을 포함한다. 각 픽처는 스틸 이미지(still image)를 의미한다. 스틸 이미지는 줄여서 '이미지'로 지칭될 수도 있다. 인코더는 픽처를 복수의 슬라이스들로 파티셔닝할 수 있다.
DSC 기법은 픽처를 정해진 폭(picture width == slice width)과 높이(slice width)로 이루어진 슬라이스 단위로 압축한다. 본 발명의 실시 예에 따르면, 한 프레임의 비트스트림 데이터(14)에 대응하는 픽처는 매트릭스 형태로 배열된 다중 슬라이스들(Slice 0 ~ Slice7, ??)로 분할된다. 도 1의 피처의 예에서, 픽처의 가로 크기(Picutre Width)는 4개의 슬라이스들의 가로 크기(Slice Width)들의 합과 동일하거나 거의 유사하다.
각 슬라이스에 대응하는 압축된 비디오 데이터는 청크(chunck) 단위로 구분되는 복수의 청크 데이터들로 정의된다. 청크(chunck) 단위는 인코더로부터 후술하는 DSC 디코더 시스템으로 전송되는 비디오 데이터의 전송 단위를 의미한다. 즉, 다중 슬라이스 단위로 압축된 비트스트림 데이터(14)는 디스플레이 링크를 통해 한 슬라이스의 한 청크(chunk) 단위의 데이터를 전송한다.
전송 순서는 도 1에 도시된 바와 같이, 픽처가 가로 방향으로 4개의 슬라이스들로 분할된 경우, 슬라이스 0의 청크 0, 슬라이스 1의 청크 0, 슬라이스 2의 청크 0, 슬라이스 3의 청크 0을 전송한 후, 슬라이스 0의 청크 1, 슬라이스 1의 청크 1, 슬라이스 2의 청크 1 및 슬라이스 3의 청크1과 같은 순서일 수 있다.
슬라이스 0, 1, 2 및 3의 모든 청크 데이터의 전송이 완료되면, 유사하게, 슬라이스 4의 청크 0, 슬라이스 5의 청크 0, 슬라이스 6의 청크 0, 슬라이스 7의 청크 0을 전송한 후, 슬라이스 4의 청크 1, 슬라이스 5의 청크 1, 슬라이스 6의 청크 1 및 슬라이스 7의 청크1과 같은 순서로 전송된다.
도 2는 본 발명의 실시 예에 따른 DSC 디코더 시스템의 개략적인 구성을 보여주는 블록도이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 DSC 디코더 시스템(200)은 DSC 인코더 시스템(100)로부터 고속으로 또는 실시간으로 입력(수신)되는 DSC 압축 데이터를 디코딩하여 획득한 비디오 데이터를 화면상에 표시하기 위한 표시 신호(또는 구동 신호)로 변환하여 디스플레이 장치(300)로 입력한다. 이때, DSC 압축 데이터는 도 1에 도시된 바와 같이, 다중 슬라이스 단위로 압축된 데이터이다.
DSC 인코더 시스템(100)와 DSC 디코더 시스템(200)는 동일한 시스템 또는 동일한 장치 내에 구현되거나 원거리에 배치된 서로 다른 시스템들 또는 서로 다른 장치들 내에 각각 구현될 수 있다. 디스플레이 장치(300)는 DSC 디코더 시스템(200)과 통합되거나 이의 외부에 배치될 수 있다.
DSC 디코더 시스템(200)은 디스플레이 링크(display link) 장치(150)를 통해 다중 슬라이스 단위로 압축된 DSC 압축 데이터를 수신한다. 디스플레이 링크 장치(150)는 DSC 인코더 시스템(100)에 의해 다중 슬라이스 단위로 인코딩(압축)된 DSC 압축 데이터를 DSC 인코더 시스템(100)로부터 DSC 디코더 시스템(200)으로 고속으로 또는 실시간으로 전송하기 위한 통신 매체일 수 있다. 디스플레이 링크 장치(150)는, 예를 들면, MIPI-DSI, DisplayPort 및 HDMI와 같이 다양한 디스플레이 링크 비디오 전송 기술을 지원하는 통신 매체일 수 있다.
DSC 인코더 시스템(100)에 의해 다중 슬라이스 단위로 인코딩(압축)된 DSC 압축 데이터는 유선 통신 프로토콜 또는 무선 통신 프로토콜과 같은 통신 표준을 기반으로 변조되어 DSC 디코더 시스템(200)으로 송신될 수 있다.
통신 매체는 근거리 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대 인터넷과 같은 패킷-기반 네트워크를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 DSC 인코더 시스템(100)와 DSC 디코더 시스템(200) 사이의 통신을 용이하게 하는데 유용한 임의의 다른 장비를 포함할 수도 있다.
본 발명은 DSC 인코더 시스템(100)에 특징이 있는 것이 아니라 DSC 디코더 시스템(100)의 내부 구성에 특징이 있는 것이므로, DSC 인코더 시스템(100)의 내부 구성에 대한 설명은 생략하며, 다만, DSC 인코더 시스템(100)와 DSC 디코더 시스템(100)은 DSC와 같은 비디오 압축 표준에 따라 동작한다.
도 2의 예에서, DSC 디코더 시스템(100)은 디스플레이 링크 프로토콜 파서(Display Link Protocol Parser)(210), DSC 디코더 장치(DSC Decoder Device)(230) 및 디스플레이 구동부(Display Driver IC)를 포함한다.
디스플레이 링크 프로토콜 파서(210)는 DSC 인코더 시스템(100)로부터 수신된 다중 슬라이스 단위로 압축된 DSC 압축 데이터를 분석(파싱)하여 상기 수신된 DSC 압축 데이터로부터 픽처 파라미터 정보(PPS)와 비트스트림을 획득한다. 디스플레이 링크 프로토콜 파서(210)는 도 2에서는 도시하지 않았으나, 수신기 또는 모뎀 내부에 구현된 것일 수 있다.
DSC 디코더 장치(230)는 픽처 파라미터 정보(PPS)를 기반으로 DCS 코딩기반으로 다중 슬라이스 단위로 인코딩(압축)된 비트스트림을 디코딩 처리하여 비디오 데이터를 생성한다.
디코딩된 비디오 데이터는 디스플레이 구동부(250)로 입력되고, 디스플레이 구동부(250)에 의해 디스플레이 장치(300)의 화면상에 표시하기 위한 표시 신호(또는 구동 신호)로 변환한다.
디스플레이 구동부(250)에 의해 변환된 표시 신호(또는 구동 신호)는 디스플레이 장치(300)로 입력되고, 디스플레이 장치(300)는 표시 신호(또는 구동 신호)에 대응하는 디코딩된 비디오 데이터를 표시한다.
디스플레이 장치(300)는 상기 디코딩된 비디오 데이터를 표시하기 위한 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또 다른 유형의 디스플레이 장치와 같은 다양한 디스플레이 장치들 중에 임의의 장치일 수 있다.
이처럼 다중 슬라이스 단위로 압축된 비트스트림은 DSC 디코딩 장치(230)에 의해 디코딩 처리되어 비디오 데이터를 출력하는데, 이때, 비디오 데이터의 출력과 동시에 한 프레임의 DSC 압축 데이터가 입력 완료되었는지 검사하여 완료되지 않았을 때는 새로운 비트스트림을 입력받아 연속 처리하고, 입력이 완료되었을 때는 새로운 프레임의 DSC 압축 데이터의 디코딩 처리를 위해, DSC 디코더 장치(230)는 초기화 된다.
도 3은 도 2에 도시된 DSC 디코더 장치의 내부 구성을 설명하기 위한 도면이다.
도 3을 참조하면, 픽처 파라미터 정보 분석기(PPS parser)(301), 서브스트림 역다중화기(302), 슬라이스 버퍼 컨트롤러(303), 슬라이스 버퍼 메모리 그룹(304), 제1 슬라이스 디코더(320A), 제2 슬라이스 디코더(320B), DSC 디코더 메모리 컨트롤러(312) 및 DSC 디코더 메모리 그룹(313)을 포함한다.
그리고, 제1 및 제2 슬라이스 디코더(320A 및 320B) 각각은 레이트 버퍼 컨트롤러(305), 먹스(305C), 가변길이 코딩 엔트로피 디코더들(306A~306D), 레이트 컨트롤러(307), 예측기들(308A~308D), BP 서치 블록(309), 인덱스 컬러 히스토리(Index Color History: ICH) 모듈(310), 컬러 공간 변환기(311)를 포함한다. 이처럼 제1 및 제2 슬라이스 디코더(320A 및 320B)는 동일한 구성들을 포함하므로, 본 명세서에서는 제2 슬라이스 디코더(320B)에 대한 설명은 제1 슬라이스 디코더(320A)에 대한 설명으로 대신한다.
먼저, 픽처 파라미터 정보 분석기(301, PPS 파서)는 디스플레이 링크 프로토콜 파서(210)에 의해 획득된 픽처 파라미터 정보(PPS)를 기반으로 다양한 파라미터를 설정한다. 여기서, 파라미터 설정은 DSC 디코더 장치(230)의 디코딩 처리에 의해 획득된 비디오 데이터의 출력 비디오 형식을 정의하기 위한 설정 및 양자화 파라미터 설정 등을 포함할 수 있다. 여기서, 출력 비디오 형식은, 예를 들면, RGB 형식, YUV-444 형식, YUV-422 형식 또는 YUV-420 형식 등을 포함할 수 있다.
서브스트림 역다중화기(302)는 디스플레이 링크 프로토콜 파서(210)로부터 입력된 비트스트림을 역 다중화하여 복수의 서브스트림들로 분할(split)한다.
슬라이스 버퍼 컨트롤러(slice buffer controller)(303)는 서브스트림 역다중화기(302)에 의해 분할된 복수의 서브스트림들 각각을 슬라이스 단위로 슬라이스 버퍼 메모리 그룹(304)에 저장하는 동시에 복수의 서브스트림들을 제1 및 제2 슬라이스 디코더(320A 및 320B)로 각각 입력한다.
실 시예에서, 슬라이스 버퍼 컨트롤러(303)는 4개의 슬라이스 버퍼 컨트롤러들(303A~303D)를 포함한다. 제1 슬라이스 버퍼 컨트롤러(303A)는 한 픽처 내에서 슬라이스 0에 대응하는 서브스트림을 청크 단위로 분할하여 제1 슬라이스 디코더(320A)로 입력하고, 제3 슬라이스 버퍼 컨트롤러(303C)는 한 픽처 내에서 슬라이스 2에 대응하는 서브스트림을 청크 단위로 제1 슬라이스 디코더(320A)로 입력한다. 동시에 제2 슬라이스 버퍼 컨트롤러(303B)는 한 픽처 내에서 슬라이스1에 대응하는 서브스트림을 청크 단위로 분할하여 제2 슬라이스 디코더(320B)로 입력하고, 제4 슬라이스 버퍼 컨트롤러(303D)는 한 픽처 내에서 슬라이스 4에 대응하는 서브스트림을 청크 단위로 분할하여 제2 슬라이스 디코더(320B)로 입력한다.
이처럼 제1 슬라이스 디코더(320A)는 짝수 번째에 해당하는 2개의 슬라이스들(Slice 0, 2)에 대응하는 서브스트림을 청크 단위로 디코딩하고, 제2 슬라이스 디코더(320B)는 홀수 번째에 해당하는 2개의 슬라이스들(Slice 1, 3)에 대응하는 서브스트림을 청크 단위로 디코딩한다.
반대로, 제1 슬라이스 디코더(320A)는 홀수 번째에 해당하는 2개의 슬라이스들의 서브스트림을 청크 단위로 디코딩하고, 제2 슬라이스 디코더(320B)는 짝수 번째에 해당하는 2개의 슬라이스들의 서브스트림을 청크 단위로 디코딩할 수도 있다.
제1 및 제2 슬라이스 디코더(320A 및 320B)는 병렬적으로 디코딩 처리를 수행하여 비디오 데이터를 출력한다.
레이트 버퍼 컨트롤러(Rate Buffer Control)(305)는 슬라이스 버퍼 컨트롤러(303)을 통해 입력된 짝수 번째 슬라이스들(Slice 0, 2)의 서브스트림을 버퍼링하는 레이트 버퍼를 제어한다. 도 3에서는 레이트 버퍼를 도시하지 않았으나, 레이트 버퍼는 레이트 버퍼 컨트롤러(305)에 포함된 구성일 수 있다.
레이트 버퍼 컨트롤러(305)는 짝수 번째 슬라이스들(Slice 0, 2)의 서브스트림을 버퍼링하기 위해 2개의 레이트 버퍼 컨트롤러들(305A, 305B)를 포함하도록 구성될 수 있다.
제1 레이트 버퍼 컨트롤러(305A)는 0번째 슬라이스의 서브스트림을 버퍼링하는 레이트 버퍼를 제어하고, 제2 레이트 버퍼 컨트롤러(305B)는 2번째 슬라이스의 서브스트림을 버퍼링하는 레이트 버퍼를 제어한다.
레이트 버퍼 컨트롤러(305)는 레이트 버퍼에 저장될 수 있는 비트들의 최대 개수를 확인하여 DSC 디코더에 입력되는 비트스트림의 크기를 검사할 수 있다.
이러한 검사를 통해 한 프레임의 비디오의 DS 디코딩 완료를 확인할 수 있다. 서브스트림의 크기 검사는 슬라이스 버퍼 컨트롤러(303)에서 수행될 수 있으며, 서브스트림의 크기 검사를 슬라이스 버퍼 컨트롤러(303)에서 수행하도록 설계된 경우, 레이트 버퍼 컨트롤러(305)의 설계는 생략될 수 있다.
먹스(305C)는 레이트 버퍼 컨트롤러(305)에 의해 버퍼링된 짝수 번째 슬라이스들(Slice0, Slice1)의 서브스트림 중 어느 하나의 슬라이스들의 서브 스트림을 선택하여 순차적으로 출력하고, 선택된 서브스트림을 서로 다른 복수의 가변 길이 코딩(Variable Length Coding : VLC)-엔트로피 디코더(Entropy Decoder: ED)(306A, 306B, 306C 및 306D)로 순차적으로 입력한다.
먹스(305C)에 의해 선택적으로 출력된 짝수번째 슬라이스의 서브스트림은 서로 다른 4개의 VLC-엔트로피 디코더(306A, 306B, 306C 및 306D)에 의해 병렬적으로 디코딩 된다. 즉, 4개의 VLC-엔트로피 디코더(306A, 306B, 306C 및 306D)은 0번째 슬라이스(Slice 0)의 서브스트림을 병렬적으로 디코딩한 후, 2번째 슬라이스(Slice 2)의 서브스트림을 병렬적으로 디코딩한다.
각 VLC-엔트로피 디코더는 잔차 크기 예측(residual size prediction), 프리픽스 디코딩(prefix decode), ICH(Indexed Color History) 모드에서 ICH 인덱스(ICH index) 디코딩 또는 예측 모드(predictive mode)에서 양자화된 잔차 디코딩 및 크기 계산으로 이루어진 세 가지 태스크들(tasks)을 직렬적으로 처리하고, 추가로, 평탄도(flatness) 및 코딩 모드(coding mode)의 디코딩을 더 처리한다.
상기 잔차 크기 예측은, 이전 그룹의 디코딩된 잔차 크기를 기반으로 하며, 이는 이전 그룹이 완료될 때까지 현재 그룹의 디코딩을 시작할 수 없음을 의미한다.
상기 평탄도는 비디오 데이터에서의 복잡한 (즉, 편평하지 않은) 영역들로부터 비디오 데이터에서의 편평한 (즉, 간단한 또는 균일한) 영역들으로의 변화들을 의미한다. 따라서, 평탄도의 디코딩은 상기 변화들의 디코딩을 의미한다.
상기 평탄도는 인코딩이 복잡한 비디오 데이터의 영역을 기술하며, 예를 들어 텍스쳐된 비디오 데이터, 높은 공간 주파수, 및/또는 인코딩하기에 복잡한 다른 피처들을 포함할 수 있다. 또한, 평탄도는 인코딩이 간단한 비디오 데이터의 영역을 기술하며, 예를 들어, 비디오 데이터에서의 평활한 입도(smooth gradient), 낮은 공간 주파수, 및/또는 인코딩이 간단한 다른 피처들을 포함할 수 있다.
레이트 컨트롤러(307)는 레이트 버퍼의 충만도(rate buffer fullness)를 관리하고, 픽처를 구성하는 슬라이스 단위의 픽셀 값들의 양자화 파라미터(Qp)를 계산한다.
복수의 예측기들(308A~308D)은 복수의 VLC-엔트로피 디코더들(306A~306D)과 각각 연결된다. 각 예측기는 대응하는 VLC-엔트로피 디코더에 의해 디코딩된 양자화된 잔차(quantized residuals)를 상기 양자화 파라미터(Qp)를 기반으로 역양자화하고, 적절한 예측자(predictors)를 사용하여 픽셀 값들을 예측한다. 상기 역 양자화된 잔차(inverse quantized residuals)는 상기 예측된 픽셀 값들에 추가되어 재구성된(Reconstructed) 픽셀 값들(Recon)을 포함하는 비디오 데이터를 출력한다.
각 예측기는 수정된 중앙값 적응 예측(Modified Median-Adaptive Prediction: MMAP), 블록 예측(Block Prediction: BP), 및 중간점 예측(MidPoint Prediction: MPP)을 수행하는 3개의 예측기들을 이용하여 재구성된(Reconstructed: Recon) 픽셀 값들을 예측한다.
각 예측기는 3개의 프로세서에 의해 예측 연산을 수행할 수 있다. 예를 들면, 하나의 프로세서가 이전 그룹의 재구성된 픽셀값들을 사용하지 않는 MMAP의 연산과 역 양자화를 수행하고, 다른 2개의 프로세서들이 나머지 예측 연산과 역 양자화를 수행할 수 있다.
BP 서치 블록(309)은 BP 예측기와 NMAP 예측기 중에서 어떤 예측기로 예측 연산 동작을 수행할지를 결정한다.
ICH(Index Color History) 모듈(310)은 3개의 예측기들에 의해 예측된 픽셀값들을 ICH 테이블에 업데이트 한다. ICH(Index Color History) 모듈(310)은 이전에 사용된 픽셀 값들을 복수의 예측기들(308A~308D)으로 제공한다. 이렇게 함으로써, 복수의 예측기들(308A~308D)은 이전에 사용된 픽셀 값들을 참조할 수 있다.
컬러 공간 변환기(311)는 디코딩된 픽셀 값들(재구성된 픽셀 값들 또는 재구성된 비디오 데이터)의 컬러 공간을 다른 컬러 공간으로 변환한다. 디코딩된 픽셀 값들의 컬러 공간은 휘도 Y, 색차 녹색 Cg, 및 색차 주황색 Co(YCgCo) 칼라 공간을 포함하며, 다른 컬러 공간은 RGB 컬러 공간일 수 있다. 이때, 컬러 공간 변환기(311)는 픽처 파라미터 정보의 설정에 따라 디코딩된 픽셀 값들(재구성된 픽셀 값들 또는 재구성된 비디오 데이터)의 컬러 공간을 다른 컬러 공간으로 변환하지 않을 수도 있다. 즉, 컬러 공간 변환기(311)는 디코딩된 픽셀 값들(재구성된 픽셀 값들 또는 재구성된 비디오 데이터)의 YCgCo 공간을 RGB 컬러 공간으로 변환하지 않고, 그대로 디스플레이 구동부(250)로 출력할 수도 있다.
DSC 디코더 메모리 컨트롤러(312)는 DSC 인코더 시스템(100) 또는 외부 장치로부터의 타이밍 제어 신호에 따라 제1 슬라이스 디코더(320A)에 의해 디코딩된 픽셀 값들을 DSC 디코더 메모리 그룹(313)에 저장하거나 DSC 디코더 메모리 그룹(313)에 저장된 현재 라인의 픽셀 값을 읽어와 제1 슬라이스 디코더(320)에 전달한다. DSC 디코더 메모리 그룹(313)은 현재 라인 버퍼, 이전 라인 버퍼, 이전 라인 예측 버퍼 및 출력 라인 버퍼를 포함할 수 있다.
도 4는 본 발명의 실시 예에 따른 DSC 디코더 시스템의 동작을 설명하기 위한 순서도이다.
도 4를 참조하면, 먼저, S410에서, DSC 디코더 시스템(도 2의 200)이 디스플레이 링크(도 2의 150)를 통해 DSC 인코더 시스템(도 2의 100)으로부터 DSC 압축 데이터를 수신하는 과정이 수행된다. 여기서, 디스플레이 링크(도 2의 150)는, 예를 들면, MIPI-DSI, DisplayPort 및 HDMI와 같은 다양한 디스플레이 링크 비디오 전송 기술을 지원하는 통신 매체일 수 있다.
이어, S420에서, 디스플레이 링크 프로토콜 분석기(display link protocol parser)(도 2의 210)가 상기 수신한 DSC 압축 데이터를 파싱하여 픽처 파라미터 정보(PPS)와 비트스트림을 추출(분류 및/또는 획득)하는 과정이 수행된다.
이어, S430에서, DSC 디코더 장치(도 2의 230)의 픽처 파라미터 정보 분석기(도 3의 301)가 상기 추출된 픽처 파라미터 정보(PPS)를 기반으로 다양한 파라미터를 설정한다. 여기서, 파라미터 설정은 DSC 디코더 장치(230)의 디코딩 처리에 의해 획득된 비디오 데이터의 출력 비디오 형식을 정의하기 위한 설정을 포함할 수 있다. 출력 비디오 형식은, 예를 들면, RGB 형식, YUV-444 형식, YUV-422 형식 또는 YUV-420 형식 등을 포함할 수 있다.
이어, S440에서, 파라미터 설정이 완료되면, 상기 추출된 DSC 비트스트림(역다중화된 서브스트림)이 DSC 디코더 장치(도 2의 230)로 입력되는 과정이 수행된다.
이어, S450에서, 슬라이스 버퍼 컨트롤러(도 3의 303) 또는 레이트 버퍼 컨트롤러(도 3의 305)가 서브스트림 역다중화기에 의해 역 다중화된 DSC 비트스트림의 크기를 검사하여 한 픽처를 구성하는 모든 슬라이스들에 대응하는 DSC 비트스트림 입력이 완료되었는 지를 판단하는 과정이 수행된다.
모든 슬라이스들(또는 하나의 픽처)에 대응하는 DSC 비트스트림 입력이 완료되지 않은 경우, 남은 슬라이스들에 대응하는 DSC 비트스트림 입력이 입력되고, S460에서, DSC 비트스트림을 슬라이스별로 분류 및 저장한다.
이어, S465에서, DSC 디코더 장치(230) 또는 DSC 디코더 장치(230)의 2개의 슬라이스 디코더(320A 및 320B)가 역 다중화된 DSC 비트스트림을 순차적으로 디코딩하여, 비디오 데이터를 생성한다.
이어, S470에서, DSC 디코더 장치(230) 또는 DSC 디코더 장치(230)의 2개의 슬라이스 디코더(320A, 320B)가 디코딩된 비디오 데이터를 출력하는 과정이 수행된다.
도 4에서는 도시하지 않았으나, 2개의 슬라이스 디코더들(320A, 320B)로부터 출력된 비디오 데이터는 디스플레이 구동부(도 2의 250)에 의해 표시 신호(구동 신호)로 변환되고, 디스플레이 장치(도 2의 300)가 상기 표시 신호(구동 신호)에 따라 슬라이스 단위의 비디오 데이터를 표시한다.
한편, S480에서, 슬라이스 버퍼 컨트롤러(도 3의 303) 또는 레이트 버퍼 컨트롤러(도 3의 305)가 한 프레임 비디오(하나의 픽처)에 대한 디코딩 처리가 완료되었는 지를 판단하는 과정이 수행된다.
한 프레임 비디오(하나의 픽처)에 대한 디코딩 처리가 완료되지 않은 경우, 한 프레임 비디오(하나의 픽처)에 대한 디코딩 처리가 완료될 때까지 S440 내지 S470이 반복적으로 수행된다. 즉, 하나의 픽처에 포함된 모든 슬라이스들에 대응하는 DSC 비트스트림에 대한 디코딩 처리가 완료될 때까지 S440 내지 S470이 반복적으로 수행된다.
한 프레임 비디오(하나의 픽처)에 대한 디코딩 처리가 완료된 경우, S490에서, 새로운 프레임에 대응하는 DSC 압축 데이터의 디코딩 처리를 위하여 DSC 디코딩 장치가 초기화된다.
한 프레임 비디오(하나의 픽처)에 대한 디코딩 처리가 완료된 경우, DSC 디코더 장치(도 2의 230) 또는 제1 슬라이스 디코더(320A)의 컬러 공간 변환기(311)는 픽처 파라미터 정보(PPS)에서 정해진 출력 비디오 형식에 따라 도 5 내지 8에 도시된 바와 같이, RGB, YUV-444, YUV-422, YUV-420 형식으로 비디오를 출력한다.
도 5는 본 발명의 실시 예에 따른 DSC 디코더 장치의 RGB 형식의 출력 타이밍을 설명하기 위한 도면이고, 도 6은 본 발명의 실시 예에 따른 DSC 디코더 장치의 YUV-444 형식의 출력 타이밍을 설명하기 위한 도면이고, 도 7은 본 발명의 실시 예에 따른 DSC 디코더 장치의 YUV-422 형식의 출력 타이밍을 설명하기 위한 도면이다. 그리고, 도 8은 본 발명의 실시 예에 따른 DSC 디코더 장치의 YUV-420 형식의 출력 타이밍을 설명하기 위한 도면이다.
도 5 내지 8에서, 'clock'와 'o_dsc_de'는 도 3에 도시된 타이밍 제어 신호를 나타내고, 'o_dsc_r_y, o_dsc_g_y 및 o_dsc_b_y'은 RGB, YUV-444, YUV-422 또는 YUV-420 형식의 비디오 데이터를 나타낸다.
이상 설명한 본 발명의 실시예에 따른 DSC 디코더 시스템의 동작은 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다.
또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (13)

  1. 디스플레이 링크 장치를 통해 수신된 디스플레이 스트림 압축 데이터(이하, DSC 압축 데이터)로부터 픽처 파라미터(Picture Parameter Set: PPS) 정보와 비트스트림을 추출하는 디스플레이 링크 프로토콜 파서;
    상기 PPS 정보를 파싱하여 디코딩 동작을 위한 파라미터를 설정하는 PPS 파서;
    상기 비트스트림을 복수의 서브스트림으로 분할하는 역다중화기;
    각 서브스트림을 다중 슬라이스 단위로 출력하는 슬라이스 버퍼 컨트롤러; 및
    상기 다중 슬라이스 단위로 출력된 서브스트림을 상기 파라미터를 기반으로 디코딩하여 비디오 데이터를 출력하는 복수의 슬라이스 디코더;
    를 포함하는 디스플레이 스트림 압축 디코더 시스템.
  2. 제1항에서,
    상기 DSC 압축 데이터는 상기 다중 슬라이스 단위로 압축된 데이터인 것인 디스플레이 스트림 압축 디코더 시스템.
  3. 제1항에서,
    상기 파라미터는,
    상기 비디오 데이터의 출력 비디오 형식을 정의하는 것인 디스플레이 스트림 압축 디코더 시스템.
  4. 제3항에서,
    상기 출력 비디오 형식은,
    RGB 형식, YUV-444 형식, YUV-422 형식 및 YUV-420 형식 중에서 어느 하나의 형식인 것인 디스플레이 스트림 압축 디코더 시스템.
  5. 제1항에서,
    상기 디스플레이 링크 장치는,
    MIPI(Mobile Industry Processor Interface)-DSI(Display Serial Interface), DisplayPort 및 HDMI(High Definition Multimedia Interface) 중 어느 하나의 디스플레이 링크 비디오 전송 기술을 지원하는 장치인 것인 디스플레이 스트림 압축 디코더 시스템.
  6. 제1항에서,
    상기 복수의 슬라이스 디코더는,
    짝수 번째에 해당하는 슬라이스들에 대응하는 상기 서브스트림을 디코딩하는 제1 슬라이스 디코더; 및
    홀수 번째에 해당하는 슬라이스들에 대응하는 상기 서브스트림을 디코딩하는 제2 슬라이스 디코더를 포함하는 디스플레이 스트림 압축 디코더 시스템.
  7. 제6항에서,
    상기 제1 및 제2 슬라이스 디코더 각각은,
    2개의 슬라이스들에 대응하는 상기 서브스트림을 버퍼링하는 레이트 버퍼를 제어하는 레이트 버퍼 컨트롤러;
    상기 버퍼링된 2개의 슬라이스들에 대응하는 상기 서브스트림을 선택적으로 출력하는 먹스;
    상기 선택적으로 출력된 2개의 슬라이스들에 대응하는 서브스트림을 병렬적으로 디코딩하는 복수의 VLC-엔트로피 디코더들;
    상기 레이트 버퍼의 충만도(rate buffer fullness)를 관리하고, 상기 픽처를 구성하는 슬라이스 단위의 픽셀 값들의 양자화 파라미터를 계산하는 레이트 컨트롤러;
    각 VLC-엔트로피 디코더에 의해 디코딩된 양자화된 잔차를 상기 양자화 파라미터를 기반으로 역양자화하고, 상기 슬라이스 단위의 픽셀 값들을 예측하여 재구성된 픽셀 값들을 포함하는 상기 비디오 데이터를 출력하는 복수의 예측기들; 및
    상기 비디오 데이터의 컬러 공간을 다른 컬러 공간으로 변환하는 컬러 공간 변환기
    를 포함하는 디스플레이 스트림 압축 디코더 시스템.
  8. 제7항에서,
    상기 VLC-엔트로피 디코더들 각각은,
    잔차 크기 예측(residual size prediction), 프리픽스 디코딩(prefix decode), ICH(Indexed Color History) 모드에서 ICH 인덱스(ICH index) 디코딩 또는 예측 모드(predictive mode)에서 양자화된 잔차 디코딩 및 크기 계산을 수행하는 것인 디스플레이 스트림 압축 디코더 시스템.
  9. 제7항에서,
    상기 컬러 공간 변환기는,
    상기 파라미터에 따라 RGB 형식, YUV-444 형식, YUV-422 형식 및 YUV-420 형식 중에서 어느 하나의 형식을 갖는 상기 다른 컬러 공간의 상기 비디오 데이터를 출력하는 것인 디스플레이 스트림 압축 디코더 시스템.
  10. DSC 인코더 시스템으로부터 다중 슬라이스 단위로 DSC 압축 데이터를 수신하는 단계;
    상기 수신된 DSC 압축 데이터를 파싱하여 픽처 파라미터 정보와 비트스트림으로 분류하는 제1 단계;
    상기 파라미터 정보를 기반으로 DSC 디코딩을 위한 파라미터를 설정하는 제2 단계: 및
    비트스트림을 다중 슬라이스 단위로 디코딩하여 상기 파라미터에 의해 정의된 출력 비디오 형식을 갖는 비디오 데이터를 생성하는 제3 단계;
    를 포함하는 디스플레이 스트림 압축 디코더 시스템의 동작 방법.
  11. 제10항에서,
    상기 수신하는 단계는,
    MIPI(Mobile Industry Processor Interface)-DSI(Display Serial Interface), DisplayPort 및 HDMI(High Definition Multimedia Interface) 중 어느 하나의 디스플레이 링크 비디오 전송 기술을 지원하는 장치를 통해 상기 DSC 압축 데이터를 수신하는 단계인 것인 디스플레이 스트림 압축 디코더 시스템의 동작 방법.
  12. 제10항에서,
    상기 비디오 데이터를 생성하는 단계는,
    서로 다른 복수의 VLC-엔트로피 디코더들이, 상기 비트스트림을 다중 슬라이스 단위로 병렬적으로 디코딩하는 단계;
    복수의 예측기들이, 각 VLC-엔트로피 디코더에 의해 디코딩된 양자화된 잔차를 역양자화하고, 상기 슬라이스 단위의 픽셀 값들을 예측하여 재구성된 픽셀 값들을 포함하는 상기 비디오 데이터를 출력하는 단계; 및
    컬러 공간 변환기가, 상기 비디오 데이터의 컬러 공간을 상기 파라미터에 의해 정의된 출력 비디오 형식의 컬러 공간으로 변환하는 단계
    를 포함하는 디스플레이 스트림 압축 디코더 시스템의 동작 방법.
  13. 제10항에서,
    상기 제3 단계 이후, 상기 디코딩된 비트스트림이 한 프레임 또는 한 픽처에 대응하는 경우, 상기 제3 단계를 수행하는 DSC 디코더 장치를 초기화하고, 새로운 프레임 또는 새로운 픽처에 대해 상기 제1 내지 제3 단계를 반복 수행하는 단계를 더 포함하는 디스플레이 스트림 압축 디코더 시스템의 동작 방법.
KR1020220086330A 2022-07-13 2022-07-13 다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법 KR20240009176A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220086330A KR20240009176A (ko) 2022-07-13 2022-07-13 다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220086330A KR20240009176A (ko) 2022-07-13 2022-07-13 다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20240009176A true KR20240009176A (ko) 2024-01-22

Family

ID=89716393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220086330A KR20240009176A (ko) 2022-07-13 2022-07-13 다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20240009176A (ko)

Similar Documents

Publication Publication Date Title
CN111066326B (zh) 机器学习视频处理系统和方法
KR102120571B1 (ko) 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
EP3632114B1 (en) Substream multiplexing for display stream compression
KR102229045B1 (ko) 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
CN110495176B (zh) 用于显示流压缩的中点预测误差扩散
US20100232497A1 (en) Lossless and near-lossless image compression
JP6449329B2 (ja) ディスプレイストリーム圧縮(dsc)において量子化パラメータ(qp)を選択するためのシステムおよび方法
US10631005B2 (en) System and method for coding in block prediction mode for display stream compression (DSC)
KR101975093B1 (ko) 디스플레이 스트림 압축 (dsc) 을 위한 라그랑지안 파라미터 계산을 위한 시스템 및 방법
CN107431805B (zh) 编码方法和装置以及解码方法和装置
JP6464192B2 (ja) ディスプレイストリーム圧縮(dsc)のための平坦度検出のためのシステムおよび方法
US8879838B2 (en) Image coding method and apparatus and image decoding method and apparatus, based on characteristics of regions of image
TWI790662B (zh) 一種編解碼方法、裝置及其設備
JP2019512970A (ja) ディスプレイストリーム圧縮における量子化パラメータの適応計算のための装置および方法
US11445160B2 (en) Image processing device and method for operating image processing device
KR102175662B1 (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
JP2019511865A (ja) ディスプレイストリーム圧縮のためのベクトルベースエントロピーコード化のための装置および方法
US10200697B2 (en) Display stream compression pixel format extensions using subpixel packing
CN110708547B (zh) 针对变换模式的有效熵编码组分组方法
KR20160145181A (ko) 디스플레이 스트림 압축 (dsc) 을 위해 패턴 모드에서 코딩하기 위한 시스템 및 방법
KR20240009176A (ko) 다중 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법
KR20240009175A (ko) 단일 슬라이스용 디스플레이 스트림 압축 디코더 시스템 및 그 방법
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更