KR20140124448A - 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 - Google Patents

인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20140124448A
KR20140124448A KR1020130041304A KR20130041304A KR20140124448A KR 20140124448 A KR20140124448 A KR 20140124448A KR 1020130041304 A KR1020130041304 A KR 1020130041304A KR 20130041304 A KR20130041304 A KR 20130041304A KR 20140124448 A KR20140124448 A KR 20140124448A
Authority
KR
South Korea
Prior art keywords
prediction
mode
intra
base
difference
Prior art date
Application number
KR1020130041304A
Other languages
English (en)
Inventor
문주희
최광현
한종기
Original Assignee
인텔렉추얼디스커버리 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔렉추얼디스커버리 주식회사 filed Critical 인텔렉추얼디스커버리 주식회사
Priority to KR1020130041304A priority Critical patent/KR20140124448A/ko
Priority to US14/784,467 priority patent/US20160073107A1/en
Priority to PCT/KR2014/003261 priority patent/WO2014171713A1/ko
Publication of KR20140124448A publication Critical patent/KR20140124448A/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
    • 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
    • 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/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

Landscapes

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

Abstract

본 발명의 실시 예에 따른 부호화 방법은 비디오 부호화 방법에 있어서, 영상 블록에 대한 부호화 모드를 판단하는 단계; 상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및 상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 단계를 포함한다.

Description

인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치{Method for encoding and decoding video using intra prediction, and apparatus thereof}
본 발명은 비디오 코덱에 관한 것으로, 더욱 상세하게는 곡선형 예측 기술을 이용하는 비디오 코덱 제공 방법 및 장치에 관한 것이다.
일반적인 HEVC의 Intra Prediction 과정에서는 직선형 형태의 34가지 방향으로 Intra 예측을 수행한다. 이 방법은 곡선형 edge가 있는 부분 또는 (Kimono sequence에서 배경 하늘 부분처럼) 점진적으로 밝기가 변하는 영역 등에서 부호화 효율의 한계가 존재하며, 이 경우 contour (등고선 형태의) error가 발생하는 문제점이 있었다.
본 발명의 실시 예는 비디오 코덱에서 인트라 예측 시, 부호화 효율의 한계와, Contour error를 극복하는 방법 및 장치를 제공한다.
다만, 본 발명의 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1측면에 따른 비디오 코덱 제공 방법은 인트라 예측 시 곡선형 예측을 수행하고, 곡선 예측 형태 및 mode정보에 따라 예측 필터, 필터링 방법, 화소 보간 방법, MPM 결정방법, 변환(Transform)방법, 및 스캐닝(Scanning)방법을 결정한다.
본 발명의 실시 예에 따른 부호화 방법은 비디오 부호화 방법에 있어서, 영상 블록에 대한 부호화 모드를 판단하는 단계; 상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및 상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 단계를 포함한다.
본 발명의 실시예에 따르면, Intra Prediction에서 곡선형 예측을 수행함으로써 곡선형 edge가 있는 부분 또는 (Kimono sequence에서 배경 하늘 부분처럼) 점진적으로 밝기가 변하는 영역 등에서 부호화 효율을 향상 시킬 수 있다.
미래에는 현재 HEVC가 부호화 목표로 삼는 4K 영상보다 훨씬 큰 해상도의 영상 신호를 압축할 것이고, 이런 환경에서 본 특허 기술의 효과는 매우 효율적으로 나타날 것이다.
도 1은 비디오 부호화 장치의 구성에 대한 일예를 나타내는 블록도이다.
도 2는 비디오 복호화 장치 구조에 대한 일예를 나타내는 블록도이다.
도 3은 인트라 예측 모드들에 대한 일예를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 인트라 예측 방향 패턴 결정 방법을 설명하기 위한 도면이다.
도 5는 모드 발생 빈도에 따라 인트라 예측 방향 패턴을 결정하는 방법에 대한 일실시예를 나타내는 도면이다.
도 6은 엣지 정보에 따라 인트라 예측 방향 패턴을 결정하는 방법에 대한 일실시예를 나타내는 도면이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시 예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 상에 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본원 명세서 전체에서, 마쿠시 형식의 표현에 포함된 이들의 조합의 용어는 마쿠시 형식의 표현에 기재된 구성 요소들로 이루어진 군에서 선택되는 하나 이상의 혼합 또는 조합을 의미하는 것으로서, 상기 구성 요소들로 이루어진 군에서 선택되는 하나 이상을 포함하는 것을 의미한다.
실제 영상과 그것의 깊이 정보 맵을 부호화하는 방법의 일예로, 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)에서 공동으로 표준화를 진행 중인 HEVC(High Efficiency Video Coding)를 이용하여 부호화를 수행할 수 있다.
본 발명의 일실시 예에 있어서, Intra Prediction시 곡선형 예측을 수행한다.
본 발명의 일실시 예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 별로 예측 필터들을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 예측 형태 및 mode에 따라 (현재 HEVC의 Intra Smoothing 과 유사한) 주변 화소들의 필터링 방법을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선형 예측 필터를 적용하기 위해서, 주변 화소들을 보간하는 방법을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 정보를 부호화하는 방법을 제안한다. 이때, 곡선 예측 형태 및 mode에 따라서 MPM 결정 방법을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 정보에 따라서 서로 다른 Transform을 사용한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 정보에 따라서 서로 다른 변환 계수 scanning 방법을 사용한다.
도 1은 비디오 부호화 장치의 구성에 대한 일예를 블록도로 도시한 것으로, 도시된 부호화 장치는 부호화 모드 결정부(110), 인트라 예측부(120), 움직임 보상부(130), 움직임 추정부(131), 변환부호화/양자화부(140), 엔트로피 부호화부(150), 역양자화/변환복호화부(160), 디블록킹 필터링부(170), 픽쳐 저장부(180), 감산부(190) 및 가산부(200)를 포함한다.
도 1을 참조하면, 부호화 모드 결정부(110)는 입력되는 비디오 신호를 분석하여 픽쳐를 소정 크기의 부호화 블록으로 분할하고, 분할된 소정 크기의 부호화 블록에 대한 부호화 모드를 결정한다. 상기 부호화 모드는 인트라 예측 부호화 및 인터 예측 부호화를 포함한다.
픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수개의 최대 부호화 단위(Largest coding unit: LCU)로 구성된다. 상기 LCU는 복수개의 부호화 단위(CU)로 분할될 수 있고, 부호기는 분할여부를 나타내는 정보(flag)를 비트스트림에 추가할 수 있다. 복호기는 LCU의 위치를 어드레스(LcuAddr)를 이용하여 인식할 수 있다. 분할이 허용되지 않는 경우의 부호화 단위(CU)는 예측 단위(Prediction unit: PU)로 간주되고, 복호기는 PU의 위치를 PU 인덱스를 이용하여 인식할 수 있다.
예측 단위(PU)는 복수개의 파티션으로 나뉠 수 있다. 또한 예측 단위(PU)는 복수개의 변환 단위(Transform unit: TU)로 구성될 수 있다.
부호화 모드 결정부(110)는 결정된 부호화 모드에 따른 소정 크기의 블록 단위(예를 들면, PU 단위 또는 TU 단위)로 영상 데이터를 감산부(190)로 보낸다.
변환부호화/양자화부(140)는 감산부(190)에 의해 산출된 잔차 블록을 공간 영역으로부터 주파수 영역으로 변환한다.
예를 들면, 잔차 블록에 대해서 2차원의 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST) 기반의 변환을 실행한다. 또한, 변환부호화/양자화부(140)는 변환 계수를 양자화하기 위한 양자화 스텝 사이즈를 결정하고, 결정된 양자화 스텝 사이즈를 이용하여 변환 계수를 양자화한다. 결정된 양자화 스텝 사이즈 및 부호화 모드에 따라 양자화 매트릭스가 결정될 수 있다.
양자화된 2차원의 변환 계수는 미리 정해진 스캐닝 방법 중 하나에 의해 1차원의 양자화 변환 계수로 변환된다.
상기 변환된 1차원의 양자화 변환 계수의 시퀀스는 엔트로피 부호화부(150)로 공급된다.
역양자화/변환복호화부(160)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수를 역양자화한다. 또한,
역양자화에 의해 얻어지는 역양자화 계수를 역변환한다. 이에 따라, 주파수 영역으로 변환된 잔차 블록을 공간 영역의 잔차 블록으로 복원할 수 있다.
디블록킹 필터링부(170)는 역양자화/변환부호화부(160)로부터 역양자화 및 역변환된 영상 데이터를 입력 받아 블록킹(blocking) 효과를 제거하기 위한 필터링을 수행한다.
픽쳐 저장부(180)는 필터링된 영상 데이터를 디블록킹 필터링부(170)로부터 입력 받아 픽쳐(picture) 단위로 영상을 복원하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상일 수 있다.
픽쳐 저장부(180)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다. 버퍼에 저장된 다수의 픽쳐는 인트라 예측 및 움직임 추정을 위해 제공된다. 인트라 예측 또는 움직임 추정을 위해 제공되는 상기 픽쳐들은 참조 픽쳐로 불리운다.
움직임 추정부(131)는 상기 픽쳐 저장부(180)에 저장된 적어도 하나의 참조 픽쳐를 제공받아 움직임 추정을 수행하여 움직임 벡터, 참조 픽쳐를 나타내는 인덱스 및 블록 모드를 포함한 모션 데이터(Motion Data)를 출력한다.
예측 정밀도를 최적화하기 위해서, 소수 화소 정밀도, 예를 들면, 1/2 또는 1/4 화소 정밀도로 움직임 벡터를 결정한다. 움직임 벡터가 소수 화소 정밀도를 가질 수 있으므로, 움직임 보상부(130)는 소수 화소 위치의 화소 값을 산출하기 위한 보간 필터를 참조 픽쳐에 적용함으로써, 정수 화소 위치의 화소값으로부터 소수 화소 위치의 화소값을 산출한다.
움직임 보상부(130)는 움직임 추정부(131)로부터 입력된 모션 데이터에 따라, 픽쳐 저장부(180)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 부호화하고자 하는 블록에 대응하는 예측 블록을 추출하여 출력한다.
움직임 보상부(130)는 소수 정밀도의 움직임 보상에 필요한 적응적 보간 필터의 필터 특성을 결정한다. 필터 특성은, 예를 들면, 적응적 보간 필터의 필터 타입을 나타내는 정보, 및, 적응적 보간 필터의 사이즈를 나타내는 정보 등이다. 필터의 사이즈는, 예를 들면, 적응적 보간 필터의 필터 계수의 수인 탭 수 등이다.
구체적으로, 움직임 보상부(130)는 적응적 보간 필터로서, 분리형 및 비분리형 적응적 필터 중 어느 하나를 결정할 수 있다. 그리고 나서, 결정된 적응적 보간 필터의 탭 수, 및, 각 필터 계수의 값을 결정한다. 필터 계수의 값은, 정수 화소와의 상대적인 소수 화소의 위치마다 다르게 결정될 수 있다. 또한, 움직임 보상부(130)는, 필터 계수가 고정인 복수개의 비적응적 보간 필터를 이용할 수도 있다.
움직임 보상부(130)는, 보간 필터의 특성을 소정의 처리 단위로 설정할 수 있다. 예를 들면, 소수 화소 단위, 부호화 기본 단위(부호화 유닛), 슬라이스 단위, 픽쳐 단위, 또는, 시퀀스 단위로 설정할 수 있다. 또한, 1개의 영상 데이터에 대해서, 1개의 특성을 설정해도 된다. 따라서, 소정의 처리 단위 내에서는, 동일한 필터 특성을 이용하므로, 움직임 보상부(130)는 필터 특성을 일시적으로 유지하는 메모리를 구비한다. 이 메모리는 필요에 따라, 필터 특성 및 필터 계수 등을 유지한다. 예를 들면, 움직임 보상부(130)는, I픽쳐마다 필터 특성을 결정하고, 슬라이스 단위로 필터 계수를 결정할 수 있다.
움직임 보상부(130)는, 픽쳐 저장부(180)로부터 참조 픽쳐를 수신하고, 결정된 적응적 보간 필터를 이용하여 필터 처리를 적용함으로써, 소수 정밀도의 예측 참조 화상을 생성한다.
그리고, 생성된 참조 화상과, 움직임 추정부(131)에 의해 결정된 움직임 벡터에 의거하여 소수 화소 정밀도의 움직임 보상을 행함으로써, 예측 블록을 생성한다.
감산부(190)는 부호화하고자 하는 입력 블록을 픽쳐 간 예측 부호화하는 경우, 움직임 보상부(130)로부터 입력 블록에 대응하는 참조 픽쳐 내의 블록을 입력받아 입력 매크로 블록과의 차분 연산을 수행하여 잔차 신호(residue signal)를 출력한다.
인트라 예측부(120)는 예측이 수행되는 픽처 내부의 재구성된 화소값을 이용하여 인트라 예측 부호화를 수행한다. 인트라 예측부는 예측 부호화할 현재 블록을 입력 받아 현재 블록의 크기에 따라 미리 설정된 복수개의 인트라 예측 모드 중에 하나를 선택하여 인트라 예측을 수행한다. 인트라 예측부(120)는 현재 블록에 인접한 이전에 부호화된 화소들을 이용해 현재 블록의 인트라 예측 모드를 결정하고, 상기 결정된 모드에 대응하는 예측 블록을 생성한다.
현재 픽처에 포함된 영역 중에서 이전에 부호화된 영역은 인트라 예측부(120)가 이용할 수 있도록 다시 복호화되어 픽쳐 저장부(180) 에 저장되어 있다. 인트라 예측부(120)는 픽쳐 저장부(180)에 저장되어 있는 현재 픽처의 이전에 부호화된 영역에서 현재 블록에 인접한 화소 또는 인접하지 않지만 적용 가능한 화소들을 이용하여 현재 블록의 예측 블록을 생성한다.
인트라 예측부(120)는 인트라 블록을 예측하기 위하여 인접 화소를 적응적으로 필터링할 수 있다. 복호기에서의 동일한 동작을 위해 부호기에서 필터링 여부를 알려주는 정보를 전송할 수 있다. 또는 현재 블록의 인트라 예측 모드 및 현재 블록의 크기 정보에 기초하여 필터링 여부를 결정할 수 있다.
영상 부호화 장치에 의해 사용되는 예측 타입은 상기 부호화 모드 결정부에 의해 입력 블록이 인트라 모드 또는 인터 모드로 부호화되는지 여부에 의존한다.
인트라 모드와 인터 모드의 전환은, 인트라/인터 전환 스위치에 의해 제어된다.
엔트로피 부호화부(150)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수와 움직임 추정부(131)에 의해 생성된 움직임 정보를 엔트로피 부호화한다. 또한, 인트라 예측 모드, 제어 데이터(예를 들면, 양자화 스텝 사이즈 등) 등도 부호화될 수 있다. 또한, 움직임 보상부(130)에 의해 결정된 필터 계수도 부호화되어 비트 스트림으로서 출력한다.
도 2는 비디오 복호화 장치의 구성에 대한 일예를 블록도로 도시한 것으로, 도시된 복호화 장치는 인트로피 복호화부(210), 역양자화/역변환부(220), 가산기(270), 디블록킹 필터부(250), 픽쳐 저장부(260), 인트라 예측부(230), 움직임 보상 예측부(240) 및 인트라/인터전환 스위치(280)를 구비한다.
도 2를 참조하면, 인트로피 복호화부(210)는, 동영상 부호화 장치로부터 전송되는 부호화 비트스트림을 복호하여, 인트라 예측 모드 인덱스, 움직임 정보, 양자화 계수 시퀀스 등으로 분리한다. 인트로피 복호화부(210)는 복호된 움직임 정보를 움직임 보상 예측부(240)에 공급한다. 인트로피 복호화부(210)는 상기 인트라 예측 모드 인덱스를 상기 인트라 예측부(230), 역양자화/역변환부(220)로 공급한다. 또한, 상기 인트로피 복호화부(210)는 상기 역양자화 계수 시퀀스를 역양자화/역변환부(220)로 공급한다.
역양자화/역변환부(220)는 상기 양자화 계수 시퀀스를 2차원 배열의 역양자화 계수로 변환한다. 상기 변환을 위해 복수개의 스캐닝 패턴 중에 하나를 선택한다. 현재 블록의 예측모드(즉, 인트라 예측 및 인터 예측 중의 어느 하나)와 인트라 예측 모드 및 변환 블록의 크기에 기초하여 복수개의 스캐닝 패턴 중 하나를 선택한다.
상기 인트라 예측 모드는 인트라 예측부 또는 인트로피 복호화부(210)로부터 수신한다.
역양자화/역변환부(220)는 상기 2차원 배열의 역양자화 계수에 복수개의 양자화 매트릭스 중 선택된 양자화 매트릭스를 이용하여 양자화 계수를 복원한다. 상기 양자화 매트릭스는 부호기로부터 수신된 정보를 이용하여 결정될 수도 있다.
복원하고자 하는 현재 블록(변환 블록)의 크기에 따라 서로 다른 양자화 매트릭스가 적용되며, 동일 크기의 블록에 대해서도 상기 현재 블록의 예측 모드 및 인트라 예측 모드 중 적어도 하나에 기초하여 양자화 매트릭스를 선택할 수 있다. 그리고, 상기 복원된 양자화 계수를 역변환하여 잔차 블록을 복원한다.
가산기(270)는 역양자화/역변환부(220)에 의해 복원된 잔차 블록과 인트라 예측부(230) 또는 움직임 보상 예측부(240)에 의해 생성되는 예측 블록을 가산함으로써, 영상 블록을 복원한다.
디블록킹 필터부(250)는 가산기(270)에 의해 생성된 복원 영상에 디블록킹 필터 처리를 실행한다. 이에 따라, 양자화 과정에 따른 영상 손실에 기인하는 디블록킹 아티펙트를 줄일 수 있다.
픽쳐 저장부(260)는 디블록킹 필터부(250)에 의해 디블록킹 필터 처리가 실행된 로컬 복호 영상을 유지하는 프레임 메모리이다.
인트라 예측부(230)는 인트로피 복호화부(210)로부터 수신된 인트라 예측 모드 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 복원한다. 그리고, 복원된 인트라 예측 모드에 따라 예측 블록을 생성한다.
움직임 보상 예측부(240)는 움직임 벡터 정보에 기초하여 픽쳐 저장부(260)에 저장된 픽쳐로부터 현재 블록에 대한 예측 블록을 생성한다. 소수 정밀도의 움직임 보상이 적용될 경우에는 선택된 보간 필터를 적용하여 예측 블록을 생성한다.
인트라/인터 전환 스위치(280)는 부호화 모드에 기초하여 인트라 예측부(230)와 움직임 보상 예측부(260)의 어느 하나에서 생성된 예측 블록을 가산기(270)에 제공한다.
현재까지 표준화된 비디오 코덱 기술들에서, 한 픽쳐 내부의 화소값들을 블록 단위로 부호화하고 있다. 현재 부호화하려는 블록의 화소값들이 같은 영상 내부의 주변 블록들과 유사하다면, 그 유사성을 이용하여 인트라(intra) 부호화를 수행할 수 있다.
한편, 현재 코딩 블록이 intra coded block 일 때, 주변에 이미 부호화된 블록들의 화소값들을 참조하여 현재 블록을 예측한 후, 예측 잔차 신호를 부호화한다. HEVC에서는 35가지 예측 모드를 사용하여 공간적 예측 부호화를 수행한다.
도 3은 인트라 예측 모드들에 대한 일예를 도시한 것으로, HEVC에서 고려하는 intra prediction의 예측 모드들 및 예측 방향을 나타낸다.
도 3을 참조하면, 인트라 예측 모드의 수는 블록의 크기에 따라 달라질 수 있다. 예를 들어, 현재 블록의 크기가 8x8, 16x16, 32x32인 경우에는 34개의 인트라 예측 모드가 존재할 수 있고, 현재 블록의 크기가 4x4인 경우에는 17개의 인트라 예측 모드가 존재할 수 있다. 상기 34개 또는 17개의 인트라 예측 모드는 적어도 하나 이상의 비방향성 모드(non-directional mode)와 복수개의 방향성 모드들(directional modes)로 구성될 수 있다.
하나 이상의 비방향성 모드는 DC 모드 및/또는 플래너(planar) 모드일수 있다. DC 모드 및 플래너모드가 비방향성 모드로 포함되는 경우에는, 현재 블록의 크기에 관계없이 35개의 인트라 예측 모드가 존재할 수도 있다. 이때에는 2개의 비방향성 모드(DC 모드 및 플래너 모드)와 33개의 방향성 모드를 포함할 수 있다.
플래너 모드는 현재 블록의 우하측(bottom-right)에 위치하는 적어도 하나의 화소값(또는 상기 화소값의 예측값, 이하 제1 참조값이라 함)과 참조화소들을 이용하여 현재 블록의 예측 블록을 생성한다.
도 3에 도시된 바와 같은 직선형의 인트라 예측 모드는 곡선형 edge가 있는 부분 또는 (Kimono sequence에서 배경 하늘 부분처럼) 점진적으로 밝기가 변하는 영역 등에서 부호화 효율의 한계가 존재한다. 이런 경우 contour (등고선 형태의) error가 발생할 수 있다.
도 4는 곡선형 화면 내 예측을 수행하였을 때와 기존의 방법처럼 직선형 화면 내 예측을 고려했을 경우의 차이를 설명하기 위한 도면이다.
통상적인 압축 표준에서는 다양한 직선 예측방향만을 고려하여 화면 내 부호화를 수행한다. 영상의 사이즈가 커지면서 여러 가지 크기의 예측 블록사이즈와 여러 가지 방향의 화면 내 예측을 수행하기는 하지만, 여전히 직선 방향만 고려 하여 예측을 수행하기 때문에, 영상이 가지는 곡선의 형태 데이터를 고려한 인트라 예측 기법은 사용되지 않고 있다.
도 4를 참조하면, 그림 4에서 영상의 엣지가 대각선 방향으로 곡선 형태로 존재한다. 기존의 통상적인 화면 내 예측 부호화 한다면 블록이 분활 되어 각 분활 블록들이 각각 다른 모드의 직선형 화면 내 예측으로 부호화 된다. 그림 4와 같은 영상을 기존의 방법으로 부호화 한다면 예측 정확도도 낮아지고 블록이 분할되어 부호화되기 때문에 헤더 비트가 많이 발생하게 된다.
따라서, 본 발명의 실시 예에 따라 곡선형 인트라 예측 방법으로 화면 내 예측을 수행한다면 블록이 분활 되지 않으면서 하나의 화면 내 예측모드로 부호화 할 수 있으며 예측 정확도 또한 높일 수 있다.
본 발명에서는 부호화 하고자 하는 영상 정보의 특성에 따라 다양한 예측 모드를 사용하여 직선형 화면 내 예측뿐만 아니라 곡선형 화면 내 예측을 수행할 수 있다.
Explicit Curved Intra Prediction
본 발명의 일실시예 따르면, Intra Prediction시 곡선형 예측이 explicit 하게 수행될 수 있다.
본 발명의 일 실시 예에서는 curved intra prediction을 수행하기 위해서, (1) base_intra_prediction_mode를 결정하는 과정, (2) 각 예측 라인별 line_intra_prediction_mode를 결정하는 과정이 실행될 수 있다.
본 명세서에서, 라인은 수평방향으로 같은 라인에 존재하는 화소들의 집합일 수 도 있고, 수직 방향으로 같은 컬럼에 존재하는 화소들의 집합일 수도 있다. 또는 대각선 방향으로 같은 각도를 갖는 화소들의 집합일 수도 있다.
가장 먼저 현재 예측 블록을 intra 예측할 기본 예측 방향(base_intra_prediction_mode)을 결정한 후, 그 다음 단계에서 각 라인 별로 조정된 예측 방향 모드(line_intra_prediction_mode)을 결정한다.
(1) base_intra_prediction_mode 결정
이 단계는 현재 예측 블록을 curved intra prediction할 때 사용되는 기본 예측 방향을 결정하는 단계를 포함할 수 있다. 기본 예측 방향 모드(base_intra_prediction_mode)는 기존 HEVC에서 수행하는 intra prediction mode 결정 방법을 사용하여 결정된다. 즉, 현재 부호화 블록의 주변 화소값들을 이용해서 현재 부호화블록을 인트라 예측할 때, 총 35가지 예측 모드를 고려하는 기존 HEVC 인트라 예측 방법을 이용한다. 이와 같이 기존 HEVC의 intra prediction 방법으로 base_intra_prediction_mode가 결정된 후, 다음 단계에서 이 방향과 유사한 곡선형 화면 내 예측을 수행하게 된다.
도 5는 HEVC에서 사용되고 있는 intra prediction 방법을 통해서 수직방향 예측 모드가 결정된 예를 설명하고 있다. 이 예제에서는 현재 예측 블록을 부호화하기 위해서, HEVC에서 사용하는 35가지 예측모드를 고려하였고, 최종적으로 수직방향 예측모드가 선정되었음을 예시로 설명하고 있다. 이 예제에서 결정된 vertical mode를 본 발명에서는 base_intra_prediction_mode라고 부를 수 있다.
(2) line_intra_prediction_mode 결정
base_intra_prediction_mode가 vertical 모드일 때로 예를 들어 설명한다. 이 경우 base_intra_prediction_mode가 vertical mode 이기 때문에, line은 수평으로 같은 위치에 있는 화소들의 집합이 된다. 이 경우, 각 line들은 vertical mode와 유사하지만 약간씩 다른 방향으로 인트라 예측된다.
도 6은 예측 블록 내에서 첫 번째 line의 예측 mode를 나타낸다.
도 6과 같이, 예측 블록 내에서 첫 번그림 6는 4x4 PU의 첫 번째 행(line)의 예측 각도를 도식화할 수 있다. 첫 번째 행의 line_intra_prediction_mode(1)는 base_intra_prediction_mode와 동일 한 mode가 된다.
두 번째 라인부터는 base_intra_prediction_mode인 vertical 모드보다 왼쪽(-1)이나 오른쪽(+1)으로 빗겨나간 각도로 예측할 수 있다.
도 7은 예측 블록 내에서 두 번째 line의 예측 mode를 나타낸다.
도 7과 같이, 두 번째 라인의 예측 각도 line_intra_prediction_mode(2)를 도식화할 수 있다. 이 도면에서는 오른쪽으로 빗겨나간 line_intra_prediction_mode(2) = base_intra_prediction_mode + 1 인 경우를 보이고 있다. 경우에 따라서 왼쪽으로 빗겨나간 line_intra_prediction_mode(2) = base_intra_prediction_mode - 1를 사용할 수도 있다. 행이 점점 내려 갈수록 각도는 점점 더 눕게 된다.
도 8은 예측 블록 내에서 세 번째 행과 네 번째 행의 예측 각도를 나타낸다.
도 8과 같이, 세 번째 행은 base_intra_prediction_mode+2의 각도로 예측이 되며 네 번째 행은 base_intra_prediction_mode+3의 각도로 예측된다.
본 발명의 실시 예에서, 라인과 라인 사이의 예측방향 차이를 difference_angle이라고 정의할 수 있다. difference_angle은 base_intra_prediction_mode를 기준으로 -2, -1, 1, 2로 제한한다. 즉, difference_angle값은 -2, -1, 1, 2 중에 하나의 값을 가질 수 있다.
총 4개의 difference_angle 중에서 최적의 difference_angle값을 선택하는 방법은 Rate Distortion 관점에서 가장 유리한 값을 선택한다. 구체적으로는 현재 예측 블록에서
첫번째 line은 base_intra_prediction_mode 으로,
두번째 line은 base_intra_prediction_mode+difference_angle 으로,
세번째 line은 base_intra_prediction_mode+2*difference_angle 으로,
네번째 line은 base_intra_prediction_mode+3*difference_angle 으로 예측한다.
앞의 도 5 내지 도 8에서 설명한 내용은 difference_angle=1 인 경우의 예제일 수 있다.
본 발명의 실시 예에서, 매 부호화 블록마다 인트라 예측하는 과정에서, difference_angle={ -2, -1, 1, 2 }으로 곡선형 예측을 수행한 후, 이 부호화 결과들 중에 가장 작은 Rate Distortion cost를 발생하는 difference_angle을 결정한다.
위와 같이 부호화 블록마다 최적의 difference_angle값을 이용한 curved intra prediction을 수행한 후, 이 경우의 RD cost와 HEVC의 intra prediction 방법에서 결정된 모드로 현재 블록의 모든 화소들을 예측한 경우의 RD cost를 비교한 후, 더 적은 RD cost를 갖는 mode를 최종적으로 선택한다.
도 9는 difference_angle이 -1일 때 첫 번째, 두 번째 line 예측 각도를 나타내며, 도 10은 difference_angle이 -1일 때 세 번째, 네 번째 line 예측 각도를 나타낸다.
도 9 및 도 10과 같이, base_intra_prediction_mode 가 Vertical 모드 일 때 행이 내려 갈수록 difference_angle에 따라 행 별로 다른 예측 각도로 예측하게 된다. 위에서 예를 든 difference_angle이 +1, -1뿐만 아니라 +2, -2일 때도 비슷한 방법으로 예측하게 된다.
도 11은 HEVC base_intra_prediction_mode가 18번 모드일 때 예측 각도를 나타낸다.
도 11은 base_intra_prediction_mode 가 18번 모드인 135도 각도에 대해 도식화한 그림이다. 이 18번 모드는 기존의 HEVC intra prediction 방법을 현재 블록의 주변 화소들에 적용하여 결정된 결과이다.
도 11과 같은 경우에도 difference_angle은 -2, -1, 1, 2이 되고 각각의 difference_angle에 대해 곡선형 화면 내 예측을 수행하게 된다. 다음 예에서는 difference_angle이 -1인 경우에 대해서 설명한다. 설명을 용이하게 하기 위해 그림 12에서 PU 내부의 픽셀 위치를 기호로 표시하였다.
도 12는 본 발명의 실시 예에 따른 현재 PU의 픽셀의 위치를 나타낸다.
도 11과 같이 base_intra_prediction_mode가 18번인 경우는 vertical mode일 때와는 다른 형태로 line이 정의된다. base_intra_prediction_mode가 vertical인 경우 가로방향으로 위치하는 행 단위로 line을 구성했었다. 그에 비해, base_intra_prediction_mode가 18번 모드 경우는 도 13와 도 14과 같이 line을 정의한다. 제일 먼저 P(0, 0)이 첫번째 line이 된다. 그리고 픽셀 P(1,0), P(0,1), P(1,1)이 두번째 line이 된다. 이런 식으로 base_intra_prediction_mode에 따라서 line의 정의가 달라지게 된다.
도 12에서는 첫번째 line에 소속된 화소 P(0, 0)는 base_intra_prediction_mode의 예측 각도로 예측한다.
두번째 line에 소속된 화소 P(1,0), P(0,1), P(1,1)는 base_intra_prediction_mode+difference_angle으로 예측한다.
세번째 line에 소속된 화소 P(2,0), P(2,1), P(2,2), P(0,2), P(1,2)는 base_intra_prediction_mode+2*difference_angle으로 예측한다.
네번째 line에 소속된 화소 P(3,0), P(3,1), P(3,2), P(3,3), P(0,3), P(1,3), P(2,3)은 base_intra_prediction_mode+3*difference_angle으로 예측한다.
한편, 도 13과 도 14는 difference_angle=-1 인 경우의 예측되는 픽셀의 위치들을 설명하기 위한 도면들이다.
도 13은 base_intra_prediction_mode 로 예측되는 픽셀의 위치와 base_intra_prediction_mode +*difference_angle 로 예측되는 픽셀의 위치를 나타낸다.
도 14는 base_intra_prediction_mode+2*difference_angle로 예측되는 픽셀의 위치와 base_intra_prediction_mode +3*difference_angle 로 예측되는 픽셀의 위치를 나타낸다.
도 15에서는 base_intra_mode < 7일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 도 15는 base_intra_prediction_mode이 7번 모드보다 작을 때 difference_angle을 차등적으로 사용하는 line들의 모양을 나타내고 있다.
도 16은 7<=base_intra_mode < 14일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. base_intra_prediction_mode가 7보다 크거나 같고 14번보다 작을 때 difference_angle이 차등적으로 적용되는 line의 모양을 설명할 수 있다.
도 17은 14<=base_intra_mode < 23일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. base_intra_prediction_mode가 14 <= base_intra_prediction_mode< 23일 경우, 차등적인 difference_angle이 적용되는 line의 개념을 설명하고 있다.
도 18은 23<=base_intra_mode < 30일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 23 <=base_intra_prediction_mode < 30일 때, difference_angle이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화하고 있다.
도 19는 30<=base_intra_mode < 35일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 30 <=base_intra_prediction_mode < 35일 때, difference_angle이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화하고 있다.
한편, 기존의 HEVC의 화면 내 예측 최적모드인 base_intra_prediction_mode의 RDcost와 base_intra_prediction_mode 기반 곡선형 화면 내 예측 부호화의 (difference_angle 값 4가지에 따른) 총 4개의 RDcost 중 발생 비용이 가장 적은 모드를 최적 모드로 선택하게 된다.
만약 base_intra_prediction_mode가 DC 또는 planar 모드일 경우에는 곡선형 인트라 예측을 수행하지 않는다.
만약에 최적 모드가 곡선형 화면 내 예측이 되면, 결정된 모드 정보를 다음과 같이 부호화 하여 전송하게 된다. 최적의 모드가 곡선형 화면 내 예측이 되면 cuvature_angular_pred가 1이 되게 되고 최적의 difference_angle의 인덱스가 부호화
되어 전송된다. 표1은 difference_angle의 인덱스를 부호화 하기 위한 코드북이다. 만약에 곡선형 인트라 예측이 선택되지 않았다면 curvature_angular_pred가 0이 부호화 되어 전송 된다.
difference_angle difference_angle index Binarization
-2 0 00
-1 1 01
1 2 10
2 3 11
현재블록의 최적 모드를 부호화 할 때 기존의 최적 모드 부호화 방법에 곡선형 화면 내 예측 플래그와 곡선형 화면 내 예측 인덱스가 추가된다. 곡선형 화면 내 예측의 수행을 알리는 curvature_angular_pred와 곡선형 화면 내 예측의 곡률을 알려주는 difference_angle인덱스가 부호화되어 전송된다.
예측 모드를 부호화할 때, base_intra_prediction_mode가 MPM들 중 하나와 일치하는지와 일치하지 않는지를 구분할 필요가 있다. 그리고 나서, 직선형 인트라 예측을 사용했는지, 아니면 곡선형 인트라 예측을 사용했는지를 구분할 수 있다. 발생하는 경우에 부호화해야할 인덱스들의 형태를 다음 도 20 내지 도 25에서 설명할 수 있다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 그것이 DC나 planar모드일 경우 도 20과 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 DC나 planar모드로 부호화 했을 경우 도 21과 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화 했을 경우 도 22와 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화 했을 경우 도 23과 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 24와 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 25와 같이 부호화한다.
도 26은 앞서 설명한 본 발명의 실시 예에 따른 곡선형 인트라 예측 수행 방법을 단계별로 흐름도로 나타낸 것이다.
Implicit Curved Intra Prediction
본 발명의 다른 일 실시예는, curved intra prediction을 수행하기 위해서, (1) base_intra_prediction_mode를 결정하는 과정, (2) difference_intra_prediction_mode를 계산하는 과정, (3) 각 예측 라인별 line_intra_prediction_mode를 결정하는 과정으로 나누어서 수행될 수 있다.
이때, 라인은 수평방향으로 같은 라인에 존재하는 화소들의 집합일 수 도 있고, 수직 방향으로 같은 컬럼에 존재하는 화소들의 집합일 수도 있다. 또는 대각선 방향으로 같은 각도를 갖는 화소들의 집합일 수도 있다.
가장 먼저 현재 예측 블록을 intra 예측할 기본 예측 방향(base_intra_prediction_mode)을 결정한 후, 주변 화소값들을 이용하여 주변화소들의 reference_intra_prediction_mode을 결정한다. 그리고 나서, <difference_intra_prediction_mode = base_intra_prediction_mode - reference_intra_prediction_mode>을 계산한다. 이 difference_intra_prediction_mode을 이용하여, 각 라인 별로 조정된 예측 방향 모드(line_intra_prediction_mode)를 결정한다.
(1) base_intra_prediction_mode 결정
이 단계는 현재 예측 블록을 curved intra prediction할 때 사용되는 기본 예측 방향을 결정하는 단계이다. 이 기본 예측 방향 모드(base_intra_prediction_mode)는 기존 HEVC에서 수행하는 intra prediction mode 결정 방법을 사용하여 결정된다. 즉, 현재 부호화 블록의 주변 화소값들을 이용해서 현재 부호화블록을 인트라 예측할 때, 총 35가지 예측 모드를 고려하는 기존 HEVC 인트라 예측 방법을 이용한다. 이와 같이 기존 HEVC의 intra prediction 방법으로 base_intra_prediction_mode가 결정된 후, 다음 단계에서 이 방향과 유사한 곡선형 화면 내 예측을 수행하게 된다.
앞서 설명한 바와 같이, 도 5는 HEVC에서 사용되고 있는 intra prediction 방법을 통해서 수직방향 예측 모드가 결정된 예를 설명하고 있다. 이 예제에서는 현재 예측 블록을 부호화하기 위해서, HEVC에서 사용하는 35가지 예측모드를 고려하였고, 최종적으로 수직방향 예측모드가 선정되었음을 예시로 설명하고 있다. 이 예제에서 결정된 vertical mode를 본 발명에서는 base_intra_prediction_mode라고 한다.
(2) difference_intra_prediction_mode 결정
이 단계에서는 주변에 먼저 부호화 및 복호화된 블록들의 화소정보를 이용하여 현재 예측 블록 내의 인트라 예측 방향을 어떻게 보정할 것인가를 결정하는 과정이다.
도 27은 difference_intra_prediction_mode를 계산하기 위한 제 1 참조 픽셀과 제 2 참조 픽셀을 나타낸다.
도 27에서는 현재 부호화 블록의 주변 화소들을 제 1 참조 픽셀과 제 2 참조 픽셀들로 표시하고 있다. 제 1 참조 픽셀들은 현재 부호화 블록과 가장 인접한 주변화소들이고, 제 2 참조 픽셀들은 제 1 참조 픽셀들보다 멀리 위치한 주변 화소들이다.
이 단계에서는 기존의 HEVC 화면내 예측 방식을 제 2 참조 픽셀에 적용하여 제 1 참조 픽셀들을 예측한다. 이때 HEVC 인트라 모드에서 사용되었던 35가지 모드를 모두 고려한다. 이 과정에서 제 1 참조 픽셀들의 원래값과 예측된 제 1 참조 픽셀들 사이의 SAD(Sum of Absolute Difference)값이 가장 작은 방향 모드를 reference_intra_prediction_mode로 결정한다.
이 reference_intra_prediction_mode와 앞 단계에서 결정한 base_intra_prediction_mode의 차이값을 <difference_intra_prediction_mode = base_intra_prediction_mode - reference_intra_prediction_mode>를 이용하여 결정할 수 있다.
이때 base_intra_prediction_mode 또는 reference_intra_prediction_mode가 planar 또는 DC 모드일경우에는 difference_intra_prediction_mode을 계산하지 않는다.
그리고, difference_intra_prediction_mode 의 절대값이 3보다 작게 되면 곡선형 화면 내 예측을 수행하기 위해서 다음 단계를 실행한다. 그렇지만 difference_intra_prediction_mode의 절대값이 3보다 크거나 같다면, 현재 예측 블록의 특성과 이웃 불록들의 특성 간에 차이가 크다고 보고, 곡선형 화면 내 예측을 사용하지 않고, base_intra_prediction_mode를 이용하여 기존 HEVC의 인트라 예측 기술을 사용한다.
(3) line_intra_prediction_mode를 결정
여기서는, base_intra_prediction_mode가 vertical 모드일 때로 예를 들어 설명한다. 이 경우 base_intra_prediction_mode가 vertical mode 이기 때문에, line은 수평으로 같은 위치에 있는 화소들의 집합이 된다. 이 경우, 각 line들은 base_intra_prediction_mode을 기준으로 약간씩 조정된 방향으로 인트라 예측 부호화를 수행한다.
앞서 설명한 도 6은 예측 블록 내에서 첫 번째 line의 예측 mode를 나타낸다.
도 6은 4x4 PU의 첫 번째 행(line)의 예측 각도를 도식화한 도이다. 첫 번째 행의 line_intra_prediction_mode(1)는 base_intra__prediction_mode와 동일 한 mode가 된다.
두 번째 라인부터는 base_intra_prediction_mode인 vertical 모드에 difference_intra_prediction_mode를 더한 모드를 두번째 line의 line_intra_prediction_mode(2)로 사용한다.
line_intra_prediction_mode(2) = base_intra_prediction_mode + difference_intra_prediction_mode
도 28은 예측 블록 내에서 두 번째 line의 예측 mode를 나타낸다. 도 28에서는 difference_intra_prediction_mode = 1인 경우를 도식적으로 설명하고 있다.
행이 점점 내려 갈수록 base_intra_prediction_mode와 line_intra_prediction_mode의 차이가 점점 더 커지게 된다. 다음 도은 3번째와 4번째 line에서의 예측 모드를 보여주고 있다. 그리고 3번째와 4번째 라인의 예측 모드는 각각 다음과 같다.
line_intra_prediction_mode(3) = base_intra_prediction_mode + 2*difference_intra_prediction_mode
line_intra_prediction_mode(4) = base_intra_prediction_mode + 3*difference_intra_prediction_mode
도 29는 본 발명의 다른 일 실시 예에 따른 예측 블록 내에서 세 번째 행과 네 번째 행의 예측 각도를 나타낸다. 도 29에서는 difference_intra_prediction_mode = 1인 경우, 3번째 라인과 4번째 라인에서의 인트라 예측 모드들을 설명하고 있다.
도 30과 도 31에서는 difference_intra_prediction_mode=-1 인 경우를 설명하고 있다.
도 30과 도 31은 base_intra_prediction_mode = vertical 이고difference_intra_prediction_mode = -1인 경우, 4개의 line 별 예측 모드를 설명하기 위한 도면들이다. 도 30은 difference_intra_prediction_mode 이 -1일 때 첫 번째, 두 번째 행 예측 각도이며, 도 31은 difference_intra_prediction_mode이 -1일 때 세 번째, 네 번째 행 예측 각도를 나타낸다.
base_intra_prediction_mode 가 18번 모드인 135도 각도에 대해서는 앞서 설명한 바와 유사하며 변경점은 다음과 같다.
두번째 line에 소속된 화소 P(1,0), P(0,1), P(1,1)는 base_intra_prediction_mode+ difference_intra_prediction_mode 으로 예측한다.
세번째 line에 소속된 화소 P(2,0), P(2,1), P(2,2), P(0,2), P(1,2)는 base_intra_prediction_mode+2* difference_intra_prediction_mode 으로 예측한다.
네번째 line에 소속된 화소 P(3,0), P(3,1), P(3,2), P(3,3), P(0,3), P(1,3), P(2,3)은 base_intra_prediction_mode+3* difference_intra_prediction_mode 으로 예측한다.
도 32와 도 33에서는 difference_intra_prediction_mode=-1 인 경우를 설명하고 있다. 도 32는 base_intra_prediction_mode로 예측되는 픽셀의 위치와 difference_intra_prediction_mode 로 예측되는 픽셀의 위치를 나타내며, 도 33은 2*difference_intra_prediction_mode 로 예측되는 픽셀의 위치와 3*difference_intra_prediction_mode 로 예측되는 픽셀의 위치를 나타낸다.
도 34는 base_intra_mode < 7일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 36은 base_intra_prediction_mode이 7번 모드보다 작을 때 difference_intra_prediction_mode 을 차등적으로 사용하는 line의 모양을 설명하는 도이다.
도 35는 7<=base_intra_mode < 14일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 37은 base_intra_prediction_mode가 7보다 크거나 같고 14번보다 작을 때 difference_intra_prediction_mode 이 차등적으로 적용되는 line의 모양을 설명하는 도이다.
도 36은 14<=base_intra_mode < 23일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 도 38은 base_intra_prediction_mode가 14 <= base_intra_prediction_mode< 23일 경우, 차등적인 difference_intra_prediction_mode 이 적용되는 line의 개념을 설명하고 있다.
도 37은 23<=base_intra_mode < 30일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 39는 23 <=base_intra_prediction_mode < 30일 때, difference_intra_prediction_mode 이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화한 도이다.
도 38은 30<=base_intra_mode < 35일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 40은 30 <=base_intra_prediction_mode < 35일 때, difference_intra_prediction_mode 이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화한 도이다.
<Intra Prediction 과정의 flow chart>
도 39는 곡선형 화면 내 예측 순서도를 나타낸다. 앞에서 설명한 base_intra_prediction_mode와 reference_intra_prediction_mode 간의 차이인 difference_intra_prediction_mode의 절대값이 3보다 작으면 곡선형 화면 내 예측 부호화를 수행한다. difference_intra_prediction_mode의 절대값이 3보다 같거나 크면 base_intra_prediction_mode를 이용하여 화면 내 예측을 수행한다.
곡선형 화면 내 예측을 수행할 경우, 예측 블록 내부의 line별로 차별적인 인트라 예측 모드를 사용한다. 그 구체적인 모드들은 다음과 같다.
첫번째 라인의 예측모드: line_intra_prediction_mode(1) = base_intra_prediction_mode
두번째 라인의 예측모드:
line_intra_prediction_mode = base_intra_prediction_mode(2) + difference_intra_prediction_mode
세번째 라인의 예측모드:
line_intra_prediction_mode = base_intra_prediction_mode(3) + 2*difference_intra_prediction_mode
네번째 라인의 예측모드:
line_intra_prediction_mode = base_intra_prediction_mode(4) + 3*difference_intra_prediction_mode
인트라 예측 부호화의 마지막 단계에서, 제안된 곡선형 인트라 예측을 사용한 경우의 RD cost와 HEVC에서 사용되는 기존의 인트라 예측 방법(base_intra_prediction 이용하는 방법)을 사용한 경우의 RD cost를 비교한 후, 작은 RD cost 값을 갖는 모드 및 방법을 사용한다.
<전송 flag를 고려한 syntax 구조>
|difference_intra_prediction_mode| < 3이면서 최종적으로 결정된 최적 모드가 곡선형 화면 내 예측 모드가 되면 curvature_angular_pred가 1이 되게 된다. 그렇지 않고, 최종적으로 결정된 최적 모드가 기존의 HEVC의 모드 이면 curvature_angular_pred가 0이 전송 된다.
|difference_intra_mode| < 3을 만족하지 않으면 곡선형 화면 내 예측모드는 고려되지 않았으므로 curvature_angular_pred flag는 전송하지 않는다.
곡선형 화면 내 예측 모드를 부호화 하는 경우를 두가지로 나눠서 설명한다. 첫 번째 경우 MPM과 현재 블록의 base_intra_prediction_mode가 같은 경우 이다. 이 경우 MPM flag 1bit, MPM index 1~2bits, curvature_angular_pred 1bit이 전송된다. 두 번째 경우 MPM과 현재 블록의 base_intra_prediction_mode가 다른 경우이다. 이 경우에는 MPM flag 1bit, base_intra_prediction_mode 5bits, curvature_angular_pred 1bit이 전송된다. 설명한 내용의 이해를 돕기 위해 제안하는 발명의 신택스를 경우 별로 나누어서 도 40 내지 도 45를 이용하여 설명한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 DC나 planar모드로 부호화 했을 경우도 40과 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 DC나 planar모드로 부호화 했을 경우 도 41과 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화 했을 경우 도 42와 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화 했을 경우 도 43과 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 44와 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 45와 같다.
<복호화 과정의 flow chart>
도 46은 곡선형 화면 내 예측 복호화 순서도를 나타낸다.
복호화의 첫 번째 과정은 각 블록에 대해 base_intra_prediction_mode를 복호화 한다. 그 후, 기존의 HEVC 화면내 예측 방식을 제 2 참조 픽셀에 적용하여 제 1 참조 픽셀들을 예측한다. 이때 HEVC 인트라 모드에서 사용되었던 35가지 모드를 사용한다. 이 과정에서 제 1 참조 픽셀들의 원래값과 예측된 제 1 참조 픽셀들 사이의 SAD(Sum of Absolute Difference)값이 가장 작은 방향 모드를 reference_intra_prediction_mode로 결정한다. 그 후, base_intra_prediction_mode나 reference_intra_prediction_mode가 DC나 planar모드이면 기존의 HEVC의 방법으로 복호화 하게 된다.
이 reference_intra_prediction_mode와 앞 단계에서 결정한 base_intra_prediction_mode의 차이값을 다음 식과 같이 결정한다.
difference_intra_prediction_mode = base_intra_prediction_mode - reference_intra_prediction_mode
base_intra_prediction_mode나 reference_intra_prediction_mode가 DC나 planar모드가 아니고 difference_intra_prediction_mode의 절대값이 3보다 작은 경우 curvature_angular_pred flag를 복호화하여 curvature_angular_pred flag가 1이면 곡선형 화면내 복호화 방식으로 복호화 하고, 0이면 기존의 HEVC의 방법으로 복호화한다. 여기서 difference_intra_prediction_mode는 부호화기, 복호화기에서 주변의 참조 픽셀로 계산할 수 있기 때문에 따로 전송해 줄 필요 없이 부호화/복호화가 가능하다.
이와 같이, 본 발명 기술을 이용한다면 직선의 화면 내 예측은 물론 곡선형 화면 내 예측을 수행하여 압축효율을 향상 시킬 수 있다.
상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.

Claims (9)

  1. 비디오 부호화 방법에 있어서,
    영상 블록에 대한 부호화 모드를 판단하는 단계;
    상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및
    상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 단계를 포함하는
    비디오 부호화 방법.
  2. 제1항에 있어서,
    상기 수행 여부를 판단하는 단계는
    기본 예측 방향을 결정하고, 주변 화소들의 레퍼런스 인트라 모드를 결정하는 단계를 포함하는 부호화 방법.
  3. 제2항에 있어서,
    상기 레퍼런스 인트라 모드 및 상기 기본 예측 방향간의 차분값을 결정하는 단계를 더 포함하는 부호화 방법.
  4. 제3항에 있어서,
    상기 차분값에 기초하여 각 라인 별로 조정된 예측 방향 모드를 결정하는 단계를 더 포함하는 부호화 방법.
  5. 비디오 부호화 장치에 있어서,
    영상 블록에 대한 부호화 모드를 판단하는 모드 판단부;
    상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 곡선형 예측 모드 판단부; 및
    상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 부호화부를 포함하는
    비디오 부호화 장치.
  6. 제5항에 있어서,
    상기 곡선형 예측 모드 판단부는 기본 예측 방향을 결정하고, 주변 화소들의 레퍼런스 인트라 모드를 결정하는 비디오 부호화 장치.
  7. 제6항에 있어서,
    상기 곡선형 예측 모드 판단부는 상기 레퍼런스 인트라 모드 및 상기 기본 예측 방향간의 차분값을 결정하는 부호화 장치.
  8. 제7항에 있어서, 상기 곡선현 예측 모드 판단부는 상기 차분값에 기초하여 각 라인 별로 조정된 예측 방향 모드를 결정하는 부호화 장치.
  9. 제5항에 있어서,
    상기 곡선형 예측 모드 판단부는 주변 블록의 인트라 예측 모드 차분값 의 절대값이 소정 값보다 작으면 곡선형 화면 내 예측을 수행하는 것으로 판단하는 단계를 포함하는 비디오 부호화 장치.
KR1020130041304A 2013-04-15 2013-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 KR20140124448A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130041304A KR20140124448A (ko) 2013-04-15 2013-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US14/784,467 US20160073107A1 (en) 2013-04-15 2014-04-15 Method and apparatus for video encoding/decoding using intra prediction
PCT/KR2014/003261 WO2014171713A1 (ko) 2013-04-15 2014-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130041304A KR20140124448A (ko) 2013-04-15 2013-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20140124448A true KR20140124448A (ko) 2014-10-27

Family

ID=51994658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130041304A KR20140124448A (ko) 2013-04-15 2013-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20140124448A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017175897A1 (ko) * 2016-04-07 2017-10-12 엘지전자(주) 인트라 레지듀얼 예측을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2018026219A1 (ko) * 2016-08-03 2018-02-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2018101685A1 (ko) * 2016-11-29 2018-06-07 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR101975404B1 (ko) * 2017-12-27 2019-08-28 세종대학교산학협력단 절차적 콘텐츠 생성장치 및 방법
WO2019245204A1 (ko) * 2018-06-19 2019-12-26 삼성전자 주식회사 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법
EP3646599A4 (en) * 2017-06-30 2020-05-06 Telefonaktiebolaget LM Ericsson (PUBL) ENCODING AND DECODING OF AN IMAGE BLOCK USING A CURVED INTRA-PREDICTION MODE
US11128861B2 (en) 2016-06-22 2021-09-21 Electronics And Telecommunications Research Institute Intra prediction method and device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017175897A1 (ko) * 2016-04-07 2017-10-12 엘지전자(주) 인트라 레지듀얼 예측을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
US11128861B2 (en) 2016-06-22 2021-09-21 Electronics And Telecommunications Research Institute Intra prediction method and device
WO2018026219A1 (ko) * 2016-08-03 2018-02-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11438582B2 (en) 2016-08-03 2022-09-06 Kt Corporation Video signal processing method and device for performing intra-prediction for an encoding/decoding target block
US12022066B2 (en) 2016-08-03 2024-06-25 Kt Corporation Video signal processing method and device for performing intra-prediction for an encoding/decoding target block
WO2018101685A1 (ko) * 2016-11-29 2018-06-07 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3646599A4 (en) * 2017-06-30 2020-05-06 Telefonaktiebolaget LM Ericsson (PUBL) ENCODING AND DECODING OF AN IMAGE BLOCK USING A CURVED INTRA-PREDICTION MODE
KR101975404B1 (ko) * 2017-12-27 2019-08-28 세종대학교산학협력단 절차적 콘텐츠 생성장치 및 방법
WO2019245204A1 (ko) * 2018-06-19 2019-12-26 삼성전자 주식회사 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법
US11477443B2 (en) 2018-06-19 2022-10-18 Samsung Electronics Co., Ltd. Electronic device for performing image compression and operating method of electronic device

Similar Documents

Publication Publication Date Title
JP6621511B2 (ja) イントラ予測モードにおける映像復号化方法
US9609354B2 (en) Apparatus for decoding a moving picture
JP2023126408A (ja) イントラ予測方法とそれを利用した符号化器及び復号化器
US20160073107A1 (en) Method and apparatus for video encoding/decoding using intra prediction
KR20190016984A (ko) 인트라 예측 정보 부호화 방법 및 장치
KR102227411B1 (ko) 거리 가중 양지향성 인트라 예측
US11350125B2 (en) Method and device for intra-prediction
US20120128070A1 (en) Video Encoding Method for Encoding Division Block, Video Decoding Method for Decoding Division Block, and Recording Medium for Implementing the Same
KR20140124448A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR20140124443A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US11706449B2 (en) Method and device for intra-prediction
KR20140129423A (ko) 인트라 예측 방법 및 장치
CN116389737B (zh) 视频编解码中变换系数的编解码
KR20140124442A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR20140129417A (ko) 복수의 트랜스폼들을 이용한 영상 부호화/복호화 방법 및 장치
KR101204385B1 (ko) 인트라 예측 모드에서의 영상 복호화 방법
WO2014084674A2 (ko) 잔차 변환을 이용한 인트라 예측 방법 및 장치
KR20150105348A (ko) 트랜스폼을 이용한 영상 부호화/복호화 방법 및 장치
KR20140124447A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR20140129421A (ko) 인트라 예측 방법 및 장치
KR20140057519A (ko) 영상 부호화 방법
KR20140129418A (ko) 잔차 변환을 이용한 인트라 예측 방법 및 장치
KR20140057518A (ko) 영상 복호화 방법
KR20140057516A (ko) 예측 블록 생성 방법
KR20140124445A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination