KR20140119803A - 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치 - Google Patents

비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치 Download PDF

Info

Publication number
KR20140119803A
KR20140119803A KR1020147024543A KR20147024543A KR20140119803A KR 20140119803 A KR20140119803 A KR 20140119803A KR 1020147024543 A KR1020147024543 A KR 1020147024543A KR 20147024543 A KR20147024543 A KR 20147024543A KR 20140119803 A KR20140119803 A KR 20140119803A
Authority
KR
South Korea
Prior art keywords
mode
geometric
function block
mpeg
block
Prior art date
Application number
KR1020147024543A
Other languages
English (en)
Other versions
KR101680951B1 (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 KR20140119803A publication Critical patent/KR20140119803A/ko
Application granted granted Critical
Publication of KR101680951B1 publication Critical patent/KR101680951B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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

Landscapes

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

Abstract

비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치가 제공된다. 장치는 기하학적 모델-기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 모드 결정을 수행하기 위한 인코더(100)를 포함한다. 상기 인코더(100)는 상기 기하학적 모델-기반 파티셔닝 모드들 및 비-기하학적 파티셔닝 모드들 사이의 상관 및 의존성 중 적어도 하나에 기초하여 상기 기하학적 모델-기반 파티셔닝 모드들을 테스트하는 것을 스킵한다.

Description

비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치{METHODS AND APPARATUS FOR FAST GEOMETRIC MODE DECISION IN A VIDEO ENCODER}
[관련 출원들에 대한 교차 참조]
본 출원은, 그 전체가 참조로서 본원에 통합되는, 2007년 4월 12일에 출원된 미국 가 특허 출원 제60/911,486호의 우선권을 주장한다.
본 원리들은 일반적으로 비디오 인코딩에 관한 것으로, 더욱 구체적으로는 비디오 인코더에서 고속으로 기하학적 모드(geometric mode)를 결정하기 위한 방법들 및 장치에 관한 것이다.
ISO/IEC MPEG-4 Part 10 AVC 표준/ITU-T H.264 권고(이하에서는 "MPEG-4 AVC 표준")에서, 인터-코딩된 16×16 픽셀 매크로블록들(inter-coded 16×16 pixel macroblocks)은 16×8, 8×16, 8×8 크기들의 매크로블록 파티션(macroblock partition)들로 쪼개질 수 있다. 8×8 픽셀들의 매크로블록 파티션들은 또한 서브-매크로블록(sub-macroblock)들로 알려져 있다. 서브-매크로블록들은 8×4, 4×8, 4×4 크기들의 서브-매크로블록 파티션들로 더 쪼개질 수 있다. 인코더는 압축 효율 및 주관적 품질(subjective quality)을 최대화하기 위해, 매크로블록을 파티션들 및 서브-매크로블록 파티션들로 어떻게 분할할 것인지를 특정 매크로블록의 특성들에 기초하여 선택할 수 있다.
또한, MPEG-4 AVC 표준은 또한 INTRA, SKIP 및 DIRECT 모드들을 지원한다. 인트라 모드들은 세 가지 유형들: INTRA4×4, INTRA16×16, 및 단지 고화질 영상 확장 모드(fidelity range extension mode)인 INTRA8×8을 허용한다. INTRA4×4 및 INTRA8×8는 9개의 예측 모드들: 수직; 수평; DC, 대각선 하향/좌측; 대각선 하향/우측; 수직-좌측; 수평-하향; 수직-우측; 및 수평 상향 예측을 지원한다. INTRA16×16은 4개의 예측 모드들: 수직; 수평; DC; 및 평면 예측을 지원한다.
모드 결정에 관한 한, 인트라 영상들은 인트라 모드들을 지원해야 하지만, 인터 영상들은 인터 및 인트라 모드들 양쪽 모두를 지원해야 한다. 인트라 모드들은 INTRA4×4 및 INTRA16×16을 포함한다. P 영상들의 경우에, 인터 모드들은 SKIP 및 16×16, 16×8, 8×16 및 서브-매크로블록 8×8 파티션들을 포함한다. 8×8은 8×8, 8×4, 4×8 및 4×4 파티션들을 더 지원한다. B 영상들의 경우에, 리스트 0 및 리스트 1 양쪽 모두의 고려할 사항, 및 DIRECT 모드가 또한 매크로블록들 및 서브-매크로블록들 양쪽 모두에 대해 고려된다.
종래 기술에서, RDO(Rate-Distortion Optimization) 프레임워크는 모드를 결정하기 위해 이용되는데, 즉, RDcost J = D + λR은 코딩 비용(coding cost)을 측정하는 데에 이용되며, 여기에서 D는 왜곡(distortion)을 나타내고, R은 레이트(rate)를 나타낸다. 인터 모드들의 경우에, 모드 결정과는 별도로 움직임 추정(motion estimation)이 고려된다. 움직임 추정은 먼저 인터 모드들의 모든 블록 유형들에 대해 수행되고, 그 후 모드 결정은 인터 모드 및 인트라 모드 각각의 비용을 비교함으로써 행해진다. 최소 비용을 갖는 모드는 최선의 모드로서 선택된다.
P- 또는 B-영상 내의 하나의 매크로 블록 s을 인코딩하기 위한 종래의 절차(이후에는 "종래의 매크로블록 인코딩 절차")는 하기와 같이 요약된다.
종래의 매크로블록 인코딩 절차의 제1 단계에서, 마지막으로 디코딩된 영상들이 주어지면, 우리는 라그랑즈 승수(Lagrangian multiplier) λ MODE , λ MOTION , 및 매크로블록 양자화기(macroblock quantizer) QP를 결정한다.
종래의 매크로블록 인코딩 절차의 제2 단계에서, 움직임 추정(motion estimation) 및 기준 영상(reference picture) 선택은 가능한 매크로블록 모드의 각 기준 영상 및 움직임 벡터에 대해
J(REF,m(REF)|λ MOTION )=SA(T)D(s,c(REF,m(REF)))+λ MOTION ·(R(m(REF)-p(REF))+R(REF))
를 최소화함으로써 수행된다. 앞의 수학식에서, J는 레이트-왜곡 비용을 나타내고, REF는 기준 영상을 나타내고, m은 고려되고 있는 현재의 움직임 벡터를 나타내고, λ MOTION 은 라그랑즈 승수를 나타내고, c(REF,m(REF))는 움직임 벡터 m과 함께 기준 REF를 이용하는 보상 연산을 나타내고, p는 움직임 벡터를 코딩하는 동안에 예측을 위해 이용된 움직임 벡터를 나타내고, R(m-p)는 움직임 벡터를 코딩하기 위해 이용된 비트들을 나타내고, R(REF)는 기준 영상을 코딩하기 위한 비트들을 나타낸다. SAD는 본래의 신호와 움직임 벡터에 의해 예측되는 기준 신호 사이의 절대 오차들의 합(Sum of Absolute Differences)을 나타낸다.
종래의 매크로블록 인코딩 절차의 제3 단계에서, MODE를 변경할 때 QPλ MODE가 주어지면, 매크로블록 예측 모드는
J(s,c,MODEQP,λ MODE )=SSD(s,c,MODEQP)+λ MODE ·R(s,c,MODEQP)
를 최소화함으로써 선택된다. SSD는 본래의 신호와 재구성된 신호 사이의 제곱 차이들의 합(Sum of Square Differences)을 나타낸다. R(s,c,MODE)는 매크로블록 헤더, 움직임 및 모든 DCT 계수들에 대한 비트들을 포함하는, MODE 선택과 연관된 비트들의 수를 나타낸다. MODE는 이하와 같은 잠재적인 매크로블록 모드들의 세트 중의 모드를 나타낸다:
P-프레임 :
Figure pat00001
B-프레임 :
Figure pat00002
INTRA4×4는 이하의 모드들을 포함하며 :
Figure pat00003
INTRA16×16/INTRA8×8는 이하의 모드들을 포함한다:
Figure pat00004
프레임 파티셔닝(frame partitioning)은 효률적인 비디오 코딩에 있어서 매우 중요한 프로세스이다. MPEG-4 AVC 표준과 같은 최근의 비디오 압축 기법들은 트리 기반 프레임 파티션(tree-based frame partition)을 이용한다. 이것은, ISO/IEC MPEG-2 표준 및 ITU-T H.263 권고(이하에서는 "H.263 권고")와 같은 종래의 표준들 및 권고들에 일반적으로 이용되는 간단한 균등한 블록 파티션보다 더욱 효과적으로 보인다. 그러나, 트리 기반 프레임 포지셔닝은 아직도 가능한 한 효율적으로 비디오 정보를 코딩하지 못하고 있는데, 그 이유는 그것은 2차원적(2D) 데이터의 기하학적 구조를 효과적으로 캡쳐(capture)할 수 없기 때문이다.
기하학적 영역 파티셔닝(geometric region partitioning)을 이용하는 인터 및 인트라 예측은 비디오 코딩 효율을 개선하는 것에 대한 유망한 연구방향으로서 확인되었다. 예전에, (MPEG-4 AVC 표준에 따라 수행되는 것과 같은) 어드밴스드 비디오 코딩(advanced video coding)의 경우에, 그것은 비디오 코딩 효율을 개선하기 위한 인터 및 인트라 예측에 대한 기하학적 파티션을 도입하기 위해 제안되었다. 최선의 성능을 얻기 위해, 인코더가 최선의 기하학적 파티션을 찾는 것은 중요하다. 맹목적 전체 탐색 전략(brute-force full search strategy)이 이들 제안들에 이용될 수 있으나, 복잡성이 매우 높다. 그러나, 기하학적 파티션에 대한 증가된 계산 복잡성이 실제 시스템에 대한 장애물이 되지 않도록, 모드/파티션 선택에 대한 몇몇 고속의 알고리즘들을 갖는 것이 바람직하다.
인터 기하학적 모드에 대한 후보 파티션 라인(candidate partition line)들을 미리 선택하기 위해 에지 검출(edge detection)에 기초하여 개발된 고속 알고리즘이 예전에 제안되었다. 이러한 고속 알고리즘은, 움직임 보상에 대한 기하학적 파티셔닝이 객체 경계들(object boundaries)을 따라 있는 블록들에 대해 더 잘 작동할 것이라는 가정에 기초한다. 어느 정도까지는, 이미지 에지들에 기초하여 파티션들을 미리 선택하는 것이 만족할 만한 결과들을 달성할 수 있다고 가정하는 것은 타당하다. 이러한 접근 방식의 주요한 단점은, 그것이 매우 단순한 통계 및 특별한(ad-hoc) 모델링에 의해 전적으로 수행된다는 것이다. 이것은, 기하학적 파티셔닝이 실제로 고려되는 것이 유용한, 가능한 상황들 중의 일부분에서만 발생하기 때문에, 복잡성 절약들(complexity savings) 및 압축 절약들(compression savings)에 관하여 차선의 결과들을 달성하게 된다. 실제로, 이러한 고속 알고리즘의 저자들은, 파티션들이 명확한 화상 에지들에만 관련되는 것이라고 가정했다. 그러나, 이것이 반드시 맞는 것은 아니다. 예를 들면, 인터 예측 케이스의 경우에, 파티션들은 화상 에지들보다는 오히려 움직임 경계들을 반영한다. 일부 경우들에서, 화상 에지들은 움직임 경계들과 일치할 수 있지만, 모든 경우에 일치하지는 않는다. 따라서, 이러한 고속 알고리즘은 전체 탐색 알고리즘과 비교하여 코딩 효율을 크게 떨어뜨릴 수 있다.
종래 기술의 이들 및 다른 결점들 및 단점들은, 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치에 직결되는 본 원리들에 의해 다루어진다.
본 원리들의 일 양태에 따르면, 장치가 제공된다. 상기 장치는 기하학적 모델 기반 파티셔닝 모드들을 이용하여 비망라적(non-exhaustive) 기하학적 모드 결정을 수행하기 위한 인코더를 포함한다. 상기 인코더는, 상기 기하학적 모델 기반 파티셔닝 모드들과 비기하학적 파티셔닝 모드들(non-geometric partitioning modes) 사이의 상관(correlation) 및 의존성 중 적어도 하나에 기초하여 상기 기하학적 모델 기반 파티셔닝 모드들을 테스트하는 것을 스킵(skip)한다.
본 원리들의 또 다른 양태에 따르면, 방법이 제공된다. 상기 방법은 기하학적 모델 기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 모드 결정을 수행하는 단계를 포함한다. 상기 수행하는 단계는, 상기 기하학적 모델 기반 파티셔닝 모드들과 비기하학적 파티셔닝 모드들 사이의 상관 및 의존성 중 적어도 하나에 기초하여 상기 기하학적 모델 기반 파티셔닝 모드들을 테스트하는 것을 스킵하는 단계를 포함한다.
본 원리들의 또 다른 양태에 따르면, 장치가 제공된다. 상기 장치는 기하학적 모델 기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 파라미터 선택을 수행하기 위한 인코더를 포함한다. 상기 인코더는, 예측적 탐색(predictive search) 및 계층적 탐색(hierarchical search) 중 적어도 하나를 적용함으로써 상기 비망라적 기하학적 파라미터 선택을 수행한다. 상기 예측적 탐색은 초기 예측자 선택(initial predictor selection), 적응적 조기 종료(adaptive early termination), 및 예측자 리파인먼트(predictor refinement) 중 적어도 하나를 포함한다.
본 원리들의 또 다른 양태에 따르면, 방법이 제공된다. 상기 방법은 기하학적 모델 기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 파라미터 선택을 수행하는 단계를 포함한다. 상기 수행하는 단계는 예측적 탐색 및 계층적 탐색 중 적어도 하나를 적용하는 단계를 포함한다. 상기 예측적 탐색은 초기 예측자 선택, 적응적 조기 종료, 및 예측자 리파인먼트 중 적어도 하나를 포함한다.
본 발명의 추가 양태에 따르면, 방법이 제공된다. 상기 방법은 기하학적 모델 기반 파티셔닝 모드들을 이용하여 화상에 대한 비디오 신호 데이터를 인코딩하는 단계를 포함한다. 상기 인코딩하는 단계는, 상기 화상의 적어도 일부분에 대한 기하학적 파티션 파라미터들 및 예측 데이터의 대안 최적화(alternate optimization)를 이용하여 상기 비디오 신호 데이터를 인코딩한다.
본 원리들의 이들 및 다른 양태들, 특징들 및 이점들은, 첨부된 도면들과 함께 읽혀지는, 이하의 예시적인 실시예들의 상세한 설명으로부터 명백하게 될 것이다.
본 원리들은 이하의 예시적인 도면들에 따라서 더욱 잘 이해될 것이다.
도 1은 본 원리들의 실시예에 따른, 본 원리들과 함께 이용하기 위해 확장된, MPEG-4 AVC 표준에 따른 비디오 인코딩을 수행할 수 있는 비디오 인코더에 대한 블록도.
도 2는 본 원리들의 실시예에 따른, 두 파티션들 사이의 예시적인 기하학적 경계에 대한 도면.
도 3a 및 3b는 본 원리들의 실시예에 따른, MPEG-4 AVC 표준 모드 정보에 기초하여 고속으로 기하학적 모드를 결정하기 위한 예시적인 방법들에 대한 흐름도.
도 4는 본 원리들의 실시예에 따른, 이웃하는 정보에 기초하여 고속으로 기하학적 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 5a는 본 원리들의 실시예에 따른, 16×16 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 5b는 본 원리들의 실시예에 따른, 8×8 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 6a는 본 원리들의 실시예에 따른, 16×16 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 6b는 본 원리들의 실시예에 따른, 8×8 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 7은 본 원리들의 실시예에 따른, 레시듀(residue) 정보에 기초하여 고속으로 기하학적 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 8은 본 원리들의 실시예에 따른, 움직임 벡터 정보에 기초하여 고속으로 모드를 결정하기 위한 예시적인 방법에 대한 흐름도.
도 9는 본 원리들의 실시예에 따른, 고속으로 예측적 기하학적 파티셔닝을 선택하기 위한 예시적인 방법에 대한 흐름도.
도 10은 본 원리들의 실시예에 따른, 계층적 탐색을 이용하여 고속으로 기하학적 파티셔닝을 선택하기 위한 예시적인 방법에 대한 흐름도.
도 11은 본 원리들의 실시예에 따른, 고속으로 기하학적 모드 및 파티셔닝을 선택하기 위한 예시적인 방법에 대한 흐름도.
도 12는 본 원리들의 실시예에 따른, 고속으로 대안 예측/파티션 파라미터를 최적화하기 위한 예시적인 방법에 대한 흐름도.
본 원리들은 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치와 직결된다.
본 명세는 본 원리들을 예시한다. 따라서, 본 기술 분야에 숙련된 자들은, 본원에서 명백히 설명되거나 또는 도시되지 않았더라도, 본 원리를 구현하고 본 원리의 정신 및 범주 내에 포함되는 다양한 배열들을 고안할 수 있을 것이라는 것을 알 것이다.
본원에서 설명되는 모든 예들 및 조건부 언어는 본 발명자(들)에 의해 기술을 증진하는 데에 기여되는 본 발명의 원리들 및 개념들을 독자가 이해하는 것을 돕기 위한 교육적인 목적들을 위해 의도되며, 구체적으로 설명되는 예들 및 조건들로 제한되지 않는 것으로 해석되어야 한다.
더욱이, 본 원리들의 원리들, 양태들 및 실시예들뿐만 아니라, 본 원리들의 특정 예들을 설명하는 본원에서의 모든 진술은 본 원리들의 구조적 및 기능적 균등물들 양쪽 모두를 포함하도록 의도된다. 또한, 이러한 균등물들이 현재 공지된 균등물들뿐만 아니라, 미래에 개발될 균등물들, 즉 구조와 관계없이 동일한 기능을 수행하는 임의의 개발될 엘리먼트들을 모두 포함한다는 것이 의도된다.
따라서, 예를 들어, 본원에서 제공되는 블록도들이 본 원리들을 구현하는 예시적인 회로의 개념적인 뷰들을 나타낸다는 것이 본 기술 분야에 숙련된 자들에 의해 이해될 것이다. 유사하게, 임의의 흐름 차트들, 흐름도들, 상태 변이도들, 의사 코드 등은, 컴퓨터 판독가능 매체 내에서 실질적으로 표현될 수 있고, 따라서 컴퓨터 또는 프로세서가 명확하게 도시되는지의 여부와 관계없이, 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것이 이해될 것이다.
도면들에 도시된 다양한 엘리먼트들의 기능들은 전용 하드웨어뿐만 아니라, 적절한 소프트웨어와 연관된, 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 기능들은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 일부가 공유될 수 있는 복수의 개별 프로세서에 의해 제공될 수 있다. 또한, 용어 "프로세서" 또는 "제어기"의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 칭하는 것으로 해석되지 않아야 하며, 암시적으로 "DSP(digital signal processor)" 하드웨어, 소프트웨어를 저장하기 위한 "ROM(read-only memory)", "RAM(random access memory)" 및 비휘발성 저장 장치를 포함할 수 있으나 이에 제한되지 않는다.
종래 및/또는 맞춤형의 다른 하드웨어도 포함될 수 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 단지 개념적이다. 이들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호 작용을 통해, 또는 수동으로도 수행될 수 있는데, 특정 기법은 문맥으로부터 더욱 구체적으로 이해되는 바와 같이, 구현자에 의해 선택가능하다.
본원의 청구항들에서, 규정된 기능을 수행하기 위한 수단들로서 표현되는 임의의 엘리먼트는, 예를 들면, a) 그러한 기능을 수행하는 회로 엘리먼트들의 조합, 또는 b) 그러한 기능을 수행하기 위해 소프트웨어를 실행하기 위한 적절한 회로와 결합되는 펌웨어, 마이크로코드 등을 포함하는 임의의 형태의 소프트웨어를 포함하여 그러한 기능을 수행하는 임의의 방법을 포함하도록 의도된 것이다. 이러한 청구항들에 의해 정의되는 바와 같은 본 원리들은, 다양한 상술된 수단들에 의해 제공되는 기능성들이 청구항들이 요구하는 방식으로 함께 조합되고 결합된다는 사실에 있다. 따라서, 그러한 기능성들을 제공할 수 있는 임의의 수단들은 본원에 도시되는 것들과 등가인 것으로 간주된다.
명세서에서 본 원리들의 "하나의 실시예" 또는 "일 실시예"에 대한 참조는 실시예와 관련하여 설명되는 특정 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전반에 걸쳐 다양한 곳에 나타나는 "하나의 실시예에서" 또는 "일 실시예에서"라는 문구의 출현은 모두가 반드시 동일 실시예를 칭하는 것은 아니다.
예를 들면, "A 및/또는 B"의 경우에 용어 "및/또는"의 이용은 첫 번째로 기재된 옵션(A)의 선택, 두 번째로 기재된 옵션(B)의 선택 또는 양 옵션들(A 및 B)의 선택을 포함하도록 의도된다는 것을 알아야 한다. 추가 예로서, "A,B 및/또는 C"의 경우에, 이러한 문구는 첫 번째로 기재된 옵션(A)의 선택, 두 번째로 기재된 옵션(B)의 선택, 세 번째로 기재된 옵션(C)의 선택, 처음 및 두 번째로 기재된 옵션들(A 및 B)의 선택, 처음 및 세 번째로 기재된 옵션들(A 및 C)의 선택, 두 번째 및 세 번째로 기재된 옵션들(B 및 C)의 선택, 또는 세 개의 옵션 모두(A 및 B 및 C)의 선택을 포함하도록 의도된다. 이것은 본 기술 분야 및 관련 기술 분야에 통상의 지식을 가진 자에 의해 쉽게 알 수 있는 바와 같이, 나열된 항목들과 같은 수만큼 확장될 수 있다.
더욱이, 본 원리들의 하나 이상의 실시예가 MPEG-4 AVC 표준에 관하여 본원에서 설명되지만, 본 발명의 원리들은 이 표준만으로 한정되지 않으며, 따라서 본 원리들의 정신을 유지하면서, 다른 비디오 코딩 표준들, 권고들, 및 MPEG-4 AVC 표준의 확장들을 포함하는 그의 확장들에 관하여 활용될 수 있다는 것을 알아야 한다.
또한, 본원에서 이용되는 것으로서, 문구 "웨지 파티션(wedge partition)" 및 "웨지 파티셔닝(wedge partitioning)"은 임의의 선 또는 곡선에 의해 분리되는 두 개의 영역들로의 화상의 분할을 칭한다. 또한, 단어 "웨지"는 경계선 또는 경계곡선의 특정한 세팅 및/또는 선택이 부여된 파티셔닝 형상을 칭한다.
또한, 본원에서 이용되는 것으로서, 예를 들면, 탐색에 관하여, 용어 "고속"은 최선의 해법, 또는 최선에 근접하지만 철저한 전체 탐색 알고리즘보다 더 낮은 계산 복잡성을 갖는 해법을 찾을 수 있는 효율적인 알고리즘을 칭한다.
도 1을 보면, 본 원리들과 함께 이용하기 위해 확장되는, MPEG-4 AVC 표준에 따라 비디오 코딩을 수행할 수 있는 비디오 인코더는 일반적으로 참조 번호 100에 의해 표시된다.
비디오 인코더(100)는, 결합기(185)의 비반전(non-inverting) 입력과 신호 통신하는 출력을 갖는 프레임 정렬 버퍼(frame ordering buffer)(110)를 포함한다. 결합기(185)의 출력은 기하학적 확장들을 갖는 변환기 및 양자화기(125)의 제1 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 변환기 및 양자화기(125)의 출력은 기하학적 확장들을 갖는 엔트로피 코더(145)의 제1 입력, 및 기하학적 확장들을 갖는 역 변환기 및 역 양자화기(150)의 제1 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 엔트로피 코더(145)의 출력은 결합기(190)의 제1 비반전 입력과 신호 통신하여 연결된다. 결합기(190)의 출력은 출력 버퍼(135)의 제1 입력과 신호 통신하여 연결된다.
기하학적 확장들을 갖는 인코더 제어기(105)의 제1 출력은 프레임 정렬 버퍼(110)의 제2 입력, 기하학적 확장들을 갖는 역 변환기 및 역 양자화기(150)의 제2 입력, 영상-유형 결정 모듈(115)의 입력, 기하학적 확장들을 갖는 매크로블록-유형(MB-유형) 결정 모듈(120)의 입력, 기하학적 확장들을 갖는 인트라 예측 모듈(160)의 제2 입력, 기하학적 확장들을 갖는 디블록킹 필터(deblocking filter)(165)의 제2 입력, 기하학적 확장들을 갖는 움직임 보상기(motion compensator)(170)의 제1 입력, 기하학적 확장들을 갖는 고속 움직임 추정기(fast motion estimator)(175)의 제1 입력, 및 기준 영상 버퍼(180)의 제2 입력과 신호 통신하여 연결된다.
기하학적 확장들을 갖는 인코더 제어기(105)의 제2 출력은 SEI(Supplemental Enhancement Information) 삽입기(130)의 제1 입력, 기하학적 확장들을 갖는 변환기 및 양자화기(125)의 제2 입력, 기하학적 확장들을 갖는 엔트로피 코더(145)의 제2 입력, 출력 버퍼(135)의 제2 입력, 및 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set) 삽입기(140)의 입력과 신호 통신하여 연결된다.
화상-유형 결정 모듈(115)의 제1 출력은 프레임 정렬 버퍼(110)의 제3 입력과 신호 통신하여 연결된다. 화상-유형 결정 모듈(115)의 제2 출력은 기하학적 확장들을 갖는 매크로블록-유형 결정 모듈(120)의 제2 입력과 신호 통신하여 연결된다.
SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set) 삽입기(140)의 출력은 결합기(190)의 제3 비반전 입력과 신호 통신하여 연결된다.
기하학적 확장들을 갖는 역 양자화기 및 역 변환기(150)의 출력은 결합기(127)의 제1 비반전 입력과 신호 통신하여 연결된다. 결합기(127)의 출력은 기하학적 확장들을 갖는 인트라 예측 모듈(160)의 제1 입력, 및 기하학적 확장들을 갖는 디블록킹 필터(165)의 제1 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 디블록킹 필터(165)의 출력은 기준 영상 버퍼(180)의 제1 입력과 신호 통신하여 연결된다. 기준 영상 버퍼(180)의 출력은 기하학적 확장들을 갖는 고속 움직임 추정기(175)의 제2 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 고속 움직임 추정기(175)의 제1 출력은 기하학적 확장들을 갖는 움직임 보상기(170)의 제2 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 고속 움직임 추정기(175)의 제2 출력은 기하학적 확장들을 갖는 엔트로피 코더(145)의 제3 입력과 신호 통신하여 연결된다.
기하학적 확장들을 갖는 움직임 보상기(170)의 출력은 스위치(197)의 제1 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 인트라 예측 모듈(160)의 출력은 스위치(197)의 제2 입력과 신호 통신하여 연결된다. 기하학적 확장들을 갖는 매크로블록-유형 결정 모듈(120)의 출력은 스위치(197)의 제3 입력과 신호 통신하여 연결된다. 스위치(197)의 출력은 결합기(127)의 제2 비반전 입력과 신호 통신하여 연결된다.
프레임 정렬 버퍼(110) 및 기하학적 확장들을 갖는 인코더 제어기(105)의 입력들은 입력 영상(101)을 수신하기 위한, 인코더(100)의 입력으로서 이용가능하다. 또한, SEI(Supplemental Enhancement Information) 삽입기(130)의 입력은 메타데이터(metadata)를 수신하기 위한, 인코더(100)의 입력으로서 이용가능하다. 출력 버퍼(135)의 출력은 비트스트림(bitstream)을 출력하기 위한, 인코더(100)의 출력으로서 이용가능하다.
기하학적 영역 파티셔닝을 이용하는 인터 및 인트라 예측은 비디오 코딩 효율성을 개선하는 것에 대한 유망한 연구방향으로서 확인되었다. 예전에, (MPEG-4 AVC 표준에 따라 수행되는 것과 같은) 어드밴스드 비디오 코딩(advanced video coding)의 경우에, 그것은 비디오 코딩 효율을 개선하기 위한 인터 및 인트라 예측에 대한 기하학적 파티션을 도입하기 위해 제안되었다. 최선의 성능을 얻기 위해, 인코더가 최선의 기하학적 파티션을 찾는 것은 중요하다. 맹목적 전체 탐색 전략(brute-force full search strategy)이 이들 제안들에 이용될 수 있으나, 복잡성이 매우 높다. 그러나, 기하학적 파티션에 대한 증가된 계산 복잡성이 실제 시스템에 대한 장애물이 되지 않도록, 모드/파티션 선택에 대한 몇몇 고속의 알고리즘들을 갖는 것이 바람직하다. 따라서, 본 원리들에 따라, 우리는 인코더에서 계산 자원(computational resource)들을 절약하기 위한 고속 기하학적 알고리즘들을 고안하게 되었다. 본 원리들의 하나의 실시예에서, 고속 기하학적 모드 결정은 기하학적 모델 기반 파티셔닝 모드들을 이용하는 비디오 인코더에 대해서 가능하게 되며, 여기에서 기하학적 모드를 테스트하는 것은, 표준 예측 모드들 및 기하학적 파티션 모드들 사이의 상관 및 의존성 중 적어도 하나에 기초하여 스킵된다. 본 원리들의 또 다른 실시예에서, 고속 기하학적 파라미터 선택은 기하학적 모델 기반 파티셔닝 모드들을 이용하는 비디오 인코더에 대해서 가능하게 되며, 여기에서 초기 예측자 선택, 적응적 조기 종료 및 예측자 리파인먼트 중 적어도 하나를 포함하는 예측적 고속 탐색 알고리즘이 적용된다. 본 원리들의 또 다른 실시예에서, 고속 기하학적 파라미터 선택은 기하학적 모델 기반 파티셔닝 모드들을 이용하는 비디오 인코더에 대해서 가능하게 되며, 여기에서 계층적 탐색이 이용된다. 본 원리들의 또 다른 실시예에서, 기하학적 모델 기반 파티셔닝 모드들을 이용하는 비디오 인코더가 가능하게 되며, 여기에서 기하학적 파티션 및 예측적 데이터의 대안 최적화가 이용된다.
전술한 바와 같이, 최근의 비디오 압축 기법들은, 예를 들면, ISO/IEC MPEG-2 표준과 같은 종래의 비디오 코딩 표준들에 일반적으로 이용되는 간단한 균등한 블록 파티션보다 더욱 효율적인 프레임 파티셔닝을 이용한다. 그러나, MPEG-4 AVC 표준에서 이용되는 트리-기반 프레임 파티션은 아직도 비디오 정보를 충분히 효율적으로 코딩하지 못하고 있는데, 이것은 그것은 2차원(2D) 데이터의 기하학적 구조를 캡쳐할 수 없기 때문이다. 이러한 제한들을 해결하기 위해, 2D 비디오 데이터를 그것의 2D 기하학적 배열을 고려하여 더욱 잘 나타내고 코딩하는 방법 및 장치가 제공된다. 하나의 실시예에서, 우리는 인터(INTER16×16GEO, INTER8×8GEO) 및 인트라 예측(INTRA16×16GEO, INTRA8×8GEO) 양쪽 모두에 대한 새로운 세트의 모드들에 관하여 웨지 파티션(즉, 임의의 선 또는 곡선에 의해 분리되는 두 개의 영역들로의 블록의 분할)을 이용한다.
일 실시예에서, MPEG-4 AVC 표준은 기하학적 파티션 모드를 통합시키기 위한 근거로서 이용될 수 있다. 블록들 내의 기하학적 파티션들은 선의 암시적 공식화(implicit formulation of a line)에 의해 모델링된다. 따라서, 일 실시예에서, 파티션들은 하기와 같이(도 2에 도시된 바와 같이) 정의된다:
Figure pat00005
여기에서 ρ,θ은 각각: f(x,y)에 직교하는 방향에서 원점으로부터 경계선 f(x,y)까지의 거리; 및 f(x,y)에 직교하는 방향과 수평 좌표 축 x의 각도를 표시한다.
도 2를 보면, 화상의 예시적인 기하학적 파티셔닝은 일반적으로 참조 번호 200에 의해 표시된다. 화상 블록은 일반적으로 참조 번호 220에 의해 표시된다.
더 높은 차수의 기하학적 파라미터들을 갖는 f(x,y)에 대해서 한층 더 관련된 모델들이 또한 고려된다는 것이 그의 공식화로부터 직접 추정된다.
각 블록 픽셀(x,y)은 이하와 같이 분류된다:
Figure pat00006
코딩 목적들을 위해, 가능한 파티션들(또는 기하학적 모드들)의 사전(dictionary)은 연역적으로(a priori ) 결정된다. 이것은 이하와 같이 공식으로 정의될 수 있다:
Figure pat00007
Figure pat00008
여기에서 Δρ 및 Δθ는 선택된 양자화(파라미터 레졸루션) 단계들이다. θ 및 ρ에 대한 양자화된 지수들(indices)은 에지를 코딩하기 위해 송신된 정보이다. 그러나, 모드들 16×8 및 8×16이 코딩 절차 동안에 이용된다면, ρ=0인 경우에 대해, 각도 0 및 90은 가능한 에지들의 세트로부터 제거될 수 있다.
기하학-적응적 움직임 보상 모드(geometry-adaptive motion compensation mode)에서, 최선의 구성을 찾기 위해 각 파티션에 대한 ρ, θ 및 움직임 벡터들에 대한 탐색이 수행될 수 있다. 전체 탐색 전략은 ρθ의 모든 짝에 대해서 두 스테이지에 걸쳐 행해지는데, 여기에서 최선의 움직임 벡터들이 탐색된다. 기하학-적응적 인트라 예측 모드 내에서, 최선의 구성을 찾기 위해 각 파티션에 대한 ρ, θ 및 최선의 예측자(지향성 예측 또는 통계들 등)에 대한 탐색이 수행된다.
인코더 측에서, 기하학적 모드에 대한 계산 복잡성은 전체 탐색이 이용되는 경우에 매우 높을 수 있다. 따라서, 실제 응용들에 대한 인코더 복잡성을 감소시키도록 고속 알고리즘들을 개발하는 것이 매우 중요하다.
일 실시예에서, 우리는 P 영상들에 대한 MPEG-4 AVC 표준 및 인터 기하학적 파티션의 프레임워크를 이용한다. 그러나, 본원에서 제공되는 본 원리들의 교시들이 주어지면, 본 원리들의 다른 실시예들은 본 기술 분야 및 관련 기술 분야에 통상의 지식을 가진 자에 의해, 본 원리들의 정신을 유지하면서, 인트라 기하학적 파티셔닝, 다른 유형의 영상들, 및 다른 비디오 코딩 표준들 및 권고들, 및 그의 확장들에 용이하게 적용될 수 있다는 것을 알아야 한다. 본 원리들은 고속 움직임 추정 및/또는 MPEG-4 AVC 고속 모드 결정과 공동으로 적용될 수 있다. 코딩 비용 측정의 경우에, 우리는 RDcost를 하나의 예로서 이용한다. 그러나, 본 원리들은 앞선 유형의 코딩 비용 측정에만 제한되지 않으며, 따라서, (평균 제곱 오차(mean square error) 등과 같은) 왜곡 유일 측정(distortion only measurement)을 포함하나 이에 제한되지 않는 다른 코딩 비용 측정들이 본 원리들의 정신을 유지하면서 적용될 수 있다는 것을 알아야 한다.
예시 및 명료함을 위해, 본 원리들은 이하의 세 개의 카테고리들로 분류된다: (1) 본래의 MPEG-4 AVC 표준 인터 예측 모드들과 기하학적 파티션 모드 사이의 상관에 기초한 고속 모드 결정; (2) 기하학적 파티션 모드 내에서의 고속 기하학적 파티션 선택; (3) 기하학적 파티션 및 예측 데이터의 대안 최적화에 의한 고속 기하학적 파티션 선택. 이들 카테고리들이 공동으로 또는 독립적으로 적용될 수 있다는 것을 알아야 한다.
1. 본래의 MPEG-4 AVC 표준 인터 예측 모드들과 기하학적 파티션 모드 사이의 상관에 기초한 고속 모드 결정
이 카테고리에서는, 우리가 기하학적 모드를 테스트하는 것을 완전히 스킵할 수 있는지를 결정하기 위해 고속 알고리즘이 수행된다. 우리는, MPEG-4 AVC 표준 인터 예측 모드들이 기하학적 파티션 모드 전에 인코더에 의해 테스트된다는 것을 가정할 것이다. 우리는 제1 카테고리 하에서 우리의 알고리즘들을 다음의 5 개의 서브-카테고리들로 더 분류할 것이다: (1) MPEG-4 AVC 표준 모드 결정; (2) 조기 중단 결정; (3) 이웃 결정; (4) 레시듀 결정; 및 (5) 움직임 벡터 결정. 이들 서브-카테고리들은 공동으로 또는 독립적으로 적용될 수 있다.
1.1. MPEG-4 AVC 표준 모드 결정
이 서브-카테고리에서, 우리는, 인코더에 의한 최선의 및/또는 (이용가능한 경우에) 차선의 선택된 MPEG-4 AVC 표준 모델들에 기초하여 기하학적 모드의 압축 성능을 테스트하는 것을 스킵할지 아닐지를 결정한다. 일 실시예에서, 이 카테고리의 결정은, 예를 들면, 인코더가 매크로블록에 대한 최선의 모드로서 기하학적 모드를 선택하는 경우, 최선의 MPEG-4 AVC 표준 인터 예측 모드가 SKIP, 16×16 또는 인트라 모드가 될 가망성이 없다는 가정에 기초한다. 동시에, 서브8×8 레벨에서, 최선의 서브-매크로블록 모드가 8×8 기하학적 모드라면, 우리는 최선의 MPEG-4 AVC 표준 인터 예측 모드가 8×8(또는 인터-B 예측이 고려되면 Direct 8×8)이 될 가망성이 없다고 가정할 수 있다. 매크로블록 크기 레벨에서, 이것은, SKIP 및/또는 16×16은 매크로블록이 아마도 동일한 객체 또는 움직임 영역들 내에 있다는 것을 의미하고, 인트라는 매크로블록이 아마도 폐색된 객체(occluded object)인 것을 의미하기 때문이다. 서브-매크로블록들에 대해서 마찬가지로 적용한다. 하나의 실시예에서, 우리는 우선 최선의 MPEG-4 AVC 표준 모드가 SKIP 모드인지를 검사한다. 이러한 경우라면, 인코더는 기하학적 모드를 테스트하는 것을 스킵하여, 에지 및 움직임 탐색들을 회피한다. SKIP이 인코더에 의해 선택된 최선의 모드가 아니었다면, 인코더는 최선의 MPEG-4 AVC 표준 모드가 인트라 모드인지를 검사한다. 이러한 경우라면, 기하학적 모드는 스킵된다. 그렇지 않은 경우, 인코더는 최선의 MPEG-4 AVC 표준 모드가 16×16인지를 검사한다. 이러한 경우라면, 인코더는 차선의 MPEG-4 AVC 표준 모드를 검사한다. 그것이 SKIP 모드이면, 우리는 기하학적 모드를 더 테스트하는 것을 스킵한다. 그렇지 않은 경우, 우리는 기하학적 모드를 테스트한다. 유사하게, 서브-매크로블록들에 대해, 최선의 MPEG-4 AVC 표준 서브-매크로블록 모드가 8×8 파티션 사이즈이면, 인코더는 기하학적 서브-매크로블록 모드를 테스트하는 것을 스킵한다.
도 5a를 보면, 16×16 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법은 일반적으로 참조 번호 500에 의해 표시된다.
방법(500)은 결정 블록(510)으로 제어를 넘기는 시작 블록(505)을 포함한다. 결정 블록(510)은 JBest16 ×16Mode<TBest16 ×16 Mode인지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(515)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(520)으로 넘겨진다.
기능 블록(515)은 다음의 매크로블록까지 스킵하고, 제어를 종료 블록(549)으로 넘긴다.
기능 블록(520)은 J16 ×16 GEO를 산출하고, 제어를 종료 블록(549)으로 넘긴다.
도 5b를 보면, 8×8 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법은 일반적으로 참조 번호 550에 의해 표시된다.
방법(550)은 결정 블록(560)으로 제어를 넘기는 시작 블록(555)을 포함한다. 결정 블록(560)은 JBest8 ×8Mode<TBest8 ×8 Mode인지 아닌지를 결정하는데, 여기에서 T는 임계 값을 나타낸다. 만약 그렇다면, 제어는 기능 블록(565)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(570)으로 넘겨진다.
기능 블록(565)은 다음 매크로블록까지 스킵하고, 제어를 종료 블록(599)으로 넘긴다.
기능 블록(570)은 J8 ×8 GEO를 산출하고, 제어를 종료 블록(599)으로 넘긴다.
본원에서 제공되는 본 원리들의 교시들이 주어지면, 본원에서 제공되는 예들이 본 기술 분야 및 관련 기술 분야에 통상의 지식을 가진 자에 의해 최선의 모드들의 다른 조합들로 용이하게 확장될 수 있다는 것을 알아야 한다. 더욱이, 예측을 위해 고려해야 할 엔트리들(entries)의 최대 수는 MPEG-4 AVC 표준 예측 모드 중에서의 최선의 및 차선의 선택된 모드들에 제한되지 않으며, 따라서, 본 원리들의 정신을 유지하면서, 다른 수의 최선의 선택된 모드들도 활용될 수 있다는 것을 알아야 한다.
1.2. 조기 중단 결정
이 서브-카테고리에서, 우리는 고속 모드 결정에 도달하기 위해 조기 중단 기준을 이용할 것을 제안한다. 이러한 중단 기준은 적응적 임계 메카니즘(adaptive thresholding mechanism)에 기초한다. 임계치는 양자화 파라미터들, 공간적으로/시간적으로 이웃하는 레이트-왜곡 비용(RDcost), 등의 함수일 수 있다. 기본 스킴은, 16×16 및/또는 8×8 기하학적 파티션 모드들을 테스트하는 것을 스킵할지 아닐지를 결정하기 위해 모든 가능한 MPEG-4 AVC 표준 매크로블록/서브-매크로블록 파티션 모드들을 테스트한 후에, 임계치들을 적용하는 것이다. 하나의 실시예에서, 우리는 16×16/8×8 기하학적 파티션 결정들을 적용하기 전에만 최선의 MPEG4 AVC 표준 모드를 테스트한다. 최선의 MPEG-4 AVC 표준 모드의 RDcost가 특정 임계치보다 더 작다면, 우리는 기하학적 모드를 테스트하는 것을 스킵한다. 그렇지 않은 경우에, 우리는 기하학적 모드를 테스트한다.
고속 기하학적 모드 결정 임계치는 일부 예방책들(safe guards) 또는 RDcost로부터의 수집된 통계들에 기초하여 선택될 수 있다.
도 3a 및 3b를 보면, MPEG-4 AVC 표준 모드 정보에 기초하여 고속으로 기하학적 모드를 결정하기 위한 예시적인 방법들이 일반적으로 참조 번호 300 및 350에 의해 각각 표시된다.
방법(300)은 기능 블록(310)으로 제어를 넘기는 시작 블록(305)을 포함한다. 기능 블록(310)은 최선의 MPEG-4 AVC 표준 모드를 검사하고 결정 블록(315)으로 제어를 넘긴다. 결정 블록(315)은 최선의 MPEG-4 AVC 표준 모드가 SKIP 또는 인트라인지 아닌지를 결정한다. 만약 그렇다면, 제어는 결정 블록(320)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(335)으로 넘겨진다.
결정 블록(320)은 최선의 MPEG-4 AVC 표준 모드가 16×16인지 아닌지를 결정한다. 만약 그렇다면, 제어는 결정 블록(325)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(330)으로 넘겨진다.
결정 블록(325)은 차선의 MPEG-4 AVC 표준 모드가 SKIP인지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(335)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(330)으로 넘겨진다.
기능 블록(330)은 기하학적 모드를 검사하고, 제어를 기능 블록(335)으로 넘긴다.
기능 블록(335)은 최선의 모드를 선택하고, 제어를 종료 블록(349)으로 넘긴다.
방법(350)은 기능 블록(360)으로 제어를 넘기는 시작 블록(355)을 포함한다. 기능 블록(360)은 최선의 MPEG-4 AVC 표준 서브-매크로블록 모드를 검사하고, 결정 블록(365)으로 제어를 넘긴다. 결정 블록(365)은 최선의 MPEG-4 AVC 표준 모드가 8×8인지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(375)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(370)으로 넘겨진다.
기능 블록(370)은 서브-매크로블록 기하학적 모드를 검사하고, 기능 블록(375)으로 제어를 넘긴다.
기능 블록(375)은 최선의 서브-매크로블록 모드를 선택하고, 종료 블록(399)으로 제어를 넘긴다.
또 다른 실시예에서, 우리는 16×16/8×8 기하학적 파티션을 결정하기 전에 최선의 및 (이용가능한 경우에) 차선의 MPEG-4 AVC 표준 모드로부터의 통계들을 이용한다. 최선의 MPEG-4 AVC 표준 모드의 RDcost가 특정 임계치보다 더 작고, 차선의 MPEG-4 AVC 표준 모드의 RDcost가 또 다른 임계치보다 더 작다면, 우리는 기하학적 모드를 테스트하는 것을 스킵한다. 그렇지 않은 경우, 우리는 기하학적 모드를 테스트한다.
도 4를 보면, 이웃하는 정보에 기초하여 고속으로 기하학적 모드를 결정하기 위한 예시적인 방법이 일반적으로 참조 번호 400에 의해 표시된다.
방법(400)은 기능 블록(410)으로 제어를 넘기는 시작 블록(405)을 포함한다. 기능 블록(410)은 상부 및 좌측의 매크로블록 모드 결정을 검사하고, 결정 블록(415)으로 제어를 넘긴다. 결정 블록(415)은 모드 결정들이 SKIP 또는 16×16인지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(425)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(420)으로 넘겨진다.
기능 블록(420)은 기하학적 모드를 검사하고, 제어를 기능 블록(425)으로 넘긴다.
기능 블록(425)은 기하학적 모드가 검사되었다면, 기하학적 모드와 MPEG-4 AVC 표준으로부터의 최선의 모드 사이에서 최선의 모드를 선택하고, 그렇지 않은 경우에는, MPEG-4 AVC 표준으로부터 최선의 모드를 선택하고, 종료 블록(499)으로 제어를 넘긴다.
또 다른 실시예에서, 우리는 제1 카테고리의 제1 및 제2 서브-카테고리들의 접근 방법들 사이의 조합을 고려할 수 있는데, 여기에서 임계 비용 기준과 최선의 선택된 모드 기준의 조합이 이용된다. 또 다른 가능한 접근 방법은, 임계치 적응에 대한 조건부 맥락(conditional context for threshold adaptation)으로서 최선의 모드 및 차선의 모드를 이용하는 것이다. 기하학적 모드들을 스킵하거나 또는 테스트하지않는 것에 대한 결정 임계치들은 최선의 및 차선의 MPEG-4 AVC 표준 모드들의 조합에 의존하여 설정될 수 있다.
1.3. 이웃 결정
MPEG-4 AVC 표준은 블록 코딩 구조를 이용한다. 종종, 객체들은 블록 경계들을 넘는 경향이 있다. 이 서브-카테고리에서, 우리는 모드 결정을 더욱 빠르게 하기 위해 이웃 정보를 이용할 것이다.
공간적으로 및/또는 시간적으로 이웃하는 매크로블록들 중 어느 것도 매크로블록들(예를 들면, 16×8, 8×16, 8×8, 8×4) 중 주어진 하나 이상의 매크로블록(또는 서브-블록)을 파티셔닝하는 모드들을 포함하지 않는다면, 현재의 매크로블록(또는 서브-블록)의 최선의 모드가 기하학적 모드가 될 가능성은 낮다. 하나의 실시예에서, 인코더는 좌측 및 상부의 이웃하는 매크로블록들을 검사하고, 그들이 양쪽 모두 SKIP 또는 16×16이면, 인코더는 현재의 매크로블록에서 기하학적 모드를 테스트하는 것을 스킵한다. 그렇지 않은 경우, 기하학적 모드는 테스트된다. 또 다른 실시예에서, 이웃들 및 현재의 최선의 MPEG-4 AVC 표준 모드를 고려하는 결합된 결정 규칙(combined decision rule)이 고려된다.
도 6a를 보면, 16×16 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법이 일반적으로 참조 번호 600에 의해 표시된다.
방법(600)은 결정 블록(610)으로 제어를 넘기는 시작 블록(605)을 포함한다. 결정 블록(610)은 JBest , SecondBest 16×16 Mode<TBest , SecondBest 16×16 Mode인지 아닌지를 결정하는데, 여기에서 T는 임계치이다. 만약 그렇다면, 제어는 기능 블록(615)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(620)으로 넘겨진다.
기능 블록(615)은 다음의 매크로블록까지 스킵하고, 종료 블록(649)으로 제어를 넘긴다.
기능 블록(620)은 J16 ×16 GEO를 산출하고, 종료 블록(649)으로 제어를 넘긴다.
도 6b를 보면, 8×8 기하학적 모드에 대한 모드를 결정하기 위한 예시적인 방법이 일반적으로 참조 번호 650에 의해 표시된다.
방법(650)은 결정 블록(660)으로 제어를 넘기는 시작 블록(655)을 포함한다. 결정 블록(660)은 JBest , SecondBest 8×8 Mode<TBest , SecondBest 8×8 Mode인지 아닌지를 결정하는데, 여기에서 T는 임계치이다. 만약 그렇다면, 제어는 기능 블록(665)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(670)으로 넘겨진다.
기능 블록(665)은 다음 매크로블록까지 스킵하고, 종료 블록(699)으로 제어를 넘긴다.
기능 블록(670)은 J8 ×8 GEO를 산출하고, 종료 블록(699)으로 제어를 넘긴다.
1.4. 레시듀 결정
레시듀의 에너지(energy of residue)는 주어진 매크로블록의 예측 품질의 지시자(indicator)일 수 있다. 현재의 매크로블록에 대한 최선의 MPEG-4 AVC 표준 모드의 레시듀의 에너지가 충분히 낮다면, 인코더는 기하학적 모드를 테스트하는 것을 스킵할 수 있다. 유사하게, 현재의 서브-매크로블록에 대한 최선의 MPEG-4 AVC 표준 서브-매크로블록 모드의 레시듀의 에너지가 낮다면, 우리는 서브-매크로블록 기하학적 모드를 테스트하는 것을 스킵할 수 있다. 하나의 실시예에서, 우리는 레시듀 DCT(Discrete Cosine Transform) 계수들의 절대 합을 이용하여 레시듀의 에너지를 계산할 수 있다.
도 7을 보면, 레시듀 정보에 기초하여 고속으로 기하학적 모드를 결정하기 위한 예시적인 방법이 일반적으로 참조 번호 700에 의해 표시된다.
방법(700)은 기능 블록(710)으로 제어를 넘기는 시작 블록(705)을 포함한다. 기능 블록(710)은 최선의 MPEG-4 AVC 표준 모드의 레시듀를 검사하고, 결정 블록(715)으로 제어를 넘긴다. 결정 블록(715)은 레시듀의 에너지가 임계치 T보다 더 작은지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(725)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(720)으로 넘겨진다.
기능 블록(720)은 기하학적 모드를 검사하고, 기능 블록(725)으로 제어를 넘긴다.
기능 블록(725)은 기하학적 모드가 검사되었다면, 기하학적 모드와 MPEG-4 AVC 표준으로부터의 최선의 모드 사이에서 최선의 모드를 선택하고, 그렇지 않은 경우, MPEG-4 AVC 표준으로부터의 최선의 모드를 선택하고, 종료 블록(799)으로 제어를 넘긴다.
1.5. 움직임 벡터 결정
통계적으로, 움직임 에지들이 존재할 때, 기하학적 모드들이 대체로 도움을 준다는 사실에 기인하여, 전경들(foreground)은 배경(background)에 비해 기하학적 모드들을 더 많이 이용하려는 경향이 있다(즉, 배경들은 더욱 정적(static)이고/정적이거나 전역적인 움직임(global motion)을 가지려는 경향이 있다). 공간적으로 및/또는 시간적으로 이웃하는 매크로블록들을 갖는 최선의 MPEG-4 AVC 표준 모드의 움직임 필드(motion field)를 분석함으로써, 인코더는 우리가 기하학적 모드를 테스트하는 것을 스킵할 수 있을지 아닐지를 결정할 수 있다. 하나의 실시예에서, 인코더는 최선의 MPEG-4 AVC 표준 움직임 벡터들 및 이웃하는 움직임 벡터들의 분산을 계산한다. 분산이 임계치보다 더 작다면, 인코더는 기하학적 모드를 테스트하는 것을 스킵한다. 그렇지 않은 경우, 기하학적 모드는 테스트된다.
도 8을 보면, 움직임 벡터 정보에 기초하여 고속으로 모드를 결정하기 위한 예시적인 방법이 일반적으로 참조 번호 800에 의해 표시된다.
방법(800)은 기능 블록(810)으로 제어를 넘기는 시작 블록(805)을 포함한다. 기능 블록(810)은 최선의 MPEG-4 AVC 표준 모드 및 이웃하는 매크로블록들의 움직임들로부터 움직임의 분산을 계산하고, 결정 블록(815)으로 제어를 넘긴다. 결정 블록(815)은 분산이 임계치 T보다 더 작은지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(825)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(820)으로 넘겨진다.
기능 블록(820)은 기하학적 모드를 검사하고 기능 블록(825)으로 제어를 넘긴다.
기능 블록(825)은 기하학적 모드와 MPEG-4 AVC 표준으로부터의 최선의 모드 사이에서 최선의 모드를 선택하고, 그렇지 않은 경우, MPEG-4 AVC 표준으로부터의 최선의 모드를 선택하고, 종료 블록(899)으로 제어를 넘긴다.
2. 기하학적 파티션 모드 내에서의 고속 웨지 선택
이 카테고리에서, 하나의 목적은 기하학적 파티션 모드를 탐색하기 위해 우리가 필요로 하는 가능한 파티션들의 수를 감소시키는 것이다. 목적은 탐색 공간을 감소시키고, 최선의 코딩 모드 및/또는 기하학적 파티션들의 최적화 알고리즘 및 검색(retrieval)이 국소 최소값들(local minima)에 빠지게 되는 가능성을 최소화하는 것이다. 이 제2 카테고리 하에서의 접근 방법은 다음의 두 개의 서브-카테고리들로 분리될 수 있다: (1) 예측 기반 알고리즘들; 및 (2) 계층적 탐색.
2.1. 예측적 알고리즘
예측적 알고리즘은 주로 다음의 세 스텝들을 포함하는 것으로 간주될 수 있다: (1) 초기 예측자 선택은 잠재적으로 유망한 웨지들의 세트로부터 최선의 웨지를 선택함; (2) 적응적 조기 종료는 일부 규칙들이 만족된다면, 주어진 스테이지들에서 탐색의 종료를 허용함; 및 (3) 예측 리파인먼트는 최종 예측을 개선하기 위해 최선의 웨지 예측자 주변에서 리파인먼트 패턴을 이용함. 전술한 세 스텝들은 독립적으로 또는 합동으로 수행될 수 있다.
2.1.1 예측자 선택
목표는 가장 개연적인 웨지들을 찾기 위해 사전 계산된(pre-computed) 정보를 활용하는 것이다. 우리는 우리의 예측자들을 다음의 세 그룹들: (1) 공간적 및/또는 시간적 상관에 기초한 예측자들; (2) 최선의 MPEG-4 AVC 표준 인터 모드가 이용가능한 경우, 이에 기초한 예측자들; 및 (3) 고정된 예측자 격자(fixed predictor grid)로 분할할 수 있다.
제1 그룹, 즉 공간적 및/또는 시간적 상관에 기초한 예측자들에 대해서, 우리는 공간적으로 이웃하는 웨지들 및/또는 시간적으로 이웃하는 웨지들로부터의 웨지 파티션들(또는 웨지들), 및/또는 이들 웨지들의 일부 기능들을 확장하고, 그들을 예측자들로서 이용할 수 있다.
제2 그룹, 즉 최선의 MPEG-4 AVC 표준 인터 모드가 이용가능한 경우, 이에 기초한 예측자들에 대해서, 최적의 기하학적 모드와 최선의 MPEG-4 AVC 표준 인터 모드 사이에 강력한 상관이 존재하는 것으로 관측된다(예를 들면, 중요한 수평 방향을 갖는 임의의 기하학적 파티션이 실제로 최선의 가능한 파티션 모드인 경우, 16×8 모드가 차선의 모드일 것 같다).
제3 그룹, 즉 고정된 예측자 격자에 대해서, 최적화가 국소 최소값에 빠지게 되는 상황을 피하기 위해, 우리는 추가적인 예측자들을 또한 테스트할 수 있다. 더욱 구체적으로는, 우리는 예측 중심 주변에 균일하게 또는 더욱 밀집하게 이격되는 예측자들의 세트를 설계할 수 있다. 하나의 실시예에서, 우리는 Δρ'=2Δρ 및 Δθ'=4Δθ를 갖는 고정된 탐색 예측자들을 설정할 수 있다. 우리는 상기 예측자들 모두가 모든 경우에 필요하지는 않다는 것을 유의해야 한다. 우리는 특정 조건들이 만족되는 지에 의존하여 예측자들 중 일부를 적응적으로 불능케/가능케 할 수 있다.
2.1.2 적응적 조기 종료
우리는 시뮬레이션들로부터, 인접한 블록들의 코딩 비용이 고도로 상관되려는 경향이 있다는 것을 인지한다. 이것에 기초하여, 현재의 블록의 코딩 비용이 임계치를 넘을 경우, 탐색 알고리즘이 조기에 중단할 수 있도록 하는 그러한 임계치가 설정될 수 있다. 이것은 계산 복잡성을 현저하게 감소시킨다. 우리는 두 가지 유형의 임계치들을 설계할 수 있다. 임계치의 한 유형은 예측자들의 세트로부터 최선 또는 차선의 웨지들을 선택하는 데에 이용될 수 있다. 임계치의 또 다른 유형은 기하학적 모드가 최선의 모드로서 최종적으로 선택될 것인지 아닌지를 결정하는 데에 이용될 수 있다. 임계치는 공간적으로/시간적으로 이웃하는 매크로블록의 RDcost, 및/또는 이용가능한 경우에 최선의 MPEG-4 AVC 표준 모드의 RDcost를 이용하여 설계될 수 있다.
하나의 실시예는 다음과 같이 구현될 수 있다. 모든 공간적/시간적/MPEG-4 AVC 표준 예측자들을 테스트한 후에, 우리는 RDcost가 특정 임계치 T0보다 더 작은지를 검사할 것이다. 만약 그렇다면, 우리는 중단하고, 기하학적 모드에 대한 최종 웨지로서 최선의 예측자를 선택한다. 그렇지 않은 경우, 우리는 고정된 예측자들을 테스트한다. RDcost(및/또는 코딩 비용)가 T1보다 더 작다면, 우리는 중단하고, 기하학적 모드에 대한 최종 웨지로서 최선의 예측자를 선택할 것이다. 그렇지 않은 경우, 우리는 RDcost가 T2보다 더 큰지를 테스트한다. 만약 그렇다면, 우리는 중단하고, 매크로블록의 최선의 모드로서 MPEG-4 AVC 표준 최선의 모드를 설정할 것이다. 그렇지 않은 경우, 우리는 우리의 최선의 웨지 후보자를 리파인(refine)할 것이다.
2.1.3 예측 리파인먼트
웨지 탐색은 최선의 예측자에 국한된 반복 탐색 패턴(iterarive search pattern)을 이용함으로써 더 리파인(refine)될 수 있다. 우리는 고속 움직임 추정으로부터의 모든 탐색 패턴 아이디어들을 적용할 수 있다. 하나의 실시예에서, 우리는, 예를 들면, 다이아몬드 탐색과 유사하게 탐색 패턴을 정의할 수 있다. 최선의 예측자가 (ρ 0 , θ 0 )라고 가정하자.
단계 1 : 탐색 공간 내에서 ρ=ρ 0 ±Δρθ=θ 0 ±Δθ으로 짝지어진 모든 웨지들을 테스트함.
단계 2: 최소의 RDcost를 갖는 웨지가 (ρ 0 , θ 0 )라면, 우리는 중단함. 그렇지 않은 경우, 최소의 RDcost를 갖는 웨지로 (ρ 0 , θ 0 )를 설정함으로써 단계 1로 감.
우리는 또한 국부 최소값에 빠지게 되는 것을 회피하기 위해 차선 또는 차차선의 예측자에서 예측 리파인먼트를 적용할 수 있다. 또한, 파라미터 공간의 더욱 촘촘하고 더 나은 커버리지를 위해 육각형의 탐색이 적용될 수 있다. 물론, 본 원리들이 다이아몬드 및 육각형의 탐색들에만 제한되는 것은 아니며, 따라서, 본 원리들의 정신을 유지하면서, 다른 유형의 탐색들이 이용될 수 있다.
도 9를 보면, 고속으로 예측적 웨지를 선택하기 위한 예시적인 방법이 일반적으로 참조 번호 900에 의해 표시된다.
방법(900)은 기능 블록(910)으로 제어를 넘기는 시작 블록(905)을 포함한다. 기능 블록(910)은 웨지 예측자들의 세트를 선택하고, 기능 블록(915)으로 제어를 넘긴다. 기능 블록(915)은 공간적/시간적 예측자들 및 MPEG-4 AVC 표준 인터 모드 예측자들로부터 최선의 웨지를 선택하고, 결정 블록(920)으로 제어를 넘긴다. 결정 블록(920)은 최선의 예측자의 RDcost가 임계치 T0보다 더 작은지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(950)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(925)으로 넘겨진다.
기능 블록(925)은 고정된 예측자 격자를 테스트하고, 결정 블록(930)으로 제어를 넘긴다. 결정 블록(930)은 최선의 예측자의 RDcost가 임계치 T1보다 더 작은지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(950)으로 넘겨진다. 그렇지 않은 경우, 제어는 결정 블록(935)으로 넘겨진다.
결정 블록(935)은 최선의 예측자의 RDcost가 임계치 T2보다 더 큰지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(940)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(945)으로 넘겨진다.
기능 블록(945)은 예측자 리파인먼트를 수행하고, 기능 블록(950)으로 제어를 넘긴다.
기능 블록(950)은 기하학적 모드에서 최선의 웨지를 설정하고, 기능 블록(955)으로 제어를 넘긴다.
기능 블록(955)은 기하학적 모드와 MPEG-4 AVC 표준 모드 사이에서 최선의 모드를 선택하고, 종료 블록(999)으로 제어를 넘긴다.
2.2 계층적 탐색
일 실시예에서, 우리는 계층적 웨지 탐색을 적용할 수 있다. 계층적 웨지 탐색은 웨지 파라미터들의 계층적 피라미드를 세우는 것을 포함한다. 최선의 웨지를 찾기 위해 가장 작은 화상 레졸루션을 갖는 피라미드의 더 높은 레벨에서 먼저 2.1.3(예측 리파인먼트)에서의 전체 탐색 또는 고속 탐색 패턴이 수행된다. 그 후 웨지는 본래의 화상 레졸루션을 갖는 피라미드의 가장 낮은 레벨에 도달할 때까지 리파인된다. 또 다른 실시예에서, 파티션 파라미터들에 대한 피라미드형 탐색이 또한 본래의 레졸루션 화상에서 적용될 수 있다. 이것은, 파티션을 정의하는 파라미터들이 알고리즘의 모든 스테이지에서 파티션 파라미터들의 레졸루션을 개선(두 배로(doubling))하는 것에 의해 계층적 방식으로 반복적으로 리파인된다는 것을 의미한다.
도 10을 보면, 계층적 탐색을 이용하여 고속으로 웨지를 선택하기 위한 예시적인 방법이 일반적으로 참조 번호 1000에 의해 표시된다.
방법(1000)은 기능 블록(1010)으로 제어를 넘기는 시작 블록(1005)을 포함한다. 기능 블록(1010)은 파라미터들의 계층적 피라미드를 세우고, 기능 블록(1015)으로 제어를 넘긴다. 기능 블록(1015)은 피라미드의 가장 높은 레벨에서 최선의 웨지에 대한 전체/고속 탐색을 수행하고, 기능 블록(1020)으로 제어를 넘긴다. 기능 블록(1020)은 피라미드의 가장 높은 레벨부터 가장 낮은 레벨까지 웨지를 리파인하고, 기능 블록(1025)으로 제어를 넘긴다. 기능 블록(1025)은 기하학적 모드에 대한 최선의 웨지를 선택하고, 기능 블록(1030)으로 제어를 넘긴다. 기능 블록(1030)은 기하학적 모드와 MPEG-4 AVC 표준 모드 사이에서 최선의 모드를 선택하고, 종료 블록(1099)으로 제어를 넘긴다.
도 11을 보면, 고속으로 기하학적 모드 및 웨지를 선택하기 위한 예시적인 방법이 일반적으로 참조 번호 1100에 의해 표시된다.
방법(1100)은 기능 블록(1110)으로 제어를 넘기는 시작 블록(1105)을 포함한다. 기능 블록(1110)은 MPEG-4 AVC 표준 모드를 테스트하고, 결정 블록(1115)으로 제어를 넘긴다. 결정 블록(1115)은, 우리가 기하학적 모드를 검사하는 것을 스킵할 수 있는지를 검사하기 위해 고속 모드 결정을 적용할지 아닐지를 결정한다. 만약 그렇다면, 제어는 기능 블록(1120)으로 넘겨진다. 그렇지 않은 경우, 제어는 기능 블록(1125)으로 넘겨진다.
기능 블록(1120)은 최선의 모드로서 MPEG-4 AVC 표준 모드를 선택하고, 종료 블록(1199)으로 제어를 넘긴다.
기능 블록(1125)은 기하학적 모드에서 최선의 웨지를 찾기 위해 고속 웨지 선택을 적용하고, 기능 블록(1130)으로 제어를 넘긴다. 기능 블록(1130)은 기하학적 모드와 MPEG-4 AVC 표준 모드 사이에서 최선의 모드를 선택하고, 종료 블록(1199)으로 제어를 넘긴다.
3. 기하학적 파티션 및 예측 데이터의 대안 최적화에 의한 고속 웨지 선택
고속으로 공동 예측-파티션 파라미터들을 검색하기 위한 또 다른 접근 방법은 대안 최적화 전략들을 이용하는 것이다. 대안 최적화를 이용하는 것에 관한 일 실시예에서, 인코더는 고정된 웨지 파티션 파라미터들을 갖는 파티션들에 대한 최선의 예측들을 대안적으로 탐색하고, 그 후 후속 스텝에서, 인코더는 그 시점까지 검색된 파티션들에 대한 최선의 예측자들을 고정시키고, 웨지 파티션 파라미터들을 최적화하여, 각 스텝에서 왜곡 및/또는 코딩 비용의 측정이 최소화되게 한다. 이러한 프로세스는, 미리 정해진 값과 반복 횟수에 의한 최적화 개선에 대한 측정 중 적어도 하나에 의존하여 주어진 횟수만큼 수행된다. 첫 번째의 반복에 대해 이용되는 초기 세팅들은 이러한 접근 방법의 최종 결과에 현저하게 영향을 줄 수 있다는 것을 알아야 한다. 또 다른 실시예에서, 기하학적 파티션들 및 예측 데이터의 대안 최적화를 위한 몇몇 초기 조건들이 테스트된다. 초기 조건들은 기하학적 파티션들 파라미터들 및/또는 예측 데이터 파라미터들에 적용된다. 초기 조건들은: 웨지 파티션들에 대한 파라미터 공간 상에서의 미리 정해진 샘플링; 주위의 이웃의 이용가능한 데이터에 기초한 웨지 파티션 파라미터들의 예측; 인터 예측에 대한 고속 움직임 탐색; 및 움직임 예측자들 중 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
도 12를 보면, 고속으로 대안 예측/파티션 파라미터를 최적화하기 위한 예시적인 방법이 일반적으로 참조 번호 1200에 의해 표시된다. 도 12의 방법(1200)은 본 원리들의 정신을 유지하면서, 전술한 접근 방법들 중 하나 이상과 함께 이용될 수 있다는 것을 알아야 한다.
방법(1200)은 기능 블록(1210)에 제어를 넘기는 시작 블록(1205)을 포함한다. 기능 블록(1210)은 기하학적 파라미터들 및 파티션들 예측에 대한 초기 추측(initial guess)을 설정하고, 루프 제한 블록(loop limit block)(1215)으로 제어를 넘긴다. 루프 제한 블록(1215)은 N회 반복에 걸친 루프를 설정하고, 기능 블록(1220)으로 제어를 넘긴다. 기능 블록(1220)은 파티션들 예측 파라미터들을 유지(hold)하고, 기능 블록(1225)으로 제어를 넘긴다. 기능 블록(1225)은 모든 가능성들(또는 그의 샘플링)에 걸쳐 루핑(loop)하여 최선의 기하학적 파라미터들을 찾고, 기능 블록(1230)으로 제어를 넘긴다. 기능 블록(1230)은 새로운 기하학적 파티션 파라미터들을 설정하고, 기능 블록(1235)으로 제어를 넘긴다. 기능 블록(1235)은 기하학적 파티션 파라미터들을 유지하고, 기능 블록(1240)으로 제어를 넘긴다. 기능 블록(1240)은 모든 가능성들(또는 그의 샘플링)에 걸쳐 루핑하여 최선의 파티션들 예측 파라미터들을 찾고, 기능 블록(1245)으로 제어를 넘긴다. 기능 블록(1245)은 새로운 파티션들 예측 파라미터들을 설정하고, 결정 블록(1250)으로 제어를 넘긴다. 결정 블록(1250)은 정상 상태 최적화(steady state optimization)가 도달되었는지 아닌지를 결정한다. 만약 그렇다면, 제어는 기능 블록(1260)으로 넘겨진다. 그렇지 않은 경우, 제어는 루프 제한 블록(1255)으로 넘겨진다.
루프 제한 블록(1255)은 N회 반복에 걸친 루프를 종료하고, 기능 블록(1260)으로 제어를 넘긴다.
기능 블록(1260)은 최선의 파티션 에지 및 파티션 파라미터들을 저장하고, 종료 블록(1299)으로 제어를 넘긴다.
이제 본 발명의 많은 부수적인 장점들/특징들의 일부에 대한 설명이 주어질 것인데, 이들 중 일부는 상기에 언급되었다. 예를 들면, 하나의 장점/특징은 기하학적 모델-기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 모드 결정을 수행하는 단계를 포함하는 방법이다. 상기 수행하는 단계는, 기하학적 모델-기반 파티셔닝 모드들과 비기하학적 파티셔닝 모드들 사이의 상관 및 의존성 중 적어도 하나에 기초하여 기하학적 모델-기반 파티셔닝 모드들을 테스트하는 것을 스킵하는 단계를 포함한다.
또 다른 장점/특징은 전술한 바와 같은 방법인데, 여기에서, 상기 비망라적 기하학적 모드 결정은 비기하학적 모드 정보, 조기 중단 임계치, 이웃 정보, 레시듀 정보, 및 움직임 벡터 정보 중 적어도 하나를 이용한다.
또 다른 장점/특징은 전술한 바와 같은 방법인데, 여기에서 상기 조기 중단 임계치는 양자화 파라미터, 공간적으로 이웃하는 레이트-왜곡 비용, 및 시간적으로 이웃하는 레이트-왜곡 비용 중 적어도 하나에 대응한다.
또한, 또 다른 장점/이점은 기하학적 모델-기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 파라미터 선택을 수행하는 단계를 포함하는 방법이다. 상기 수행하는 단계는 예측적 탐색 및 계층적 탐색 중 적어도 하나를 적용하는 것을 포함한다. 상기 예측적 탐색은 초기 예측자 선택, 적응적 조기 종료, 및 예측자 리파인먼트 중 적어도 하나를 포함한다.
또한, 또 다른 장점/이점은 전술한 바와 같은 방법인데, 여기에서 상기 초기 예측자 선택은 공간적 상관에 기초한 예측자들, 시간적 상관에 기초한 예측자들, 주어진 코딩 표준 또는 주어진 코딩 권고의 최선의 인터 모드에 기초한 예측자들, 및 고정된 예측자 격자 중 적어도 하나를 선택적으로 가능하게 한다.
또한, 또 다른 장점/이점은 기하학적 모델-기반 파티셔닝 모드들을 이용하여 화상에 대한 비디오 신호 데이터를 인코딩하는 단계를 포함하는 방법이다. 상기 인코딩하는 단계는 상기 화상의 적어도 일부분에 대한 기하학적 파티션 파라미터들 및 예측적 데이터의 대안 최적화를 이용하여 상기 비디오 신호 데이터를 인코딩하는 것이다.
본 원리들의 이들 및 다른 특징들 및 장점들은 본원에서의 교시들에 기초하여 본 기술 분야에 통상의 지식을 가진 자에 의해 용이하게 확인될 수 있다. 본 발명의 교시들은 다양한 형태의 하드웨어, 소프트웨어, 펌웨어, 특별한 목적의 프로세서들, 또는 그들의 조합으로 구현될 수 있다는 것이 이해되어야 한다.
가장 바람직하게는, 본 원리들의 교시들은 하드웨어와 소프트웨어의 조합으로서 구현된다. 또한, 소프트웨어는 프로그램 저장 유닛에 실체적으로 구현된 응용 프로그램으로서 구현될 수 있다. 응용 프로그램은, 임의의 적합한 아키텍처를 포함하는 기계로 업로드되고, 이 기계에 의해 실행될 수 있다. 바람직하게는, 기계는 하나 이상의 중앙 처리 유닛("CPU"), 랜덤 액세스 메모리("RAM"), 입력/출력("I/O") 인터페이스들과 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에서 구현된다. 컴퓨터 플랫폼은 또한 운영 체제와 마이크로인스트럭션 코드(microinstruction code)를 포함할 수 있다. 본원에서 설명된 다양한 프로세스들과 기능들은, CPU에 의해 실행될 수 있는 마이크로인스트럭션 코드의 부분 또는 응용 프로그램의 부분, 또는 그들의 임의의 조합일 수 있다. 또한, 추가적인 데이터 저장 유닛 및 프린팅 유닛과 같은 다양한 다른 주변 유닛들이 컴퓨터 플랫폼에 연결될 수 있다.
첨부 도면들에 도시된 구성 시스템 컴포넌트들과 방법들 중 일부는 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 컴포넌트들 또는 프로세스 기능 블록들 사이의 실제 연결들은, 본 원리들이 프로그래밍되는 방식에 의존하여 상이할 수 있다는 점이 더 이해되어야 한다. 본원에서의 교시가 주어지면, 본 기술 분야에 통상의 지식을 가진 자는 본 원리들의 이들 및 유사한 구현들 또는 구성들을 예측할 수 있을 것이다.
비록 본원에서는 예시적인 실시예들이 첨부되는 도면들을 참조하여 설명되었지만, 본 원리들은 바로 그 실시예들에 제한되지 않으며, 본 원리들의 범주 또는 정신을 벗어나지 않고 본 기술 분야에 통상의 지식을 가진 자에 의해 다양한 변화들 및 변경들이 행해질 수 있다는 것이 이해되어야 한다. 모든 이러한 변화들 및 변경들은 첨부된 청구항들에서 진술되는 것과 같은 본 원리들의 범주 내에 포함될 것으로 의도된다.

Claims (4)

  1. 기하학적 모드 결정을 위한 장치로서,
    기하학적 모델-기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 파라미터 선택을 수행하기 위한 인코더(100)를 포함하고, 상기 인코더는 예측적 탐색(predictive search) 및 계층적 탐색(hierarchical search) 중 적어도 하나를 적용함으로써 상기 비망라적 기하학적 파라미터 선택을 수행하고, 상기 예측적 탐색은 초기 예측자 선택(initial predictor selection), 적응적 조기 종료, 및 예측자 리파인먼트(predictor refinement) 중 적어도 하나를 포함하는 기하학적 모드 결정 장치.
  2. 제1항에 있어서, 상기 초기 예측자 선택은, 공간적 상관에 기초한 예측자들, 시간적 상관에 기초한 예측자들, MPEG-4 AVC 표준 인터 모드에 기초한 예측자들, 및 고정된 예측자 격자(fixed predictor grid) 중 적어도 하나를 선택적으로 가능하게 하는 기하학적 모드 결정 장치.
  3. 기하학적 모드 결정을 위한 방법으로서,
    기하학적 모델-기반 파티셔닝 모드들을 이용하여 비망라적 기하학적 파라미터 선택을 수행하는 단계를 포함하고, 상기 수행하는 단계는 예측적 탐색 및 계층적 탐색(1000) 중 적어도 하나를 적용하는 단계를 포함하고, 상기 예측적 탐색은 초기 예측자 선택, 적응적 조기 종료, 및 예측자 리파인먼트(900) 중 적어도 하나를 포함하는 기하학적 모드 결정 방법.
  4. 제3항에 있어서, 상기 초기 예측자 선택은, 공간적 상관에 기초한 예측자들, 시간적 상관에 기초한 예측자들, MPEG-4 AVC 표준 인터 모드에 기초한 예측자들(915), 및 고정된 예측자 격자(925) 중 적어도 하나를 선택적으로 가능하게 하는 기하학적 모드 결정 방법.
KR1020147024543A 2007-04-12 2008-04-03 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치 KR101680951B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91148607P 2007-04-12 2007-04-12
US60/911,486 2007-04-12
PCT/US2008/004353 WO2008127568A2 (en) 2007-04-12 2008-04-03 Methods and apparatus for fast geometric mode decision in a video encoder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097021113A Division KR101658669B1 (ko) 2007-04-12 2008-04-03 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치

Publications (2)

Publication Number Publication Date
KR20140119803A true KR20140119803A (ko) 2014-10-10
KR101680951B1 KR101680951B1 (ko) 2016-11-29

Family

ID=39761113

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020097021113A KR101658669B1 (ko) 2007-04-12 2008-04-03 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치
KR1020147024543A KR101680951B1 (ko) 2007-04-12 2008-04-03 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020097021113A KR101658669B1 (ko) 2007-04-12 2008-04-03 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치

Country Status (6)

Country Link
US (1) US9288504B2 (ko)
EP (1) EP2137982B1 (ko)
JP (5) JP2010524396A (ko)
KR (2) KR101658669B1 (ko)
CN (2) CN101731012B (ko)
WO (1) WO2008127568A2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
CN102484706B (zh) * 2009-06-26 2015-09-16 汤姆森特许公司 使用自适应几何划分进行视频编码和解码的方法及装置
KR101483750B1 (ko) 2009-07-24 2015-01-19 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
EP2471264A1 (en) * 2009-08-28 2012-07-04 France Brevets Method for coding a sequence of images
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
CN102215396A (zh) 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和系统
EP2547108A4 (en) 2010-04-13 2014-07-02 Samsung Electronics Co Ltd VIDEO CODING METHOD AND VIDEO CODING DEVICE WITH PRECODING UNITS BASED ON CODING UNITS FOLLOWING A TREE STRUCTURE AND VIDEO CODING METHOD AND VIDEO ENCODING DEVICE WITH PRECODING UNITS BASED ON CODING UNITS DEFINED ACCORDING TO A TREE STRUCTURE
EP2421266A1 (en) * 2010-08-19 2012-02-22 Thomson Licensing Method for reconstructing a current block of an image and corresponding encoding method, corresponding devices as well as storage medium carrying an images encoded in a bit stream
US20120147961A1 (en) * 2010-12-09 2012-06-14 Qualcomm Incorporated Use of motion vectors in evaluating geometric partitioning modes
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
CN102611884B (zh) 2011-01-19 2014-07-09 华为技术有限公司 图像编解码方法及编解码设备
JP2012169762A (ja) * 2011-02-10 2012-09-06 Sony Corp 画像符号化装置と画像復号化装置およびその方法とプログラム
KR20230098693A (ko) * 2011-11-11 2023-07-04 지이 비디오 컴프레션, 엘엘씨 분할 코딩을 이용한 효과적인 예측
IN2014KN01047A (ko) * 2011-11-11 2015-10-09 Fraunhofer Ges Forschung
EP2777286B1 (en) 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
CN102665079B (zh) * 2012-05-08 2014-11-26 北方工业大学 用于hevc的自适应快速帧内预测模式决策方法
US9094667B1 (en) * 2013-10-31 2015-07-28 Electronic Arts Inc. Encoding of computer-generated video content
CN104539962B (zh) * 2015-01-20 2017-12-01 北京工业大学 一种融合视觉感知特征的可分层视频编码方法
US9883187B2 (en) 2015-03-06 2018-01-30 Qualcomm Incorporated Fast video encoding method with block partitioning
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
EP3632106A1 (en) 2017-06-30 2020-04-08 Huawei Technologies Co., Ltd. Encoder, decoder, computer program and computer program product for processing a frame of a video sequence
BR112019028012A2 (pt) 2017-06-30 2020-07-07 Huawei Technologies Co., Ltd. dispositivo e método para determinar um vetor de movimento, codificador e decodificador de vídeo para codificar e decodificar uma pluralidade de fotos
WO2019069782A1 (ja) * 2017-10-06 2019-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020094049A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Extensions of inter prediction with geometric partitioning
EP3847814A4 (en) * 2018-11-06 2021-07-14 Beijing Bytedance Network Technology Co. Ltd. POSITION DEPENDENT STORAGE, MOVEMENT INFORMATION
CN113170182B (zh) 2018-12-03 2024-01-26 北京字节跳动网络技术有限公司 不同预测模式下的修剪方法
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN112019841A (zh) * 2019-05-31 2020-12-01 富士通株式会社 视频编码方法及装置、电子设备
US11317094B2 (en) * 2019-12-24 2022-04-26 Tencent America LLC Method and apparatus for video coding using geometric partitioning mode
KR20220113533A (ko) * 2019-12-30 2022-08-12 에프쥐 이노베이션 컴퍼니 리미티드 비디오 데이터를 코딩하기 위한 디바이스 및 방법
KR20220122969A (ko) 2019-12-31 2022-09-05 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인터 예측 방법, 인코더, 디코더 및 저장 매체

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025991B (zh) * 2001-09-14 2017-12-29 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置和图像处理系统
JP3977716B2 (ja) * 2002-09-20 2007-09-19 株式会社東芝 動画像符号化/復号化方法及び装置
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
CN1245028C (zh) * 2003-03-03 2006-03-08 清华大学 非均匀多层次六边形格点整象素运动搜索方法
JP4968726B2 (ja) * 2003-06-25 2012-07-04 トムソン ライセンシング インターフレームのための高速モード決定符号化
JP4313710B2 (ja) 2004-03-25 2009-08-12 パナソニック株式会社 画像符号化方法および画像復号化方法
CN1284378C (zh) * 2004-10-13 2006-11-08 西安电子科技大学 基于数学模型预测的运动估计快速半像素级搜索方法
WO2006052577A2 (en) * 2004-11-04 2006-05-18 Thomson Licensing Method and apparatus for fast mode decision of b-frames in a video encoder
US7720154B2 (en) * 2004-11-12 2010-05-18 Industrial Technology Research Institute System and method for fast variable-size motion estimation
CN101502119B (zh) 2006-08-02 2012-05-23 汤姆逊许可公司 用于视频编码的自适应几何分割方法和设备
JP2010505343A (ja) * 2006-09-29 2010-02-18 トムソン ライセンシング 幾何学的なイントラ予測

Also Published As

Publication number Publication date
WO2008127568A3 (en) 2009-04-30
CN101731012A (zh) 2010-06-09
KR101680951B1 (ko) 2016-11-29
JP2010524396A (ja) 2010-07-15
JP5519055B2 (ja) 2014-06-11
JP2013158046A (ja) 2013-08-15
EP2137982B1 (en) 2016-06-01
CN103501440A (zh) 2014-01-08
JP2013055689A (ja) 2013-03-21
JP2015146635A (ja) 2015-08-13
US9288504B2 (en) 2016-03-15
EP2137982A2 (en) 2009-12-30
JP5797635B2 (ja) 2015-10-21
KR20100015462A (ko) 2010-02-12
KR101658669B1 (ko) 2016-09-21
JP2013055690A (ja) 2013-03-21
CN101731012B (zh) 2013-10-16
US20100118959A1 (en) 2010-05-13
JP5797634B2 (ja) 2015-10-21
CN103501440B (zh) 2017-03-01
WO2008127568A2 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
KR101680951B1 (ko) 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치
KR100728031B1 (ko) 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치
JP5074924B2 (ja) インタフレームのための高速モード決定方法及び装置
KR101380580B1 (ko) 비디오 인코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치
JP5713415B2 (ja) ビデオ符号器におけるbフレームの高速モード決定のための方法および装置
CN108124154B (zh) 帧间预测模式的快速选择方法、装置及电子设备
KR20210093347A (ko) 비디오 인코딩 및 디코딩
EP2213098A2 (en) Methods and apparatus for video encoding and decoding geometrically partitioned super blocks
WO2010036772A2 (en) Complexity allocation for video and image coding applications
KR20170093833A (ko) 인트라 모드들의 코딩
KR100951301B1 (ko) 비디오 부호화에서의 화면간/화면내 예측 부호화 방법
KR100924048B1 (ko) 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
KR101623064B1 (ko) 영상 부호화 장치, 영상 부호화 방법 및 영상 부호화 프로그램
GB2539212A (en) Handling of non-correct block vectors generated for intra block copy coding mode
Shi et al. Edge information based fast selection algorithm for intra prediction of HEVC
KR101842551B1 (ko) 모션 파티션 모드 판정 방법 및 부호화기
Lin et al. Coding unit partition prediction technique for fast video encoding in HEVC
Pan et al. Fast mode decision algorithms for inter/intra prediction in H. 264 Video Coding
Kim et al. Complexity adaptation in H. 264/AVC video coder for static cameras
Kim Design and performance analysis of low complexity encoding algorithm for H. 264/AVC
Shen et al. Fast prediction mode decision algorithm for h. 264 based on hierarchical mode classification framework

Legal Events

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