KR20130116840A - 비디오 부호화 장치 - Google Patents

비디오 부호화 장치 Download PDF

Info

Publication number
KR20130116840A
KR20130116840A KR1020130109442A KR20130109442A KR20130116840A KR 20130116840 A KR20130116840 A KR 20130116840A KR 1020130109442 A KR1020130109442 A KR 1020130109442A KR 20130109442 A KR20130109442 A KR 20130109442A KR 20130116840 A KR20130116840 A KR 20130116840A
Authority
KR
South Korea
Prior art keywords
mode
current block
signal
color difference
intra prediction
Prior art date
Application number
KR1020130109442A
Other languages
English (en)
Other versions
KR101591354B1 (ko
Inventor
김휘용
박광훈
김경용
임성창
이진호
최진수
김진웅
Original Assignee
한국전자통신연구원
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 경희대학교 산학협력단 filed Critical 한국전자통신연구원
Publication of KR20130116840A publication Critical patent/KR20130116840A/ko
Application granted granted Critical
Publication of KR101591354B1 publication Critical patent/KR101591354B1/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/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/18Methods 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 set of transform coefficients
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 발명은 부호화 방법 및 복호화 방법과 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 부호화 방법은 현재 블록에 대한 화면 내 예측 모드를 특정하는 단계 및 상기 현재 블록의 화면 내 예측에 의한 잔여 신호를 스캐닝하는 단계를 포함하며, 상기 잔여 신호를 스캐닝하는 단계에서는, 상기 현재 블록의 휘도 샘플에 대한 화면 내 예측 모드에 따라서 상기 현재 블록의 휘도 신호 및 색차 신호에 대한 스캐닝 타입을 결정할 수 있다.

Description

부호화 방법 및 복호화 방법 그리고 이를 이용하는 장치{Method And Apparatus For Encoding And Decoding}
본 발명은 영상 부호화 및 복호화 기술에 관한 것으로서, 더 구체적으로는 색차(chroma) 신호에 대한 주파수 변환 방식 및/또는 스캔 방식을 결정하는 방법과 이를 이용하는 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며, 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다.
HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 현재 픽처의 픽셀 정보를 예측에 의해 부호화할 수 있다. 예컨대, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 픽셀값을 예측하는 화면 간(inter) 예측 기술, 현재 픽처 내의 픽셀 정보를 이용하여 현재 픽처에 포함된 픽셀값을 예측하는 화면 내(intra) 예측 기술이 적용될 수 있다.
픽셀 정보를 휘도에 관한 휘도 신호와 색차에 관한 색차 신호가 있으며, 인간의 시각이 휘도에 더 민감한 점을 이용하여 휘도 신호와 색차 신호를 다르게 다룰 수도 있으며, 또한, 동일하게 다룰 수도 있다.
따라서, 색차 신호와 휘도 신호를 구분하여 효과적으로 다루는 방법이 문제된다.
본 발명은 비디오 부호화/복호화에 있어서 부호화/복호화 효율을 높이는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 색차 신호에 대한 효율적인 주파수 변환 방법 및 장치 그리고 색차 신호에 대한 효율적인 스캔 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시 형태에서는 색차 신호에 대한 주파수 변환 방식 및 스캔 방식을 선택함에 있어서, 색차 신호의 화면 내 예측 모드에 따라 주파수 변환 방식을 다르게 적용할 수 있으며, 화면 내 예측 모드에 따라 스캔 방식을 다르게 결정할 수도 있다.
본 발명의 다른 실시 형태에서는 상기 현재 블록의 휘도 샘플에 대한 화면 내 예측 모드에 따라서 상기 현재 블록의 휘도 신호 및 색차 신호에 대한 스캐닝 타입을 결정할 수 있다.
이때, 색차 신호에 대한 스캐닝 타입은 휘도 신호에 대한 스캐닝 타입을 동일하게 적용할 수 있다. 혹은 색차 신호에 대한 스캐닝 타입은 휘도 신호에 대한 스캐닝 타입을 결정하는 방법과 동일한 방법으로 결정될 수도 있다.
본 발명에 의하면, 비디오 부호화/복호화에 있어서 부호화/복호화 효율을 높일 수 있다. 구체적으로, 본 발명에 의하면, 색차 신호에 대한 주파수 변환 및/또는 스캔을 효율적으로 수행할 수 있다.
또한, 본 발명에 의하면, 색차 신호에 대하여 주파수 변환 방식과 스캐닝 방법을 선택함에 있어서, 색차 신호의 화면 내 예측 방향 모드에 따라 색차 신호에 대한 주파수 변환 방식을 적용하고 그리고(또한) 색차 신호에 대한 스캐닝 방향을 유도하는 방법 및 장치를 이용하여 색차 신호의 잔여 신호에 대한 부호화 효율을 높일 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 영상을 부호화할 때 LCU 내에서 CU를 분할하는 방법의 일 예를 간단히 나타낸 것이다.
도 4는 PU의 분할 구조에 관한 예들을 개략적으로 설명하는 도면이다.
도 5는 CU 내 TU의 분할 구조의 일 예를 간단히 나타낸 것이다.
도 6은 화면 내 예측의 모드들을 개략적으로 설명하는 것이다.
도 7은 수식 1의 관계를 개략적으로 설명하는 도면이다.
도 8은 중요 그룹 플래그 및 변환 계수에 대한 상단 우측 방향 스캐닝의 일 예를 설명하는 도면이다.
도 9은 화면 예측 방향에 따라서 스캐닝 방향을 결정하는 방법의 일 예를 설명하는 순서도이다.
도 10는 화면 예측 방향에 따라서 스캐닝 방향을 결정하는 방법의 다른 예를 간단히 설명하는 순서도이다.
도 11은 잔여 영상에 대한 주파수 변환 방식을 선택하는 방법의 일 예를 설명하는 순서도이다.
도 12은 본 실시예에 따라서 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 일 예를 설명하는 순서도이다.
도 13은 본 실시예에 따라서 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 14는 본 실시예에 따라서 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 일 실시예를 나타내는 순서도이다.
도 15는 본 실시예에 따라서, 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 16은 본 실시예에 따라서 색차 신호의 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 일 예를 설명하는 순서도이다.
도 17은 본 실시예에 따라서, 색차 신호의 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 18은 본 실시예에 따라서, 색차 신호의 LM 모드에 대하여 휘도 신호의 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법을 설명하는 순서도이다.
도 19는 본 실시예에 따라서 색차 신호의 Intra_FromLuma(LM) 부호화 모드에 대하여 휘도 신호의 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 20은 본 실시예에 따라서 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 일 예를 설명하는 순서도이다.
도 21는 본 실시예에 따라서 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 22는 휘도 블록과 색차 블록 간의 해상도 차이의 일 예를 나타낸 것이다.
도 23은 휘도 블록과 색차 블록 간의 해상도 차이를 설명하는 다른 예이다.
도 24는 본 발명에 따른 부호화 장치의 다른 예를 도시한 것이다.
도 25는 본 발명에 따른 복호화 장치의 다른 예를 도시한 것이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 매개변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 이때, 양자화 행렬은 부호화기에 입력되어질 수 있으며, 입력되어진 양자화 행렬이 부호화기에서 사용되기로 결정될 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.
양자화된 계수는 역양자화부(220)에서 양자화 매개변수를 이용해서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다.
역양자화에 사용되는 양자화 행렬은 스케일링 리스트라고도 불린다. 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용하여 역양자화된 계수를 생성할 수 있다.
이때 역양자화부(220)는 부호화기에서 적용된 양자화에 대응하여 역양자화를 수행할 수 있다. 예컨대, 역양자화부(220)는 부호화기에서 적용된 양자화 행렬을 양자화된 계수에 역으로 적용하여 역양자화를 수행할 수 있다.
영상 복호화 장치(200)에서 역양자화에 사용되는 양자화 행렬은 비트스트림으로부터 수신될 수도 있고, 부호화기 및/혹은 복호화기가 이미 보유한 기본 행렬이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트를 통해 양자화 행렬 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 수신될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 수신되고, 8x8 변환 블록을 위한 8x8 행렬들이 수신되고, 16x16 변환 블록을 위한 16x16 행렬들이 수신되고, 32x32 변환 블록을 위한 32x32 행렬들이 수신될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
HEVC에서는 영상을 효율적으로 부호화하기 위해서 부호화 단위(Coding Unit, 이하 ‘CU’)별로 부호화를 수행할 수 있다.
도 3은 영상을 부호화할 때 최대 크기 CU(Largest Coding Unit, 이하 ‘LCU’) 내에서 CU를 분할하는 방법의 일 예를 간단히 나타낸 것이다.
부호화 장치에 입력된 영상은 도 3에서와 같이 LCU 단위로 순차 분할된 후, LCU 단위에서 분할 구조가 결정될 수 있다.
분할 구조는 LCU 내에서 영상을 효율적으로 부호화하기 위한 CU들의 분포를 의미한다. CU들의 분포는 CU를 크기가 가로 세로 절반씩 감소한 4개의 CU로 분할할지를 결정함으로써 특정될 수 있다. 분할된 CU는 같은 방식으로 가로 세로 절반씩 감소한 4개의 CU로 재귀적으로 분할할 수 있다.
이 때, CU의 분할은 미리 정의된 깊이까지 수행될 수도 있다. , 깊이 정보는 CU의 크기를 나타내는 정보로써 모든 CU에 저장되어 있다. 기본이 되는 LCU의 깊이는 0이고, 최소 크기 CU(Smallest Coding Unit, 이하 ‘SCU’)의 깊이는 미리 정의된 최대 깊이이다.
LCU로부터 가로 세로 절반으로 분할을 수행할 때마다 CU의 깊이가 1씩 증가한다. 각각의 깊이에서, 분할이 수행되지 않는 CU의 경우에는 2Nx2N의 크기를 가지며, 분할이 수행되는 경우에 분할 전 2Nx2N의 CU는 NxN 크기의 CU 4개로 분할된다.
CU의 크기는 깊이가 1씩 증가할 때마다 절반으로 감소한다. 도 3에서는 최소 깊이가 0인 LCU의 크기가 64x64 화소이고, 최대 깊이가 3인 SCU의 크기가 8x8 화소인 경우를 예로서 설명한다.
도 3의 예에서 64x64 화소의 CU(LCU)는 깊이가 0이고, 32x32 화소의 CU는 깊이가 1이며, 16x16 화소의 CU는 깊이가 2이고, 8x8 화소의 CU(SCU)는 깊이가 3이다.
또한 CU를 분할할지에 대한 정보는 CU마다 1비트의 분할 정보를 통해 표현한다. 이 분할 정보는 SCU를 제외한 모든 CU에 포함되어 있으며, CU를 분할하지 않을 경우에는 분할 정보의 값을 0으로, 분할할 경우에는 분할 정보의 값을 1로 설정할 수있다.
예측 단위(Prediction Unit, 이하 ‘PU’)는 예측의 단위이다.
도 4는 PU의 분할 구조에 관한 예들을 개략적으로 설명하는 도면이다.
도 4의 예들과 같이, 하나의 CU는 여러 개의 PU들로 분할되어 예측이 수행될 수 있다.
변환 단위(Transform Unit, 이하 ‘TU’)는 CU 내에서 공간 변환과 양자화 과정에 사용되는 기본 단위이다. TU는 정사각형 형태 혹은 직사각형 형태를 가질 수 있다.
각 CU는 하나 혹은 그 이상의 TU 블록을 가질 수 있으며, 이는 쿼드 트리(quad-tree)의 구조를 가진다.
도 5는 CU 내 TU의 분할 구조의 일 예를 간단히 나타낸 것이다. 도시된 바와 같이, CU(510) 내에서 TU들은 쿼드 트리 구조를 따라서 다양한 크기를 가질 수 있다.
화면 내 예측(intra prediction) 부호화/복호화에서는 현재 블록의 주변 블록으로부터 방향성에 따른 예측 부호화를 수행할 수 있다.
화면 내 예측에서는 33 가지의 방향성 예측 모드와 3가지의 비방향성 예측 모드를 더하여 총 36가지의 예측 모드를 가지고 부호화/복호화를 수행한다.
도 6은 화면 내 예측의 모드들을 개략적으로 설명하는 것이다.
36가지의 화면 내 예측 방향 모드 중에서 방향성이 없는 3가지는 모드는 평면 모드(Planar; Intra_Planar), 평균모드(DC; Intra_DC), 그리고 복원된 휘도 신호로부터 색차 신호를 예측하는 모드(LM; Intra_FromLuma)가 존재한다. 화면 내 예측에서는 이 세 가지 비방향성 모드를 모두 사용할 수 있고, 이중 일부만을 이용할 수도 있다. 예컨대, 평면 모드와 평균 모드만을 사용하고 LM 모드를 사용하지 않을 수 있다.
36가지의 화면 내 예측 방향 모드에 대한 부호화는 휘도 신호 및 색차 신호에 각각 적용될 수 있다. 휘도 신호의 경우, LM 모드는 제외될 수 있으며, 색차 신호의 경우, 화면 내 예측 방향 모드에 대한 부호화는 표 1과 같이 3가지 방법으로 수행될 수 있다.
<표 1>
Figure pat00001
표 1에서 첫 번째로 휘도 신호의 화면 내 예측 방향 모드를 색차 신호의 화면 내 예측 방향 모드로 그대로 적용하는 유도된 모드(DM: Derived Mode)가 존재하며, 두 번째로 실제 화면 내 예측 방향 모드를 부호화 모드(EM: Explicit Mode)가 존재한다. EM 모드로 부호화되는 색차 신호의 화면 내 예측 방향 모드는 평면 모드(Planar), 평균 모드(DC), 수평모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드) 가 존재한다. 마지막으로 복원된 휘도 신호로부터 색차 신호를 예측하는 LM 모드가 존재한다.
이 세 가지 모드 부호화/복호화 방법 중에서 가장 효율이 좋은 것이 선택될 수 있다.
색차 신호를 예측하여 부호화/복호화 하는 방법으로 복원된 휘도 신호 샘플로부터 색차 신호를 예측하는 방법(Intra_FromLuma)을 이용할 수도 있다. 이 기술은 색차 신호와 휘도 신호의 선형적 상관관계를 이용한다. 이때 이용되는 선형적 상관 관계의 일 예는 수식 1과 같다.
<수식 1>
Figure pat00002
도 7은 수식 1의 관계를 개략적으로 설명하는 도면이다.
수식 1의 Predc[x,y]는 도 7(a)의 색차(chroma) 신호의 예측 값을 의미하고, RecL[x,y]는 색차 신호의 4:2:0 샘플링 비율을 맞추기 위해 휘도(luma) 신호를 수식 2를 통해 계산한 값을 의미한다.
<수식 2>
Figure pat00003
수식 2에서 α 값과 β값은 다운 샘플링된 휘도 신호와 색차 신호 간의 가중치(α) 및 보상값(β)을 나타낸다.
수식 1 및 2를 통해 취득된 색차 신호에 대한 예측 영상을 이용하여 원본 영상과의 차인 차분 영상이 생성될 수 있다.
차분 영상은 주파수 영역 변환과 양자화를 거쳐 엔트로피 부호화 된다. 아울러, 주파수 영역 변환에는 정수 변환, 정수 이산여현변환(DCT), 정수 이산정현변환(DST), 또는 화면 내 예측모드 종속적인 DCT/DST 등이 있을 수 있다.
앞에서 살펴본 것과 같이, 원본 영상과 예측 영상의 차분 영상은 주파수 영역 변환과 양자화를 거친 후 엔트로피 부호화될 수 있다. 이때 엔트로피 부호화의 효율을 높이고자 2차원 형태의 양자화된 영상의 계수를 1차원 형태로 재정렬할 수 있다.
기존의 경우에는 지그재그 스캔닝 방법을 사용하였다. 이와 다르게 본 명세서에서는 양자화 계수에 대한 스캐닝 방법으로서 지그재그 스캐닝 방법이 아닌 상단우측 방향(Up-right)을 사용할 수 있다. 아울러, 주파수 영역 변환에는 정수 변환, 정수 이산여현변환(DCT), 정수 이산정현변환(DST), 또는 화면 내 예측 모드 종속적인 DCT/DST 등이 있을 수 있다.
임의의 블록에 대한 양자화 계수는 4x4 크기의 서브 블록의 그룹으로 나누어져 부호화/복호화 될 수 있다.
도 8은 중요 그룹 플래그 및 변환 계수에 대한 상단 우측 방향 스캐닝의 일 예를 설명하는 도면이다.
도 8은 16x16 크기의 블록을 4x4크기의 서브 블록 16개로 나누어 부호화하는 예를 보여준다.
도 8(a)는 스캐닝의 기본적인 방법을 도시한 것이며, 도 8(b)는 실제 양자화 계수를 스캐닝하는 경우의 예와 그 결과를 간단히 보여준다.
복호화 과정에서 각 서브 블록에 변환 계수가 존재하는지 여부는 비트스트림으로 부터 파싱된 significant_coeff_group_flag (sigGrpFlag)를 통해 확인할 수 있다. significant_coeff_group_flag 값이 ‘1’이면, 해당 4x4 서브 블록에 양자화된 변환 계수가 하나라도 존재하는 것을 의미하며, 반대로 significant_coeff_group_flag 값이 ‘0’이면, 해당 4x4 서브 블록에 양자화된 변환 계수가 존재하지 않는다는 것을 의미한다. 에서의 4x4 서브 블록에 대한 스캐닝 방향 및 significant_coeff_group_flag에 대한 스캐닝 방향은 모두 기본적으로 상단 우측(Up-right) 스캐닝 방향이 적용되었다.
도 8에서는 상단우측 방향의 스캐닝 방법이 적용되는 것을 설명하였으나, 양자화 계수에 대한 스캐닝 방법에는 상단우측 방향(Up-right), 수평 방향(Horizontal), 수직 방향(Vertical)이 있다.
화면 간 예측에서는 상단 우측 방향(Up-right) 스캐닝 방법을 기본적으로 사용할 수 있으며, 화면 내 예측에서는 상단우측 방향(Up-right), 수평 방향(Horizontal), 수직 방향(Vertical)을 선택적으로 사용할 수 있다.
화면 내 예측에서 스캐닝 방향은 화면 내 예측 방향에 따라 다르게 선택될 수 있으며, 휘도 신호 및 색차 신호에 모두 적용될 수도 있다.
표 2는 화면 예측 방향에 따라 스캐닝 방향을 결정하는 방법의 일 예를 설명하는 것이다.
<표 2>
Figure pat00004
표 2에서 “IntraPredModeValue”는 화면 내 예측 방향을 의미하며, 휘도 신호의 경우는 IntraPredMode 값에 해당하고 색차 신호의 경우는 IntraPredModeC 값에 해당한다. 또한, “log2TrafoSize”는 현재 변환 블록의 크기를 ‘log’를 사용하여 표시한 것을 의미한다.
예를 들어, IntraPredModeValue가 ‘1’이라는 것은 “Intra_DC” 모드를 뜻하며, “log2TrafoSize-2”가 ‘1’이라는 것은 8x8 블록을 의미한다.
또한, 표 2에서 IntraPredModeValue 와 log2TrafoSize 에 의해 결정되는 수 0, 1,2는 스캔 방향을 특정한다. 예컨대, 표 2에서 2는 상단우측 스캔 방향(Up-right)을 나타내고, 1은 수평 스캔 방향(Horizontal)을 나타내며, 2는 수직 스캔 방향(Vertical)을 나타낸다.
은 화면 예측 방향에 따라서 스캐닝 방향을 결정하는 방법의 일 예를 설명하는 순서도이다.
에서 IntraPredMode는 휘도 신호에 대한 화면 내 예측 방향 모드를 의미하며, IntraPredModeC는 색차 신호에 대한 화면 내 예측 방향 모드를 의미한다. IntraPredMode(C)는 신호의 성분에 따라 휘도 신호도 될 수 있으며 색차 신호도 될 수 있다. ScanType은 잔차신호 스캐닝 방향을 의미하며, 상단우측 방향(DIAG; Up-right = 0), 수평 방향(HOR; Horizontal = 1), 수직 방향(VER; Vertical = 2)이 있다.
도 9의 예는 인코더 장치와 디코더 장치에서 수행될 수 있다. 또한, 인코더 장치와 디코더 장치 내 소정의 모듈에서 수행될 수도 있다.
는 화면 예측 방향에 따라서 스캐닝 방향을 결정하는 방법의 다른 예를 간단히 설명하는 순서도이다.
도 10의 예에서는 휘도 신호에 대한 스캐닝 방법과 색차 신호에 대한 스캐닝 방법이 다르게 표현되어 있다. 상기 도면에서 인덱스(Index)는 변환의 크기를 나타내는 지시자이며, 각 변환 크기에 따른 Index 값은 다음과 같이 구할 수 있다.
변환 크기가 64x64이면 Index = 1, 변환 크기가 32x32이면 Index = 2, 변환 크기가 16x16이면 Index = 3, 변환 크기가 8x8이면 Index = 4, 변환 크기가 4x4이면 Index = 5, 변환 크기가 2x2이면 Index = 6이 된다.
따라서, 상기 도면을 통해 화면 내 예측 방향에 따른 스캐닝은 휘도 신호의 경우는 8x8 변환 크기와 4x4 변환 크기에 적용하고 있으며 색차 신호의 경우는 가장 작은 크기인 4x4 변환 크기에만 적용하고 있음을 알 수 있다. 또한, 화면 내 예측 방향에 따른 스캐닝을 적용하지 않는 경우는 모두 상단우측 방향(DIAG; Up-right = 0) 스캐닝을 적용할 수 있다.
화면 내 예측에서 양자화 계수를 부호화하기 위해 표 2로부터 구해진 스캐닝 방향은 8에서와 같이 4x4 서브 블록에 대한 스캐닝 방향 및 significant_coeff_group_flag에 대한 스캐닝 방향으로 사용될 수 있다.
앞에서 살펴본 것과 같이, 인코딩 과정에서 원본 영상과 예측 영상의 차분 영상(잔여 영상)은 주파수 영역 변환과 양자화를 거친 후 엔트로피 부호화된다. 이때 주파수 영역 변환으로 인한 부호화의 효율을 높이고자 정수 변환, 정수 이산여현변환(DCT), 정수 이산정현변환(DST), 또는 화면 내 예측모드 종속적인 DCT/DST 등을 블록의 크기에 따라 선택적, 적응적으로 적용될 수 있다.
또한 디코딩 과정에서는 엔트로피 복호화, 역양자화, 주파수 영역의 역변환을 거쳐 차분 영상이 복호화된다. 이때는 정수 역변환, 정수 이산여현역변환, 정수 이산정현역변환 또는 화면 내 예측 모드 종속적인 DCT/DST 등을 블록 크기에 따라 선택적 혹은 적응적으로 이용할 수 있다.
은 잔여 영상에 대한 주파수 변환 방식을 선택하는 방법의 일 예를 설명하는 순서도이다.
우선 현재 블록이 화면 내 부호화(Intra)로 부호화되었고 그리고 휘도 신호(Luma)의 블록이 아니라면, 현재 블록의 휘도 신호 및 색차 신호의 잔여 영상에 대한 주파수 변환 방식은 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다.
그렇지 않다면(현재 블록이 화면 내 부호화(Intra)로 부호화되었고 그리고 휘도 신호(Luma)의 블록이라면), 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드(IntraPredMode)를 획득한다.
다음으로 현재 블록이 4x4 크기(iWidth == 4)의 블록인지를 확인한다. 만일 현재 블록이 4x4 크기(iWidth == 4)의 블록이 아니라면, 현재 블록의 휘도 신호 및 색차 신호의 잔여 영상에 대한 주파수 변환 방식은 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다.
그렇지 않다면(현재 블록이 4x4 크기(iWidth == 4)의 블록이라면), 현재 블록의 화면 내 예측 방향 모드를 검사한다.
만일 현재 블록의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면, 현재 블록의 휘도 신호에 대한 주파수 변환 방식으로 수평방향은 정수 이산정현변환(DST)을 적용하고 수직방향은 정수 이산여현변환(DCT)을 적용한다.
현재 블록의 색차 신호에 대한 주파수 변환 방식은 수평수직 방향 모두에 정수 이산여현변환(DCT)를 수행한다.
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘0’이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면, 현재 블록의 휘도 신호에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산정현변환(DST)을 적용한다.
현재 블록의 색차 신호에 대한 주파수 변환 방식은 수평 수직 방향 모두에 정수 이산여현변환(DCT)를 수행한다.
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면, 현재 블록의 휘도 신호에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용한다.
현재 블록의 색차 신호에 대한 주파수 변환 방식은 수평 수직 방향 모두에 정수 이산여현변환(DCT)를 수행한다.
그렇지 않다면, 현재 블록의 휘도 신호 및 색차 신호의 잔여 영상에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산여현변환(DCT)을 적용한다.
에서 iWidth는 변환의 크기를 나타내는 지시자이며, 각 변환 크기에 따른 iWidth값은 다음과 같이 구할 수 있다.
변환 크기가 64x64 이면 iWidth = 64, 변환 크기가 32x32이면 iWidth = 32, 변환 크기가 16x16이면 iWidth = 16, 변환 크기가 8x8이면 iWidth = 8, 변환 크기가 4x4이면 iWidth = 4, 변환 크기가 2x2이면 iWidth = 2가 된다.
과 관련하여, 스케일된 변환 계수를 위한 변환 과정(Transformation process for scaled transform coefficients)은 다음과 같다.
< 스케일된 변환 계수를 위한 변환 과정>
여기서의 입력은 다음과 같다.
- 현재 변환 블록의 너비 Width: nW
- 현재 변환 블록의 높이 Height: nH
- 요소(element) dij를 가진 스케일된 변환 계수의 배열: (nWxnH) 배열(array) d
- 현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
- 만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
-스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열: (nWxnH) 배열(array) r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고 cIdx 값이 ‘0’이면, 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 아래 표 3을 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 3>
Figure pat00005
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력받아 수평 방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
다음으로 배열(nWxnH array e)을 입력 받아 배열(nWxnH array g)를 수식 3과 같이 유도한다.
<수식 3>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType 을 입력 받아 수직 방향으로 1차원 역변환을 수행한다.
이어서 cIdx에 따라 잔여 신호에 대한 배열 (nWxnH array r)을 수식 4와 같이 설정한다.
<수식 4>
rij = (fij+(1<<(shift-1)))>>shift
여기서 ‘shift’는 cIdx가 ‘0’일때는 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
상술한 바와 같이, 색차 신호를 예측하는 방법으로 복원된 휘도 신호 샘플로부터 색차 신호를 예측하는 방법(Intra_FromLuma)을 이용할 수도 있다.
Intra_FromLuma 방법을 이용하여 부호화된 색차 성분에 대한 잔여 신호(오차신호: residual)는 화면 내 방향 모드가 존재하지 않기 때문에 기본적으로 상단우측 방향(Up-right = 0)으로 스캐닝 되어 부호화가 수행된다.
그런데 Intra_FromLuma 방법이 휘도 신호와 색차 신호와의 유사성을 이용한 것이기 때문에 Intra_FromLuma 방법으로 얻어진 색차 신호에 대한 잔여 신호는 휘도 신호의 잔여 신호와 비슷한 특성을 지닐 가능성이 높다. 이러한 특성을 이용하여 색차 신호의 잔여 신호에 대한 부호화 효율을 높일 수 있다.
또한, 4x4 휘도 신호 블록에 대하여는 휘도 신호의 화면 내 예측 방향 모드에 따라 정수 이산여현변환(DCT) 및 정수 이산정현변환(DST)을 수평 수직 방향으로 다르게 적용하여 부호화 효율을 높였다. 이에 반해, 종래 4x4 색차 신호 블록에 대하서는 정수 이산여현변화(DCT)만을 사용하고 있다.
색차 신호의 잔여 영상에 대한 특성은 휘도 신호의 잔여 영상에 대한 특성과 유사할 가능성이 있다. 따라서 휘도 신호의 잔여 영상에 적용된 화면 내 예측 방향 모드에 따른 선택적 주파수 변환 방식을 색차 신호의 잔여 영상에도 적용하여 부호화 효율을 높일 수 있다.
또한 색차 신호를 예측하는 방법으로서 복원된 휘도 신호 샘플로부터 색차 신호를 예측하는 방법(Intra_FromLuma)은 휘도 신호와 색차 신호와의 유사성을 이용한 것이기 때문에 Intra_FromLuma 방법으로 얻어진 색차 신호에 대한 잔여 신호가 휘도 신호의 잔여 신호와 비슷한 특성을 지닐 가능성이 높다. 이러한 특성을 이용하여 색차 신호의 잔여 신호에 대한 선택적 주파수 변환 방식을 이용하여 부호화 효율을 높일 수 있다.
이처럼, Intra_FromLuma방법은 휘도 신호와 색차 신호와의 유사성을 이용한 화면 내 예측 방법이다. 휘도 신호와 색차 신호가 유사하다는 특성을 이용하여 색차 신호의 잔여신호에 대한 스캐닝 방향을 휘도 신호의 화면 내 예측 방향으로부터 유도할 수 있다.
본 명세서에서는 이하, 색차 신호에 대한 스캐닝 방향을 유도하는 방법 및 장치에 대하여 구체적으로 설명한다.
[ 실시예 1] 색차 신호에 대한 스캐닝 방향을 휘도 신호의 화면 내 예측 방향 모드로 유도하는 방법 및 장치
은 본 실시예에 따라서 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 일 예를 설명하는 순서도이다.
의 예에서 색차 신호에 대한 스캐닝 방향의 유도는 휘도 신호의 화면 내 예측 방향 모드로 결정될 수 있다. 다시 말해서, 휘도 신호에 대한 스캐닝 방향이 색차 신호에 그대로 적용될 수 있다. 따라서, 색차 신호의 스캐닝 방향을 유도하기 위한 계산이 필요 없으므로 복잡도 감소 효과가 존재한다.
도 12의 동작은 도 1의 인코딩 장치 및 도 2의 디코딩 장치에서 수행될 수 있다.
도 12를 참조하면, 현재 블록의 휘도 성분이 화면 내 예측 되었는지가 판단된다(S1210). 현재 블록이 화면 내 예측되지 않았으면(화면 간 예측 되었으면) 현재 블록의 색차 성분과 휘도 성분에 대해서는 상단 우측 방향의 스캐닝이 수행된다(S1260). 즉, 현재 블록의 휘도 성분에 대한 스캔 타입과 색차 성분에 대한 스캔 타입이 모두 상단 우측 방향의 스캔이 된다.
현재 블록의 휘도 성분이 화면 내 예측 되었고, 현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 6 이상 14 이하인 경우인지가 판단된다(S1220). 즉, 현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 수평 방향의 화면 내 예측 모드 또는 수평에 가까운 방향의 화면 내 예측 모드인 경우인지가 판단된다(S1220).
현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 6 이상 14 이하인 경우면, 현재 블록에 대한 휘도 성분과 색차 성분에 대해서는 수직 방향의 스캐닝이 수행된다(S1240). 즉, 현재 블록의 휘도 성분에 대한 스캔 타입과 색차 성분에 대한 스캔 타입이 모두 수직 방향의 스캔이 된다.
현재 블록의 휘도 성분이 화면 내 예측되었지만, 현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 6 이상 14 이하가 아니면, 현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 22 이상 30 이하인지가 판단된다(S1230). 즉, 현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 수직 방향의 화면 내 예측 모드 및 수직에 가까운 방향의 화면 내 예측 모드인지가 판단된다.
현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 22 이상 30 이하이면, 현재 블록에 대한 휘도 성분과 색차 성분에 대해서는 수평 방향의 스캐닝이 수행된다(S1250). 즉, 현재 블록의 휘도 성분에 대한 스캔 타입과 색차 성분에 대한 스캔 타입이 모두 수평 방향의 스캔이 된다.
현재 블록의 휘도 성분이 화면 내 예측되었지만, 현재 블록의 휘도 성분에 대한 화면 내 예측 모드가 6 이상 14 이하도 아니고 22 이상 30 이하도 아닌 경우에는, 현재 블록의 휘도 성분과 색차 성분에 대하여 상단 우측 방향의 스캔이 적용된다(S1260).
도 13은 본 실시예에 따라서 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 다른 예를 설명하는 순서도이다. 도 13의 예에 의하면, 휘도 신호에 대한 스캐닝 방법과 색차 신호에 대한 스캐닝 방법이 통일되는 효과를 얻을 수 있다.
도 13의 동작은 도 1의 부호화 장치 및 도 2의 복호화 장치에서 수행될 수 있다.
도 13을 참조하면, 먼저 현재 블록이 화면 내 예측 되었는지 판단된다(S1310).
화면 내 예측되지 않았으면, 현재 블록의 휘도 신호 및 색차 신호에 대해서는 상단 우측 방향의 스캔이 적용된다(S1390).
현재 블록이 화면 내 예측되었으면, 현재 블록의 크기가 인덱스로 전환된다(S1320). 예컨대, 현재 블록의 크기를 특정하는 인덱스가 설정될 수 있다.
이어서, 현재 블록의 화면 내 예측 모드에 관한 정보, IntraPredMode가 획득될 수 있다(S1330). 현재 블록에 대한 화면 내 예측 모드를 지시하는 정보 IntraPredMode는 도 6을 기반으로 획득될 수 있다.
현재 블록에 대해 S1320 단계에서 설정된 인덱스가 3보다 크고 6보다 작은 지가 판단된다(S1340). 현재 블록에 대한 인덱스가 3보다 크고 6보다 작은 경우가 아니면 현재 블록의 휘도 신호 및 색차 신호에 대해서는 상단 우측 방향의 스캔이 적용된다(S1390).
현재 블록에 대한 인덱스가 3보다 크고 6보다 작으면 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하인지가 판단된다(S1350). 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하이면, 현재 블록의 색차 신호에 대해서 수직 방향의 스캔이 적용된다(S1370).
현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하인 경우가 아니면, 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 22 이상 30 이하인지가 판단된다(S1360). 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 22 이상 30 이하인 경우, 현재 블록의 색차 신호에 대해 수평 방향의 스캔이 적용된다(S1380).
현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하도 아니고, 22 이상 30 이하도 아니라면, 현재 블록의 색차 신호에 대하여 상단 우측 방향의 스캔이 적용된다(S1390).
도 13의 예는 도 12의 예와 달리, 현재 블록의 색차 신호에 대한 화면 내 예측 모드를 판단하여 스캔 타입을 결정하지만, 도 12의 경우와 마찬가지로, 색차 신호와 휘도 신호의 스캐닝 방법이 동일한 방법으로 결정된다.
다시 말하면, 도 13은 순서도는 휘도 신호의 스캐닝에도 동일하게 적용될 수 있다. S1350 단계와 S1360에서 괄호를 사용하여 IntraPredMode(C)라고 나타낸 이유는 휘도 신호에 대해서는 IntraPredMode를 통해 휘도 신호에 대한 화면 내 예측 모드를 특정하여 적용하고, 색차 신호에 대해서는 IntraPredModeC를 통해 색차 신호에 대한 화면 내 예측 모드를 특정하여 적용할 수 있다는 것을 의미한다.
따라서, 도 13의 순서도는 휘도 신호와 색차 신호에 동일하게 적용할 수 있으며, 휘도 신호에 대한 스캐닝 타입과 색차 신호에 대한 스캐닝 타입은 동일한 방법으로 각각 결정될 수 있다. 이때, 스캐닝 타입은 수직 방향의 스캔, 수평 방향의 스캔, 상단 우측 방향의 스캔 중 어느 하나가 된다.
상술한 도 12 및 도 13의 예를 변환 단위(Transform Unit, 이하 ‘TU’라 함)에 대한 신택스 구조에 반영하면 표 4와 같다.
표 4는 본 실시예 1에 따른 TU 신택스의 일 예를 나타낸 것이다.
<표 4>
Figure pat00006
여기서 Transform_unit은 하나의 TU 블록에 대한 비트스트림 순서를 의미한다. log2TrafoSize는 입력된 log2TrafoWidth와 log2TrafoHeight 간의 합을 오른쪽 쉬프트(Shift) 연산한 결과를 의미하며, 휘도 신호에 대한 TU 블록 크기를 의미한다. log2TrafoSizeC는 색차 신호에 대한 TU 블록 크기를 의미한다.
PredMode는 현재 블록에 대한 부호화 모드를 의미하며, 화면 내 부호화의 경우 ‘Intra’ 이며, 화면 간 부호화의 경우 ‘Inter’이다. scanIdx는 현재 TU 블록의 휘도 신호에 대한 스캐닝 방향 정보를 나타내며, 상단 우측 방향(DIAG; Up-right = 0), 수평 방향(HOR; Horizontal = 1), 수직 방향(VER; Vertical = 2)이 있다.
scanIdxC는 현재 TU 블록의 색차 신호에 대한 스캐닝 방향 정보를 나타내며, 상단우측 방향(DIAG; Up-right = 0), 수평 방향(HOR; Horizontal = 1), 수직 방향(VER; Vertical = 2)이 있다.
ScanType는 의 화면 예측 방향에 따른 스캐닝 방향을 결정하는 방법의 테이블에 기반해서 결정된다.
IntraPredMode는 휘도 신호에 대한 화면 내 예측 방향 정보를 의미하며, IntraPredModeC는 색차 신호에 대한 화면 내 예측 방향 정보를 의미한다.
표 4와 관련하여, 변환 계수 레벨은 transCoeffLevel 배열로 파싱 될 수 있다. 이때 PredMode가 Intra 와 같을 경우, 화면 내 예측 방향 모드에 따라 각각 다른 스캐닝 방향이 적용된다. 이러한 스캐닝 방향은 표 2의 ScanType 배열로부터 얻어질 수 있다.
색차 신호의 스캐닝 방향은 휘도 신호의 스캐닝 방향을 그대로 사용할 수 있다.
[ 실시예 2-1] 색차 신호의 화면 내 예측 방향 모드가 Intra _ FromLuma ”일 경우, 휘도 신호의 스캐닝 방향을 색차 신호에 그대로 사용하는 방법 및 장치
도 14는 본 실시예에 따라서 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 일 실시예를 나타내는 순서도이다.
도 14를 참조하면, 현재 블록의 색차 신호의 화면 내 예측 방향 모드가 화면 내 예측 모드인지 판단한다(S1410). 화면 내 예측 모드가 적용되었으면, 현재 블록에 대해서는 상단 우측 방향의 스캔이 적용된다.
현재 블록이 인트라 예측되었으면, 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 Intra_FromLuma인지가 판단된다(S1420). 현재 블로그이 색차 신호에 대한 화면 내 예측 모드가 Intra_FromLuma 면 현재 블록의 휘도 신호에 대한 화면 내 예측 모드를 현재 블록의 색차 신호에 대한 화면 내 예측 모드로 설정한다(S1440).
다시 말하면, 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 “Intra_FromLuma”일 경우, 색차 신호의 화면 내 예측 방향 모드에 휘도 신호의 화면 내 예측 방향 모드를 입력하여 색차 신호에 대한 스캐닝 방향을 유도할 수 있다. 즉, 색차 신호의 화면 내 예측 방향 모드가 “Intra_FromLuma”일 경우에는 휘도 신호의 스캐닝 방향을 그대로 사용할 수 있다.
이어서, 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하인지가 판단된다(S1430). 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하이면, 현재 블록의 색차 신호에 대해서 수직 방향의 스캔이 적용된다(S1460).
현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하인 경우가 아니면, 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 22 이상 30 이하인지가 판단된다(S1450). 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 22 이상 30 이하인 경우, 현재 블록의 색차 신호에 대해 수평 방향의 스캔이 적용된다(S1470).
현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하도 아니고, 22 이상 30 이하도 아니라면, 현재 블록의 색차 신호에 대하여 상단 우측 방향의 스캔이 적용된다(S1480).
[ 실시예 2-2] 색차 신호의 화면 내 예측 방향이 휘도 신호의 화면내 예측 방향과 동일하거나 색차 신호의 화면 내 예측 모드가 “Intra_FromLuma” 모드일 경우, 휘도 신호의 스캐닝 방향을 색차 신호에 그대로 사용하는 방법 및 장치
도 15는 본 실시예에 따라서, 색차 신호에 대한 스캐닝 방향을 유도하는 방법의 일 시실예를 설명하는 순서도이다.
도 15를 참조하면, DM(휘도 신호의 화면 내 예측 방향 모드를 색차 신호의 화면 내 예측 방향 모드로 사용하는 방법 또는 색차 신호의 화면 내 예측 방향이 휘도 신호의 화면 내 예측 방향과 같아지는 경우를 의미)과 LM(Intra_FromLuma) 방법이 하나로 통일 됨을 확인 할 수 있다.
우선, 현재 블록이 화면 내 예측되었는지가 판단된다(S1505). 화면 내 예측이 아니면 현재 블록에 대하여 상단 우측 방향의 스캔이 적용된다(S1575).
현재 블록이 화면 내 예측 되었으면, 현재 블록의 폭이 인덱스로 전환된다(S1510).
판단 대상 샘플이 휘도 신호인지 판단된다(S1515). 휘도 신호가 아니면 현재 블록에 DM 혹은 LM이 적용되는지 판단하며(S1530), 판단 대상이 휘도 신호면 화면 내 예측 모드를 지시하는 정보를 획득한다(S1520).
응용 분야에 따른 프로파일링을 위해 LM 모드를 사용하지 않고 DM 모드만 사용하여 색차 신호의 화면 내 부호화 또는 복호화를 진행하도록 제한된 경우에 본 발명을 적용한다면, 도 15의 예에 있어서 S1530 단계를 적용할 때 LM이 적용되는지에 대한 판단을 하지 않고 DN이 적용되는지만 판단할 수도 있다.
대상이 휘도 신호인 경우에, S1525에서 인덱스가 3보다 크고 6보다 작으면(즉, 변환 크기가 8x8 또는 4x4이면), 현재 블록의 휘도 신호에 대한 화면 내 예측 모드가 6 이상 14 이하인지 판단한다(S1555). 현재 블록의 휘도 신호에 대한 화면 내 예측 모드가 6 이상 14 이하이면, 현재 블록의 휘도 신호에 대하여 수직 방향의 스캔이 적용된다(S1565).
또한, 현재 블록의 휘도 신호에 대한 화면 내 예측 모드가 22 이상 30 이하인지 판단(S1560)해서 수평 방향의 스캔이 적용되거나(S1570), 상단 우측 방향의 스캔이 적용된다(S1575).
한편, 대상이 색차 신호인 경우에, 현재 블록의 모드가 DM 또는 LM인지가 판단된다(S1530). 현재 블록의 색차 신호에 대한 모드가 DM 혹은 LM이 아니면, 색차 신호에 대한 화면 내 예측 모드를 지시하는 정보를 획득하고(S1545), DM 또는 LM이면 휘도 신호에 대한 화면 내 예측 모드를 지시하는 정보를 획득한 후(S1535), 색차 신호의 스캔 방향 결정을 위해 색차 신호에 대한 화면 내 예측 모드를 휘도 신호에 대한 화면 내 예측 모드로 설정한다(S1540).
이어서, 인덱스가 4 보다 크고 7보다 작은지(즉, 변환 크기가 4x4또는 2x2인지)가 판단된다(S1550). 인덱스가 4 보다 크고 7 보다 작은 경우가 아니면, 현재 블록의 색차 신호에 상단 우측 방향의 스캔이 적용된다(S1575).
인덱스가 4보다 크고 7보다 작은 경우에는 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하인지 판단한다(S1555). 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 6 이상 14 이하이면 현재 블록의 색차 신호에 대하여 수직 방향의 스캔이 적용된다(S1565).
또한, 현재 블록의 색차 신호에 대한 화면 내 예측 모드가 22 이상 30 이하인지 판단(S1560)해서 수평 방향의 스캔이 적용되거나(S1570), 상단 우측 방향의 스캔이 적용된다(S1575).
상술한 도 14 및 도 15의 예를 변환 단위(Transform Unit, 이하 ‘TU’라 함)에 대한 신택스 구조에 반영하면 표 5와 같다.
표 5는 본 실시예 1에 따른 TU 신택스의 일 예를 나타낸 것이다.
<표 5>
Figure pat00007
여기서 Transform_unit은 하나의 TU 블록에 대한 비트스트림 순서를 의미한다. log2TrafoSize는 입력된 log2TrafoWidth와 log2TrafoHeight 간의 합을 오른쪽 쉬프느(Shift) 연산한 결과를 의미하며, 휘도 신호에 대한 TU 블록 크기를 의미한다.
log2TrafoSizeC는 색차 신호에 대한 TU 블록 크기를 의미한다. PredMode는 현재 블록에 대한 부호화 모드를 의미하며, 화면 내 부호화의 경우 ‘Intra’ 이며, 화면 간 부호화의 경우 ‘Inter’이다.
scanIdx는 현재 TU 블록의 휘도 신호에 대한 스캐닝 방향 정보를 나타내며, 상단우측 방향(DIAG; Up-right = 0), 수평 방향(HOR; Horizontal = 1), 수직 방향(VER; Vertical = 2)이 있다.
scanIdxC는 현재 TU 블록의 색차 신호에 대한 스캐닝 방향 정보를 나타내며, 상단우측 방향(DIAG; Up-right = 0), 수평 방향(HOR; Horizontal = 1), 수직 방향(VER; Vertical = 2)이 있다.
ScanType는 표 2의 예측 방향에 따른 스캐닝 방향을 결정하는 방법에 기반해서 결정될 수 있다.
IntraPredMode는 휘도 신호에 대한 화면 내 예측 방향 정보를 의미하며, IntraPredModeC는 색차 신호에 대한 화면 내 예측 방향 정보를 의미한다. 상기 신택스표에 나타내었듯이 만일 IntraPredModeC 값이 Intra_FromLuma일 경우에는 휘도 신호에서 사용한 스캐닝 방향을 색차 신호에 그대로 적용한다.
표 5와 관련하여 변환 계수 레벨은 transCoeffLevel 배열로 파싱 된다. 이때 PredMode가 Intra 와 같을 경우, 화면 내 예측 방향 모드에 따라 각각 다른 스캐닝 방향이 적용된다. 이러한 스캐닝 방향은 아래 표의 ScanType 배열로부터 얻어질 수 있다. 밝기 신호에 대한 스캐닝 방향 지시자인 scanIdx를 얻고자 할 때는 아래 표의 IntraPredModeValue 값으로 밝기 신호 화면 내 예측 모드를 나타내는 IntraPredMode 값을 사용하며, 색차 신호에 대한 스캐닝 방향 지시자인 scanIdxC를 얻고자 할 때는 표 6의 IntraPredModeValue 값으로 색차 신호 화면 내 예측 모드를 나타내는 IntraPredModeC 값을 사용한다.
표 6은 스캔 타입을 결정하는 방법의 일 예를 나타낸 것이다.
<표 6>
Figure pat00008
표 6에서 스캔 타입 ScanType은 log2TrafoSize과 IntraPredModeValue에 의해 다음과 같이 결정될 수 있다: ScanType[log2TrafoSize-2][IntraPredModeValue]
상술한 바와 같이, 변환 계수 레벨은 transCoeffLevel 배열로 파싱되어진다. 이때 PredMode가 ‘Intra’인 경우, 화면 내 예측 방향 모드에 따라 각각 다른 스캐닝 방향이 적용된다.
이때 ScanType[log2TrafoSize-2][IntraPredModeValue]는 휘도 신호 변환 블록의 크기(log2TrafoSize)와 화면 내 예측 방향 모드(IntraPredModeValue)에 따라 표 7의 신택스에 따라서 설정될 수 있다.
<표 7>
Figure pat00009
휘도 신호에 대한 스캐닝 방향 지시자인 scanIdx를 얻고자 할 때는 표 2의 IntraPredModeValue 값으로 휘도 신호의 화면 내 예측 모드를 나타내는 IntraPredMode 값을 사용하며, 색차 신호에 대한 스캐닝 방향 지시자인 scanIdxC를 얻고자 할 때는 표 2의 IntraPredModeValue 값으로 색차 신호 화면 내 예측 모드를 나타내는 IntraPredModeC 값을 사용한다.
본 실시예에서는 현재 색차 블록이 “Intra_FromLuma”모드로 부호화되었을 때뿐만 아니라 아래와 같은 경우에도 적용할 수 있다.
1. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록에 가중치를 곱한 후 오프셋을 더하는 모든 방식에 대하여 본 실시예를 적용할 수 있다.
2. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록과 색차신호 블록에 대한 템플릿 쉬프트(template shift)을 이용하여 색차 블록을 예측하는 모든 방식에 대하여 본 실시예를 적용할 수 있다. 여기서 템플릿 쉬프트는 휘도 신호와 색차 신호 간의 상관성을 유추하기 위해서 사용한다.
이외에도 본 실시예는 다양하게 적용할 수 있다.
예컨대, 본 실시예는 모두 블록 크기 혹은 CU 깊이 혹은 TU 깊이 등에 따라 적용 범위를 달리할 수 있다. 이렇게 적용 범위를 결정하는 변수(즉, 크기 혹은 깊이 정보)는 부호화기 및 복호화기가 미리 정해진 값을 사용하도록 설정할 수도 있고, 프로파일 또는 레벨에 따라 정해진 값을 사용하도록 할 수 도 있고, 부호화기가 변수 값을 비트스트림에 기재하면 복호화기는 비트스트림으로부터 이 값을 구하여 사용할 수도 있다.
CU 깊이에 따라 적용 범위를 달리하는 할 때는 표 8에 예시한 바와 같이, 다음의 세 방식 중 어느 하나를 적용할 수 있다: 방식 A) 주어진 깊이 이상의 깊이에만 적용하는 방식, 방식 B) 주어진 깊이 이하에만 적용하는 방식, 방식 C) 주어진 깊이에만 적용하는 방식.
표 8은 주어진 CU(혹은 TU) 깊이가 2인 경우, 본 실시예의 각 방법들을 적용하는 범위를 결정하는 방식의 예를 나타낸 것이다. 표 8에서 O는 해당 깊이에 적용한다는 것을 나타내고, X는 해당 깊이에 적용하지 않는다는 것을 나타낸다
<표 8>
Figure pat00010
모든 깊이에 대하여 본 발명의 방법들을 적용하지 않는 경우는 임의의 지시자(flag)를 사용하여 나타낼 수도 있고, CU 깊이의 최대값보다 하나 더 큰 값을 적용범위를 나타내는 CU 깊이 값으로 시그널링 함으로써 표현할 수도 있다.
또한 위의 본 발명의 방법들을 적용하는 범위를 결정하는 방식을 전술한 실시예1과 후술할 실시예들에 각각 혹은 조합하여 적용할 수도 있음에 유의한다.
[ 실시예 3] 색차 신호의 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법 및 장치
본 실시예에서는 휘도 신호의 잔여 영상에 적용된 화면 내 예측 방향 모드에 따른 선택적 주파수 변환 방식을 색차 신호의 잔여 영상에도 적용함으로써 부호화 효율을 높일 수 있다.
또한 본 실시예에서는, Intra_FromLuma 방법으로 얻어진 색차 신호에 대한 잔여신호는 휘도 신호의 잔여 신호와 비슷한 특성을 지닌다라는 성질을 이용하여 선택적으로 주파수 변환을 할 수 있다.
도 16은 본 실시예에 따라서 색차 신호의 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 일 예를 설명하는 순서도이다.
도 16을 참조하면, 우선 현재 블록이 화면 내 부호화(Intra)로 부호화되었고 현재 블록이 4x4 크기(trafoSize(혹은 iWidth) == 4)의 블록이라면(S1605), 현재 블록에 대한 주파수 변환 방식은 정수 이산정현변환(DST) 혹은 정수 이산여현변환(DCT)을 적용한다. 그렇지 않다면(S1605), 현재 블록의 주파수 변환 방식은 DCT를 적용할 수 있다(S1660).
다음으로 현재 블록이 휘도 블록이라면(S1610), 휘도 신호에 대한 화면 내 예측 방향 모드(IntraPredMode)를 가져온다(S1620). 여기서 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
만일 그렇지 않고 색차 블록일 경우(S1610), DM 모드인지를 판단한다(S1615).
만일 현재 블록이 색차 블록이고 DM 블록이라면 DCT를 적용할 수 있다(S1660). 그렇지 않고 만일 현재 블록이 색차 블록이고 DM 블록이 아니라면, 색차 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다(S1625).
여기에서 색차 블록이 DM 모드로 부호화되었을 경우, DM 모드 중에서 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))에 해당하는 화면 내 예측 방향 모드는 DST 혹은 DCT 혹은 그 이외의 주파수 변환 방법을 적용할 수 있다.
다음으로 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면(S1620), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 방향은 정수 이산정현변환(DST)을 적용하고 수직 방향은 정수 이산여현변환(DCT)을 적용할 수 있다(S1645).
그렇지 않고 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘0’(Planar)이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면(S1635), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산정현변환(DST)을 적용할 수 있다(S1650).
그렇지 않고 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면(S1640), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용할 수 있다(S1655).
그렇지 않다면, 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평수직 방향 모두에 정수 이산여현변환(DCT)을 적용할 수 있다(S1660).
상술한 도 16의 방법을 스케일된 변환 계수를 위한 변환 과정(Transformation process for scaled transform coefficients)에 다음과 같이 반영할 수 있다.
도 16의 예를 반영한 스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
-현재 변환 블록의 너비 Width: nW
-현재 변환 블록의 높이 Height: nH
-요소(element) dij를 가진 스케일된 변환 계수의 배열: (nWxnH) 배열 d
현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
-만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
-스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열: (nWxnH) 배열 r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고, 휘도 신호의 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 9를 통해 구해진다.
색차 신호의 경우에는 색차 신호의 화면 내 예측 부호화 모드가 ‘4’보다 작다면, 색차 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 9를 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
색차 신호의 화면 내 예측 방향 모드가 ‘35’일 경우에는 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 9>
Figure pat00011
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력받아 수평 방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
다음으로 배열(nWxnH array e)을 입력받아 배열(nWxnH array g)을 수식 5와 같이 유도한다.
<수식 5>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType 을 입력 받아 수직 방향으로 1차원 역변환을 수행한다.
다음으로 cIdx에 따라 잔여 신호에 대한 배열 (nWxnH array r)을 수식 6과 같이 설정한다.
<수식 6>
rij = (fij+(1<<(shift-1)))>>shift
여기서 쉬프트(shift)는 cIdx가 ‘0’일 때는 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
도 17은 본 실시예에 따라서, 색차 신호의 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 17을 참조하면, 우선 현재 블록이 화면 내 부호화(Intra)로 부호화었는지 판단(S1710)해서, 화면 내 부호화된 경우에 현재 블록에 대한 주파수 변환 방식은 정수 이산정현변환(DST) 혹은 정수 이산여현변환(DCT)을 적용한다(S1755).
그렇지 않다면(현재 블록이 화면 내 부호화(Intra)로 부호화되지 않았다면), 현재 블록의 휘도 혹은 색차 신호에 대한 화면 내 예측 방향 모드(IntraPredMode(C))를 가져온다(S1715). 여기서 휘도 신호에 대한 주파수 변환 방식을 유도할 때는 IntraPredMode(C)가 IntraPredMode(휘도 신호에 대한 화면 내 예측 방향 모드)로 되며, 색차 신호에 대한 주파수 변환 방식을 유도할 때는 IntraPredMode(C)가 IntraPredModeC(색차 신호에 대한 화면 내 예측 방향 모드)로 변경된다. 여기서 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다. 그리고 현재 블록의 색차 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
이때 주파수 변환 방식을 선택하기 위한 화면 내 예측 방향 모드는 아래 1 내지 3 중 어느 하나와 같이 다양한 방법으로 가져올 수 있다.
1. 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호 및 색차 신호에 대한 잔여 영상에 모두 적용하여 주파수 변환 방식을 유도하는데 사용할 수 있다.
2. 현재 블록의 색차 신호에 대한 화면 내 예측 방향 모드를 휘도 신호 및 색차 신호에 대한 잔여 영상에 모두 적용하여 주파수 변환 방식을 유도하는데 사용할 수 있다.
3. 현재 블록의 휘도 신호에 대하여는 정수 이산여현변환(DCT) 혹은 정수 이산정현변환(DST)만을 사용할 수 있다. 그리고 현재 블록의 색차 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
이외에도 다양한 방법으로 주파수 변환 방식은 유도될 수 있다.
다음으로 현재 블록이 4x4 크기(iWidth == 4)의 블록인지가 판단된다(S1720). 만일 현재 블록이 4x4 크기(iWidth == 4)의 블록이 아니라면, 현재 블록에 대한 주파수 변환 방식은 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다(S1755).
그렇지 않다면(현재 블록이 4x4 크기(iWidth == 4)의 블록이라면), 현재 블록의 화면 내 예측 방향 모드를 검사한다.
만일 현재 블록의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면(S1725), 현재 블록에 대한 주파수 변환 방식으로 수평방향은 정수 이산정현변환(DST)을 적용하고 수직방향은 정수 이산여현변환(DCT)을 적용할 수 있다(S1740).
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘0’이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면(S1730), 현재 블록에 대한 주파수 변환 방식으로 수평 수직방향 모두에 정수 이산정현변환(DST)을 적용할 수 있다(S1745).
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면(S1735), 현재 블록에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용할 수 있다(S1750).
그렇지 않다면, 현재 블록에 대한 주파수 변환 방식으로 수평수직 방향 모두에 정수 이산여현변환(DCT)을 적용할 수 있다(S1755).
이때 화면 내 예측 방향 모드에 따른 주파수 변환 방식은 다양하게 사용될 수 있다. 예를 들어 현재 블록의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작을 경우, 위에 명기된 예와 같이 주파수 변환 방식을 적용할 수도 있다. 또 다른 방법으로 현재 블록에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용할 수 있다. 또 다른 방법으로 현재 블록에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산여현변환(DCT)을 적용할 수도 있으며, 혹은 수평 수직 방향 모두 정수 이산정현변환(DST)을 적용할 수 있다. 또한 DC(평균 값 예측, 방향성 모드가 아닌 모드) 모드만을 제외하고 다른 모든 수평 수직 방향에 정수 이산정현변환(DST)를 적용할 수도 있다.
이렇게 다양한 주파수 변환 방식을 다양하게 적용하는 방법은 현재 블록의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작을 경우 뿐만 아니라 그 이외의 화면 내 예측 방향 모드 범위에서도 적용할 수 있다. 이러한 내용은 아래 실시예들에서도 동일하게 적용될 수 있다.
상술한 의 방법을 스케일된 변환 계수를 위한 변환 과정(Transformation process for scaled transform coefficients)에 다음과 같이 반영할 수 있다.
도 17의 예를 반영한 스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
-현재 변환 블록의 너비 Width: nW
-현재 변환 블록의 높이 Height: nH
-요소(element) dij를 가진 스케일된 변환 계수의 배열; (nWxnH) 배열 d
-현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열: (nWxnH) 배열 r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고, (1) 휘도 신호의 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 10을 통해 구해지며, (2) 색차 신호의 경우에는 색차 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 10을 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 10>
Figure pat00012
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력받아 수평 방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
다음으로 배열(nWxnH array e)을 입력받아 배열(nWxnH array g)를 수식 7과 같이 유도한다.
<수식 7>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType 을 입력 받아 수직 방향으로 1차원 역변환을 수행한다.
cIdx에 따라 잔여 신호에 대한 배열(nWxnH array r)을 수식 8과 같이 설정한다.
<수식 8>
rij = (fij+(1<<(shift-1)))>>shift
여기서 쉬프트(shift)는 cIdx가 ‘0’일 때는 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
[ 실시예 4] 색차 신호의 Intra _ FromLuma ( LM ) 부호화 모드에 대하여 휘도 신호의 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법 및 장치
도 18은 본 실시예에 따라서, 색차 신호의 Intra_FromLuma(LM) 부호화 모드에 대하여 휘도 신호의 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법을 설명하는 순서도이다.
도 18에 의하면, 우선 현재 블록이 화면 내 부호화(Intra)로 부호화되었고 현재 블록이 4x4 크기(trafoSize(혹은 iWidth) == 4)의 블록라면(S1810), 현재 블록에 대한 주파수 변환 방식은 정수 이산정현변환(DST) 혹은 정수 이산여현변환(DCT)을 적용한다(S1855). 그렇지 않다면, 현재 블록의 주파수 변환 방식은 DCT를 적용할 수 있다.
다음으로 현재 블록이 휘도 블록이고 혹은 색차 블록이면서 색차 블록의 화면 내 예측 방향 모드가 LM 모드라면(S1815), 휘도 신호에 대한 화면 내 예측 방향 모드(IntraPredMode)를 가져온다(S1820).
여기서 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호 및 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
만일 그렇지 않고 색차 블록(LM모드가 아닌 색차 블록)일 경우, DCT를 적용할 수 있다(S1855).
다음으로 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면(S1825), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 방향은 정수 이산정현변환(DST)을 적용하고 수직 방향은 정수 이산여현변환(DCT)을 적용할 수 있다(S1840).
그렇지 않고 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘0’(Planar)이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면(S1830), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평수직방향 모두에 정수 이산정현변환(DST)을 적용할 수 있다(S1845).
그렇지 않고 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면(S1835), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용할 수 있다(S1850). 그렇지 않다면, 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산여현변환(DCT)을 적용할 수 있다(S1855).
한편, 상술한 도 18의 예에 따른 스케일된 변환 계수를 위한 변환 과정(Transformation process for scaled transform coefficients)은 다음과 같다.
도 18의 예에 따른 스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
-현재 변환 블록의 너비 Width: nW
-현재 변환 블록의 높이 Height: nH
-요소(element) dij를 가진 스케일된 변환 계수의 배열: (nWxnH) 배열 d
-현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
-만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
-스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열; (nWxnH) 배열 r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고, 휘도 신호의 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 11을 통해 적용되며, 색차 신호의 부호화 모드가 Intra_FromLuma(LM)일 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 11을 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 11>
Figure pat00013
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력 받아 수평방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
다음으로 배열(nWxnH array e)를 입력 받아 배열(nWxnH array g)를 수식 9와 같이 유도한다.
<수식 9>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType 을 입력 받아 수직방향으로 1차원 역변환을 수행한다.
cIdx에 따라 잔여 신호에 대한 배열(nWxnH array r)을 수식 10과 같이 설정한다.
<수식 10>
rij = (fij+(1<<(shift-1)))>>shift
여기서 쉬프트(shift)는 cIdx가 ‘0’일 때 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
도 19는 본 실시예에 따라서 색차 신호의 Intra_FromLuma(LM) 부호화 모드에 대하여 휘도 신호의 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 19를 참조하면, 현재 블록이 조건 1(화면 내 부호화(Intra)로 부호화되었고 그리고 휘도 신호(Luma)의 블록) 혹은 조건 2(현재 블록이 LM 모드이고 색차(Chroma) 신호의 블록)인지 판단한다(S1910).
조건 1 또는 조건 2를 만족하는 경우가 아니라면, 현재 블록의 휘도 신호 및 색차 신호에 대한 주파수 변환 방식은 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다(S1955).
그렇지 않다면(조건 1이거나 혹은 조건 2를 만족한다면), 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드(IntraPredMode)를 가져온다(S1915).
여기서 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다. 그리고 현재 블록의 색차 신호가 LM모드로 부호화되었을 경우, 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
다음으로 현재 블록이 4x4 크기(iWidth == 4)의 블록인지를 판단한다(S1920). 만일 현재 블록이 4x4 크기(iWidth == 4)의 블록이 아니라면, 현재 블록의 휘도 신호 및 색차 신호에 대한 주파수 변환 방식은 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다(S1955). 그렇지 않다면(현재 블록이 4x4 크기(iWidth == 4)의 블록이라면), 현재 블록의 화면 내 예측 방향 모드를 검사한다.
만일 현재 블록의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면(S1925), 현재 블록의 휘도 신호에 대한 주파수 변환 방식으로 수평 방향은 정수 이산정현변환(DST)을 적용하고 수직 방향은 정수 이산여현변환(DCT)을 적용할 수 있다(S1940). 현재 블록의 색차 신호가 LM모드로 부호화되었을 경우, 현재 블록의 휘도 신호에 대한 주파수 변환 방식을 색차 신호의 잔여 영상을 주파수 변환하는데 사용할 수 있다.
그렇지 않고 현재 블록의 색차 신호가 LM모드로 부호화되지 않았을 경우, 현재 블록의 색차 신호에 대하여 수평 수직 방향 모두에 정수 이산여현변환(DCT)를 수행할 수 있다(S1955).
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘0’이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면(S1930), 현재 블록의 휘도 신호에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산정현변환(DST)을 적용할 수 있다(S1945). 현재 블록의 색차 신호가 LM모드로 부호화되었을 경우, 현재 블록의 휘도 신호에 대한 주파수 변환 방식을 색차 신호의 잔여 영상을 주파수 변환하는데 사용할 수 있다. 그렇지 않고 현재 블록의 색차 신호가 LM모드로 부호화되지 않았을 경우, 현재 블록의 색차 신호에 대하여 수평 수직 방향 모두에 정수 이산여현변환(DCT)를 수행할 수 있다(S1955).
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면(S1935), 현재 블록의 휘도 신호에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용할 수 있다(s1950). 현재 블록의 색차 신호가 LM모드로 부호화되었을 경우, 현재 블록의 휘도 신호에 대한 주파수 변환 방식을 색차 신호의 잔여 영상을 주파수 변환하는데 사용할 수 있다. 그렇지 않고 현재 블록의 색차 신호가 LM모드로 부호화되지 않았을 경우, 현재 블록의 색차 신호에 대하여 수평 수직 방향 모두에 정수 이산여현변환(DCT)를 수행할 수 있다(S1955).
그렇지 않다면, 현재 블록의 휘도 신호 및 색차 신호의 잔여 영상에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산여현변환(DCT)을 적용한다(S1955).
상술한 의 예를 반영한 스케일된 변환 계수를 위한 변환 과정(Transformation process for scaled transform coefficients)은 아래와 같다.
도 19의 예를 반영한 스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
-현재 변환 블록의 너비 Width: nW
-현재 변환 블록의 높이 Height: nH
-요소(element) dij를 가진 스케일된 변환 계수의 배열: (nWxnH) 배열 d
-현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
-만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
-스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열: (nWxnH) 배열 r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고, 휘도 신호의 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 12를 통해 적용되며, 색차 신호의 부호화 모드가 Intra_FromLuma(LM)일 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 12를 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 12>
Figure pat00014
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력 받아 수평 방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
다음으로 배열(nWxnH array e)를 입력 받아 배열(nWxnH array g)를 수식 11과 같이 유도한다.
<수식 11>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType을 입력 받아 수직 방향으로 1차원 역변환을 수행한다.
cIdx에 따라 잔여 신호에 대한 배열(nWxnH array r)를 수식 12와 같이 설정한다.
<수식 12>
rij = (fij+(1<<(shift-1)))>>shift
여기서 쉬프트(shift)는 cIdx가 ‘0’일 때는 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
여기서 본 실시예는 현재 색차 블록이 “Intra_FromLuma”모드로 부호화되었을 때뿐만 아니라 아래 1 또는 2와 같은 다양한 경우도에 적용될 수 있다.
1. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록에 가중치를 곱한 후 오프셋을 더하는 모든 방식에 대하여 적용할 수 있다.
2. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록과 색차 신호 블록에 대한 템플릿 쉬프트(template shift)을 이용하여 색차 블록을 예측하는 모든 방식에 대하여 적용할 수 있다. 여기서 템플릿 쉬프트는 휘도 신호와 색차 신호간의 상관성을 유추하기 위해서 사용한다.
이외에도 본 실시예는 다양하게 적용될 수 있다.
[ 실시예5 ] 화면 내 예측 방향 모드에 따라 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법 및 장치
도 20은 본 실시예에 따라서 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 일 예를 설명하는 순서도이다.
도 20을 참조하면, 우선 현재 블록이 화면 내 부호화(Intra)로 부호화되었고 현재 블록이 4x4 크기(trafoSize(혹은 iWidth) == 4)의 블록인지를 판단한다(S2010). 우선 현재 블록이 화면 내 부호화(Intra)로 부호화되었고 현재 블록이 4x4 크기(trafoSize(혹은 iWidth) == 4)의 블록이면, 현재 블록에 대한 주파수 변환 방식은 정수 이산정현변환(DST) 혹은 정수 이산여현변환(DCT)을 적용한다. 그렇지 않다면, 현재 블록의 주파수 변환 방식은 DCT를 적용할 수 있다(S2065).
다음으로 현재 블록이 휘도 블록이고 혹은 색차 블록이면서 색차 블록의 화면 내 예측 방향 모드가 LM모드라면(S2015), 휘도 신호에 대한 화면 내 예측 방향 모드(IntraPredMode)를 가져온다(S2020). 여기서 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호 및 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
만일 그렇지 않다면 색차 블록이 DM 모드인지를 판단한다(S2025).
만일 현재 블록이 색차 블록이고 DM 블록이라면 DCT를 적용할 수 있다(S2065). 그렇지 않고 만일 현재 블록이 색차 블록이고 DM 블록이 아니라면, 색차 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다(S2030).
여기에서 색차 블록이 DM 모드로 부호화되었을 경우, DM 모드 중에서 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))에 해당하는 화면 내 예측 방향 모드는 DST 혹은 DCT 혹은 그 이외의 주파수 변환 방법을 적용할 수 있다.
다음으로 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면(S2035), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 방향은 정수 이산정현변환(DST)을 적용하고 수직방향은 정수 이산여현변환(DCT)을 적용할 수 있다(S2050).
그렇지 않고 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘0’(Planar)이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면(S2040), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산정현변환(DST)을 적용할 수 있다(S2055).
그렇지 않고 만일 현재 블록(휘도 및 색차 신호 블록)의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면(S2045), 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평방향은 정수 이산여현변환(DCT)을 적용하고 수직방향은 정수 이산정현변환(DST)을 적용할 수 있다(S2060).
그렇지 않다면, 현재 블록(휘도 및 색차 신호 블록)에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산여현변환(DCT)을 적용할 수 있다(S2065).
여기에서 주파수 변환 방법을 선택적으로 적용하는 방법은 아래 1 내지 3 중 어느 하나와 같이 다양하게 적용할 수 있다.
1. 색차 블록이 DM 모드로 부호화되었을 경우, DM 모드 중에서 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평 모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))에 해당하는 화면 내 예측 방향 모드에 대하여만 DST 혹은 DCT 혹은 그 이외의 주파수 변환 방법을 적용할 수 있다.
2. 색차 블록이 LM 모드로 부호화되었을 경우, 휘도 신호로부터 유도된 화면 내 예측 방향 모드 중에서 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평 모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))에 해당하는 화면 내 예측 방향 모드에 대하여만 DST 혹은 DCT 혹은 그 이외의 주파수 변환 방법을 적용할 수 있다.
3. 화면 내 예측 방향 모드가 Planar 이거나 DC일 경우에만, DST 혹은 DCT 혹은 그 이외의 주파수 변환 방법을 선택적으로 적용할 수 있고, 그 외의 모드에 대해서는 DST 혹은 DCT 혹은 그 이외의 주파수 변환 방법을 고정적으로 적용할 수 있다. 혹은 그 반대도 가능할 수 있다.
이외에도 다양한 방법으로 주파수 변환 방법을 유도할 수 있다.
상술한 도 20의 방법을 반영하여 스케일된 변환 계수를 위한 변환(Transformation process for scaled transform coefficients)을 수행하는 방법은 아래와 같다
도 20의 예를 반영한 스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
-현재 변환 블록의 너비 Width: nW
-현재 변환 블록의 높이 Height: nH
-요소(element) dij를 가진 스케일된 변환 계수의 배열: (nWxnH) 배열 d
-현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
-만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
-스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열: (nWxnH) 배열 r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고, 휘도 신호인 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 아래 표 13을 통해 적용되며, 색차 신호의 경우에 색차 신호의 화면 내 예측 부호화 모드가 ‘4’보다 작다면, 색차 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 13을 통해 구해진다. 그렇지 않고 색차 신호의 부호화 모드가 Intra_FromLuma(LM)일 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 아래 표를 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 13>
Figure pat00015
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정을 수행한다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력 받아 수평방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)를 출력한다.
다음으로 배열(nWxnH array e)를 입력 받아 배열(nWxnH array g)를 수식 13과 같이 유도한다.
<수식 13>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType 을 입력 받아 수직 방향으로 1차원 역변환을 수행한다.
cIdx에 따라 잔여 신호에 대한 배열(nWxnH array r)을 수식 14와 같이 설정한다.
<수식 14>
rij = (fij+(1<<(shift-1)))>>shift
여기서 쉬프트(Shift)는 cIdx가 ‘0’일 때는 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
은 본 실시예에 따라서 화면 내 예측 방향 모드에 기반해 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 선택적으로 유도하는 방법의 다른 예를 설명하는 순서도이다.
도 21에 의하면, 우선 현재 블록이 화면 내 부호화(Intra)로 부호화되지 않은 경우(S2105), 현재 블록의 휘도 신호 및 색차 신호에 대한 주파수 변환 방식으로 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다(S2160).
그렇지 않다면(현재 블록이 화면 내 부호화(Intra)로 부호화되었다면), 현재 블록이 휘도 신호(Luma)의 블록인지 그리고 현재 블록의 부호화 모드가 LM 인지를 판단한다(S2110).
만일 현재 블록이 휘도 신호가 아니고 그리고 현재 블록의 부호화 모드가 LM이 아닐 경우에는 색차 신호에 대한 화면 내 예측 방향 모드를 가져온다(S2115). 그렇지 않다면, 휘도 신호에 대한 화면 내 예측 방향 모드를 가져온다(S2120).
여기서 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 휘도 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다. 여기서 현재 블록의 색차 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
그리고 현재 블록의 색차 신호가 LM모드로 부호화되었을 경우, 현재 블록의 휘도 신호에 대한 화면 내 예측 방향 모드를 색차 신호에 대한 잔여 영상의 주파수 변환 방식을 유도하는데 사용할 수 있다.
다음으로 현재 블록이 4x4 크기(iWidth == 4)의 블록인지를 판단한다(S2125). 만일 현재 블록이 4x4 크기(iWidth == 4)의 블록이 아니라면, 현재 블록의 휘도 신호 및 색차 신호에 대한 주파수 변환 방식은 정수 변환 혹은 정수 이산여현변환(DCT)을 적용한다(S2160). 그렇지 않다면(현재 블록이 4x4 크기(iWidth == 4)의 블록이라면), 현재 블록의 화면 내 예측 방향 모드를 검사한다.
여기서 휘도 신호에 대한 주파수 변환 방식을 유도할 때는 IntraPredMode(C)가 IntraPredMode(휘도 신호에 대한 화면 내 예측 방향 모드)로 되며, 색차 신호에 대한 주파수 변환 방식을 유도할 때는 IntraPredMode(C)가 IntraPredModeC(색차 신호에 대한 화면 내 예측 방향 모드)로 변경된다.
만일 현재 블록의 화면 내 예측 방향 모드가 ‘2’보다 크고 그리고 ‘10’보다 작다면(
S2130), 현재 블록에 대한 주파수 변환 방식으로 수평 방향은 정수 이산정현변환(DST)을 적용하고 수직 방향은 정수 이산여현변환(DCT)을 적용할 수 있다(S2145).
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘0’이거나 혹은 ‘11’보다 크고 ‘25’보다 작다면(S2135), 현재 블록에 대한 주파수 변환 방식으로 수평수직방향 모두에 정수 이산정현변환(DST)을 적용할 수 있다(S2150).
그렇지 않고 만일 현재 블록의 화면 내 예측 방향 모드가 ‘26’보다 크고 그리고 ‘34’보다 작다면(S2140), 현재 블록에 대한 주파수 변환 방식으로 수평 방향은 정수 이산여현변환(DCT)을 적용하고 수직 방향은 정수 이산정현변환(DST)을 적용할 수 있다(S2155).
그렇지 않다면, 현재 블록의 휘도 신호 및 색차 신호의 잔여 영상에 대한 주파수 변환 방식으로 수평 수직 방향 모두에 정수 이산여현변환(DCT)을 적용할 수 있다(S2160).
상술한 의 예에 따른 방법을 스케일된 변환 계수를 위한 변환(Transformation process for scaled transform coefficients)에 반영한 방법은 아래와 같다.
도 21의 예를 반영한스케일된 변환 계수를 위한 변환 과정
여기서의 입력은 다음과 같다.
-현재 변환 블록의 너비 Width: nW
-현재 변환 블록의 높이 Height: nH
-요소(element) dij를 가진 스케일된 변환 계수의 배열: (nWxnH) 배열 d
-현재 블록의 휘도 신호 및 색차 신호에 대한 인덱스: cIdx
-만일 cIdx 가 ‘0’ 이면 휘도 신호를 의미하고, cIdx가 ‘1’ 이거나 혹은 cIdx가 ‘2’이면 색차 신호를 의미한다. 또한 cIdx 가 ‘1’이며 색차 신호에서 Cb를 의미하고, cIdx 가 ‘2’이며 색차 신호에서 Cr을 의미한다.
여기서의 출력은 다음과 같다.
-스케일된 변환 계수를 역변환하여 구해진 잔여 신호에 대한 배열: (nWxnH) 배열 r
현재 블록에 대한 부호화 모드(PredMode)가 화면 내 예측 모드(Intra)이고, Log2(nW*nH) 값이 ‘4’와 같고, 휘도 신호인 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 14를 통해 적용되며, 색차 신호의 경우에는 색차 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 14를 통해 적용되며, 색차 신호의 부호화 모드가 Intra_FromLuma(LM)일 경우에는 휘도 신호의 화면 내 예측 방향 모드에 따라 변수 horizTrType과 vertTrType은 표 14를 통해 구해진다. 만일 그렇지 않다면, 변수 horizTrType과 vertTrType은 ‘0’으로 설정한다.
<표 14>
Figure pat00016
변수 horizTrType과 vertTrType 값을 가지고 스케일된 변환 계수에 대한 역변환 과정이 수행된다. 먼저 현재 블록의 크기(nW, nH)와 스케일된 변환 계수 배열(nWxnH array d), 변수 horizTrType 을 입력받아 수평 방향으로 1차원 역변환을 수행하여 배열(nWxnH array e)을 출력한다.
다음으로 배열(nWxnH array e)을 입력 받아 배열(nWxnH array g)를 수식 15와 같이 유도한다.
<수식 15>
gij = Clip3(-32768,32767,(eij+64)>>7)
다음으로 현재 블록의 크기(nW, nH)와 배열(nWxnH array g), 변수 vertTrType 을 입력 받아 수직방향으로 1차원 역변환을 수행한다.
다음으로 cIdx에 따라 잔여 신호에 대한 배열(nWxnH array r)를 수식 16과 같이 설정한다.
<수식 16>
rij = (fij+(1<<(shift-1)))>>shift
여기서 쉬프트(shift)는 cIdx가 ‘0’일 때는 shift = 20 - BitDepthY 이고 그렇지 않으며 shift = 20 - BitDepthC 값을 가지며, BitDepth는 현재 영상에 대한 샘플의 비트 수(예를 들어, 8 비트)를 의미한다.
상술한 방법들은 모두 블록 크기 혹은 CU 깊이 혹은 TU 깊이 등에 따라 적용 범위를 달리할 수 있다.
이렇게 적용 범위를 결정하는 변수(즉, 크기 혹은 깊이 정보)는 부호화기 및 복호화기가 미리 정해진 값을 사용하도록 설정할 수도 있고, 프로파일 또는 레벨에 따라 정해진 값을 사용하도록 할 수 도 있고, 부호화기가 변수 값을 비트스트림에 기재하면 복호화기는 비트스트림으로부터 이 값을 구하여 사용할 수도 있다.
CU 깊이에 따라 적용 범위를 달리하는 할 때는 표 15에 예시한 바와 같이, 다음의 3 방식이 적용될 수 있다: 방식 A) 주어진 깊이 이상의 깊이에만 적용하는 방식, 방식 B) 주어진 깊이 이하에만 적용하는 방식, 방식 C) 주어진 깊이에만 적용하는 방식
표 15는 주어진 CU(혹은 TU) 깊이가 2인 경우, 본 발명의 방법들을 적용하는 범위 결정 방식의 예를 나타낸 것이다. 표 15에서 O은 주어진 CU(혹은 TU) 깊이가 2인 경우, 본 발명의 방법들을 적용하는 범위 결정 방식의 예를 나타낸 것이다. 표 15에서 O는 해당 깊이에 적용 가능한 것을 나타내고, X는 해당 깊이에 적용하지 않는 것을 나타낸다
<표 15>
Figure pat00017
모든 깊이에 대하여 본 발명의 방법들을 적용하지 않는 경우는 임의의 지시자(flag)를 사용하여 나타낼 수도 있고, CU 깊이의 최대값보다 하나 더 큰 값을 적용 범위를 나타내는 CU 깊이 값으로 시그널링함으로써 표현할 수도 있다.
또한, 상술한 방법은 휘도 신호와 색차 신호 간의 해상도가 다른 경우에도 적용할 수 있다.
예를 들어, 색차 신호가 휘도 신호의 1/4 크기라고 가정했을 때(일 예로, 휘도 신호 416x240 크기, 색차 신호 208x120 크기), 휘도 신호 8x8 블록은 색차 신호 4x4 블록과 같다.
도 22는 휘도 블록과 색차 블록 간의 해상도 차이의 일 예를 나타낸 것이다. 도 22의 예에서는, 휘도 신호가 8x8 블록(2210)이고 색차 신호가 4x4 블록(2220)인 경우를 예시하고 있다.
도 22의 예에서, 휘도 신호(2210)에는 4개의 4x4 블록이 있을 수 있으며, 4x4 블록마다 각각 화면 내 예측 방향 모드를 가질 수 있다. 반면 색차 신호(2220)는 2x2 블록으로 나누어지지 않을 수 있다.
이 경우, 색차 신호는 4x4 블록에 대하여 하나의 화면 내 예측 방향 모드를 가질 수 있다. 이때 색차 신호가 Intra_FromLuma(LM) 모드로 부호화 되었을 경우(혹은 색차 신호가 DM(휘도 신호의 화면 내 예측 방향 모드를 색차 신호의 화면 내 예측 방향 모드로 그대로 사용하는 모드) 모드로 부호화되었을 경우), 색차 신호의 잔여 영상에 대한 주파수 변환 방식을 유도하기 위한 휘도 신호의 화면 내 예측 방향 모드는 4개의 4x4 블록 중의 하나가 사용될 수 있다.
색차 신호의 잔여 영상에 대하여 선택적으로 주파수 변환 방식을 적용하기 위해서, 화면 내 예측 방향을 유도하는 방법은 아래 1 내지 4 중 어느 하나와 같이 다양하게 적용될 수 있다.
1. 휘도 신호 블록 좌상단에 위치한 블록의 화면 내 예측 방향 모드를 사용할 수 있다.
2. 휘도 신호 블록 우상단 혹은 좌하단 혹은 우하단에 위치한 블록의 화면 내 예측 방향 모드를 사용할 수 있다.
3. 4가지 휘도 신호 블록들의 평균 값 혹은 중간 값을 사용할 수 있다.
4. 현재 블록의 4가지 휘도 신호 블록들과 현재 블록의 주변 블록들의 색차 신호 블록들의 화면 내 예측 방향 모드들을 이용한 평균 값 혹은 중간 값등을 사용할 수 있다.
이 외에도 다양한 방법으로 색차 신호에 대한 화면 내 예측 방향 모드를 유도할 수 있다.
도 23은 휘도 블록과 색차 블록 간의 해상도 차이를 설명하는 다른 예이다.
도 23의 예와 같이 휘도 신호(2310)에는 1개의 16x16 블록이 있을 수 있으며, 1 개의 화면 내 예측 모드를 가질 수 있다. 반면 색차 신호(2320)는 4개의 4x4 블록으로 나누어질 수 있으며, 이때 4x4 블록 각각에 대하여 화면 내 예측 방향 모드를 가질 수 있다.
이때, 색차 신호가 Intra_FromLuma(LM) 모드로 부호화 되었을 경우(혹은 색차 신호가 DM(휘도 신호의 화면 내 예측 방향 모드를 색차 신호의 화면 내 예측 방향 모드로 그대로 사용하는 모드) 모드로 부호화되었을 경우), 1개의 휘도 신호의 화면 내 예측 방향 모드가 각 색차 신호의 잔여 영상 블록들에 대한 주파수 변환 방식을 유도하기 위해 사용될 수 있다. 혹은 색차 신호의 잔여 영상 블록들에 대한 주파수 변환 방식을 유도하기 위해 현재 블록의 주변 블록들(휘도 블록 혹은 색차 블록)로부터 화면 내 예측 방향 모드를 유도하여 사용할 수도 있다.
또한 상술한 방법은 휘도 블록의 크기에 따라 색차 블록에 다르게 적용할 수 있으며, 또한, 휘도 신호영상 및 색차 영상에 다르게 적용할 수 있으며, 또한 주파수 변환 방식을 수평 방향 및 수직 방향에 따로 적용할 수 있다.
표 16은 이 방법의 조합을 개략적으로 설명하는 것이다.
<표 16>
Figure pat00018
표 16의 변형된 방법들 중에서 방법 “사 1”를 살펴보면, 휘도 블록의 크기가 8(8x8, 8x4, 2x8 등)이고 색차 블록의 크기가 4(4x4, 4x2, 2x4)인 경우에 명세서의 실시예 1(사 1 - 실시예 1)과 실시예 2-1 또는 실시예 2-2 (사 1 - 실시예 2-1 또는 실시예 2-2)와 실시예 3(사 1 - 실시예 3)을 휘도 신호 및 색차 신호 및 수평 신호 및 수직 신호에 적용할 수 있다.
위의 변형된 방법들 중에서 방법 “파 2”을 살펴보면, 휘도 블록의 크기가 16(16x16, 8x16, 4x16 등)이고 색차 블록의 크기가 4(4x4, 4x2, 2x4)인 경우에 명세서의 실시예 1(파 2 - 실시예 1)과 실시예 2-1 또는 실시예 2-2(파 2 - 실시예 2-1 또는 실시예 2-2)와 실시예 3(파 2 - 실시예 3)을 휘도 신호 및 색차 신호 및 수평 신호에 적용하고 수직 신호에는 적용하지 않을 수 있다.
여기서 상술한 방법은 현재 색차 블록이 “Intra_FromLuma”모드로 부호화되었을 때뿐만 아니라 아래 1 또는 2와 같은 다양한 경우에도 적용할 수 있다.
1. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록에 가중치를 곱한 후 오프셋을 더하는 모든 방식에 대하여 적용할 수 있다.
2. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록과 색차신호 블록에 대한 템플릿 쉬프트(template shift)을 이용하여 색차 블록을 예측하는 모든 방식에 대하여 적용할 수 있다. 여기서 템플릿 쉬프트는 휘도 신호와 색차 신호간의 상관성을 유추하기 위해서 사용한다.
이외에도 다양하게 적용할 수 있다.
[ 실시예 6] 색차 신호의 변환 방식 및 스캔 방식을 통합적으로 결정하는 방법 및 장치
앞서 설명한 것과 같이 색차 신호의 잔여 신호(차분 영상)에 대한 스캐닝 방법은 색차 신호의 화면 내 예측 방향 모드에 따라 달라질 수 있다.
또한 색차 신호의 잔여 신호(차분 영상)에 대한 주파수 변환 방식은 색차 신호의 화면 내 예측 방향 모드에 따라 달라질 수 있다.
색차 신호의 잔여 신호(차분 영상)에 대한 스캐닝 방법은 색차 신호의 잔여 신호에 대한 주파수 변환 방식에 따라 부호화 효율이 다를 수 있다. 하지만, 색차 신호의 잔여 신호(차분 영상)에 대한 스캐닝 방법과 주파수 변환 방법은 모두 색차 신호의 화면 내 예측 방향 모드에 따라 달라질 수 있으므로, 두 방법은 소정의 상관 관계를 가진다고 할 수 있다
즉, 색차 신호의 잔여 신호에 대한 스캐닝 방식과 주파수 변환 방식은 상관 관계를 가질 수 있으며, 두 방식이 통합되어 최적의 조합으로 결정될 수 있다. 따라서 실시예 1과 실시예 2-1/실시예 2-2에서의 색차 신호에 대한 스캐닝 방법과 실시예 3과 실시예 4, 그리고 실시예 5의 주파수 변환 방식은 표 17과 같이 통합적으로 결정될 수 있다.
표 17은 본 실시예에 따라서 색차 신호의 잔여 신호에 대한 스캐닝 방법과 주파수 변환 방식을 통합하여 결정하는 방법의 일 예를 나타낸 것이다.
<표 17>
Figure pat00019
표 17은 색차 신호의 잔여 신호에 대한 스캐닝 방법과 주파수 변환 방식을 통합하여 결정하는 방법들의 조합을 보여준다. 여기서 EM, DM 그리고 LM 모드는 색차 신호에 대한 화면 내 예측 방향 모드의 부호화 방법을 나타낸다.
휘도 신호의 화면 내 예측 방향 모드를 색차 신호의 화면 내 예측 방향 모드로 그대로 적용하여 유도되는 색차 신호에 대한 모드가 DM(Derived Mode)이다. 실제 화면 내 예측 방향 모드를 부호화하는 색차 신호에 대한 모드가 EM(Explicit Mode)이다. EM 모드로 부호화되는 색차 신호의 화면 내 예측 방향 모드로서 평면 모드(Planar), 평균 모드(DC), 수평 모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드)가 존재한다.
끝으로, 복원된 휘도 신호로부터 색차 신호를 예측하는 모드가 LM (Intra_FromLuma) 모드이다.
표 17에서 조합의 일 예로서, ‘A’을 살펴보면 색차 신호에 대한 주파수 변환 방식을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 LM만이 이용되고 DM이 이용되지 않는다. EM과 LM을 이용하여 주파수 변환 방식이 결정(실시예 3, 4, 5)되고 그 다음으로 변환된 계수에 대한 스캐닝 방법을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 DM을 이용하여 스캐닝 방식(실시예 1, 2)이 결정된다.
여기서는 부호화 효율을 고려하여, 색차 신호의 화면 내 예측 방향 모드 중에서 DM 모드를 이용하여 주파수 변환 방식을 유도하는 경우를 제외할 수도 있다. 예컨대, DM 모드로 부호화되는 경우, 만일 색차 신호의 화면 내 예측 방향 모드가 휘도 신호의 화면 내 예측 방향 모드와 다르고 색차 신호의 화면 내 예측 방향 모드가 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평모드(Hor), 수직 모드(Ver), 수직방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))에는 존재하지 않는 모드일 경우, 어쩔 수 없이 DM 모드로 부호화될 수 밖에 없으므로, DM모드로 부호화된 색차 신호의 화면 내 예측 방향 모드는 정확도 측면에서 떨어질 수도 있다. 따라서, DM 모드가 주파수 변환 방식을 결정하는데 사용되지 않을 수도 있다.
표 17에서 조합의 다른 예로서, ‘D’를 살펴보면 색차 신호에 대한 주파수 변환 방식을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 LM만이 이용되고 DM이 이용되지 않는다. EM과 LM을 이용하여 주파수 변환 방식이 결정(실시예 3, 4, 5)되고 그 다음으로 변환된 계수에 대한 스캐닝 방법을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 DM 그리고 LM을 모두 이용하여 스캐닝 방식(실시예 1, 2)이 결정된다.
여기서는 부호화 효율을 고려하여, 색차 신호의 화면 내 예측 방향 모드 중에서 LM 모드를 이용하여 스캐닝 방식을 유도하는 경우가 포함될 수도 있다. 실시예 1 및 2에서 설명한 것처럼 LM 모드로 부호화된 색차 신호는 휘도 신호와 상관 관계를 가질 수 있다. 따라서 LM 모드로 부호화된 색차 신호의 화면 내 예측 방향 모드는 휘도 신호의 화면 내 예측 방향 모드와 거의 동일할 수 있다. 따라서 LM 모드로 부호화된 색차 신호의 화면 내 예측 방향 모드는 휘도 신호와 비슷한 특성을 가지므로 스캐닝 방식을 결정하는데 사용될 수 있다.
표 17에서 조합의 또 다른 예로서, ‘T’를 살펴보면 색차 신호에 대한 주파수 변환 방식을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 DM 그리고 LM 모두가 이용된다. EM과 DM 그리고 LM을 이용하여 주파수 변환 방식이 결정(실시예 3, 4, 5)되고 그 다음으로 변환된 계수에 대한 스캐닝 방법을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 DM 그리고 LM을 모두 이용하여 스캐닝 방식(실시예 1, 2)이 결정된다.
표 17에서 조합의 또 다른 예로서, ‘T’ 방법을 변형하면, 색차 신호에 대한 주파수 변환 방식을 결정하기 위해서 색차 신호의 화면 내 예측 방향 모드 중 EM과 DM 그리고 LM 모드가 이용될 수 있다. 이때 EM과 DM 그리고 LM 모드 중에서 실제 복원된 색차 신호에 대한 화면 내 예측 방향 모드가 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))일 경우에 대하여만 주파수 변환 방식이 결정(실시예 3, 4, 5)될 수 있다. 또한 변환된 계수에 대한 스캐닝 방법을 결정하기 위해서도 EM과 DM 그리고 LM이 모두 이용될 수 있다. 이때 EM과 DM 그리고 LM 모드 중에서 실제 복원된 색차 신호에 대한 화면 내 예측 방향 모드가 EM 모드(평면 모드(Planar), 평균 모드(DC), 수평 모드(Hor), 수직 모드(Ver), 수직 방향에서 8번째 위치한 모드(Ver+8 혹은 34 번 모드))일 경우에 대하여만 스캐닝 방식(실시예 1, 2)가 사용될 수 있다.
[ 실시예 7] 색차 신호의 변환 방식 및 스캔 방식을 결정하기 위한 테이블을 통합하는 방법 및 장치
색차 신호의 잔여 신호(차분 영상)에 대한 스캐닝 방법과 주파수 변환 방법은 모두 색차 신호의 화면 내 예측 방향 모드에 따라 달라질 수 있으므로, 두 방법은 밀접한 상관 관계를 가진다고 할 수 있다.
따라서 본 실시예에서는 화면 내 예측 방향 모드에 따라 두 방법을 결정하기 위해서 사용되는 테이블을 통합하여 사용할 수 있다.
표 18은 본 실시예에 따라서 화면 내 예측 방향 모드에 기반하여 유도되는 주파수 변환 방식 및 스캐닝 방식의 일 예를 나타낸 것이다.
<표 18>
Figure pat00020
또한, 표 19는 본 실시예에 따라서 화면 내 예측 방향 모드에 기반하여 유도되는 주파수 변환 방식 및 스캐닝 방식의 다른 예를 나타낸 것이다.
<표 19>
Figure pat00021
표 20은 본 실시예에 따라서 화면 내 예측 방향 모드에 기반하여 유도되는 주파수 변환 방식 및 스캐닝 방식의 또 다른 예를 나타낸 것이다.
<표 20>
Figure pat00022
표 21은 본 실시예에 따라서 화면 내 예측 방향 모드에 기반하여 유도되는 주파수 변환 방식 및 스캐닝 방식의 또 다른 예를 나타낸 것이다.
<표 21>
Figure pat00023
표 18 내지 표 21은 화면 내 예측 방향 모드에 따라 유도되는 주파수 변환 방식 및 스캐닝 방식의 테이블을 통합한 예들을 나타낸 것이다.
예를 들어 표 19를 살펴보면, 화면 내 예측 방향 모드가 2~5인 경우에는 수직 수평 주파수 변환 방식으로 DST가 사용되고 스캐닝 방법으로 상단 우측 방향 스캔(DIAG(up-right))가 사용된다. 화면 내 예측 방향 모드가 6~14인 경우에는 수직 주파수 변환 방식으로 DCT가 사용되고 수평 주파수 변환 방식으로 DST가 사용되며, 스캐닝 방법으로 VER(수직)가 사용된다.
화면 내 예측 방향 모드가 15~21일 경우에는 수직 수평 주파수 변환 방식으로 DST가 사용되고 스캐닝 방법으로 DIAG(up-right)가 사용된다. 화면 내 예측 방향 모드가 22~30일 경우에는 수직 주파수 변환 방식으로 DST가 사용되고 수평 주파수 변환 방식으로 DCT가 사용되며 스캐닝 방법으로 HOR(수평)가 사용된다.
화면 내 예측 방향 모드가 31~34일 경우에는 수직 수평 주파수 변환 방식으로 DST가 사용되고 스캐닝 방법으로 DIAG(up-right)가 사용된다.
이렇게 표 19도와 같이 화면 내 예측 방향 모드에 따라 주파수 변환 방식과 스캐닝 방법이 고려될 경우, 표 18과는 다르게 VER과 HOR에 따라 통일성이 있게 구현될 수 있다는 장점이 있다.
여기서 위의 방법들은 현재 색차 블록이 “Intra_FromLuma”모드로 부호화되었을 때뿐만 아니라 아래의 1 또는 2의 경우에도 적용할 수 있다.
1. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록에 가중치를 곱한 후 오프셋을 더하는 모든 방식에 대하여 적용할 수 있다.
2. 색차 블록을 예측하는데 있어서, 복원된 휘도 신호 블록과 색차 신호 블록에 대한 템플릿 쉬프트(template shift)을 이용하여 색차 블록을 예측하는 모든 방식에 대하여 적용할 수 있다. 여기서 템플릿 쉬프트는 휘도 신호와 색차 신호간의 상관성을 유추하기 위해서 사용한다.
이외에도 상술한 방법은 다양하게 적용할 수 있다.
도 24는 본 발명에 따른 인코딩 장치를 개략적으로 설명하는 블록도이다.
도 24를 참조하면, 인코딩 장치(2400)는 예측 모드 특정부(2410) 및 스캐닝부(2420)를 포함한다.
예측 모드 특정부(2410)는 현재 블록에 적용된 예측 모드를 특정한다. 예컨대, 예측 모드 특정부(2410)는 현재 블록의 휘도 샘플 및/또는 색차 샘플에 적용된 화면 내 예측 모드가 무엇인지를 특정할 수 있다.
이때, 예측 모드 특정부(2410)는 도 1의 화면 내 예측부보다 앞서 위치하여, 현재 블록에 적용할 화면 내 예측 모드를 특정할 수도 있고, 화면 내 예측부보다 위에 위치하여 현재 블록에 적용된 화면 내 예측 모드가 무엇인지를 특정하는 정보를 출력할 수도 있다.
화면 내 예측 모드는 도 6에 관한 설명 등에서 상술한 바와 같다.
스캐닝부(2420)는 현재 블록의 색차 신호 및/또는 휘도 신호를 스캐닝할 수 있다. 이때, 스캐닝부(2420)는 현재 블록의 화면 내 예측 모드에 대응하여 현재 블록에 적용할 스캐닝 타입을 결정할 수 있다.
현재 블록에 적용할 스캐닝 타입(방법)을 결정하는 구체적인 방법은 본 명세서의 실시예들에서 상세히 설명한 바와 같다.
도 25는 본 발명에 따른 디코딩 장치를 개략적으로 설명하는 블록도이다.
도 25를 참조하면, 디코딩 장치(2500)는 예측 모드 특정부(2510) 및 스캐닝부(2520)를 포함한다.
예측 모드 특정부(2510)는 현재 블록에 적용된 예측 모드를 특정한다. 예컨대, 예측 모드 특정부(2410)는 현재 블록의 휘도 샘플 및/또는 색차 샘플에 적용된 화면 내 예측 모드가 무엇인지를 특정할 수 있다.
화면 내 예측 모드는 도 6에 관한 설명 등에서 상술한 바와 같다.
스캐닝부(2520)는 현재 블록의 색차 신호 및/또는 휘도 신호를 스캐닝할 수 있다. 이때, 스캐닝부(2520)는 현재 블록의 화면 내 예측 모드에 대응하여 현재 블록에 적용할 스캐닝 타입을 결정할 수 있다.
현재 블록에 적용할 스캐닝 타입(방법)을 결정하는 구체적인 방법은 본 명세서의 실시예들에서 상세히 설명한 바와 같다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다.

Claims (1)

  1. 현재 블록에 대한 화면 내 예측 모드를 특정하는 예측 모드 특정부; 및
    상기 현재 블록에 대한 스캐닝을 수행하는 스캐닝부를 포함하며,
    상기 스캐닝부는,
    상기 현재 블록의 휘소 샘플에 대한 화면 내 예측 모드를 기반으로 상기 현재 블록의 휘도 신호 및 색차 신호에 대한 잔여 신호의 스캐닝 타입을 결정하는 것을 특징으로 하는 비디오 부호화 장치.
KR1020130109442A 2012-04-16 2013-09-12 비디오 부호화 장치 KR101591354B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20120039444 2012-04-16
KR1020120039444 2012-04-16
KR1020120040015 2012-04-17
KR20120040015 2012-04-17
KR1020120039622 2012-04-17
KR20120039622 2012-04-17
KR1020120043456 2012-04-25
KR20120043456 2012-04-25

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130041906A Division KR101591352B1 (ko) 2012-04-16 2013-04-16 비디오 복호화 장치

Publications (2)

Publication Number Publication Date
KR20130116840A true KR20130116840A (ko) 2013-10-24
KR101591354B1 KR101591354B1 (ko) 2016-02-04

Family

ID=49635806

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020130041906A KR101591352B1 (ko) 2012-04-16 2013-04-16 비디오 복호화 장치
KR1020130109442A KR101591354B1 (ko) 2012-04-16 2013-09-12 비디오 부호화 장치
KR1020130109444A KR101765303B1 (ko) 2012-04-16 2013-09-12 비디오 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020130109443A KR101765302B1 (ko) 2012-04-16 2013-09-12 비디오 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020160048900A KR20160048748A (ko) 2012-04-16 2016-04-21 비디오 복호화 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020130041906A KR101591352B1 (ko) 2012-04-16 2013-04-16 비디오 복호화 장치

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020130109444A KR101765303B1 (ko) 2012-04-16 2013-09-12 비디오 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020130109443A KR101765302B1 (ko) 2012-04-16 2013-09-12 비디오 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR1020160048900A KR20160048748A (ko) 2012-04-16 2016-04-21 비디오 복호화 방법

Country Status (8)

Country Link
US (7) US11323699B2 (ko)
EP (2) EP2840792A4 (ko)
JP (8) JP6169681B2 (ko)
KR (5) KR101591352B1 (ko)
CN (6) CN107547901B (ko)
AU (9) AU2013250143B2 (ko)
BR (1) BR112014025563B1 (ko)
WO (1) WO2013157829A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697679A (zh) * 2015-09-11 2022-07-01 株式会社Kt 图像解码方法、图像编码方法和包括比特流的设备

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948938B2 (en) * 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
CA2896637C (en) * 2013-03-26 2018-02-13 Mediatek Inc. Method of cross color intra prediction
KR101770317B1 (ko) * 2013-04-08 2017-09-05 지이 비디오 컴프레션, 엘엘씨 성분-간 예측
WO2015189950A1 (ja) * 2014-06-12 2015-12-17 三菱電機株式会社 エレベータ、および、かご据付姿勢調整方法
CN108353193B (zh) * 2015-08-19 2022-07-15 Lg 电子株式会社 基于多个基于图的模型处理视频数据的方法和设备
US10694184B2 (en) * 2016-03-11 2020-06-23 Digitalinsights Inc. Video coding method and apparatus
CN114422796A (zh) 2016-06-24 2022-04-29 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
US10368107B2 (en) 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US20200036985A1 (en) * 2016-09-30 2020-01-30 Lg Electronics Inc. Method and apparatus for block partitioning and intra prediction in image coding system
CN116647677A (zh) 2016-10-28 2023-08-25 韩国电子通信研究院 视频编码/解码方法和设备以及存储比特流的记录介质
CN114513665B (zh) * 2017-01-31 2023-10-27 夏普株式会社 基于平面预测模式导出帧内预测数据的系统和方法
KR20180092774A (ko) 2017-02-10 2018-08-20 삼성전자주식회사 샘플 적응적 오프셋 처리를 수행하는 영상 처리 장치 및 영상 처리 방법
WO2019059640A1 (ko) * 2017-09-19 2019-03-28 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20190090731A (ko) * 2018-01-25 2019-08-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
WO2020002373A1 (en) * 2018-06-27 2020-01-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Contour mode prediction
DK3707898T3 (da) 2018-07-13 2021-05-03 Ericsson Telefon Ab L M Valg af transformation i en videokoder og/eller videoafkoder
US10630979B2 (en) * 2018-07-16 2020-04-21 Tencent America LLC Reference sample padding and filtering for intra prediction in video compression
WO2020036132A1 (ja) 2018-08-15 2020-02-20 日本放送協会 画像符号化装置、画像復号装置、及びプログラム
CN113287311B (zh) * 2018-12-22 2024-03-12 北京字节跳动网络技术有限公司 两步交叉分量预测模式的指示
KR102464910B1 (ko) * 2019-02-28 2022-11-09 삼성전자주식회사 크로마 성분을 예측하는 비디오 부호화 및 복호화 방법, 및 크로마 성분을 예측하는 비디오 부호화 및 복호화 장치
CN111669582B (zh) * 2019-03-09 2022-05-20 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统
US11539952B2 (en) * 2019-03-12 2022-12-27 Qualcomm Incorporated Implicit transform selection in video coding
JP7410168B2 (ja) * 2019-03-14 2024-01-09 エルジー エレクトロニクス インコーポレイティド イントラ予測を行う画像符号化/復号方法、装置、およびビットストリームを伝送する方法
BR112021012480A2 (pt) * 2019-03-24 2021-11-23 Huawei Tech Co Ltd Método e aparelho para predição intra de croma em codificação de vídeo
WO2020232355A1 (en) * 2019-05-16 2020-11-19 Bytedance Inc. Intra block copy for screen content coding
CN113382260B (zh) * 2019-06-21 2022-03-29 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
WO2021118266A1 (ko) * 2019-12-12 2021-06-17 엘지전자 주식회사 디블록킹 필터링을 사용하는 영상 디코딩 방법 및 장치
CN116233470B (zh) * 2020-02-04 2024-01-09 华为技术有限公司 指示高级语法的编码器、解码器以及对应方法
WO2024083090A1 (en) * 2022-10-17 2024-04-25 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2210229B (en) * 1987-09-24 1991-11-20 Matsushita Electric Works Ltd Picture encoding system
JP2839142B2 (ja) 1987-11-14 1998-12-16 松下電工株式会社 画像符号化方式
US6341144B1 (en) 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
JP4166305B2 (ja) 1996-09-20 2008-10-15 エイ・ティ・アンド・ティ・コーポレーション ビデオの画像コーディング及びイントラコーディングのための暗黙の係数予測及び走査適合化を提供するビデオコーダー
CN100521550C (zh) * 2002-04-02 2009-07-29 诺基亚有限公司 用于数字视频的编码方法、解码方法、编码器和解码器
KR100694058B1 (ko) * 2004-09-30 2007-03-12 삼성전자주식회사 멀티 타임 스캔 방식에 기초한 인트라 모드 인코딩 및디코딩 방법 및 장치
CN100461867C (zh) * 2004-12-02 2009-02-11 中国科学院计算技术研究所 一种帧内图像预测编码方法
CN1777283A (zh) 2004-12-31 2006-05-24 上海广电(集团)有限公司 一种基于微块的视频信号编/解码方法
EP2733951A1 (en) 2005-10-21 2014-05-21 Electronics and Telecommunications Research Institute Method for decoding moving picture using adaptive scanning
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
KR101619972B1 (ko) 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
JP5377395B2 (ja) 2010-04-02 2013-12-25 日本放送協会 符号化装置、復号装置及びプログラム
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
CN102223525B (zh) 2010-04-13 2014-02-19 富士通株式会社 视频解码方法和系统
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US8885701B2 (en) * 2010-09-08 2014-11-11 Samsung Electronics Co., Ltd. Low complexity transform coding using adaptive DCT/DST for intra-prediction
KR20120035096A (ko) 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
KR101249806B1 (ko) * 2010-10-13 2013-04-02 (주)모밍 조립식 신발장
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
CN102065298B (zh) 2011-01-05 2012-10-24 西安电子科技大学 高性能宏块编码实现方法
US20120307893A1 (en) * 2011-06-02 2012-12-06 Qualcomm Incorporated Fast computing of discrete cosine and sine transforms of types vi and vii
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
US9344722B2 (en) * 2011-11-18 2016-05-17 Futurewei Technologies, Inc. Scanning of prediction residuals in high efficiency video coding
KR102061201B1 (ko) * 2012-04-12 2019-12-31 주식회사 골드피크이노베이션즈 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697679A (zh) * 2015-09-11 2022-07-01 株式会社Kt 图像解码方法、图像编码方法和包括比特流的设备

Also Published As

Publication number Publication date
US11323699B2 (en) 2022-05-03
JP2015515821A (ja) 2015-05-28
US20220248004A1 (en) 2022-08-04
KR101591354B1 (ko) 2016-02-04
US11652989B2 (en) 2023-05-16
CN107547900B (zh) 2021-07-20
JP6279776B2 (ja) 2018-02-14
JP6580631B2 (ja) 2019-09-25
KR101765303B1 (ko) 2017-08-04
US20150063438A1 (en) 2015-03-05
AU2016200779A1 (en) 2016-02-25
KR101765302B1 (ko) 2017-08-04
AU2018202743B2 (en) 2019-06-27
AU2018202742A1 (en) 2018-05-10
AU2018202744A1 (en) 2018-05-10
US20220224892A1 (en) 2022-07-14
CN107509078B (zh) 2021-07-20
CN104322064A (zh) 2015-01-28
CN107707919A (zh) 2018-02-16
AU2018202743A1 (en) 2018-05-10
JP2017123656A (ja) 2017-07-13
AU2019205017B2 (en) 2021-05-06
CN107707920A (zh) 2018-02-16
AU2018202742B2 (en) 2019-06-27
CN107707920B (zh) 2021-06-01
AU2018202744B2 (en) 2019-06-27
US11616951B2 (en) 2023-03-28
US20210235077A1 (en) 2021-07-29
JP2017201813A (ja) 2017-11-09
WO2013157829A1 (ko) 2013-10-24
EP2840792A4 (en) 2016-03-16
AU2013250143B2 (en) 2015-11-12
CN107707919B (zh) 2021-06-01
US20230247194A1 (en) 2023-08-03
EP2840792A1 (en) 2015-02-25
AU2021212037A1 (en) 2021-08-26
BR112014025563B1 (pt) 2023-12-05
JP2019216459A (ja) 2019-12-19
AU2023203128A1 (en) 2023-06-08
KR101591352B1 (ko) 2016-02-04
JP7234427B2 (ja) 2023-03-07
US11997263B2 (en) 2024-05-28
CN107547901B (zh) 2021-07-20
JP6169681B2 (ja) 2017-07-26
CN107547901A (zh) 2018-01-05
AU2016200938B2 (en) 2018-02-01
AU2021212037B2 (en) 2023-03-02
BR112014025563A8 (pt) 2021-06-22
JP7053540B2 (ja) 2022-04-12
BR112014025563A2 (pt) 2017-06-20
US11647184B2 (en) 2023-05-09
AU2013250143A1 (en) 2014-10-23
JP6580632B2 (ja) 2019-09-25
US20220224893A1 (en) 2022-07-14
JP2023056004A (ja) 2023-04-18
KR20160048748A (ko) 2016-05-04
KR20130116841A (ko) 2013-10-24
CN107547900A (zh) 2018-01-05
AU2016200938A1 (en) 2016-03-03
KR20130116837A (ko) 2013-10-24
US11962766B2 (en) 2024-04-16
JP2022070871A (ja) 2022-05-13
JP6580630B2 (ja) 2019-09-25
US11595643B2 (en) 2023-02-28
US20220239905A1 (en) 2022-07-28
CN107509078A (zh) 2017-12-22
JP2017201812A (ja) 2017-11-09
KR20130116842A (ko) 2013-10-24
US20230239467A1 (en) 2023-07-27
EP3955573A1 (en) 2022-02-16
JP2017201811A (ja) 2017-11-09
AU2019205017A1 (en) 2019-08-01
AU2016200779B2 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
JP7053540B2 (ja) 符号化方法及び復号化方法、並びにそれを利用する装置
KR20210037508A (ko) 이스케이프 샘플을 처리하는 방법 및 영상 복호화 장치
BR122016008677B1 (pt) Método de decodificação de vídeo

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191223

Year of fee payment: 5