KR102331599B1 - 비디오 신호 처리 방법 및 이를 위한 장치 - Google Patents

비디오 신호 처리 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102331599B1
KR102331599B1 KR1020140171877A KR20140171877A KR102331599B1 KR 102331599 B1 KR102331599 B1 KR 102331599B1 KR 1020140171877 A KR1020140171877 A KR 1020140171877A KR 20140171877 A KR20140171877 A KR 20140171877A KR 102331599 B1 KR102331599 B1 KR 102331599B1
Authority
KR
South Korea
Prior art keywords
sample
samples
intra prediction
current block
boundary
Prior art date
Application number
KR1020140171877A
Other languages
English (en)
Other versions
KR20160066743A (ko
Inventor
이원진
전재범
정태일
정제창
Original Assignee
엘지전자 주식회사
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사, 한양대학교 산학협력단 filed Critical 엘지전자 주식회사
Priority to KR1020140171877A priority Critical patent/KR102331599B1/ko
Publication of KR20160066743A publication Critical patent/KR20160066743A/ko
Application granted granted Critical
Publication of KR102331599B1 publication Critical patent/KR102331599B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/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

Landscapes

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

Abstract

본 발명은 영상 신호로부터 축소 영상을 추출하기 위한 방법 및 이를 위한 장치에 관한 것으로서, 보다 구체적으로 상기 영상 신호로부터 현재 블록을 포함하는 코딩 블록의 인트라 예측 모드를 획득하는 단계; 상기 획득된 인트라 예측 모드를 기반으로 상기 현재 블록에서 하나 이상의 샘플을 복원하는 단계; 및 상기 복원된 하나 이상의 샘플에서 적어도 하나의 샘플을 추출하는 단계를 포함하되, 상기 하나 이상의 샘플은 상기 현재 블록 내에서 특정 경계 및 상기 적어도 하나의 샘플 위치에서만 복원되는 방법 및 이를 위한 장치에 관한 것이다.

Description

비디오 신호 처리 방법 및 이를 위한 장치{A method and apparatus for processing a video signal}
본 발명은 영상 처리에 관한 것으로서, 보다 구체적으로는 축소 영상 추출에 관한 것이다.
디지털 동영상 처리 기술이 급격히 발전함에 따라 고화질 디지털방송, 디지털 멀티미디어 방송, 인터넷 방송 등과 같은 다양한 매체를 이용한 디지털 멀티미디어 서비스가 활성화되고 있으며, 고화질 디지털 방송이 일반화되면서 다양한 서비스 애플리케이션이 개발되고 있고, 고화질, 고해상도의 영상을 위한 고속 동영상 처리 기술들이 요구되고 있다. H.265/HEVC(High Efficiency Video Coding), H.264/AVC(Advanced Video Coding)와 같은 동영상 압축에 관한 표준은 비디오 데이터를 표현하는데 있어서 시각적으로 좋은 화질을 유지하면서 필요한 비트량을 감소시키는 압축기법이지만, 압축된 데이터를 영상처리의 목적으로 이용하기가 쉽지 않다. 압축된 데이터를 효과적으로 처리하기 위하여 빠른 검색 및 복원을 위한 알고리즘에 대해 많은 연구가 진행되었다. 이러한 연구 중 하나가 축소 영상에 대한 연구인데, 이 축소 영상을 흔히 썸네일(Thumbnail)이라고 부른다. 썸네일 영상은 동영상 시퀀스의 대표 영상인데, 영상의 특성을 대략적으로 표현하는데 필요한 요소들을 가지기 때문에 이를 이용하여 빠른 검색이나 인덱싱에 사용된다. 또한, 썸네일 추출은 원본 영상을 저장하는 것보다 적은 메모리가 요구되며, 더 적은 연산만으로 수행될 수 있기 때문에 압축된 영상의 검색에 사용된다. H.265/HEVC, H.264/AVC와 같은 코덱은 고화질 영상을 효율적으로 압축하기 위한 코덱이기 때문에 상대적으로 데이터 량도 많아지게 되는데, 방대한 데이터를 압축하고 복원하기 위해서는 처리해야 할 연산이 많아 시간이 많이 소요되고, 프레임 메모리 또한 많이 차지하게 되어 기존의 썸네일 추출방법보다 더욱 효율적인 알고리즘이 필요하다.
본 발명의 목적은 영상 신호를 효율적으로 처리할 수 있는 방법 및 이를 위한 장치를 제공하는 데 있다.
본 발명의 다른 목적은 축소 영상(또는 썸네일 영상)을 추출하는 데 필요한 연산량 및 처리 시간을 단축시키는 방법 및 이를 위한 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은 부호화된 비트스트림으로부터 축소 영상(또는 썸네일 영상)을 고속으로 추출하기 위한 방법 및 이를 위한 장치를 제공하는 데 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상으로, 영상 신호로부터 축소 영상을 추출하기 위한 방법이 제공되며, 상기 방법은 상기 영상 신호로부터 현재 블록을 포함하는 코딩 블록의 인트라 예측 모드를 획득하는 단계; 상기 획득된 인트라 예측 모드를 기반으로 상기 현재 블록에서 하나 이상의 샘플을 복원하는 단계; 및 상기 복원된 하나 이상의 샘플에서 적어도 하나의 샘플을 추출하는 단계를 포함하되, 상기 하나 이상의 샘플은 상기 현재 블록 내에서 특정 경계 및 상기 적어도 하나의 샘플 위치에서만 복원될 수 있다.
바람직하게는, 상기 인트라 예측 모드가 제1 범위의 값 중에서 하나에 해당하는 경우, 상기 특정 경계는 상기 현재 블록 내에서 좌측 경계 및 상단 경계에 해당하고, 상기 인트라 예측 모드가 제2 범위의 값 중에서 하나에 해당하는 경우, 상기 특정 경계는 상기 현재 블록 내에서 상기 좌측 경계에 해당하고, 상기 인트라 예측 모드가 제3 범위의 값 중에서 하나에 해당하는 경우, 상기 특정 경계는 상기 상단 경계에 해당할 수 있다.
바람직하게는, 상기 인트라 예측 모드가 제3 범위의 값 중에서 하나에 해당하고, 상기 코딩 블록이 슬라이스의 상단 경계에 위치하고, 상기 현재 블록이 상기 코딩 블록 내에서 상단 경계에 위치하는 경우, 상기 복원되는 하나 이상의 샘플은 상기 현재 블록 내에서 우측 상단 코너 샘플을 포함하고, 상기 인트라 예측 모드가 제2 범위의 값 중에서 하나에 해당하고, 상기 코딩 블록이 슬라이스의 좌측 경계에 위치하고, 상기 현재 블록이 상기 코딩 블록 내에서 좌측 경계에 위치하는 경우, 상기 복원되는 하나 이상의 샘플은 상기 현재 블록 내에서 좌측 하단 코너 샘플을 포함할 수 있다.
바람직하게는, 상기 복원하는 단계는 상기 인트라 예측 모드가 수직 모드를 지시하는 경우 상기 현재 블록 내에서 좌측 경계에 위치하는 샘플에 대해 필터링하는 것과, 상기 인트라 예측 모드가 수평 모드를 지시하는 경우 상기 현재 블록 내에서 상단 경계에 위치하는 샘플에 대해 필터링하는 것과, 상기 인트라 예측 모드가 DC 모드를 지시하는 경우 상기 현재 블록 내에서 좌측 경계 및 상단 경계에 위치하는 샘플에 대해 필터링하는 것을 포함하되, 상기 인트라 예측 모드가 수직 모드를 지시하는 경우, 상기 필터링은 상기 현재 블록 내에서 좌측 하단 코너 샘플에 대해서만 수행되고, 상기 인트라 예측 모드가 수평 모드를 지시하는 경우, 상기 필터링은 상기 현재 블록 내에서 우측 상단 코너 샘플에 대해서만 수행되고, 상기 인트라 예측 모드가 DC 모드를 지시하는 경우, 상기 필터링은 상기 현재 블록 내에서 좌측 하단 코너 샘플 및 우측 상단 코너 샘플에 대해서만 수행될 수 있다.
바람직하게는, 상기 복원된 하나 이상의 샘플들에 대해 인루프 필터링은 수행되지 않을 수 있다.
본 발명에 따르면, 영상 신호를 효율적으로 처리할 수 있다.
또한, 본 발명에 따르면, 축소 영상(또는 썸네일 영상)을 추출하는 데 필요한 연산량 및 처리 시간을 단축시킬 수 있다.
또한, 본 발명에 따르면, 부호화된 비트스트림으로부터 축소 영상(또는 썸네일 영상)을 고속으로 추출할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 비디오 신호의 복호화 및 축소 영상 추출 과정을 예시한다.
도 2는 인트라 예측 과정을 예시한다.
도 3은 인트라 예측 모드를 예시한다.
도 4는 인트라 예측을 위한 참조 샘플을 예시한다.
도 5는 참조 샘플 패딩을 예시한다.
도 6은 인트라 예측 모드가 평면 모드인 경우 예측 샘플을 위한 연산을 예시한다.
도 7은 예측 샘플에 대한 필터링을 예시한다.
도 8은 본 발명에 따른 축소 영상(또는 썸네일 영상)을 추출 과정을 예시한다.
도 9는 본 발명에 따른 서브샘플링 위치를 예시한다.
도 10 내지 도 12는 본 발명에 따라 현재 블록에서 복원되는 샘플들의 위치를 예시한다.
도 13 내지 도 16은 본 발명에 따른 복원 샘플과 서브샘플링 위치를 예시한다.
도 17 내지 도 20은 본 발명의 실시예에 따른 복원 샘플의 위치를 예시한다.
도 21 내지 도 23은 본 발명에 따른 예측 샘플 필터링을 예시한다.
도 24는 본 발명이 적용될 수 있는 장치의 구조를 예시한다.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위하여 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 명세서에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 원리를 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 정보(information)는 값(value), 파라미터(parameter), 계수(coefficient), 성분(element) 등을 지칭할 수 있다. 픽처(picture)는 동일한 특정 시간에서 샘플들의 이차원 배열을 지칭하며, 프레임으로도 지칭될 수 있다. 샘플은 픽처를 구성하는 최소 단위를 지칭할 수 있으며 픽셀(pixel), 화소 또는 펠(pel) 등으로 지칭될 수 있다. 샘플은 휘도(luminance, luma) 성분 및/또는 색차(chrominance, chroma) 성분을 포함할 수 있다. 유닛(unit)은 영상 처리의 기본 단위 또는 영상의 특정 위치를 지칭하는 의미로 사용될 수 있고, 블록 또는 영역 등의 용어와 혼용될 수 있다. 유닛 또는 블록은 아래에서 설명되는 코딩 유닛(coding unit, CU), 예측 유닛(prediction unit, PU), 변환 유닛(transform unit, TU)을 모두 포함하는 개념으로 사용될 수 있다. 또한, 영상 신호(video signal)는 픽처(picture) 뿐만 아니라 코딩된 비트스트림(coded bitstream)을 지칭하는 데 사용될 수 있다. 또한, 본 명세서에서, 복호화(decoding)는 복원(reconstructing)과 혼용될 수 있다.
설명을 명확하게 하기 위해, H.265/HEVC(High Efficiency Video Coding) 표준을 위주로 기술하지만 본 발명의 기술적 원리가 이에 제한되는 것은 아니다. 예를 들어, 본 발명의 원리는 H.265/HEVC 표준에 따른 시스템 뿐만 아니라 H.264/AVC(Advanced Video Coding) 표준 및 차세대 영상 부호화 표준에 따른 시스템에도 적용될 수 있다.
도 1은 비디오 신호의 복호화 및 축소 영상 추출 과정을 예시한다.
복호화 장치(130)는 부호화된 비트스트림(110)을 수신하고 엔트로피 복호화(S102)를 수행한다. 엔트로피 복호화(S102)를 통해 복호화 장치(130)는 부호화된 비트스트림(110)에 포함된 각종 신택스 요소(syntax element)를 파싱(parsing)하여 부호화 타입 정보, 인트라 예측 모드 관련 정보, 블록 타입 정보, 양자화 파라미터 정보, 변환 계수 정보 등을 유도할 수 있다. 엔트로피 복호화(S102)는 예를 들어 고정 길이 부호화(fixed length coding, FLC), 가변 길이 부호화(variable length coding, VLC), 산술 부호화(arithmetic coding)을 기반으로 수행될 수 있다. H.265/HEVC 표준은 산술 부호화를 기반으로 한 문맥 기반 적응적 이진 산술 부호화(context adaptive binary arithmetic coding, CABAC), 가변 길이 부호화를 기반으로 한 Exp-Golomb 부호화, 및 고정 길이 부호화가 적용될 수 있다. 각각의 신택스 요소에 대한 엔트로피 부호화 방법은 H.265/HEVC 표준에서 정의되어 있으므로 복호화 장치(130)는 H.265/HEVC 표준에서 정의된 방법으로 각각의 신택스 요소에 대해 엔트로피 복호화(S102)를 수행할 수 있다.
복호화 장치(130)는 부호화된 비트스트림(110)으로부터 엔트로피 복호화(S102)를 통해 양자화된 변환 계수(transform coefficient) 정보와 양자화 파라미터(quantization parameter) 정보를 획득한 다음, 획득된 양자화 파라미터 정보를 기반으로 변환 계수 정보를 스케일링하여 역양자화(S104)를 수행할 수 있다. 비트스트림으로부터 획득된 변환 계수 정보는 행렬 형태로 저장될 수 있다. 수학식 1은 역양자화를 위한 연산을 예시한다.
Figure 112014117544416-pat00001
수학식 1에서, d[x][y]는 역양자화를 통해 스케일링된 변환 계수(scaled transform coefficient)를 나타내고, x, y는 현재 블록(예, 변환 유닛(TU)) 내에서 해당 스케일링된 변환 계수의 좌표를 나타낸다. Clip3는 클리핑(clipping) 함수로서 스케일링된 변환 계수의 값이 -32768 내지 32767 범위 내에 존재하도록 클리핑시키는 역할을 수행한다. TransCoeffLevel[xTbY][yTbY][cIdx][x][y]는 엔트로피 역부호화(S102)를 통해 획득된 변환 계수 정보를 나타내고, xTbY, yTbY는 전체 픽처에서 현재 블록(예, TU)의 좌측 상단 샘플의 위치를 나타내는 좌표이고, cIdx는 변환 계수 정보가 휘도 성분에 대한 것인지 색차 성분에 대한 것인지를 나타낸다. m[x][y]는 양자화된 변환 계수에 대한 스케일 값으로서 비트스트림(110)에 포함된 신택스 요소(예, scaling_list_enabled_flag)에 따라 고정된 값(예, 16)이 적용되거나 비트스트림(110)으로부터 획득된 값(예, ScalingFactor) 값이 적용될 수 있다. levelScale[k]은 {40, 45, 51, 57, 64, 72}에서 지정된 값이 적용될 수 있다. qP는 비트스트림(110)으로부터 획득된 양자화 파라미터 정보를 나타낸다. bdShift는 비트 심도(bit depth)를 나타낸다. >>는 우측 시프트(right shift) 연산을 나타내고, <<는 좌측 시프트(left shift) 연산을 나타낸다.
복호화 장치(130)는 역양자화(S104)를 통해 스케일링된 변환 계수에 대해 역변환(inverse transform)(S106)을 수행한다. 역변환(S106)은 주파수 도메인(frequency domain)의 신호를 공간 도메인(spatial domain)으로 변환하는 동작을 지칭한다. 주파수 도메인의 스케일링된 변환 계수는 역변환(S106)을 통해 공간 도메인의 레지듀얼(residual) 정보로 변환될 수 있다. 역변환 기법으로서 이산 코사인 변환(discrete cosine transform, DCT)이 널리 이용되고 있다. DCT를 위한 변환 기저들은 적은 메모리와 빠른 연산을 위해 정수 형태로 근사화될 수 있다. 정수로 근사화된 변환 기저들은 행렬 형태로 표현될 수 있는데 행렬 형태로 표현된 변환 기저들을 변환 행렬이라고 지칭할 수 있다. H.265/HEVC 표준에서는 4×4 내지 32×32 크기의 정수 기반 DCT가 사용될 수 있으며 4×4 또는 32×32 변환 행렬이 제공된다. 4×4 변환 행렬은 4×4 변환/역변환에 이용되고, 32×32 변환 행렬은 8×8, 16×16, 32×32 변환/역변환에 이용될 수 있다. 수학식 2는 4×4 변환 행렬을 예시하고, 수학식 3은 32×32 변환 행렬의 0번 내지 15번 열(column)을 예시하고, 수학식 4는 32×32 변환 행렬의 16번 내지 31번 열(column)을 예시한다. 수학식 2, 3, 4에서 transMatrix는 변환 행렬을 나타낸다.
Figure 112014117544416-pat00002
Figure 112014117544416-pat00003
Figure 112014117544416-pat00004
비트스트림(110)으로부터 획득된 변환 계수 정보는 nTbS×nTbS 크기의 행렬로서 표현될 수 있는데, 복호화 장치(130)는 일차원 역변환을 nTbS번 만큼 수행하여 역변환(S106)을 수행할 수 있다. 구체적으로, 일차원 역변환은 비트스트림(110)으로부터 획득된 변환 계수 정보를 나타낸 행렬의 각 열(column)에 대해 변환 행렬을 적용한 행렬 연산을 지칭할 수 있다. nTbS는 현재 블록(예, TU)의 크기를 나타낸다. nTbS번 만큼 일차원 역변환을 수행하면 nTbS×nTbS의 레지듀얼 샘플이 획득된다.
S108에서, 복호화 장치(130)는 현재 블록의 각 샘플들에 대한 예측 값을 생성한다. 예측은 인트라 예측(또는 화면내 예측) 기법 또는 인터 예측(또는 화면간 예측) 기법이 이용될 수 있다. 인트라 예측은 현재 픽처 내에서 복호화된 인접 샘플들로부터 현재 블록의 샘플에 대한 예측 값을 생성하는 것을 지칭한다. 인터 에측은 이전 시간에 복호화된 픽처로부터 움직임 정보를 기반으로 현재 블록에 대한 예측 블록을 생성하는 것을 지칭한다. 인트라 예측은 아래에서 자세히 설명한다.
복호화 장치(130)는 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106), 예측(S108)을 수행하여 현재 픽처를 복원한 후, 복원된 픽처에 대해 인루프 필터링(S110)을 수행한다. 영상 신호를 부호화할 때 블록 단위로 변환을 수행하고 변환 계수들을 양자화하기 때문에 블록화 현상(blocking artifact) 및 링잉 현상(ringing artifact)이 발생할 수 있다. 이러한 블록화 현상 및 링잉 현상으로 인한 화질 열화를 개선하기 위해 복원된 픽처(reconstructed picture)에 대해 인루프 필터링(in-loop filtering)이 수행될 수 있다. 예를 들어, 인루프 필터링은 디블록킹 필터링(deblocking filtering)과 샘플 적응적 오프셋(sample adaptive offset, SAO) 필터링을 포함할 수 있다. 디블록킹 필터링은 예를 들어 복원된 픽처 내에서 8×8 샘플 그리드 상의 경계에 위치하는 모든 변환 유닛(TU) 또는 예측 유닛(PU)의 경계에서 수직/수평 방향으로 수행될 수 있다. 샘플 적응적 오프셋 필터링은 예를 들어 부호화 트리 유닛(CTU) 단위로 수행될 수 있다. 인루프 필터링(S110)까지 거치면 복호화된 픽처가 획득되며 디스플레이되거나 다른 픽처에서 참조될 수 있도록 버퍼에 저장될 수 있다.
도 1에서, 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106), 예측(S108)은 특정 블록 단위로 수행될 수 있다. 따라서, 하나의 픽처 내에서 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106), 예측(S108)은 반복적으로 수행될 수 있다. 또한, 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106), 예측(S108)은 도 1에 예시된 것과 다른 순서로 수행될 수 있다. 반면, 인루프 필터링(S110)은 하나의 픽처가 복원된 후에 수행되므로 하나의 픽처에 대한 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106), 예측(S108) 과정이 모두 완료된 후에 수행될 수 있다.
한편, 전자 기기나 웹 페이지에서 축소 영상이 널리 이용되고 있다. 축소 영상은 썸네일(Thumbnail) 영상이라고도 지칭되며, 저장된 영상을 대략적으로 표현하는 데 필요한 요소들을 가지고 있기 때문에 빠른 검색이나 인덱싱에 사용된다. 축소 영상(또는 썸네일 영상)을 추출하기 위해서는 기본적으로 비트스트림으로부터 영상을 완전히 복호화한 후 복호화된 영상을 다운샘플링(down-sampling)(S112)하는 과정을 거친다. 다운샘플링(S112)은 일정한 크기의 일차원 또는 이차원 필터를 이용하여 원래 영상의 해상도보다 낮은 해상도의 영상 신호를 생성하는 것을 지칭할 수 있다. 축소 영상(또는 썸네일 영상)은 다운샘플링을 통해 원래 영상의 해상도보다 낮은 해상도를 가지는 영상을 지칭할 수 있다. 따라서, 종래 기술에서는 비트스트림(110)으로부터 축소 영상(또는 썸네일 영상)(120)을 생성하기 위해 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106), 예측(S108), 인루프 필터링(S110)의 과정을 거쳐 복호화된 픽처에 대해 다운샘플링(S112)을 수행할 필요가 있다.
한편, 하나의 픽처는 적어도 하나의 슬라이스를 포함할 수 있고, 하나의 슬라이스는 적어도 하나의 코딩 트리 유닛(coding tree unit, CTU)으로 분할될 수 있다. 코딩 트리 유닛은 코딩 유닛(coding unit, CU)으로 재귀적으로(recursively) 분할될 수 있다. 코딩 트리 유닛(CTU)이 쿼드 트리로 분할되는지 여부를 지시하는 정보(예, split_cu_flag)는 비트스트림을 파싱하여 얻을 수 있다. 상기 정보(예, split_cu_flag)가 분할을 지시하는 경우, 코딩 트리 유닛(CTU)은 4개의 동일한 크기의 코딩 트리 유닛(CTU)로 분할될 수 있다. 상기 정보(예, split_cu_flag)가 분할을 지시하지 않는 경우, 코딩 트리 유닛(CTU)은 코딩 유닛(CU)으로 된다. 코딩 트리 유닛(CTU)은 휘도 성분의 코딩 트리 블록과 색차 성분의 코딩 트리 블록을 포함할 수 있고, 64×64, 32×32, 16×16 중에서 하나의 크기를 가질 수 있다.
코딩 유닛(CU)은 엔트로피 복호화, 역양자화, 역변환, 예측 등의 영상 처리가 수행되는 기본 단위를 지칭하며, 코딩 트리 유닛(CTU)의 크기에 따라 64×64, 32×32, 16×16, 8×8 크기를 가질 수 있다. 코딩 유닛(CU)은 코딩 트리 유닛(CTU) 내에서 재귀적으로 분할되므로 하나의 코딩 트리 유닛(CTU) 내에서 코딩 유닛(CU)은 다양한 크기를 가지는 쿼드 트리(quad tree) 형태를 가질 수 있다. 코딩 유닛(CU)은 부호화 기본 단위이므로 코딩 유닛(CU) 단위로 부호화 모드(예, 인트라 a모드, 인터 모드)가 결정되고, 인트라 부호화 모드인 경우 인트라 예측 모드도 코딩 유닛(CU) 단위로 결정될 수 있다.
코딩 유닛(CU)은 하나 이상의 예측 유닛(prediction unit, PU)으로 분할될 수 있다. 예측 유닛(PU)은 예측을 수행하기 위한 기본 단위이다. 하나의 코딩 유닛(CU) 내에서 분할된 예측 유닛(PU)에 대해 동일한 예측 기법(예, 인트라 예측 또는 인터 예측)이 적용될 수 있다. 코딩 유닛(CU)이 예측 유닛(PU)으로 분할되는 패턴을 지시하는 정보(예, CuPredMode)는 비트스트림으로부터 파싱된 특정 신택스 요소들(예, pred_mode_flag 및/또는 part_mode)을 기반으로 구할 수 있다. 분할 패턴을 지시하는 정보를 기반으로 예측 유닛(PU)은 정방형(예, PART_2Nx2N, PART_NxN), 직사각형(예, PART_Nx2N, PART_2NxN)의 대칭적인 형태나, 비대칭적인 형태(예, PART_2NxnU, PART_2NxnD, PART_nLx2N, PART_nRx2N) 등으로 분할될 수 있다.
또한, 코딩 유닛(CU)이 코딩 트리 유닛(CTU)으로부터 쿼드 트리 형태로 계층적으로 분할되는 것과 유사하게, 코딩 유닛(CU)은 하나 이상의 변환 유닛(transform unit, TU)으로 쿼드 트리 형태로 계층적으로 분할될 수 있다. 변환 유닛(TU)은 변환/역변환을 수행하기 위한 기본 단위이다. 변환 유닛(TU)의 크기는 영상의 특징에 따라 가장 효율적인 크기로 정해지며, 변환 유닛(TU)의 크기는 예측 유닛(PU)과 독립적으로 결정될 수 있다. 변환 유닛(TU)의 분할 여부를 지시하는 정보(예, split_transform_flag)는 비트스트림으로부터 얻을 수 있다. 상기 정보(예, split_transform_flag)가 분할을 지시하는 경우, 변환 유닛(TU)은 4개의 변환 유닛(TU)로 분할될 수 있다. 상기 정보(예, split_transform_flag)가 분할을 지시하지 않는 경우, 변환 유닛(TU)은 더 이상 분할되지 않으며 해당 변환 유닛(TU)에 대해 역변환이 수행될 수 있다. 변환 유닛(TU)는 코딩 유닛(CU) 내에서 4×4, 8×8, 16×16, 32×32의 다양한 크기를 가질 수 있다. 변환 유닛의 구조와 관련된 정보들은 기설정된 변환 유닛 트리의 최대 높이(혹은 분할 깊이) 정보, 변환 유닛의 최대 크기 정보, 변환 유닛의 최소 크기 정보, 변환 유닛의 최대 크기 및 최소 크기 간의 차이 정보, 및/또는 이와 같은 값들에 대한 log 값 등과 이들을 이용하여 유도된 변환 유닛의 깊이, 변환 유닛의 크기 등으로 나타낼 수 있다. 한편, 변환 유닛의 최대 분할 깊이는 해당 유닛의 예측 모드에 따라서 달라질 수 있다. 또한 변환을 시작하는 코딩 유닛의 크기가 변환 유닛의 크기에 영향을 미칠 수 있다. 인트라 예측은 변환 유닛(TU) 단위로 수행될 수 있다.
도 2는 인트라 예측 과정을 예시한다. 앞서 설명된 바와 같이, 인트라 예측은 변환 유닛(TU) 단위로 수행될 수 있다.
S202 단계에서, 인트라 예측 모드를 복호화한다. H.265/HEVC 시스템에서는 총 35개의 인트라 예측 모드를 지원하는데 인트라 예측 모드는 코딩 유닛(CU) 단위로 결정된다. 즉, 코딩 유닛(CU) 단위로 결정된 인트라 예측 모드는 해당 코딩 유닛(CU) 내에서 모든 변환 유닛(TU)에 적용된다. 따라서, 코딩 유닛(CU)이 복수의 변환 유닛(TU)을 포함하더라도 현재 변환 유닛(TU)과 이웃 변환 유닛(TU)의 인트라 예측 모드는 동일하게 적용될 수 있다. 인트라 예측 모드는 이웃 블록(예, CU)의 인트라 예측 모드들 중에서 비트스트림으로부터 획득된 인덱스 정보(예, mpm_idx)가 지시하는 모드로 결정되거나 비트스트림으로부터 파싱된 인트라 예측 모드 정보(예, rem_intra_luma_pred_mode)에 의해 결정될 수 있다. 현재 블록(예, CU)의 인트라 예측 모드가 이웃 블록(예, CU)의 인트라 예측 모드로부터 결정되는지 여부는 비트스트림으로부터 파싱되는 정보(예, prev_intra_luma_pred_flag)에 의해 결정될 수 있다.
복호화된 인트라 예측 모드의 값에 따라, 인트라 예측 모드는 평면 모드(planar mode), DC 모드(DC mode), 각도 모드(angular mode) 중에서 하나로 결정될 수 있다. 도 3과 표 1은 복호화된 인트라 예측 모드의 값에 따른 인트라 예측 모드를 예시한다.
Figure 112014117544416-pat00005
표 1에서 INTRA_PLANAR는 평면 모드를 나타내고, INTRA_DC는 DC 모드를 나타내고, INTRA_ANGULAR2 ~ INTRA_ANGULAR34는 각도 모드를 나타낸다. 도 3에 예시된 바와 같이, 각도 모드는 방향성을 가지며 그 값에 따라 서로 다른 방향을 참조할 수 있다. 각도 모드의 경우 참조하는 방향이 각도에 의해 나타내어질 수 있으며 현재 샘플에서 해당 각도의 방향을 참조했을 때 참조 샘플이 존재하는 경우 그 참조 샘플이 현재 샘플의 예측 샘플로 결정된다.
다시 도 2를 참조하면, S204 단계에서, 인트라 예측을 위한 참조 샘플을 준비한다. 인트라 예측은 현재 블록(예, TU)에 인접한 이웃 블록 내에서 복원이 완료된 경계 샘플들을 참조하여 수행되며, 이러한 복원이 완료된 이웃 샘플들은 참조 샘플(reference sample)이라고 지칭될 수 있다. 현재 블록(예, TU)의 인트라 예측을 위한 참조 샘플은 도 4에 예시되어 있다. 도 4를 참조하면, 현재 블록(예, TU)의 참조 샘플은 현재 블록(예, TU)의 좌측 하단 이웃 블록(들)의 우측 경계 샘플들(410), 좌측 이웃 블록(들)의 우측 경계 샘플들(412), 좌측 상단 이웃 블록의 우측 하단 코너 샘플(414), 상단 이웃 블록(들)의 하단 경계 샘플들(416), 우측 상단 이웃 블록의 하단 경계 샘플들(418) 중에서 복원이 완료된 샘플을 포함할 수 있다. 좌측 하단 이웃 블록(들)의 우측 경계 샘플들(410)은 현재 블록(예, TU)의 크기(예, nTbS) 만큼 참조 샘플로서 이용될 수 있다. 마찬가지로, 우측 상단 이웃 블록(들)의 하단 경계 샘플들(418)은 현재 블록(예, TU)의 크기(예, nTbS) 만큼 참조 샘플로서 이용될 수 있다.
만일 이웃 블록이 복원되지 않았거나 이웃 블록이 물리적으로 존재하지 않거나 이웃 블록이 서로 다른 슬라이스에 속하는 경우, 참조 샘플은 존재하지 않거나 가용하지 않다고 지칭될 수 있다. 참조 샘플이 가용하지 않는 경우, 가장 가까운 가용한 참조 샘플을 이용하여 위쪽 방향 또는 오른쪽 방향으로 참조 샘플이 존재하지 않는 부분을 패딩한다.
예를 들어, 도 5(a)를 참조하면, 상단 이웃 블록(들)(524, 526)과 좌측 상단 이웃 블록(522)이 가용하지 않고 좌측 이웃 블록(들)(410, 412)은 모두 가용한 경우, 가용하지 않은 블록들(522, 524, 526)에 가장 가까운 샘플, 즉 좌측 참조 샘플들 중에서 현재 블록(예, TU)의 좌측 상단 코너 샘플의 좌측 인접 샘플(512)을 이용하여 가용하지 않은 상단 참조 샘플들(522, 524, 526)을 패딩할 수 있다. 다른 예로, 도 5(b)를 참조하면, 좌측 이웃 블록(들)(532, 534)과 좌측 상단 이웃 블록(522)이 가용하지 않고 상단 이웃 블록(들)(416, 418)은 모두 가용한 경우, 가용하지 않은 블록들(522, 532, 534)에 가장 가까운 샘플, 즉 상단 참조 샘플들 중에서 현재 블록(예, TU)의 좌측 상단 코너 샘플의 상단 인접 샘플(514)을 이용하여 가용하지 않은 상단 참조 샘플들(522, 532, 534)을 패딩할 수 있다. 만일 모든 참조 샘플이 가용하지 않은 경우, 비트 심도(bit depth)를 고려하여 중간값으로 모든 참조 샘플을 패딩한다. 예를 들어, 비트 심도가 8 비트인 경우 128의 값으로 모든 참조 샘플을 패딩한다.
다시 도 2를 참조하면, S204 단계에서, 참조 샘플들은 인트라 예측 모드에 따라 필터링될 수 있다. 인트라 예측에서 주변 참조 샘플들은 복원된 샘플이 이용되므로 양자화 에러가 포함되어 있다. 따라서, 참조 샘플들에 대해 저 대역 통과 필터(low pass filter)를 적용하여 양자화 에러에 의한 예측 오차를 줄일 수 있다.
S204 단계에서 참조 샘플이 준비되면, S206 단계에서 인트라 예측 모드에 따라 현재 샘플에 대한 예측 샘플을 구할 수 있다. 예측 샘플은 현재 블록의 인트라 예측 모드가 평면 모드, DC 모드, 각도 모드인지에 따라 다른 방법이 적용될 수 있다.
현재 블록의 예측 모드가 평면 모드인 경우, 예측 샘플은 참조 샘플들 중에서 4개 샘플의 양선형 보간(bi-linear interpolation)을 이용하여 구할 수 있다. 수학식 5는 현재 블록의 예측 모드가 평면 모드인 경우 현재 샘플에 대한 예측 샘플을 구하는 연산을 예시한다.
Figure 112014117544416-pat00006
수학식 5에서 x, y는 현재 블록(예, TU) 내에서 현재 샘플의 좌표를 나타내고, predSamples[x][y]는 현재 샘플에 대한 예측 샘플을 나타내고, nTbS는 현재 블록(예, TU)의 크기를 나타내고, p[-1][y]는 현재 샘플과 동일한 y 좌표를 가지는 참조 샘플을 나타내고, p[nTbS][-1]은 우측 상단 이웃 블록의 좌측 하단 코너에 위치하는 참조 샘플을 나타내고, p[x][-1]은 현재 샘플과 동일한 x 좌표를 가지는 참조 샘플을 나타내고, p[-1][nTbS]는 좌측 하단 이웃 블록의 우측 상단 코너에 위치하는 참조 샘플을 나타내고, Log2는 로그 함수를 나타내고, >>는 우측 시프트 연산을 나타낸다. 도 6은 수학식 5를 예시한 것이다.
현재 블록의 인트라 예측 모드가 DC 모드인 경우, 예측 샘플은 참조 샘플들 중에서 현재 블록의 상단 참조 샘플(416)과 좌측 참조 샘플(412)의 평균값으로 결정할 수 있다. 수학식 6은 상단 참조 샘플과 좌측 참조 샘플의 평균값을 구하는 연산을 예시한다.
Figure 112014117544416-pat00007
수학식 6에서, dcVal은 평균값을 나타내고, p[x'][-1]은 현재 블록의 상단 참조 샘플을 나타내고, p[-1][y']는 현재 블록의 좌측 참조 샘플을 나타낸다. 나머지 기호는 수학식 5에서 설명한 것과 동일하다.
현재 블록의 인트라 예측 모드가 DC 모드인 경우, 휘도 블록(예, 변환 블록)의 크기가 32보다 작을 때, 예측 샘플과 참조 샘플과의 비연속성을 제거하기 위해 현재 블록의 경계에 위치하는 샘플에 대해 추가적인 필터링을 수행한다. 수학식 7은 현재 블록의 인트라 예측 모드가 DC 모드인 경우, 휘도 블록(예, 변환 블록)의 크기가 32보다 작을 때, 수행되는 필터링 연산을 예시한다.
Figure 112014117544416-pat00008
수학식 7에서, predSamples[0][0]은 현재 블록의 좌측 상단 코너 샘플에 대한 예측 샘플을 나타내고, predSamples[x][0]은 현재 블록의 좌측 경계 샘플에 대한 예측 샘플을 나타내고, predSamples[0][y]는 현재 블록의 상단 경계 샘플에 대한 예측 샘플을 나타내고, p[-1][0]은 predSamples[0][0]의 좌측에 인접한 참조 샘플을 나타내고, p[0][-1]은 predSamples[0][0]의 상단에 인접한 참조 샘플을 나타내고, p[x][-1]은 predSamples[x][0]의 좌측에 인접한 참조 샘플을 나타내고, p[-1][y]는 predSamples[0][y]의 상단에 인접한 참조 샘플을 나타낸다. 따라서, 휘도 블록의 크기가 32보다 작은 경우, 2×nTbS-1 개의 샘플들에 대해 추가적인 필터링이 수행된다. 도 7(a)는 현재 블록(예, TU)의 크기가 4×4이고 인트라 예측 모드가 DC 모드일 때 수행되는 필터링을 예시한다.
현재 블록의 인트라 예측 모드가 각도 모드(angular mode)인 경우, 예측 샘플은 현재 샘플에서 인트라 예측 모드에 해당하는 예측 방향(예, 도 3 참조)에 존재하는 참조 샘플로 결정될 수 있다. 각도 모드의 경우 예측 방향이 인트라 예측 모드에 따른 각도에 의해 정의되며, 만일 현재 샘플에서 해당 각도의 방향을 참조했을 때 참조 샘플이 존재하는 경우, 해당 참조 샘플이 예측 샘플로서 결정된다. 반면, 해당 각도의 방향을 참조했을 때 참조 샘플이 존재하지 않는 경우, 인접한 참조 샘플들을 이용하여 선형 보간(linear interpolation)을 통해 예측 샘플을 결정한다.
H.265/HEVC 표준에서는 참조 샘플을 일차원 배열(one dimensional array)로 배열하고, 인트라 예측 모드에 해당하는 각도 정보에 의해 참조 샘플 배열의 인덱스 정보(예, iIdx)와 참조 샘플들 사이를 참조하는 경우 서브 픽셀 위치 정보(예, iFact)를 결정한 다음, 예측 샘플을 결정할 수 있다. 수학식 8은 인덱스 정보와 서브 픽셀 위치 정보를 구하는 연산을 예시한다.
Figure 112014117544416-pat00009
수학식 8에서, x는 현재 샘플의 x 좌표를 나타내고, &는 논리적 AND 연산을 나타내고, >>는 우측 시프트를 나타내고, intraPredAngle은 현재 블록의 인트라 예측 모드에 해당하는 각도 정보를 나타낸다. 표 2는 현재 블록의 인트라 예측 모드에 따른 각도 정보를 예시한다.
Figure 112014117544416-pat00010
표 2에서, predModeIntra는 현재 블록의 인트라 예측 모드를 나타내며 그 값은 표 1에 따라 주어질 수 있다. 표 2에서, predModeIntra가 1인 경우, 현재 블록의 인트라 예측 모드가 DC 모드에 해당하므로 각도 정보는 주어지지 않는다.
수학식 8에서, 서브 픽셀 위치 정보(예, iFact)는 해당 각도 방향이 가리키는 참조 샘플들 간의 서브 픽셀 위치를 가리킬 수 있다. 따라서, 서브 픽셀 위치 정보(예, iFact)가 0인 경우, 해당 각도에 참조 샘플이 존재하는 것을 의미하며 해당 참조 샘플을 현재 샘플의 예측 샘플로 결정할 수 있다. 반면, 서브 픽셀 위치 정보(예, iFact)가 0이 아닌 경우, 서브 픽셀 위치 정보(예, iFact)는 참조 샘플들 간의 서브 픽셀 위치를 나타내며 서브 픽셀 위치 정보(예, iFact)를 이용하여 선형 보간을 수행한 결과를 예측 샘플로 결정할 수 있다. 수학식 9는 선형 보간을 수행하여 예측 샘플을 결정하는 연산을 예시한다.
Figure 112014117544416-pat00011
수학식 9에서, ref[]는 일차원 참조 샘플 배열을 나타내고, predSamples[x][y]는 현재 샘플에 대한 예측 샘플을 나타내고, >>는 우측 시프트 연산을 나타낸다.
한편, 도 3에서 인트라 예측 모드가 10에 해당하는 경우(예, INTRA_ANGULAR10, 이하 ‘수평 모드’) 현재 샘플의 위치에서 수평 방향으로 예측이 이루어지므로 좌측 수평 방향에 있는 참조 샘플이 예측 샘플(predicted sample)로 결정되고, 인트라 예측 모드가 26에 해당하는 경우(예, INTRA_ANGULAR26, 이하 ‘수직 모드’) 현재 샘플의 위치에서 수직 방향으로 예측이 이루어지므로 상단 수직 방향에 있는 참조 샘플이 예측 샘플로 결정될 수 있다. 현재 블록의 인트라 예측 모드가 수직 모드 또는 수평 모드인 경우, 참조되지 않은 인접 샘플과 예측 샘플 간의 비연속성을 제거하기 위해 추가적인 필터링을 수행한다. 수학식 10과 수학식 11은 각각 수직 모드와 수평 모드일 때 추가적으로 수행되는 필터링 연산을 예시한다.
Figure 112014117544416-pat00012
Figure 112014117544416-pat00013
수학식 10 및 11에서, x,y는 현재 블록(예, TU) 내에서 샘플의 좌표를 나타내고, predSamples[x][y]는 예측 샘플을 나타내고, Clip1y는 해당 연산 결과가 0과 샘플 최대 값의 범위 안으로 클리핑하는 함수를 나타내고, p[-1][-1]은 좌측 상단의 참조 샘플(414)을 나타내고, p[-1][y]는 현재 샘플과 동일한 y좌표에 있는 좌측 참조 샘플(412)을 나타내고, p[x][-1]은 현재 샘플과 동일한 x좌표에 있는 상단 참조 샘플(416)을 나타내고, >>는 우측 시프트 연산을 나타낸다. 도 7(b)는 현재 블록(예, TU)의 크기가 4×4이고 인트라 예측 모드가 수직 모드일 때 수행되는 필터링을 예시하고, 도 7(c)는 현재 블록(예, TU)의 크기가 4×4이고 인트라 예측 모드가 수평 모드일 때 수행되는 필터링을 예시한다.
다시 도 2를 참조하면, S206 단계에서 구해진 예측 샘플을 기반으로 S208 단계에서 현재 샘플을 복원할 수 있다. 구체적으로, 예측 샘플과 레지듀얼 샘플의 덧셈을 통해 현재 샘플이 구해질 수 있다. 레지듀얼 샘플은 도 1을 참조하여 설명한 엔트로피 복호화(S102), 역양자화(S104), 역변환(S106)을 통해 구해질 수 있다. 구체적으로, 비트스트림(110)으로부터 엔트로피 복호화(S102)를 통해 양자화된 변환 계수 정보를 구하고, 역양자화(S104)를 통해 스케일링된 변환 계수 정보를 구하고, 역변환(S106)을 통해 공간 도메인의 레지듀얼 샘플을 구할 수 있다. S208 단계에서 복원된 샘플은 인루프 필터링(S110)이 적용되기 전의 값을 가진다. 인트라 픽처의 경우, 도 1과 도 2를 참조하여 설명된 과정을 블록 단위(예, TU)로 반복하여 전체 픽처에 대한 복원 샘플(reconstructed sample)을 구할 수 있다. 본 명세서에서, 인트라 픽처는 인트라 예측 모드로 부호화된 픽처를 지칭할 수 있다.
앞서 설명된 바와 같이, 종래 기술에서는 축소 영상(또는 썸네일 영상)을 추출하기 위해서는 기본적으로 비트스트림으로부터 영상을 완전히 복원한 후 복원된 영상을 다운샘플링(down-sampling)하는 과정을 거친다. 하지만, H.265/HEVC, H.264/AVC와 같은 코덱은 고화질 영상을 효율적으로 압축하기 위한 코덱이기 때문에 원본 영상의 크기가 매우 크며 상대적으로 비트스트림의 크기도 방대할 뿐만 아니라 방대해진 데이터를 압축하거나 복원하기 위해 처리해야 할 연산이 매우 많아 시간이 많이 소요된다. 따라서, 기존의 축소 영상(또는 썸네일 영상) 추출 방법보다 더욱 효율적인 알고리즘이 필요하다.
축소 영상(또는 썸네일 영상)은 일반적으로 인트라 예측 모드(intra prediction mode)로 부호화된 픽처에서 추출될 수 있다. H.264/AVC 이전의 비디오 코딩 표준(예, MPEG-2, H.263 등)에서 인트라 픽처의 경우 변환 계수들 중에서 DC(Direct Current) 값만을 추출하여 축소 영상(또는 썸네일)을 생성할 수 있었다. 하지만, H.264/AVC 이후의 영상 부호화 표준에서는 인트라 예측 방법이 추가로 수행되어 인트라 픽처 내에서 이전에 복호화된 주변 블록을 이용하여 현재 블록을 예측하기 때문에 특정 위치의 블록을 복원하기 위해서는 주변 블록들이 모두 복원될 필요가 있다. 이러한 문제점 때문에 DCT 도메인에서 직접적으로 축소 영상(또는 썸네일 영상)을 생성하는 방법이 적용될 수 없다. 따라서, 본 발명에서는 인트라 예측 모드가 적용되는 시스템에서 고속으로 축소 영상(또는 썸네일 영상)을 추출하는 방법을 제안한다.
방법 1: 인루프 필터링 생략
영상 부호화/복호화 시스템에서는 블록 단위(예, TU)로 변환을 수행하고 변환 계수들을 양자화하기 때문에 블록화 현상(blocking artifact) 및 링잉 현상(ringing artifact)이 발생할 수 있다. 이러한 블록화 현상 및 링잉 현상으로 인한 화질 열화를 개선하기 위해 복원된 픽처에서 특정 블록 단위로 인루프 필터링(in-loop filtering)이 수행될 수 있다. 예를 들어, H.265/HEVC 시스템의 경우 복원된 픽처 내에서 8×8 샘플 그리드 상의 경계에 위치하는 모든 변환 유닛(TU) 또는 예측 유닛(PU)의 경계에서 수직/수평 방향으로 디블록킹 필터링(deblocking filtering)이 수행될 수 있다. 또한, H.265/HEVC 시스템의 경우 부호화 트리 유닛(CTU) 단위로 샘플 적응적 오프셋(sample adaptive offset, SAO) 필터링이 수행될 수 있다. 디블록킹 필터링과 SAO 필터링은 많은 연산을 수반하고 영상의 크기가 클 경우 각각의 필터링이 수행되는 대상이 굉장히 증가하기 때문에 영상 복호화 과정에서 큰 부담이 된다. 반면, 축소 영상(또는 썸네일 영상)의 경우 다운샘플링을 거치면서 블록화 현상 및 링잉 현상이 감소되는 효과가 있으므로 축소 영상을 추출하는 과정에서 인루프 필터링을 수행함으로써 얻는 이득은 적을 수 있다.
따라서, 본 발명에서는 축소 영상(또는 썸네일 영상)을 추출할 때 인루프 필터링을 수행하는 단계를 생략(skip)할 것을 제안한다. 예를 들어, 본 발명에 따르면 축소 영상(또는 썸네일 영상)을 추출할 때 디블록킹 필터링과 SAO 오프셋 필터링이 생략된다. 따라서, 본 발명의 방법 1에 따라 축소 영상(또는 썸네일 영상)을 추출할 경우, 추출 과정의 연산량 및/또는 복잡도를 감소시킴으로써 축소 영상(또는 썸네일 영상)의 추출에 걸리는 시간을 대폭 감소시킬 수 있다.
도 8은 본 발명에 따른 축소 영상(또는 썸네일 영상)을 추출 과정을 예시한다. 도 8을 참조하면, 부호화된 비트스트림은 엔트로피 복호화(S102), 역양자화(S804), 역변환(S806), 인트라 예측(S808)을 수행한 다음, 인루프 필터링(S110)을 거치지 않고 서브샘플링(S810)이 수행될 수 있다. 인루프 필터링(S110)을 생략함으로써 축소 영상(또는 썸네일 영상) 추출하는 데 필요한 연산량 및 처리 시간을 단축시킬 수 있다. 이하에서는, 축소 영상(또는 썸네일 영상) 추출함에 있어서, 역양자화(S804), 역변환(S806), 인트라 예측(S808), 다운샘플링(S810)에서 추가적으로 연산량 및 처리 시간을 단축시키는 방법을 제안한다.
방법 2: 특정 샘플 단위로 하나의 샘플을 추출
일반적으로 영상에 대한 다운샘플링을 수행할 때 다운샘플링으로 인한 오차를 감소시키기 위해 필터링 연산이 수행된다. 예를 들어, 다운샘플링될 샘플들의 평균값을 계산하여 축소 영상(또는 썸네일 영상)을 위한 값으로 이용할 수 있다. 이 경우, 평균값 계산에 필요한 연산량을 줄일 경우 축소 영상(또는 썸네일 영상) 추출 과정에 걸리는 시간을 보다 단축시킬 수 있다.
따라서, 본 발명에서는 축소 영상(또는 썸네일 영상) 추출 과정을 단순화시키기 위해 다운샘플링(S112) 대신 특정 샘플 단위로 하나의 샘플만을 추출하는 서브샘플링(sub-sampling)을 수행할 것을 제안한다. 예를 들어, 4×4 샘플 단위로 하나의 샘플만을 추출하여 축소 영상(또는 썸네일 영상)을 위한 다운샘플링된 값으로 사용할 수 있다. 이 경우, 4×4 샘플에 대한 평균값 계산에 걸리는 시간을 줄일 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 필요한 연산량 및 처리 시간을 단축시킬 수 있다.
특정 샘플 단위(예, 4×4 샘플)로 하나의 샘플만을 추출하는 경우, 서브샘플링 위치는 각 샘플 단위마다 고정될 수 있다. 예를 들어, 특정 샘플 단위(예, 4×4 샘플) 내에서 우측 하단 코너에 위치한 샘플이 추출될 수 있다. 혹은, 특정 샘플 단위(예, 4×4 샘플) 내에서 다른 위치의 샘플을 추출하는 것도 가능하다. 예를 들어, 특정 샘플 단위(예, 4×4 샘플) 내에서 좌측 하단 코너에 위치한 샘플이나 우측 상단 코너에 위치한 샘플을 추출하는 것도 가능하다. 추출된 샘플은 해당 샘플 단위에 대한 다운샘플링 값으로 사용될 수 있다.
한편, 본 발명의 방법 2에 따라 특정 샘플 단위로 하나의 샘플만을 추출하는 경우 특정 영역에 대해 앨리어싱 현상(aliasing artifact)이 발생할 수 있다. 앨리어싱 현상을 줄이기 위해서는 평균값을 이용하는 것이 바람직할 수 있다. 이 경우, 본 발명의 방법 2를 변형하여, 특정 샘플 단위(예, 4×4 샘플)의 특정 경계에 위치한 샘플들만을 이용하여 계산된 평균값을 다운샘플링된 값으로 사용할 것을 제안한다(이하, ‘방법 2-1’이라 지칭). 본 발명의 방법 2-1이 적용될 경우, 평균값을 구하는 대상 샘플들의 개수가 종래에 비해 줄어들게 되므로 앨리어싱 현상을 줄이면서도 연산량을 감소시킬 수 있다. 예를 들어, 특정 샘플 단위(예, 4×4 샘플)의 하단 경계와 우측 경계에 위치한 샘플들만을 이용하여 평균값을 계산하여 다운샘플링된 값으로 사용할 수 있다. 이 경우, 특정 샘플 단위(예, 4×4 샘플) 내에서 7개 샘플들만이 평균값 계산에 포함되는 반면, 종래 기술에 따르면 16개 샘플들이 이용되므로 해당 샘플들만큼의 연산을 줄일 수 있다.
상기 설명에서, 4×4 샘플 단위는 오로지 예시일 뿐이고 다른 크기의 샘플 단위로 서브샘플링 또는 평균값 계산을 수행하는 것도 가능하다. 예를 들어, 필요한 다운샘플링 비율에 따라 8×8, 16×16 샘플 단위로 본 발명에 따른 방법들이 변형되어 수행될 수 있다.
도 9는 본 발명에 따른 서브샘플링 위치를 예시한다. 도 9에서 각각의 사각형은 하나의 샘플 또는 픽셀을 나타내며, 빗금친 사각형은 본 발명에 따른 서브샘플링 또는 다운샘플링 위치를 나타낸다.
도 9(a)를 참조하면, 본 발명의 방법 2에 따른 서브샘플링 위치가 예시되어 있다. 도 9(a)에서, 4×4 샘플 단위 내에서 우측 하단 코너에 위치한 샘플을 서브샘플링하는 것으로 예시되어 있지만, 샘플 단위의 크기와 샘플 위치는 필요에 따라 변경될 수 있다.
도 9(b)를 참조하면, 본 발명의 방법 2-1에 따라 평균값 계산에 이용되는 특정 경계의 샘플들 위치가 예시되어 있다. 도 9(b)에서, 4×4 샘플 단위 내에서 하단 경계와 우측 경계에 위치한 샘플들이 평균값 계산에 이용되는 것으로 예시되어 있지만, 샘플 단위의 크기 및 경계의 위치는 필요에 따라 변경될 수 있다.
본 발명에 따른 방법 2와 방법 2-1은 도 8에서 S810에 적용될 수 있다.
방법 3: 일부 샘플들만 복호화
인트라 예측 모드가 적용되는 복호화 과정에서는 비트스트림으로부터 획득되는 변환 계수 정보에 대해 역양자화/역변환을 수행하여 얻어진 샘플들과 주변 블록의 샘플들을 참조하여 예측된 샘플들을 이용하여 인트라 예측을 수행한다. 앞서 설명된 바와 같이, H.265/HEVC 시스템의 경우 변환 블록(TU) 단위로 역양자화/역변환 및 인트라 예측이 수행될 수 있다. 이 경우, 해당 블록(예, TU) 내의 모든 샘플 위치들에 대해 레지듀얼 샘플을 구하고 예측 샘플들을 구한 다음 해당 블록을 복원한다. 하지만, 본 발명에 따라 축소 영상(또는 썸네일 영상)을 추출하는 경우 해당 블록(예, TU) 내의 모든 샘플들이 추출 과정에 이용되는 것이 아니므로 추출 과정에 이용되지 않는 샘플들까지 복원하면 연산량 및 처리 시간이 낭비될 수 있다.
따라서, 본 발명에서는 축소 영상(또는 썸네일 영상)을 추출하는 데 필요한 샘플들에 대해서만 역양자화, 역변환 및/또는 인트라 예측을 수행할 것을 제안한다. 즉, 본 발명에서는 축소 영상(또는 썸네일 영상)을 추출하는 데 필요한 샘플들만을 복호화(또는 복원)할 수 있다. 보다 구체적으로, 특정 블록(예, TU) 내에서 특정 경계에 위치한 샘플들과 (본 발명의 방법 2 또는 2-1에 따른) 서브샘플링 위치에 있는 샘플들에 대해서만 복호화(예, 역양자화, 역변환 및/또는 인트라 예측)를 수행할 것을 제안한다. 예를 들어, 본 발명의 방법 3에서는, 현재 블록(예, TU)에서 특정 경계(예, 하단 경계 및/또는 우측 경계)에 위치한 샘플들과 서브샘플링 위치에 있는 샘플(예, 우측 하단 코너 샘플)에 대해서만 역양자화, 역변환 및/또는 인트라 예측이 수행될 수 있다. 이 경우, 축소 영상(또는 썸네일 영상) 추출에 필요하지 않은 샘플들에 대한 복호화 과정을 생략할 수 있으므로 그만큼 연산량 및 처리 시간을 단축시킬 수 있다.
본 발명의 방법 3에 따른 특정 경계는 다른 블록들에서 인트라 예측을 수행하기 위해 참조되는 샘플들이 위치하는 경계를 지칭할 수 있다. 예를 들어, H.265/HEVC 시스템의 경우 현재 블록(예, TU)의 인트라 예측에서 이용되는 참조 샘플들은 좌측 하단 이웃 블록(들)의 우측 경계에 위치하는 샘플(410), 좌측 이웃 블록(들)의 우측 경계에 위치하는 샘플(412), 좌측 상단 이웃 블록의 우측 하단 코너 샘플(414), 상단 이웃 블록의 하단 경계에 위치하는 샘플(416), 우측 상단 이웃 블록(들)의 하단 경계에 위치하는 샘플(418)을 포함할 수 있다(예, 도 4 참조). 따라서, H.265/HEVC 시스템의 경우 현재 블록(예, TU)의 우측 경계에 위치하는 샘플들은 우측 상단 이웃 블록(예, TU), 우측 이웃 블록(예, TU), 우측 하단 이웃 블록(예, TU)에 대해 인트라 예측을 수행할 때 참조 샘플로 이용될 수 있다. 유사하게, 현재 블록(예, TU)의 하단 경계에 위치하는 샘플들은 좌측 하단 이웃 블록(예, TU), 하단 이웃 블록(예, TU), 우측 하단 이웃 블록(예, TU)에 대해 인트라 예측을 수행할 때 참조샘플로 이용될 수 있다. 따라서, 본 발명의 방법 3에 따른 특정 경계는 예를 들어 현재 블록(예, TU) 내에서 하단 경계 및/또는 우측 경계를 포함할 수 있다.
도 10 내지 도 12는 본 발명에 따라 현재 블록에서 복원되는 샘플들의 위치를 예시한다. 도 10 내지 도 12의 예에서 변환 유닛(TU)과 예측 유닛(PU)의 크기는 동일하다고 가정하지만, 본 발명이 이러한 경우에만 제한되어 적용되는 것은 아니다.
도 10을 참조하면, 변환 유닛(TU) 및 예측 유닛(PU)의 크기가 각각 4×4인 경우 복원 샘플과 서브샘플링 위치가 예시되어 있다. 도 10(a)는 종래 기술에 따른 복원 샘플과 서브샘플링 위치를 예시하고, 도 10(b)는 본 발명에 따른 복원 샘플과 서브샘플링 위치를 예시한다. 종래 기술의 경우 16개 샘플 전부에 대해 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행되어야 하는 반면, 본 발명의 경우 7개 샘플에 대해서만 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행될 수 있다. 따라서, 본 발명에 의하면 나머지 9개 샘플에 대한 연산량을 줄일 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 걸리는 시간을 단축시킬 수 있다.
도 11을 참조하면, 변환 유닛(TU) 및 예측 유닛(PU)의 크기가 각각 8×8인 경우 복원 샘플과 서브샘플링 위치가 예시되어 있다. 도 11(a)는 종래 기술에 따른 복원 샘플과 서브샘플링 위치를 예시하고, 도 11(b)는 본 발명에 따른 복원 샘플과 서브샘플링 위치를 예시한다. 종래 기술의 경우 64개 샘플 전부에 대해 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행되어야 하는 반면, 본 발명의 경우 17개 샘플에 대해서만 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행될 수 있다. 따라서, 본 발명에 의하면 나머지 47개 샘플에 대한 연산량을 줄일 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 걸리는 시간을 단축시킬 수 있다.
도 12를 참조하면, 변환 유닛(TU) 및 예측 유닛(PU)의 크기가 각각 16×16인 경우 복원 샘플과 서브샘플링 위치가 예시되어 있다. 도 12(a)는 종래 기술에 따른 복원 샘플과 서브샘플링 위치를 예시하고, 도 12(b)는 본 발명에 따른 복원 샘플과 서브샘플링 위치를 예시한다. 종래 기술의 경우 256개 샘플 전부에 대해 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행되어야 하는 반면, 본 발명의 경우 40개 샘플에 대해서만 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행될 수 있다. 따라서, 본 발명에 의하면 나머지 216개 샘플에 대한 연산량을 줄일 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 걸리는 시간을 단축시킬 수 있다.
마찬가지로, 변환 유닛(TU) 및 예측 유닛(PU)의 크기가 각각 32×32인 경우에도, 종래 기술에 따르면 1024개 샘플 전부에 대해 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행되어야 하는 반면, 본 발명에 따르면 112개 샘플에 대해서만 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)가 수행될 수 있으므로, 나머지 912개 샘플에 대한 연산량을 줄일 수 있으며 축소 영상(또는 썸네일 영상) 추출에 걸리는 시간을 단축시킬 수 있다.
도 13은 변환 유닛(TU)의 크기가 각각 16×16이고 예측 유닛(PU)의 크기가 32×32인 경우 본 발명에 따른 복원 샘플과 서브샘플링 위치를 예시한다. 본 발명에 따르면, 현재 블록(예, TU) 내에서 특정 경계 및 서브샘플링 위치에 있는 샘플들에 대해서만 복호화(예, 역양자화, 역변환, 및/또는 인트라 예측)를 수행하여 해당 샘플들을 복원할 수 있다. 따라서, 현재 블록(예, TU) 내에서 본 발명이 적용되는 특정 경계는 이웃 블록의 인트라 예측 수행시 참조되는 샘플들이 위치하는 경계를 포함할 수 있다.
도 13을 참조하면, 변환 유닛(1320)의 인트라 예측 수행시 이용되는 참조 샘플은 변환 유닛(1310) 및 변환 유닛(1330)의 우측 경계 샘플들을 포함할 수 있다. 따라서, 본 발명을 적용할 경우, 변환 유닛(1310)에서 상기 특정 경계는 우측 경계를 포함하고, 변환 유닛(1330)에서 상기 특정 경계는 우측 경계를 포함할 수 있다. 또한, 변환 유닛(1330)의 인트라 예측 수행시 이용되는 참조 샘플은 변환 유닛(1310) 및 변환 유닛(1330)의 하단 경계 샘플들을 포함할 수 있다. 따라서, 본 발명을 적용할 경우, 변환 유닛(1310)에서 상기 특정 경계는 하단 경계를 포함하고, 변환 유닛(1320)에서 상기 특정 경계는 하단 경계를 포함할 수 있다. 또한, 변환 유닛(1340)의 인트라 예측 수행시 이용되는 참조 샘플은 변환 유닛(1310)의 우측 하단 코너 샘플, 변환 유닛(1320)의 하단 경계 샘플들, 변환 유닛(1330)의 우측 경계 샘플들을 포함할 수 있다. 따라서, 본 발명을 적용할 경우, 변환 유닛(1310)에서 상기 특정 경계는 우측 하단 코너 샘플을 포함하고, 변환 유닛(1320)에서 상기 특정 경계는 하단 경계를 포함하고, 변환 유닛(1330)에서 상기 특정 경계는 우측 경계를 포함할 수 있다.
방법 3의 실시예로서, 인트라 예측 모드에 따라 축소 영상(또는 썸네일 영상)을 추출하는 데 필요한 샘플들의 위치를 더욱 구체적으로 정의할 수 있다.
실시예 3-1
인트라 예측 모드가 평면 모드(planar mode), DC 모드, 각도 모드(angular mode) 11 내지 25에 해당하는 경우, 좌측 이웃 샘플들(410, 412)과 상단 이웃 샘플들(414, 416, 418)이 참조 샘플로서 이용될 수 있다(예, 도 3, 도 4 참조). 따라서, 본 발명의 실시예에서는 현재 블록(예, TU)의 인트라 예측 모드가 제1 범위(예, 0, 1, 11~25)의 값을 가지는 경우 현재 블록(예, TU)의 우측 경계 및 하단 경계에 위치하는 샘플들과 서브샘플링 위치의 샘플들만 복원될 수 있다.
도 14는 본 발명의 실시예에 따른 복원 샘플 및 서브샘플링 위치를 예시한다. 도 14에 예시된 바와 같이, 코딩 유닛(CU) 내에서 4×4, 8×8, 16×16과 같이 다양한 크기의 변환 유닛(TU)이 존재할 수 있다. 인트라 예측 모드가 평면 모드, DC 모드, 각도 모드 11 내지 25에 해당하는 경우, 본 발명에 따라 각 블록(예, TU)에서 우측 경계 및 하단 경계에 위치하는 샘플과 서브샘플링 위치에 있는 샘플만이 복원될 수 있다. 따라서, 나머지 샘플들을 복원하는 데 필요한 연산량 및 처리 시간을 단축시킬 수 있다.
실시예 3-2
인트라 예측 모드가 각도 모드 2~10에 해당하는 경우 좌측 이웃 샘플들(410, 412)이 참조 샘플로서 이용될 수 있다(예, 도 3, 도 4 참조). 따라서, 본 발명의 실시예에서는 현재 블록(예, TU)의 인트라 예측 모드가 제2 범위의 값(예, 2~10)을 가지는 경우, 현재 블록(예, TU)에서 우측 경계에 위치하는 샘플들만이 복원될 수 있다. 이 경우, 현재 블록(예, TU)에서 우측 하단 코너 샘플을 제외한 하단 경계에 위치하는 샘플들은 복원되지 않음으로써 추가적으로 연산량 및 처리 시간을 줄일 수 있다.
도 15는 본 발명의 실시예에 따른 복원 샘플 및 서브샘플링 위치를 예시한다. 도 15에 예시된 바와 같이, 인트라 예측 모드가 각도 모드(angular mode) 11 내지 25에 해당하는 경우, 본 발명에 따라 각각의 블록(예, TU)에서 우측 경계에 위치하는 샘플과 서브샘플링 위치에 있는 샘플만이 복원될 수 있다. 코딩 유닛(CU)의 하단 경계에 위치하는 샘플은 다른 코딩 유닛(CU)에 위치하는 변환 유닛(TU)에 의해 참조될 수 있으므로 복원될 필요가 있다. 실시예 3-1과 비교하여 현재 블록(예, TU)의 하단 경계에 위치하는 샘플들을 복원하는 데 필요한 연산량 및 처리 시간을 추가로 단축시킬 수 있다.
실시예 3-3
인트라 예측 모드가 각도 모드 26~34에 해당하는 경우 상단 이웃 샘플들(416, 418)이 참조 샘플로서 이용될 수 있다(예, 도 3, 도 4 참조). 따라서, 본 발명의 실시예에서는 현재 블록(예, TU)의 인트라 예측 모드가 제3 범위의 값(예, 26~34)을 가지는 경우, 현재 블록(예, TU)에서 하단 경계에 위치하는 샘플들만이 복원될 수 있다. 이 경우, 현재 블록(예, TU)에서 우측 하단 코너 샘플을 제외한 우측 경계에 위치하는 샘플들은 복원되지 않기 때문에 실시예 3-1과 비교하여 추가적으로 연산량 및 처리 시간을 줄일 수 있다.
도 16은 본 발명의 실시예에 따른 복원 샘플 및 서브샘플링 위치를 예시한다. 도 16에 예시된 바와 같이, 인트라 예측 모드가 각도 모드(angular mode) 26~34에 해당하는 경우, 본 발명에 따라 각각의 블록(예, TU)에서 하단 경계에 위치하는 샘플과 서브샘플링 위치에 있는 샘플만이 복원될 수 있다. 코딩 유닛(CU)의 우측 경계에 위치하는 샘플은 다른 코딩 유닛(CU)에 위치하는 변환 유닛(TU)에 의해 참조될 수 있으므로 복원될 필요가 있다. 실시예 3-1과 비교하여 현재 블록(예, TU)의 우측 경계에 위치하는 샘플들을 복원하는 데 필요한 연산량 및 처리 시간을 추가로 단축시킬 수 있다.
상기 설명된 실시예 3-1, 3-2, 3-3은 도 8에서 S808에 적용될 수 있다.
실시예 3-4
역양자화는 비트스트림으로부터 파싱(parsing)된 변환 계수(transform coefficient) 각각에 대해 수행될 수 있으므로, 본 발명의 실시예에서는 특정 블록 내에서 특정 경계에 위치한 샘플들과 서브샘플링 위치에 있는 샘플들을 복호화하는 데 필요한 변환 계수들에 대해서만 역양자화가 수행될 수 있다. 따라서, 나머지 샘플들을 위한 변환 계수들에 대해서는 역양자화를 수행하지 않을 수 있으므로 해당 연산량 및 처리 시간을 줄일 수 있다. 본 실시예는 도 8의 S804에 적용될 수 있다.
예를 들어, 현재 블록(예, TU)이 픽처의 우측 하단 코너에 위치하는 경우, 서브샘플링 위치(예, 우측 하단 코너)의 샘플만 복원될 수 있다. 따라서, 변환 계수들 중 마지막 열(column)에 해당하는 변환 계수들에 대해서만 역양자화를 수행할 수 있다.
실시예 3-5
본 발명의 실시예에서는 역변환시에도 특정 블록 내에서 특정 경계에 위치한 샘플들과 서브샘플링 위치에 있는 샘플들을 복원하는 데 필요한 연산만이 수행될 수 있다. 역변환은 변환 계수 행렬과 변환 행렬(예, transMatrix)을 기반으로 변환 계수 행렬의 각 열(column)에 대해 일차원 변환으로서 수행될 수 있다(예, 도 1 관련 설명 참조). 예를 들어, 4×4부터 32×32까지의 변환을 위한 변환 행렬이 이용되며, 변환 기저는 빠른 연산을 위해 정수 형태로 근사화되어 변환 행렬의 각 요소는 정수 값을 가진다. 또한, 변환 계수 행렬의 각 열에 대해 변환 행렬을 적용하여 레지듀얼 샘플 행렬의 열을 생성할 수 있다. 따라서, 본 발명에 따라 우측 경계에 있는 샘플들만 복원할 경우, 변환 계수 행렬의 우측 경계 열에 대해서만 변환 행렬을 적용할 수 있다. 이 경우, 나머지 변환 계수 행렬의 열들에 대한 행렬 연산이 생략되므로 연산량 및 처리 시간을 줄일 수 있다. 유사하게, 본 발명에 따라 하단 경계에 있는 샘플들만 복원할 경우, 변환 계수 행렬의 각 열에 대해 변환 행렬의 마지막 행만을 적용할 수 있다. 이 경우, 나머지 변환 행렬의 행들을 적용하는 행렬 연산이 생략되므로 연산량 및 처리 시간을 줄일 수 있다. 본 실시예는 도 8의 S806에 적용될 수 있다.
방법 4: 참조 샘플 패딩
인트라 예측 수행시, 현재 블록(예, TU)의 참조 샘플들이 존재하지 않는 경우 존재하지 않는 참조 샘플들은 패딩을 통해 생성될 수 있다(예, 도 2 관련 설명 참조). 예를 들어, 현재 블록(예, TU)이 픽처 또는 슬라이스의 좌측 또는 상단 경계에 있는 경우 일부 참조 샘플이 가용하지 않을 수 있다. 이 경우 가용하지 않은 참조 샘플은 가용한 인접 참조 샘플을 패딩하여 생성될 수 있다. 하지만, 본 발명에 따라 블록(예, TU)의 일부 샘플들만을 복호화할 경우 패딩에 이용되는 인접 참조 샘플이 복원되지 않을 수 있으므로 복호화가 올바르게 수행되지 않을 수 있다. 따라서, 본 발명에서는 현재 블록(예, TU)의 위치 및 인트라 예측 모드에 따라 패딩에 이용되는 참조 샘플을 추가로 복원하는 것을 제안한다.
실시예 4-1
본 발명의 실시예에서, 현재 블록(예, TU)이 픽처 또는 슬라이스의 상단 경계에 있는 경우 인트라 예측 모드에 따라 현재 블록(예, TU)의 우측 상단 코너 샘플을 추가로 복원할 수 있다. 보다 구체적으로, 본 발명의 실시예 3-3에서 인트라 예측 모드가 제3 범위의 값(예, 각도 모드 26~34)을 가지고 현재 블록(예, TU)이 픽처 또는 슬라이스의 상단 경계에 있는 경우, 현재 블록(예, TU)의 우측 상단 코너 샘플이 추가로 복원될 수 있다. 하지만, 본 발명의 실시예 3-1 또는 3-2에 따라 인트라 예측 모드가 제1 범위 및 제2 범위의 값(예, 평면 모드, DC 모드, 각도 모드 2~25)을 가지는 경우 현재 블록(예, TU)의 우측 경계에 있는 샘플들이 복원되므로 본 실시예는 적용되지 않을 수 있다. 본 실시예는 도 8의 S808에 적용될 수 있다.
도 17과 도 18은 본 발명의 실시예에 따른 복원 샘플의 위치를 예시한다. 도 17의 예에서, 각각의 블록이 8×8 변환 유닛(TU)으로 예시되어 있지만, 본 발명이 이에 제한되는 것은 아니며 본 발명은 다른 경우에도 적용될 수 있다.
도 17을 참조하면, 본 발명의 실시예 3-3에 따라 현재 블록(1710)에서 하단 경계 및 서브샘플링 위치에 있는 샘플들만이 복원될 수 있다. 하지만, 현재 블록(1710)이 픽처 또는 슬라이스의 상단 경계에 있는 경우, 이웃 블록(1720)의 상단 참조 샘플(1730)은 가용하지 않으므로 가용하지 않은 참조 샘플들(1730)은 인접 참조 샘플(1740)을 패딩하여 생성될 수 있다. 따라서, 본 발명의 실시예 4-1에 따라 현재 블록(1710)에서 하단 경계 및 서브샘플링 위치에 있는 샘플들 외에 우측 상단 참조 샘플(1740)이 추가적으로 복원될 수 있다.
도 18을 참조하면, 도 16의 예와 비교하여 본 발명의 실시예 4-1에서는 샘플들(1810, 1820, 1830)이 추가적으로 복호화될 수 있다.
실시예 4-2
본 발명의 다른 실시예에서, 현재 블록(예, TU)이 픽처 또는 슬라이스의 좌측 경계에 있는 경우 인트라 예측 모드에 따라 현재 블록(예, TU)의 좌측 하단 코너 샘플이 추가로 복원될 수 있다. 보다 구체적으로, 본 발명의 실시예 3-2에서 인트라 예측 모드가 제2 범위의 값(예, 각도 모드 2~10)을 가지는 경우, 현재 블록(예, TU)의 좌측 하단 코너 샘플이 추가로 복원될 수 있다. 하지만, 본 발명의 실시예 3-1 또는 3-3에 따라 인트라 예측 모드가 제1 범위 및 제3 범위의 값(예, 평면 모드, DC 모드, 각도 모드 11~34)을 가지는 경우 현재 블록(예, TU)의 하단 경계에 있는 샘플들이 복원되므로 본 실시예는 적용되지 않을 수 있다. 본 실시예는 도 8의 S808에 적용될 수 있다.
도 19와 도 20은 본 발명의 실시예에 따른 복원 샘플의 위치를 예시한다. 도 19의 예에서, 각각의 블록이 8×8 변환 유닛(TU)으로 예시되어 있지만, 본 발명이 이에 제한되는 것은 아니며 본 발명은 다른 경우에도 적용될 수 있다.
도 19를 참조하면, 본 발명의 실시예 3-2에 따라 현재 블록(1910)에서 우측 경계 및 서브샘플링 위치에 있는 샘플들만이 복호화될 수 있다. 하지만, 현재 블록(1910)이 픽처 또는 슬라이스의 좌측 경계에 있는 경우, 이웃 블록(1920)의 좌측 참조 샘플(1930)은 가용하지 않으므로 가용하지 않은 참조 샘플들(1930)은 인접 참조 샘플(1940)을 패딩하여 생성될 수 있다. 따라서, 본 발명의 실시예 4-2에 따라 현재 블록(1910)에서 우측 경계 및 서브샘플링 위치에 있는 샘플들 외에 좌측 하단 참조 샘플(1940)이 추가적으로 복원될 수 있다.
도 20을 참조하면, 도 15의 예와 비교하여 본 발명의 실시예 4-2에서는 샘플들(2010, 2020, 2030)이 추가적으로 복원될 수 있다.
방법 5: 예측 값 필터링
인트라 예측 모드가 특정 모드(예, 수직 예측 모드, 수평 예측 모드, 또는 DC 예측 모드)인 경우, 인접 샘플들과의 불연속성을 제거하기 위해 현재 블록(예, TU)의 예측 샘플들에 대해 추가적인 필터링이 수행될 수 있다(예, 도 2 및 도 7 관련 설명 참조). 이 경우에도, 다른 블록(예, TU)의 참조 샘플로 사용되는 샘플과 서브샘플링 위치에 있는 샘플에 대해서만 추가적인 필터링을 수행하도록 함으로써 연산량과 처리 시간을 줄일 수 있다.
실시예 5-1
인트라 예측 모드가 수직 모드인 경우, 현재 블록(예, TU)의 우측 경계 샘플들 전부에 대해 좌측 상단 참조 샘플과 해당 샘플의 좌측 참조 샘플 간의 차이를 보상해주는 필터링 연산이 수행된다. 하지만, 축소 영상(또는 썸네일 영상) 추출에 필요하지 않은 샘플들에 대해서도 필터링 연산을 수행하는 것은 연산량과 처리 시간의 낭비일 수 있다. 따라서, 본 발명에서는 인트라 예측 모드가 수직 모드인 경우 현재 블록(예, TU)의 우측 경계 샘플들 중에서 축소 영상(또는 썸네일 영상) 추출에 필요한 샘플들에 대해서만 필터링 연산을 수행할 것을 제안한다. 예를 들어, 인트라 예측 모드가 수직 모드이고 본 발명의 실시예 3-3가 적용되는 경우, 현재 블록(예, TU)의 좌측 하단 샘플에 대해서만 필터링 연산이 수행될 수 있다. 따라서, 본 발명에 따르면, 현재 블록의 크기가 nTbS×nTbS인 경우 (nTbS - 1) 번만큼의 필터링 연산을 줄일 수 있다.
도 21은 인트라 예측 모드가 수직 모드인 경우 예측 샘플에 대한 필터링을 예시한다. 현재 블록이 8×8 변환 유닛(TU)인 경우가 예시되어 있지만, 이는 오로지 예시일 뿐이며 본 발명은 다른 크기(예, 4×4, 16×16, 32×32)의 블록에 대해서도 동일/유사하게 적용될 수 있다.
도 21을 참조하면, 도 21(a)는 인트라 예측 모드가 수직 모드인 경우 기존 방식에 따라 필터링이 수행되는 위치를 예시하고 도 21(b)는 본 발명에 따라 필터링이 수행되는 위치를 예시한다. 도 21(a)에 예시된 바와 같이, 기존 방법에서는 인트라 예측 모드가 수직 모드인 경우 현재 블록(예, TU)의 좌측 경계 샘플 모두(예, x1~x8)에 대해 필터링이 수행된다. 따라서, 기존 방법에 따르면 현재 블록의 크기(예, 8) 만큼의 필터링 연산이 수행될 수 있다. 하지만, 본 발명에 따르면 복원 샘플 위치에 해당하는 좌측 하단 코너 샘플(예, x8)에 대해서만 필터링이 수행되므로 1번의 필터링만이 수행될 수 있다. 따라서, 7번 만큼 필터링 연산을 생략할 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 필요한 연산량과 처리 시간을 줄일 수 있다.
실시예 5-2
인트라 예측 모드가 수평 모드인 경우, 현재 블록(예, TU)의 상단 경계 샘플들 전부에 대해 좌측 상단 참조 샘플과 해당 샘플의 상단 참조 샘플 간의 차이를 보상해주는 필터링 연산이 수행된다. 하지만, 축소 영상(또는 썸네일 영상) 추출에 필요하지 않은 샘플들에 대해서도 필터링 연산을 수행하는 것은 연산량과 처리 시간의 낭비일 수 있으므로, 본 발명에서는 인트라 예측 모드가 수평 모드인 경우 현재 블록(예, TU)의 상단 경계 샘플들 중에서 축소 영상(또는 썸네일 영상) 추출에 필요한 샘플들에 대해서만 필터링 연산을 수행할 것을 제안한다. 예를 들어, 인트라 예측 모드가 수평 모드이고 본 발명의 실시예 3-2가 적용되는 경우, 현재 블록(예, TU)의 우측 상단 샘플에 대해서만 필터링 연산이 수행될 수 있다. 따라서, 본 발명에 따르면, 현재 블록의 크기가 nTbS×nTbS인 경우 (nTbS - 1) 번만큼의 필터링 연산을 줄일 수 있다.
도 22는 인트라 예측 모드가 수평 모드인 경우 예측 샘플에 대한 필터링을 예시한다. 현재 블록이 8×8 변환 유닛(TU)인 경우가 예시되어 있지만, 이는 오로지 예시일 뿐이며 본 발명은 다른 크기(예, 4×4, 16×16, 32×32)의 블록에 대해서도 동일/유사하게 적용될 수 있다.
도 22를 참조하면, 도 22(a)는 인트라 예측 모드가 수평 모드인 경우 기존 방식에 따라 필터링이 수행되는 위치를 예시하고 도 22(b)는 본 발명에 따라 필터링이 수행되는 위치를 예시한다. 도 22(a)에 예시된 바와 같이, 기존 방법에서는 인트라 예측 모드가 수직 모드인 경우 현재 블록(예, TU)의 상단 경계 샘플 모두(예, x1~x8)에 대해 필터링이 수행된다. 따라서, 기존 방법에 따르면 현재 블록의 크기(예, 8) 만큼의 필터링 연산이 수행될 수 있다. 하지만, 본 발명에 따르면 복원 샘플 위치에 해당하는 우측 상단 코너 샘플(예, x8)에 대해서만 필터링이 수행되므로 1번의 필터링만이 수행될 수 있다. 따라서, 7번 만큼 필터링 연산을 생략할 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 필요한 연산량과 처리 시간을 줄일 수 있다.
실시예 5-3
인트라 예측 모드가 DC 모드인 경우, 현재 블록(예, TU)의 좌측 경계 및 상단 경계 샘플들 전부에 대해 예측 샘플과 참조 샘플 간의 비연속성을 제거하기 위한 필터링 연산이 수행된다. 하지만, 축소 영상(또는 썸네일 영상) 추출에 필요하지 않은 샘플들에 대해서도 필터링 연산을 수행하는 것은 연산량과 처리 시간의 낭비일 수 있으므로, 본 발명에서는 인트라 예측 모드가 DC 모드인 경우 현재 블록(예, TU)의 좌측 경계 및 상단 경계 샘플들 중에서 축소 영상(또는 썸네일 영상) 추출에 필요한 샘플들에 대해서만 필터링 연산을 수행할 것을 제안한다. 예를 들어, 인트라 예측 모드가 DC 모드이고 본 발명의 실시예 3-1이 적용되는 경우, 현재 블록(예, TU)의 우측 상단 샘플 및 좌측 하단 샘플에 대해서만 필터링 연산이 수행될 수 있다. 따라서, 본 발명에 따르면, 현재 블록의 크기가 nTbS×nTbS인 경우 (2×nTbS - 3) 번만큼의 필터링 연산을 줄일 수 있다.
도 23은 인트라 예측 모드가 DC 모드인 경우를 예측 샘플에 대한 필터링을 예시한다. 현재 블록이 8×8 변환 유닛(TU)인 경우가 예시되어 있지만, 이는 오로지 예시일 뿐이며 본 발명은 다른 크기(예, 4×4, 16×16, 32×32)의 블록에 대해서도 동일/유사하게 적용될 수 있다.
도 23을 참조하면, 도 23(a)는 인트라 예측 모드가 DC 모드인 경우 기존 방식에 따라 필터링이 수행되는 위치를 예시하고 도 23(b)는 본 발명에 따라 필터링이 수행되는 위치를 예시한다. 도 23(a)에 예시된 바와 같이, 기존 방법에서는 인트라 예측 모드가 DC 모드인 경우 현재 블록(예, TU)의 좌측 경계 및 상단 경계의 샘플 모두(예, x0~x7)에 대해 필터링이 수행된다. 따라서, 기존 방법에 따르면 현재 블록의 크기가 nTbS일 때 2*nTbS-1(예, 15) 만큼의 필터링 연산이 수행될 수 있다. 하지만, 본 발명에 따르면 복원 샘플 위치에 해당하는 우측 상단 및 좌측 하단 코너 샘플(예, x7)에 대해서만 필터링이 수행되므로 2번의 필터링만이 수행될 수 있다. 따라서, 13번 만큼 필터링 연산을 생략할 수 있으므로 축소 영상(또는 썸네일 영상) 추출에 필요한 연산량과 처리 시간을 줄일 수 있다.
도 24는 본 발명이 적용될 수 있는 장치의 블록도를 예시한다. 본 발명은 영상 처리를 수행할 수 있는 장치에 적용될 수 있다. 예를 들어, 본 발명이 적용될 수 있는 장치는 스마트폰 등과 같은 이동 단말, 랩톱 컴퓨터 등과 같은 휴대용 기기, 디지털 TV, 디지털 비디오 플레이어 등과 같은 가전 제품 등을 포함할 수 있다.
메모리(12)는 프로세서(11)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 부호화된 비트스트림, 복호화된 영상, 제어 정보, 본 발명에 따라 추출된 축소 영상(또는 썸네일 영상)을 저장할 수 있다. 메모리(12)는 각종 영상 신호를 위한 버퍼로서 활용될 수 있다. 메모리(12)는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등과 같은 저장 장치로서 구현될 수 있다.
프로세서(11)는 통상적으로 영상 처리 장치 내 모듈의 전반적인 동작을 제어한다. 특히, 프로세서(11)는 본 발명을 수행하기 위한 각종 제어 기능을 수행할 수 있다. 프로세서(11)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 프로세서(11)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 하드웨어를 이용하여 본 발명을 구현하는 경우에는, 본 발명을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 프로세서(11)에 구비될 수 있다. 한편, 펌웨어나 소프트웨어를 이용하여 본 발명을 구현하는 경우에는 본 발명의 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있으며, 본 발명을 수행할 수 있도록 구성된 펌웨어 또는 소프트웨어는 프로세서(11) 내에 구비되거나 메모리(12)에 저장되어 프로세서(11)에 의해 구동될 수 있다.
또한, 장치(10)는 네트워크 인터페이스 모듈(network interface module, NIM)(13)을 선택적으로(optionally) 포함할 수 있다. 네트워크 인터페이스 모듈(13)은 프로세서(11)와 동작시 연결(operatively connected)되며, 프로세서(11)는 네트워크 인터페이스 모듈(13)을 제어하여 무선/유선 네트워크를 통해 정보 및/또는 데이터, 신호, 메시지 등을 나르는 무선/유선 신호를 전송 또는 수신할 수 있다. 네트워크 인터페이스 모듈(13)은 예를 들어 IEEE 802 계열, 3GPP LTE(-A), ATSC(Advanced Television System Committee), DVB(Digital Video Broadcasting) 등과 같은 다양한 통신 규격을 지원하며, 해당 통신 규격에 따라 제어 정보 및/또는 부호화된 비트스트림과 같은 영상 신호를 송수신할 수 있다. 네트워크 인터페이스 모듈(13)은 필요에 따라 장치에 포함되지 않을 수 있다.
또한, 장치(10)는 입출력 인터페이스(14)를 선택적으로(optionally) 포함할 수 있다. 입출력 인터페이스(14)는 프로세서(11)와 동작시 연결(operatively connected)되며, 프로세서(11)는 입출력 인터페이스(14)를 제어하여 제어 신호 및/또는 데이터 신호를 입력받거나 출력할 수 있다. 입출력 모듈(14)은 예를 들어 키보드, 마우스, 터치패드, 카메라 등과 같은 입력 장치와 디스플레이 등과 같은 출력 장치와 연결될 수 있도록 USB(Universal Serial Bus), Bluetooth, NFC(Near Field Communication), 직렬/병렬 인터페이스, DVI(Digital Visual Interface), HDMI(High Definition Multimedia Interface) 등과 같은 규격을 지원할 수 있다.
이상에서 설명된 방법들 및 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 방법 및 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태를 포함하는 소프트웨어 코드 또는 명령어(instruction)로 구현될 수 있다. 소프트웨어 코드 또는 명령어는 컴퓨터 판독가능한 매체에 저장되어 프로세서에 의해 구동될 수 있으며 프로세서에 의해 구동될 때 본 발명에 따른 동작들을 수행할 수 있다. 상기 컴퓨터 판독가능한 매체는 상기 프로세서 내부 또는 외부에 위치하거나 원격으로 네트워크를 통해 상기 프로세서와 연결될 수 있으며, 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 영상 처리 장치에서 이용될 수 있다.

Claims (5)

  1. 영상 신호로부터 축소 영상을 추출하기 위한 방법에 있어서,
    상기 영상 신호로부터 현재 블록을 포함하는 코딩 블록의 인트라 예측 모드를 획득하는 단계;
    상기 획득된 인트라 예측 모드를 기반으로 상기 현재 블록에서 하나 이상의 샘플을 복원하는 단계; 및
    상기 복원된 하나 이상의 샘플에서 적어도 하나의 샘플을 추출하는 단계를 포함하되,
    상기 하나 이상의 샘플은 상기 현재 블록 내에서 특정 경계 및 상기 적어도 하나의 샘플 위치에서만 복원되고,
    상기 인트라 예측 모드가 제1 범위의 값 중에서 하나에 해당하는 경우, 상기 특정 경계는 상기 현재 블록 내에서 좌측 경계 및 상단 경계에 해당하고,
    상기 인트라 예측 모드가 제2 범위의 값 중에서 하나에 해당하는 경우, 상기 특정 경계는 상기 현재 블록 내에서 상기 좌측 경계에 해당하고,
    상기 인트라 예측 모드가 제3 범위의 값 중에서 하나에 해당하는 경우, 상기 특정 경계는 상기 상단 경계에 해당하는, 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 인트라 예측 모드가 제3 범위의 값 중에서 하나에 해당하고, 상기 코딩 블록이 슬라이스의 상단 경계에 위치하고, 상기 현재 블록이 상기 코딩 블록 내에서 상단 경계에 위치하는 경우, 상기 복원되는 하나 이상의 샘플은 상기 현재 블록 내에서 우측 상단 코너 샘플을 포함하고,
    상기 인트라 예측 모드가 제2 범위의 값 중에서 하나에 해당하고, 상기 코딩 블록이 슬라이스의 좌측 경계에 위치하고, 상기 현재 블록이 상기 코딩 블록 내에서 좌측 경계에 위치하는 경우, 상기 복원되는 하나 이상의 샘플은 상기 현재 블록 내에서 좌측 하단 코너 샘플을 포함하는, 방법.
  4. 제1항에 있어서,
    상기 복원하는 단계는
    상기 인트라 예측 모드가 수직 모드를 지시하는 경우 상기 현재 블록 내에서 좌측 경계에 위치하는 샘플에 대해 필터링하는 것과,
    상기 인트라 예측 모드가 수평 모드를 지시하는 경우 상기 현재 블록 내에서 상단 경계에 위치하는 샘플에 대해 필터링하는 것과,
    상기 인트라 예측 모드가 DC 모드를 지시하는 경우 상기 현재 블록 내에서 좌측 경계 및 상단 경계에 위치하는 샘플에 대해 필터링하는 것을 포함하되,
    상기 인트라 예측 모드가 수직 모드를 지시하는 경우, 상기 필터링은 상기 현재 블록 내에서 좌측 하단 코너 샘플에 대해서만 수행되고,
    상기 인트라 예측 모드가 수평 모드를 지시하는 경우, 상기 필터링은 상기 현재 블록 내에서 우측 상단 코너 샘플에 대해서만 수행되고,
    상기 인트라 예측 모드가 DC 모드를 지시하는 경우, 상기 필터링은 상기 현재 블록 내에서 좌측 하단 코너 샘플 및 우측 상단 코너 샘플에 대해서만 수행되는, 방법.
  5. 제1항에 있어서,
    상기 복원된 하나 이상의 샘플들에 대해 인루프 필터링은 수행되지 않는, 방법.
KR1020140171877A 2014-12-03 2014-12-03 비디오 신호 처리 방법 및 이를 위한 장치 KR102331599B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140171877A KR102331599B1 (ko) 2014-12-03 2014-12-03 비디오 신호 처리 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140171877A KR102331599B1 (ko) 2014-12-03 2014-12-03 비디오 신호 처리 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20160066743A KR20160066743A (ko) 2016-06-13
KR102331599B1 true KR102331599B1 (ko) 2021-11-30

Family

ID=56191047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140171877A KR102331599B1 (ko) 2014-12-03 2014-12-03 비디오 신호 처리 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102331599B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242497A (ja) 2002-01-10 2003-08-29 Ricoh Co Ltd 低解像度画像作製方法及び装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101432775B1 (ko) * 2008-09-08 2014-08-22 에스케이텔레콤 주식회사 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
KR20110138098A (ko) * 2010-06-18 2011-12-26 삼성전자주식회사 영상 인트라 예측 방법 및 장치 및 그를 적용한 영상 디코딩 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242497A (ja) 2002-01-10 2003-08-29 Ricoh Co Ltd 低解像度画像作製方法及び装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
O. Eerenberg, et al. PVR System Design of Advanced Video Navigation Reinforced with Audible Sound. IEEE Trans. on Consumer Elec. Vol.60, No.4, Nov. 2014, pp.681-689*

Also Published As

Publication number Publication date
KR20160066743A (ko) 2016-06-13

Similar Documents

Publication Publication Date Title
RU2765234C1 (ru) Способ внутреннего предсказания и кодер и декодер, использующие его
KR102610233B1 (ko) 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
KR102349176B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
JP7241680B2 (ja) ビデオコーディングにおけるイントラ予測のための改善された補間フィルタ
CN112954368B (zh) 处理视频信号的方法及其设备
KR102602614B1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20210006993A (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치
AU2019249440A1 (en) Position dependent intra prediction combination extended with angular modes
EP3900336A1 (en) Adaptive loop filtering classification in video coding
KR20160135226A (ko) 비디오 코딩에서 인트라 블록 카피를 위한 검색 영역 결정
KR20240018691A (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
KR20210037725A (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치
US20130170562A1 (en) Deblocking decision functions for video coding
WO2019010289A1 (en) UNBLOCKING FILTERING FOR 360 DEGREE VIDEO CODING
KR20200096227A (ko) 블록 형상에 기초한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
KR20230081701A (ko) 비디오 코딩 동안 조인트-컴포넌트 뉴럴 네트워크 기반 필터링
EP3764646A1 (en) Image filtering method and apparatus, and video codec
KR20220058582A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20230062685A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR102640142B1 (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
KR102605674B1 (ko) 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
KR20220050966A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220050183A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20210133300A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR102331599B1 (ko) 비디오 신호 처리 방법 및 이를 위한 장치

Legal Events

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