KR20160061172A - 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법 - Google Patents

디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법 Download PDF

Info

Publication number
KR20160061172A
KR20160061172A KR1020140163739A KR20140163739A KR20160061172A KR 20160061172 A KR20160061172 A KR 20160061172A KR 1020140163739 A KR1020140163739 A KR 1020140163739A KR 20140163739 A KR20140163739 A KR 20140163739A KR 20160061172 A KR20160061172 A KR 20160061172A
Authority
KR
South Korea
Prior art keywords
value
pixel value
bits
pixel
data information
Prior art date
Application number
KR1020140163739A
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 KR1020140163739A priority Critical patent/KR20160061172A/ko
Priority to US14/942,251 priority patent/US10271059B2/en
Publication of KR20160061172A publication Critical patent/KR20160061172A/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/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/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/43Hardware specially adapted for motion estimation or compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따른 디코더는, 비트 스트림을 파싱하여 헤더 정보와 제1 데이터 정보 내지 제3 데이터 정보를 추출하고, 상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들에 대한 예측 모드를 판단하고, 상기 예측 모드에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 파서부; 상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내에서 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인트라 예측부; 및 상기 제2 데이터 정보에 기초하여 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 제2 참조 블록의 픽셀 값을 변환하고, 상기 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인터 예측부를 포함한다.

Description

디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법{A DECODER, A DECODING SYSTEM INCLUDING THE DECODER, AND A METHOD OF OPERATING THE DECODER}
본 발명의 개념에 따른 실시예는 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법에 관한 것으로, 보다 상세하게는 아티팩트(artifact) 및 PSNR(Peak Signal to Noise Ratio) 저하를 최소화할 수 있는 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법에 관한 것이다.
일반적으로 비디오 신호(video signal)는 로우 데이터(raw data)가 그대로 수신 측에 전송되지 않고, 표준화된 압축 포맷(compression format)으로 압축되어 인코딩(encoding)된 데이터 형태로 전송된다. 수신 측이 상기 인코딩된 데이터를 재생하기 위해서는, 스트림 형태(stream form)로 입력되는 상기 인코딩된 데이터를 디코딩(decoding)하게 된다.
이때, 인코딩된 데이터가 9 비트 이상이며, 수신 측이 8 비트 기반의 참조 프레임을 로딩하여 상기 인코딩된 데이터를 디코딩하는 경우, 비트 값의 차이에 의한 오류 발생으로 인해 상기 비디오 신호의 화질의 저하가 발생하게 된다.
본 발명이 이루고자 하는 기술적인 과제는, 아티팩트 및 PSNR 저하를 최소화할 수 있는 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법을 제공하는 것에 있다.
본 발명의 실시예에 따른 디코더는, 비트 스트림(bit stream)을 파싱하여 헤더 정보와 제1 데이터 정보 내지 제3 데이터 정보를 추출하고, 상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들에 대한 예측 모드를 판단하고, 상기 예측 모드에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 파서(parser)부; 상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내에서 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인트라 예측부; 및 상기 제2 데이터 정보에 기초하여 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 제2 참조 블록의 픽셀 값을 변환하고, 상기 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인터 예측부를 포함한다.
실시예에 따라, 상기 인터 예측부는, 상기 제2 참조 블록의 픽셀 값을 상기 현재 블록의 픽셀 값과 동일한 비트 수로 변환하고, 상기 변환된 픽셀 값을 출력하는 비트 변환부; 및 상기 변환된 픽셀 값에 기초하여 상기 예측 값을 생성하는 움직임 보상부를 포함한다.
실시예에 따라, 상기 비트 변환부는, 소정의 매트릭스(matrix)를 이용하여 제1 비트 수만큼의 픽셀 값을 산출하며, 상기 제1 비트 수는, 상기 제2 참조 블록의 픽셀 값의 비트 수와 상기 현재 블록의 픽셀 값의 비트 수의 차이이다.
실시예에 따라, 상기 소정의 매트릭스가 2X2 매트릭스인 경우, 상기 매트릭스의 요소들(elements)은 상기 제1 비트 수에 대응하는 자릿수를 갖는 2진수(binary number) 값에 대한 중간값(medium value)들 또는 랜덤값(random value)들이다.
실시예에 따라, 상기 비트 변환부는, 상기 제1 비트 수의 값을 산출하고, 상기 산출된 비트 값을 상기 참조 블록의 픽셀 값의 최하위 비트(least significant bit)에 추가하여 상기 현재 블록의 픽셀 값과 동일한 비트 수로 변환한다.
실시예에 따라, 상기 비트 변환부가 상기 중간값들의 조합 또는 랜덤값들의 조합에 의한 상기 2X2 매트릭스를 이용하여 상기 제1 비트 수의 값을 산출하는 경우, 상기 매트릭스의 제1행의 요소들은 상기 참조 블록의 홀수 라인들에 대응하는 각 픽셀들의 최하위 비트에 반복적으로 추가되고, 상기 매트릭스의 제2행의 요소들은 상기 참조 블록의 짝수 라인들에 대응하는 각 픽셀들의 최하위 비트에 반복적으로 추가된다.
실시예에 따라, 상기 소정의 매트릭스가 nXn(n은 3 이상의 정수) 매트릭스인 경우, 상기 매트릭스의 요소들은 상기 제1 비트 수에 대응하는 자릿수를 갖는 2진수 값에 대한 랜덤값들이다.
실시예에 따라, 상기 비트 변환부가 상기 랜덤값들의 조합에 의한 상기 nXn 매트릭스를 이용하여 상기 제1 비트 수의 값을 산출하는 경우, 상기 매트릭스의 제1행 내지 제n행의 요소들은 상기 참조 블록의 각 라인들에 대응하는 픽셀들의 최하위 비트에 반복적으로 추가된다.
실시예에 따라, 상기 디코더는, 상기 제3 데이터 정보에 포함된 소정의 값을 변환하여 복원된 레지듀얼 값과 상기 인트라 예측부 또는 상기 인터 예측부로부터 출력되는 예측 값을 가산하고, 디코딩된 스트림을 출력하는 가산기; 및 상기 디코딩된 스트림에 상응하는 데이터 중에서 디스플레이될 데이터만을 출력하는 메모리 억세스 유닛을 더 포함한다.
실시예에 따라, 상기 메모리 억세스 유닛은, 상기 디코딩된 스트림에 상응하는 비트 수 중에서 디스플레이 장치에 의해 재생될 비트 수를 제외한 나머지 최하위 비트들을 삭제하여 출력한다.
본 발명의 실시예에 따른 디코더의 동작 방법은, 비트 스트림을 파싱하여 헤더 정보, 제1 데이터 정보 및 제2 데이터 정보를 추출하는 단계; 상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들 각각의 예측 모드를 판단한 결과에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 단계; 상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내의 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 단계; 상기 제2 데이터 정보에 기초하여 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 예측된 제2 참조 블록의 픽셀 값을 현재 블록의 픽셀 값과 동일한 비트 수로 변환하는 단계; 및 상기 변환된 픽셀 값에 기초하여 상기 현재 블록의 픽셀에 대한 예측 값을 생성하는 단계를 포함한다.
실시예에 따라, 상기 제2 참조 블록의 픽셀 값은 상기 현재 블록의 픽셀 값보다 더 작은 비트 수를 갖는다.
실시예에 따라, 소정의 매트릭스를 이용하여 제1 비트 수에 대응하는 자릿수를 갖는 2진수 값을 산출하며, 상기 제1 비트 수는, 상기 제2 참조 블록의 픽셀 값의 비트 수와 상기 현재 블록의 픽셀 값의 비트 수의 차이이다.
실시예에 따라, 상기 제1 비트 수에 대한 중간값들의 조합을 이용하는 2X2 매트릭스에 의해 상기 제1 비트 수의 값을 산출하거나, 상기 제1 비트 수에 대한 랜덤값들의 조합을 이용하는 2X2 매트릭스 또는 nXn 매트릭스에 의해 상기 제1 비트 수의 값을 산출한다.
실시예에 따라, 상기 산출된 제1 비트 수는, 상기 제2 참조 블록의 픽셀 값의 최하위 비트에 추가된다.
본 발명의 실시예에 따른 디코딩 시스템은, 비트 스트림을 디코딩하여 디코딩된 스트림을 출력하는 디코더; 및 상기 디코딩된 스트림을 수신하여 참조 프레임으로 저장하는 메모리 버퍼를 포함하며, 상기 디코더는, 상기 비트 스트림을 파싱하여 헤더 정보와 제1 및 제2 데이터 정보를 추출하고, 상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들에 대한 예측 모드를 판단하고, 상기 예측 모드에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 파서부; 상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내에서 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인트라 예측부; 및 상기 제2 데이터 정보에 기초하여 상기 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 제2 참조 블록의 픽셀 값을 변환하고, 상기 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인터 예측부를 포함한다.
실시예에 따라, 상기 인터 예측부는, 상기 제2 참조 블록의 픽셀 값을 상기 현재 블록의 픽셀 값과 동일한 비트 수로 변환하고, 상기 변환된 픽셀 값을 출력하는 비트 변환부; 및 상기 변환된 픽셀 값에 기초하여 상기 예측 값을 생성하는 움직임 보상부를 포함한다.
실시예에 따라, 상기 비트 변환부는, 소정의 매트릭스를 이용하여 제1 비트 수만큼의 픽셀 값을 산출하며, 상기 제1 비트 수는, 상기 제2 참조 블록의 픽셀 값의 비트 수와 상기 현재 블록의 픽셀 값의 비트 수의 차이이다.
본 발명의 실시예에 따른 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법에 의하면, 참조 프레임의 비트 값을 효율적으로 변환하여 디코더의 오류 발생을 최소화함으로써 화질의 저하를 개선할 수 있다.
도 1은 본 발명의 실시 예에 따른 디코더의 블록도이다.
도 2는 도 1에 도시된 인터 예측부의 동작을 설명하기 위한 도면이다.
도 3 내지 도 4는 도 1에 도시된 비트 변환부의 동작을 설명하기 위한 도면이다.
도 5는 도 1에 도시된 디코더의 동작 방법을 나타내는 흐름도이다.
도 6은 도 5에 도시된 인터 예측부의 동작을 보다 상세하게 나타내는 흐름도이다.
도 7은 도 1에 도시된 디코더를 포함하는 시스템의 일 실시 예를 나타내는 블록도이다.
도 8은 도 1에 도시된 디코더를 포함하는 시스템의 다른 실시 예를 나타내는 블록도이다.
도 9는 도 1에 도시된 디코더를 포함하는 시스템의 또 다른 실시 예를 나타내는 블록도이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 디코더의 블록도이고, 도 2는 도 1에 도시된 인터 예측부의 동작을 설명하기 위한 도면이고, 도 3 내지 도 4는 도 1에 도시된 비트 변환부의 동작을 설명하기 위한 도면이다.
도 1을 참조하면, 디코더(100)는 디지털 형태의 압축 신호인 비트 스트림(bit stream; BS)을 원래의 영상 신호(original video signal)로 복원 및/또는 가공해 주는 장치이다.
비트 스트림(BS)은 비트(bit) 단위로 순차적으로 전송되는 데이터로서, 표준화된 압축 포맷(compression format), 예컨대, MPEG, WMV, DivX, H.264 등으로 인코딩(encoding)된 데이터이다. 비트 스트림(BS)은 인코더뿐만 아니라, 디코더(100)의 외부(예컨대, 스마트폰의 메모리, 디지털망으로 연결된 영상 서버)로부터 수신될 수 있다.
비트 스트림(BS)은 복수의 프레임(frame)들 및 기타 부가 정보들을 포함할 수 있다. 상기 프레임은 하나의 정지 화상(still image)을 의미한다.
또한, 디코더(100)는 하나의 프레임을 소정 크기의 블록 단위로 디코딩할 수 있다. 예컨대, 디코더(100)는 16*16 픽셀 크기의 블록 단위로 프레임을 디코딩할 수 있으나 이에 한정되지 않으며, 8*8, 32*32와 같은 다양한 픽셀 크기의 블록 단위로 디코딩할 수 있다.
상기 디코더(100)는 파서(parser)부(110), 역양자화부(120), 역변환부(130), 인트라 예측부(140), 인터 예측부(150), 가산기(160), 필터링부(170) 및 메모리 억세스 유닛(180)을 포함할 수 있다.
파서부(110)는 비트 스트림(BS)을 파싱하고, 비트 스트림(BS)에 포함된 헤더 정보 및 데이터 정보를 추출하여 출력할 수 있다.
상기 헤더 정보는, 전체 프레임들에 대한 정보 및 각 프레임에 대응하는 블록들에 대한 정보들을 포함할 수 있다. 상기 데이터 정보는, 이웃 블록 정보에 상응하는 제1 데이터 정보, 모션 벡터(motion vector)값에 상응하는 제2 데이터 정보 및 각 블록에 대응하는 소정의 값들에 상응하는 제3 데이터 정보를 포함할 수 있다.
상기 모션 벡터값은 이미 디코딩된 참조 프레임의 참조 블록의 현재 블록에 대한 변위(displacement)를 나타낸다. 또한, 상기 소정의 값은 레지듀얼(residual) 값을 복원하기 위한 계수 값을 나타내며, 상기 레지듀얼 값은 상기 참조 블록의 픽셀 값과 현재 블록의 픽셀 값 사이의 차이 값을 나타낸다.
파서부(110)는 각 블록들에 대한 정보(예컨대, 각 블록의 예측 모드 정보)에 기초하여 이웃 블록 정보를 인트라 예측부(140)로 출력하거나, 모션 벡터값을 인터 예측부(150)로 출력할 수 있다.
파서부(110)의 출력에 따라, 인트라 예측부(140)의 출력이 가산기(160)로 연결되거나 인터 예측부(150)의 출력이 가산기(160)로 연결되도록, 파서부(110)는 스위치(SW)를 제어할 수 있다.
역양자화부(120)는 파서부(110)로부터 출력되는 소정의 값을 역양자화하고, 역변환부(130)는 역양자화된 소정의 값에 기초하여 레지듀얼 값을 복원한다.
인트라 예측부(140)는 이웃 블록 정보에 기초하여 현재 프레임 내에서 이미 디코딩된 이웃 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성할 수 있다. 예컨대, 인트라 예측부(140)는 현재 블록의 상단, 좌측, 좌측 상단 및/또는 우측 상단으로 인접하는 블록들의 픽셀 값으로부터 현재 블록의 픽셀 값을 예측할 수 있다.
인터 예측부(150)는 현재 블록에 대한 모션 벡터값에 기초하여 이미 디코딩된 참조 프레임으로부터 참조 블록을 예측하고, 참조 블록의 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성할 수 있다.
즉, 도 2에 도시된 바와 같이, 인터 예측부(150)는 참조 프레임(210)에 대한 참조 블록(211)의 픽셀 값으로부터 현재 프레임(220)에 대한 현재 블록(221)의 픽셀 값을 예측할 수 있다.
실시예에 따라, 디코더(100)의 내부에서는 픽셀의 10 비트 단위로 디코딩이 수행된 이후 출력될 수 있다. 예를 들어, 픽셀이 YUV 형식으로 표현되는 경우 밝기(luminance; luma, 루마)를 나타내는 Y성분과 색상(chrominance; chroma, 크로마)을 나타내는 U성분, V성분은 각각 10 비트 값일 수 있으며, 픽셀이 RGB 형식으로 표현되는 경우에는 R성분, G성분, B성분이 각각 10 비트 값일 수 있다.
반면, 디코딩된 스트림은 외부의 디스플레이 장치(display device)를 위해 픽셀의 8 비트 단위로 입/출력될 수 있다.
이를 위해, 인터 예측부(150)는 움직임 보상부(151) 및 비트 변환부(153)를 포함할 수 있다. 비트 변환부(153)가 움직임 보상부(151)와 별도로 구비된 예를 도시하였으나 이에 한정되지 않으며, 비트 변환부(153)는 움직임 보상부(151) 내에 구비될 수도 있다.
비트 변환부(153)는 메모리 억세스 유닛(180)으로부터 출력되는 참조 블록의 픽셀 값을 현재 블록의 픽셀 값과 동일한 비트 수로 변환하고, 변환된 픽셀 값을 움직임 보상부(151)로 출력할 수 있다. 즉, 비트 변환부(153)는 소정의 매트릭스(matrix)를 이용하여 참조 블록에 대한 픽셀 값의 비트 수보다 증가된 비트 수만큼의 픽셀 값을 산출할 수 있다.
움직임 보상부(151)는 참조 블록에 대하여 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성할 수 있다.
예를 들어, 도 3에 도시된 바와 같이, 참조 블록의 픽셀이 8 비트 값을 갖고 현재 블록의 픽셀이 10 비트 값을 갖는 경우, 비트 변환부(153)는 수학식 1 또는 수학식 2를 이용하여 두 비트수의 차이 값인 2 비트수의 값(x0, x1)을 산출할 수 있다.
매트릭스의 요소들(elements)은 수학식 1과 같이 2 비트수에 대응하는 자릿수를 갖는 2진수(binary number) 값에 대한 중간값(medium value)들의 조합이거나, 수학식 2와 같이 랜덤값(random value)들의 조합일 수 있다. 이때, 2 비트수에 대응하는 자릿수를 갖는 2진수 값은 '00', '01', '10', '11'이므로, 이들의 중간값은 '01' 및 '10' 일 수 있다.
다음으로, 비트 변환부(153)는 산출된 2 비트수에 대응하는 자릿수를 갖는 2진수 값(x0, x1)을 참조 블록에 대한 픽셀 값의 최하위 비트(Least Significant Bit; LSB)에 추가하여 10 비트 픽셀로 변환할 수 있다.
Figure pat00001
Figure pat00002
이를 위해, 도 4에 도시된 바와 같이, 디코더(100)가 하나의 프레임을 8*8 픽셀 크기의 블록 단위로 디코딩하는 경우, 동일한 크기로 입력되는 참조 블록을 예로 들어 설명한다.
수학식 1을 이용하는 경우, 비트 변환부(153)는 P0 ,0 내지 P7 , 0 까지의 각 픽셀들의 비트 값에 첫 번째 행의 '01' 및 '10'의 2 비트수의 값(x0, x1)을 반복적으로 추가하여 10 비트 값으로 변환할 수 있다. 또한, 비트 변환부(153)는 P0 ,1 내지 P7 ,1 까지의 각 픽셀들의 비트 값에 두 번째 행의 '10' 및 '01'의 2 비트수의 값(x0, x1)을 반복적으로 추가하여 10 비트 값으로 변환할 수 있다.
예를 들어, 픽셀 P2 ,1에 대하여, 비트 변환부(153)는 메모리 억세스 유닛(180)으로부터 입력되는 8 비트 값에 '10'의 2 비트수의 값을 추가하여 10 비트의 픽셀 값으로 변환할 수 있다.
또한, 수학식 2를 이용하는 경우, 비트 변환부(153)는 P0 ,0 내지 P7 , 0 까지의 각 픽셀들의 비트 값에 첫 번째 행의 '11' 및 '00'의 2 비트수의 값(x0, x1)을 반복적으로 추가하여 10 비트 값으로 변환할 수 있다. 또한, 비트 변환부(153)는 P0 ,1 내지 P7 ,1 까지의 픽셀들의 비트 값에 두 번째 행의 '01' 및 '10'의 2 비트수의 값(x0, x1)을 반복적으로 추가하여 10 비트 값으로 변환할 수 있다.
다른 실시예에 따라, 디코더(100)의 내부에서는 픽셀의 k(k는 9 이상의 정수) 비트 단위로 디코딩이 수행될 수 있다.
이 경우, 비트 변환부(153)는 참조 픽셀의 비트 수와 현재 픽셀의 비트 수 사이의 차이 값에 따른 k-8 비트수에 대응하는 자릿수를 갖는 2진수 값에 대한 중간값들의 조합 또는 랜덤값들의 조합을 이용하는 2X2 매트릭스 또는 nXn(n은 3 이상의 정수) 매트릭스에 의해 k-8 비트수의 값을 산출할 수 있다.
마찬가지로, 비트 변환부(153)는 산출된 k-8 비트수의 값을 참조 블록에 대한 픽셀 값의 최하위 비트에 반복적으로 추가하여 k 비트 픽셀로 변환할 수 있다.
즉, 비트 변환부(153)는 중간값을 이용하는 경우 2X2 매트릭스에 의해 추가 비트 값을 산출할 수 있으며, 랜덤값을 이용하는 경우에는 2X2 매트릭스 또는 nXn 매트릭스를 이용하여 추가 비트 값을 산출할 수 있다. 비트 변환부(153)는 사용자에 의해 설정되거나, 디코더(100)가 탑재된 장치에서 디폴트(default)로 정해진 매트릭스를 이용하여 추가 비트 값을 산출할 수 있다.
가산기(160)는 역변환부(130)로부터 출력되는 복원된 레지듀얼 값과 인트라 예측부(140) 또는 인터 예측부(150)로부터 출력되는 예측 값을 가산하여 디코딩된 스트림을 생성한다.
필터링부(170)는 디코딩된 스트림에 대한 화질을 향상시키기 위한 필터링을 수행할 수 있다. 예를 들어, 블록 왜곡 현상을 감소시키기 위한 디블록킹 필터 및/또는 프레임 전체의 왜곡 제거를 위한 적응적 루프 필터 등이 포함될 수 있다. 필터링을 거친 스트림은 참조 프레임으로 이용하기 위하여 메모리 버퍼(200)에 저장되거나, 영상을 재생할 수 있는 디스플레이 장치(display device)로 전송될 수 있다.
메모리 억세스 유닛(180)은 필터링부(170)에서 출력되는 필터링된 데이터들 중에서 디스플레이될 데이터들만을 메모리 버퍼(200)로 출력한다.
즉, 디코딩된 스트림이 8 비트 기반의 디스플레이 장치에 의해 재생되도록 하기 위해, 메모리 억세스 유닛(180)은 디코딩된 스트림에서 8 비트 수를 제외한 나머지 최하위 비트(least significant bit)들을 삭제하여 메모리 퍼버(200)로 출력할 수 있다.
또한, 메모리 억세스 유닛(180)은 메모리 버퍼(200)로부터 입력되는 8 비트 기반의 참조 프레임에 대응하는 데이터를 수신하여 비트 변환부(153)로 출력할 수 있다.
메모리 버퍼(200)는 메모리 억세스 유닛(180)으로부터 출력되는 디코딩된 스트림을 저장하고, 저장된 디코딩된 스트림을 메모리 억세스 유닛(180)으로 출력할 수 있다.
도 5는 도 1에 도시된 디코더의 동작 방법을 나타낸 흐름도이다. 도 6은 도 5에 도시된 인터 예측부의 동작을 보다 상세하게 나타낸 흐름도이다.
도 1 내지 도 6을 참조하면, 파서부(110)는 비트 스트림(BS)을 파싱하여 비트 스트림(BS)에 포함된 헤더 정보, 제1 데이터 정보 내지 제3 데이터 정보를 추출하고(S10), 추출된 헤더 정보에 기초하여 예측 모드를 결정할 수 있다(S20).
파서부(110)는 헤더 정보에 포함된 각 블록들에 대한 정보에 기초하여, 입력되는 블록이 인트라 예측부(140)에 의해 예측이 수행되어야하는 블록인지 여부를 판단할 수 있다(S30).
인트라 예측부(140)는 현재 블록에 대한 제1 데이터 정보에 기초하여 현재 프레임 내에서 이미 디코딩된 이웃 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성할 수 있다(S40).
인터 예측부(150)는 현재 블록에 대한 제2 데이터 정보에 기초하여 이미 디코딩된 참조 프레임으로부터 참조 블록을 예측하고, 참조 블록의 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성할 수 있다(S50). 이때, 파서부(110)는 각 블록들에 대한 정보에 기초하여 상응하는 제1 및 제2 데이터 정보를 인트라 예측부(140) 또는 인터 예측부(150)로 출력함으로써 S30 단계 내지 S50 단계를 수행할 수 있다.
가산기(160)는 인트라 예측부(140) 또는 인터 예측부(150)에 의해 생성된 현재 블록의 픽셀에 대한 예측 값과 제3 데이터 정보에 기초하여 복원된 레지듀얼 값을 가산하여 디코딩된 스트림을 생성할 수 있다(S60).
이때, S50 단계는 S51 단계 내지 S59 단계를 포함할 수 있다.
움직임 보상부(151)는 파서부(110)에 의해 비트 스트림(BS)으로부터 추출된 모션 벡터값을 수신하고(S51), 현재 블록에 대한 모션 벡터값에 기초하여 참조 블록을 예측할 수 있다(S53).
비트 변환부(153)는 메모리 억세스 유닛(180)으로부터 참조 블록의 픽셀 값을 수신하고(S55), 소정의 매트릭스에 기초하여 참조 블록의 픽셀 값을 현재 블록의 픽셀 값과 동일한 비트 수로 변환하여 출력할 수 있다(S57). 이때, 비트 변환부(153)는 참조 픽셀의 비트 수와 현재 픽셀의 비트 수 사이의 차이에 따른 비트 수의 2진수 값의 중간값 또는 랜덤값을 이용하는 소정의 매트릭스에 의해 상기 비트 수를 변환할 수 있다.
다음으로, 움직임 보상부(151)는 참조 블록의 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성할 수 있다(S59).
도 7은 도 1에 도시된 디코더를 포함하는 시스템의 일 실시 예를 나타내는 블록도이다.
도 1 및 도 7을 참조하면, 이미지 처리 시스템(300)은 비디오 호스팅 서비스 장치(310), 제1 장치(330), 및 제2 장치(350)을 포함한다.
제1 장치(330)는 PC로 구현될 수 있고, 제2 장치(350)는 휴대용 전자 장치로 구현될 수 있다. 각 장치(310, 330, 및 350)는 네트워크(301)를 통해 서로 통신할 수 있다. 실시 예에 따라, 네크워크(301)의 구조(architecture)는 다양하게 변형될 수 있다. 예컨대, 네트워크(301)는 유선 인터넷, 무선 인터넷, 또는 이동 통신망으로 구현될 수 있다.
비디오 호스팅 서비스 장치(310)는 비디오 소스(311)와 인코더(313)를 포함한다.
인코더(313)는 비디오 소스(311)로부터 원본 이미지를 수신한다. 인코더(313)는 원본 이미지를 인코딩하여 인코딩된 비트 스트림을 생성한다. 인코딩된 비트 스트림은 네트워크(301)를 통해 제1 장치(330)와 제2 장치(350)로 전송된다.
네트워크(301)로 전송된 인코딩된 비트 스트림은 제1 장치(330), 및/또는 제2 장치(350)로 전송될 수 있다. 각 장치(330과 350)는 개인용 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 랩탑(laptop) 컴퓨터, PDA(personal digital assistant), EDA(enterprise digital assistant), PMP(portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 또는 e-북(e-book)으로 구현될 수 있다.
제1 장치(330)는 디코더(100)와 디스플레이(331)를 포함하고, 제2 장치(350)는 디코더(100)와 디스플레이(351)를 포함한다. 디코더(100)는 도 1에 도시된 디코더(100)를 의미한다.
각 디코더(100)는 네트워크(301)로부터 전송된 인코딩된 비트 스트림을 수신하여 디코딩하고 디코딩된 이미지를 대응되는 디스플레이(331과 351)로 출력한다.
도 8은 도 1에 도시된 디코더를 포함하는 시스템의 다른 실시 예를 나타내는 블록도이다.
도 1 및 도 8을 참조하면, 시스템(400)은 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 랩탑(laptop) 컴퓨터, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), MID, 또는 e-북(e-book)과 같은 휴대용 장치로 구현될 수 있다.
시스템(400)은 SoC(system on chip; 410)과 외부 메모리(435)를 포함한다. 실시 예에 따라, 시스템(400)은 디스플레이(445) 또는 카메라 모듈(455)을 더 포함할 수 있다.
SoC(410)는 외부 메모리(435), 디스플레이(445), 또는 카메라 모듈(455)의 동작을 제어한다. 실시 예에 따라, SoC(410)는 집적 회로(integrated circuit(IC)), 프로세서(processor), 애플리케이션 프로세서(application processor), 멀티미디어 프로세서(multimedia processor), 또는 집적된 멀티미디어 프로세서(integrated multimedia processor)라고 호칭될 수 있다.
SoC(410)는 CPU(420), 메모리 컨트롤러(430), 디스플레이 컨트롤러(440), 카메라 인터페이스(450), 인코더(460), 및 디코더(100)를 포함한다. 각 구성 요소(100, 420, 430, 440, 450 및 460)는 버스(401)를 통해 서로 통신할 수 있다. 실시 예에 따라 버스(401)의 구조(architecture)는 다양할 수 있다.
CPU(420)는 각 구성 요소(100, 430, 440, 450 및 460)를 제어하기 위해 프로그램 명령들을 읽고 실행한다.
메모리 컨트롤러(430)는 인코더(460)로부터 출력된 인코딩된 비트 스트림을 외부 메모리(435)로 전송하거나, 디코딩을 위해 외부 메모리(435)에 저장된 인코딩된 비트 스트림을 디코더(100)로 전송할 수 있다.
외부 메모리(435)는 휘발성 메모리 또는 불휘발성 메모리 일 수 있다. 상기 휘발성 메모리는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)일 수 있다. 상기 불휘발성 메모리는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), PRAM(Phase change RAM), 저항 메모리일 수 있다.
디스플레이 컨트롤러(440)는 디코더(100)에 의해 디코딩된 비디오 데이터를 디스플레이(445)에 디스플레이하도록 디스플레이(445)를 제어한다.
디스플레이(445)는 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic light emitting diode) 디스플레이, AMOLED(active-matrix organic light-emitting diode) 디스플레이, 또는 플렉시블(flexible) 디스플레이일 수 있다.
카메라 모듈(455)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 카메라 모듈(455)로부터 출력된 전기적인 이미지는 RGB 픽셀 포맷(pixel format) 또는 YUV 픽셀 포맷을 가질 수 있다. 상기 전기적 이미지는 비디오 소스 데이터일 수 있다. 상기 전기적인 이미지는 인코딩을 위해 카메라 인터페이스(450)를 통해 인코더(460)로 전송된다.
디코더(100)는 비디오 데이터를 디스플레이(445)에 디스플레이하기 위해 인코딩된 비트 스트림을 디코딩하여 상기 비디오 데이터를 디스플레이(445)로 출력한다. 디코더(100)는 도 1에 도시된 디코더(100)를 나타낸다.
도 9는 도 1에 도시된 디코더를 포함하는 시스템의 또 다른 실시 예를 나타내는 블록도이다.
도 1 및 도 9를 참조하면, 시스템(500)은 송신기(510)와 수신기(530)를 포함한다. 송신기(510)와 수신기(530) 각각은 이동 전화기, 스마트 폰(smart phone), 또는 태블릿(tablet) PC일 수 있다.
송신기(510)는 SoC(512), 디스플레이(520), 카메라 모듈(518), 외부 메모리 (516), 및 무선 송수신기(514)를 포함한다. SoC(512), 디스플레이(520), 카메라 모듈(518) 및 외부 메모리(516) 각각의 동작과 기능은 도 8에 도시된 SoC(410), 디스플레이(445), 카메라 모듈(455) 및 외부 메모리(435)의 동작과 기능과 유사하므로 이에 대한 자세한 설명은 생략한다.
SoC(512)는 인코더(511)를 포함한다. 무선 송수신기(514)는 안테나(ANT1)를 통하여 인코딩된 비트 스트림을 수신기(530)로 전송할 수 있다. 송신기(510)는 수신기로도 동작할 수 있다.
수신기(530)는 SoC(532), 디스플레이(540), 카메라 모듈(538), 외부 메모리 (536), 및 무선 송수신기(534)를 포함한다. SoC(532), 디스플레이(540), 카메라 모듈(538) 및 외부 메모리(536) 각각의 동작과 기능은 도 8에 도시된 SoC(410), 디스플레이(445), 카메라 모듈(455) 및 외부 메모리(435)의 동작과 기능과 유사하므로 이에 대한 자세한 설명은 생략한다.
SoC(532)는 도 1에 도시된 디코더(100)를 포함할 수 있다. 무선 송수신기(534)는 안테나(ANT2)를 통하여 인코딩된 비트 스트림을 송신기(510)로부터 수신할 수 있다. 수신기(530)는 송신기로도 동작할 수 있다.
디코더(100)는 비디오 데이터를 디스플레이(540)에 디스플레이하기 위해 인코딩된 비트 스트림을 디코딩하고, 디코딩된 비디오 데이터를 디스플레이(540)로 출력할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 디코더
110; 파서부
120; 역양자화부
130; 역변환부
140; 인트라 예측부
150; 인터 예측부
160; 가산기
170; 필터링부
180; 메모리 억세스 유닛

Claims (10)

  1. 비트 스트림(bit stream)을 파싱하여 헤더 정보와 제1 데이터 정보 내지 제3 데이터 정보를 추출하고, 상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들에 대한 예측 모드를 판단하고, 상기 예측 모드에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 파서(parser)부;
    상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내에서 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인트라 예측부; 및
    상기 제2 데이터 정보에 기초하여 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 제2 참조 블록의 픽셀 값을 변환하고, 상기 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인터 예측부를 포함하는 디코더.
  2. 제1항에 있어서, 상기 인터 예측부는,
    상기 제2 참조 블록의 픽셀 값을 상기 현재 블록의 픽셀 값과 동일한 비트 수로 변환하고, 상기 변환된 픽셀 값을 출력하는 비트 변환부; 및
    상기 변환된 픽셀 값에 기초하여 상기 예측 값을 생성하는 움직임 보상부를 포함하는 디코더.
  3. 제2항에 있어서, 상기 비트 변환부는,
    소정의 매트릭스(matrix)를 이용하여 제1 비트 수만큼의 픽셀 값을 산출하며,
    상기 제1 비트 수는, 상기 제2 참조 블록의 픽셀 값의 비트 수와 상기 현재 블록의 픽셀 값의 비트 수의 차이인 디코더.
  4. 제3항에 있어서,
    상기 소정의 매트릭스가 2X2 매트릭스인 경우,
    상기 매트릭스의 요소들(elements)은 상기 제1 비트 수에 대응하는 자릿수를 갖는 2진수(binary number) 값에 대한 중간값(medium value)들 또는 랜덤값(random value)들인 디코더.
  5. 제4항에 있어서, 상기 비트 변환부는,
    상기 제1 비트 수의 값을 산출하고, 상기 산출된 비트 값을 상기 참조 블록의 픽셀 값의 최하위 비트(least significant bit)에 추가하여 상기 현재 블록의 픽셀 값과 동일한 비트 수로 변환하는 디코더.
  6. 제5항에 있어서,
    상기 비트 변환부가 상기 중간값들의 조합 또는 랜덤값들의 조합에 의한 상기 2X2 매트릭스를 이용하여 상기 제1 비트 수의 값을 산출하는 경우,
    상기 매트릭스의 제1행의 요소들은 상기 참조 블록의 홀수 라인들에 대응하는 각 픽셀들의 최하위 비트에 반복적으로 추가되고, 상기 매트릭스의 제2행의 요소들은 상기 참조 블록의 짝수 라인들에 대응하는 각 픽셀들의 최하위 비트에 반복적으로 추가되는 디코더.
  7. 제3항에 있어서,
    상기 소정의 매트릭스가 nXn(n은 3 이상의 정수) 매트릭스인 경우,
    상기 매트릭스의 요소들은 상기 제1 비트 수에 대응하는 자릿수를 갖는 2진수 값에 대한 랜덤값들인 디코더.
  8. 제7항에 있어서,
    상기 비트 변환부가 상기 랜덤값들의 조합에 의한 상기 nXn 매트릭스를 이용하여 상기 제1 비트 수의 값을 산출하는 경우,
    상기 매트릭스의 제1행 내지 제n행의 요소들은 상기 참조 블록의 각 라인들에 대응하는 픽셀들의 최하위 비트에 반복적으로 추가되는 디코더.
  9. 비트 스트림을 파싱하여 헤더 정보, 제1 데이터 정보 및 제2 데이터 정보를 추출하는 단계;
    상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들 각각의 예측 모드를 판단한 결과에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 단계;
    상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내의 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 단계;
    상기 제2 데이터 정보에 기초하여 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 예측된 제2 참조 블록의 픽셀 값을 현재 블록의 픽셀 값과 동일한 비트 수로 변환하는 단계; 및
    상기 변환된 픽셀 값에 기초하여 상기 현재 블록의 픽셀에 대한 예측 값을 생성하는 단계를 포함하는 디코더의 동작 방법.
  10. 비트 스트림을 디코딩하여 디코딩된 스트림을 출력하는 디코더; 및
    상기 디코딩된 스트림을 수신하여 참조 프레임으로 저장하는 메모리 버퍼를 포함하며,
    상기 디코더는,
    상기 비트 스트림을 파싱하여 헤더 정보와 제1 및 제2 데이터 정보를 추출하고, 상기 헤더 정보에 기초하여 현재 프레임 내의 복수의 블록들에 대한 예측 모드를 판단하고, 상기 예측 모드에 따라 상기 제1 및 제2 데이터 정보를 선택적으로 출력하는 파서부;
    상기 제1 데이터 정보에 기초하여 상기 현재 프레임 내에서 제1 참조 블록의 픽셀 값을 이용하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인트라 예측부; 및
    상기 제2 데이터 정보에 기초하여 상기 참조 프레임으로부터 제2 참조 블록을 예측하고, 상기 제2 참조 블록의 픽셀 값을 변환하고, 상기 변환된 픽셀 값에 기초하여 현재 블록의 픽셀에 대한 예측 값을 생성하는 인터 예측부를 포함하는 디코딩 시스템.
KR1020140163739A 2014-11-21 2014-11-21 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법 KR20160061172A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140163739A KR20160061172A (ko) 2014-11-21 2014-11-21 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법
US14/942,251 US10271059B2 (en) 2014-11-21 2015-11-16 Decoder, decoding system including the decoder and method of operating the decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140163739A KR20160061172A (ko) 2014-11-21 2014-11-21 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법

Publications (1)

Publication Number Publication Date
KR20160061172A true KR20160061172A (ko) 2016-05-31

Family

ID=56011529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140163739A KR20160061172A (ko) 2014-11-21 2014-11-21 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법

Country Status (2)

Country Link
US (1) US10271059B2 (ko)
KR (1) KR20160061172A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018084476A1 (en) * 2016-11-01 2018-05-11 Samsung Electronics Co., Ltd. Processing apparatuses and controlling methods thereof

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4349846A (en) * 1979-04-17 1982-09-14 Ricoh Company, Ltd. Picture processing method
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
DE3229777C2 (de) * 1982-08-10 1984-06-07 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur Anpassung zweier Bildverarbeitungssysteme unterschiedlicher Auflösung
JPS59111471A (ja) * 1982-12-17 1984-06-27 Ricoh Co Ltd 画像処理方法
US4613901A (en) * 1983-05-27 1986-09-23 M/A-Com Linkabit, Inc. Signal encryption and distribution system for controlling scrambling and selective remote descrambling of television signals
JPS6077546A (ja) * 1983-10-05 1985-05-02 Fujitsu Ltd ディジタル無線回線の監視方式
US4596039A (en) * 1983-12-30 1986-06-17 International Business Machines Corporation Method for converting an image from a run end or run length representation to a bit map
DE4416967A1 (de) 1994-05-13 1995-11-16 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten
US5818532A (en) * 1996-05-03 1998-10-06 Lsi Logic Corporation Micro architecture of video core for MPEG-2 decoder
US8265163B2 (en) * 2001-12-21 2012-09-11 Motorola Mobility Llc Video shape padding method
GB2387054A (en) 2002-01-25 2003-10-01 Snell & Wilcox Ltd Video encoder for producing coded quantised signals
US8009327B2 (en) * 2002-07-11 2011-08-30 Canon Kabushiki Kaisha Method and apparatus for image processing
KR101014667B1 (ko) 2004-05-27 2011-02-16 삼성전자주식회사 스케일러블 동영상 인코딩, 디코딩 장치 및 그 방법
US7860168B2 (en) 2004-10-27 2010-12-28 Lsi Corporation Method and apparatus for improved increased bit-depth display from a transform decoder by retaining additional inverse transform bits
CN101322393B (zh) * 2005-12-01 2010-09-01 日本电气株式会社 图像处理装置及其图像处理方法、图像传送装置及其图像传送方法、以及图像显示设备
JP2007266749A (ja) 2006-03-27 2007-10-11 Sanyo Electric Co Ltd 符号化方法
WO2007116551A1 (ja) 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
US7518534B2 (en) 2006-07-28 2009-04-14 Cypress Semiconductor Corporation 8-bit to 10-bit encoding method and apparatus
JP2009017509A (ja) 2007-07-09 2009-01-22 Panasonic Corp 画像復号化装置及び画像復号化方法
KR101365441B1 (ko) 2007-10-11 2014-02-19 삼성전자주식회사 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
JP2009171180A (ja) 2008-01-16 2009-07-30 Panasonic Corp 画像復号化装置及び画像復号化方法
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
CN102216953A (zh) * 2008-12-01 2011-10-12 马维尔国际贸易有限公司 比特分辨率增强
GB2475878A (en) * 2009-12-03 2011-06-08 St Microelectronics Obtaining dithered image data word by adding noise contribution
JP5073004B2 (ja) * 2010-04-23 2012-11-14 株式会社東芝 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
US20130177081A1 (en) * 2010-05-14 2013-07-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding video using expanded block filtering
JP2012054750A (ja) 2010-09-01 2012-03-15 Mitsubishi Electric Corp 動きベクトル検出装置および動きベクトル検出方法
US9674538B2 (en) * 2013-04-08 2017-06-06 Blackberry Limited Methods for reconstructing an encoded video at a bit-depth lower than at which it was encoded
GB2519289B (en) * 2013-10-11 2016-10-12 Canon Kk Method and apparatus for displacement vector component transformation in video coding and decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018084476A1 (en) * 2016-11-01 2018-05-11 Samsung Electronics Co., Ltd. Processing apparatuses and controlling methods thereof
US10694190B2 (en) 2016-11-01 2020-06-23 Samsung Electronics Co., Ltd. Processing apparatuses and controlling methods thereof

Also Published As

Publication number Publication date
US20160150244A1 (en) 2016-05-26
US10271059B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
RU2668723C2 (ru) Способ и оборудование для кодирования и декодирования видеосигналов
KR101215682B1 (ko) 공간적으로 가변하는 변환을 이용하는 비디오 코딩 장치, 방법 및 컴퓨터 판독가능 저장 매체
CN104205843A (zh) Hevc中无损编码中的改进帧内预测
US11368716B2 (en) Image encoding device, image decoding device and program
TW201725905A (zh) 用於非4:4:4色度子採樣之顯示串流壓縮(dsc)之熵寫碼技術
US20130251257A1 (en) Image encoding device and image encoding method
KR20220024711A (ko) 다목적 비디오 코딩을 위한 무손실 모드
KR20160056901A (ko) 비디오 코딩 방법, 장치 및 컴퓨터 프로그램
JP2022539937A (ja) 画像成分予測方法、符号化器、復号化器、並びに記憶媒体
KR102432486B1 (ko) 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법
CN117426088A (zh) 视频编解码方法、设备、***、及存储介质
KR102175662B1 (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
JP2010098352A (ja) 画像情報符号化装置
KR102161741B1 (ko) HEVC(high efficiency video coding)에서 코딩 유닛에 대한 양자화 파라미터를 변화시키는 방법과 장치, 및 시스템
KR20230025879A (ko) 신경 네트워크 기반 인트라 예측 모드에 대한 변환 프로세스의 적응
CN109891882B (zh) 一种基于模板匹配的编解码方法及装置
KR20220157455A (ko) 이미지 인코딩 및 디코딩을 위한 방법 및 디바이스
US10609411B1 (en) Cross color prediction for image/video compression
KR20210059768A (ko) 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
KR20160061172A (ko) 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법
KR20150095479A (ko) 영상 부호화, 복호화 방법 및 장치
US20210409682A1 (en) Gradient predictor for image compression
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更
KR20230005862A (ko) Act 및 jcbcr을 위한 스케일링 목록 제어
US9432614B2 (en) Integrated downscale in video core

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application