KR20120060886A - 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치 - Google Patents

인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치 Download PDF

Info

Publication number
KR20120060886A
KR20120060886A KR1020127009644A KR20127009644A KR20120060886A KR 20120060886 A KR20120060886 A KR 20120060886A KR 1020127009644 A KR1020127009644 A KR 1020127009644A KR 20127009644 A KR20127009644 A KR 20127009644A KR 20120060886 A KR20120060886 A KR 20120060886A
Authority
KR
South Korea
Prior art keywords
intra prediction
mode
block
prediction mode
spatial pattern
Prior art date
Application number
KR1020127009644A
Other languages
English (en)
Other versions
KR101735137B1 (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 KR20120060886A publication Critical patent/KR20120060886A/ko
Application granted granted Critical
Publication of KR101735137B1 publication Critical patent/KR101735137B1/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

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

인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치가 제공된다. 장치는 비디오 인코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 픽처의 적어도 하나의 블록에 대한 픽처 데이터를 인코딩하는 비디오 인코더(600)를 포함한다. 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득된다. 공간 패턴이 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용된다.

Description

인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치{METHODS AND APPARATUS FOR EFFICIENT VIDEO ENCODING AND DECODING OF INTRA PREDICTION MODE}
이 출원은, 그 전체가 여기에 참고문헌으로써 포함되어 있는, 2009년 9월 14일에 출원된, 미국 가출원 번호 61/242,205호(Attorney Docket No. PU090120)에 대한 이익을 주장한다.
본 원리는 개괄적으로 비디오 인코딩 및 디코딩에 관한 것으로, 좀더 구체적으로는, 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치에 관한 것이다.
ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC(Advanced Video Coding) Standard/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 Recommendation(다음부터는 "MPEG-4 AVC 표준")이 인트라 코딩에 공간적 방향 예측(spatial directional prediction)을 이용하는 첫번째 비디오 코딩 표준이다. 인트라 코딩에 대한 공간적 방향 예측은 좀더 유연한 예측 프레임워크를 제공함으로써, 인트라 예측이 변환 도메인에서만 이루어졌던 이전 표준에 대해 코딩 효율성이 크게 개선된다. MPEG-4 AVC 표준에 따르면, 공간적 인트라 예측은 동일 슬라이스 내의 디코더에서 입수 가능한 선행 복원 샘플인 이용 가능한 주변 샘플을 사용해 수행된다. 루마 샘플(luma samples)의 경우, 인트라 예측은 (Intra_4x4로 표시되는) 4x4 블록 단위, (Intra_8x8로 표시되는) 8x8 블록 단위, 및 (Intra_16x16으로 표시되는) 16x16 매크로블록 단위로 수행될 수 있다. 도 1을 참조하면, 4x4 블록 단위(Intra_4x4)와 관련한 MPEG-4 AVC 표준의 방향 인트라 예측이 참조 번호 100으로써 개괄적으로 지시된다. 예측 방향은 참조 번호 110으로써 개괄적으로 지시되고, 이미지 블록은 참조 번호 120으로써 개괄적으로 지시되며, 현재 블록은 참조 번호 130으로써 지시된다. 루마 예측 이외에, 별도의 크로마 예측(chroma prediction)이 수행된다. Intra_4x4 및 Intra_8x8에 대한 총 9개의 예측 모드, Intra_16x16에 대한 4개 모드, 및 크로마 성분에 대한 4개 모드가 존재한다. 인코더는 통상적으로 예측과 코딩될 원래 블록 사이의 차이를 최소화하는 예측 모드를 선택한다. I_PCM으로 표시되는 추가 인트라 코딩 모드는 인코더가 예측 및 변환 코딩 프로세스를 단순히 우회할 수 있게 한다. 그로 인해 인코더는 샘플의 값을 정확하게 표현할 수 있고, 디코딩된 이미지 품질을 제한하지 않으면서, 코딩된 매크로블록에 포함될 수 있는 비트 수에 대한 절대 한계(absolute limit)를 결정할 수 있다.
도 2를 참조하면, MPEG-4 AVC 표준의 Intra_4x4 모드를 위한 예측 샘플의 라벨링이 참조 번호 200으로써 개괄적으로 지시된다. 도 2는, 앞서 코딩되고 복원되었으므로 인코더 및 디코더에서 예측을 형성하는데 이용 가능한 샘플을 현재 블록의 위쪽과 왼쪽에 (대문자 A-M으로) 나타낸다.
도 3b 내지 도 3j를 참조하면, MPEG-4 AVC 표준의 Intra_4x4 루마 예측 모드가 참조 번호 300으로써 개괄적으로 지시된다. 예측 블록의 샘플(a, b, c, ..., p)은 샘플(A-M)에 기초해 Intra_4x4 루마 예측 모드(300)를 사용해 계산된다. 도 3B 내지 도 3J의 화살표는 Intra_4x4 모드(300) 각각에 대한 예측 방향을 지시한다. Intra_4x4 루마 예측 모드(300)는 모드 0-8을 포함하는데, (참조 번호 310으로써 지시되는 도 3B의) 모드 0은 수직 예측 모드에 해당하고, (참조 번호 311로써 지시되는 도 3C의) 모드 1은 수평 예측 모드에 해당하며, (참조 번호 312로써 지시되는 도 3D의) 모드 2는 DC 모드에 해당하고, (참조 번호 313으로써 지시되는 도 3E의) 모드 3은 대각선 아래-왼쪽 모드에 해당하며, (참조 번호 314로써 지시되는 도 3F의) 모드 4는 대각선 아래-오른쪽 모드에 해당하고, (참조 번호 315로써 지시되는 도 3G의) 모드 5는 수직-오른쪽 모드에 해당하며, (참조 번호 316으로써 지시되는 도 3H의) 모드 6은 수평-아래쪽 모드에 해당하고, (참조 번호 317로써 지시되는 도 3I의) 모드 7은 수직-왼쪽 모드에 해당하며, (참조 번호 318로써 지시되는 도 3J의) 모드 8은 수평-위쪽 모드에 해당한다. 도 3A는 Intra_4x4 모드(300) 각각에 해당하는 일반적인 예측 방향(330)을 나타낸다.
모드 3-8에서, 예측 샘플은 예측 샘플(A-M)의 가중 평균으로부터 형성된다. Intra_8x8은 기본적으로 4x4 예측과 동일한 개념을 사용하지만, 블록 사이즈(8x8)와 예측기의 로우-패스 필터링이 예측 성능을 향상시킨다.
도 4A 내지 도 4D를 참조하면, MPEG-4 AVC 표준에 해당하는 4개의 Intra_16x16 모드가 참조 번호 400으로써 개괄적으로 지시된다. 4개의 Intra_16x16 모드(400)는 모드 0-3을 포함하는데, (참조 번호 411로써 지시되는 도 4A의) 모드 0는 수직 예측 모드에 해당하고, (참조 번호 412로써 지시되는 도 4B의) 모드 1은 수평 예측 모드에 해당하며, (참조 번호 413으로써 지시되는 도 4C의) 모드 2는 DC 예측 모드에 해당하고, (참조 번호 414로써 지시되는 도 4D의) 모드 3은 평면 예측 모드에 해당한다. 인트라 코딩된 매크로블록의 8x8 크로마 성분 각각은 위쪽 및/또는 왼쪽의 앞서 인코딩된 크로마 샘플로부터 예측되고 양자의 크로마 성분은 동일 예측 모드를 사용한다. 모드의 넘버링이 상이하다는 점을 제외하면, 4개의 예측 모드는 Intra_16x16과 아주 유사하다. 모드는 DC(모드 0), 수평(모드 1), 수직(모드 2), 및 평면(모드 3)이다.
4x4/8x8/16x16 블록 각각에 대한 인트라 예측 모드의 선택은 디코더쪽으로 신호되어야 하고 이것은 어쩌면 큰 수의 비트를 요구할 수 있다. H.264/AVC는 큰 수의 비트의 사용을 방지하기 위해 인트라 모드를 신호하는 특정 방법을 가진다. Intra_4x4를 예로 들자면, 이웃한 4x4 블록에 대한 인트라 모드가 종종 상관된다. 이 상관(correlation)을 이용하기 위해, H.264/AVC에서는 4x4 인트라 모드를 신호하는데 예측 코딩(predictive coding)이 사용된다. 도 5를 참조하면, 현재 블록(E) 및 그것의 이웃 블록(A, B, 및 C)이 참조 번호 500으로써 개괄적으로 지시된다. (도 5의 블록 E와 같은) 각각의 현재 블록에 대해, 인코더 및 디코더는 최고 확률 예측 모드를 계산하는데, 이것이 블록 A 및 블록 B에 대한 예측 모드의 최소값이다. 이들 이웃 블록 중 어떤 것도 이용 불가능하다면(예를 들어, 현재 슬라이스를 벗어나거나 Intra4x4 모드로 코딩되지 않는다면), 누락 블록(A 또는 B)에 대한 해당 모드 값은 2(DC 예측 모드)로 설정된다.
인코더는 각각의 4x4 블록에 대한 플래그, pre_intra4x4_pred_mode를 송신한다. 플래그가 "1"이라면, 최고 확률 예측 모드가 사용된다. 플래그가 "0"이라면, 모드의 변경를 지시하는 다른 파라미터 rem_intra4x4_pred_mode가 송신된다.
rem_intra4x4_pred_mode가 현재의 최고 확률 모드(most probable mode;MPM)보다 작다면, 예측 모드는 rem_intra4x4_pred_mode로 설정되고, 그렇지 않다면 예측 모드는 (rem_intra4x4_pred_mode+1)로 설정된다.
이런 식으로, 선택된 rem_intra4x4_pred_mode를 전송해 현재의 인트라 모드(0 내지 8)를 신호하는데는 단지 8개 값(0 내지 7)이 요구될 뿐이다.
Intra8x8의 시그널링(signaling)은 Intra4x4의 그것과 동일하다. Intra16x16 모드로 코딩된 루마 또는 인트라 모드로 코딩된 크로마를 위한 예측 모드는 매크로블록 헤더에서 신호되고 이 경우 모드의 예측 코딩은 사용되지 않는다.
MPEG-4 AVC 표준에서의 최고 확률 모드가 계산이 간단하고 예측 모드를 코딩하는데 요구되는 비트 수를 감소시키기는 하지만, 그것은, 코딩될 현재 블록의 공간 특징이 아닌, 이웃 블록의 공간 특징에 기초한다. 결과적으로, 현재 블록의 국지적인 공간 특징을 포착하기에 최적은 아니다.
인트라 예측 모드를 신호하는 방법이 인트라 코딩에 대한 현재 비디오 인코더의 효율성의 기본이다. 디코딩된(복원된) 인트라 예측 잔여물이 선택된 인트라 예측 모드에 크게 상관되는 어떤 공간 패턴을 나타내는 경향이 있기 때문에, 인트라 예측이 비디오 신호의 공간적 상관을 완벽하게 제거하지 못할 수 있다는 것이 관찰되었다. 예를 들어, 수직 패턴을 갖는 이미지의 경우, 수직 인트라 예측 모드가 선택되는 경향이 있다. 또한 디코딩된 잔여물이 수직 패턴을 갖는다는 것을 관찰하였다. 앞서 언급된 바와 같이, 이것은 원래 신호의 수직 상관이 수직 인트라 예측에 의해 완벽하게 제거될 수 없기 때문이다. 그러나, 기존 기술 중 어떤 것도 이 상관을 인트라 예측 모드 코딩에 이용하지 않는다.
종래 기술의 이들 및 다른 결점과 단점이, 인트라 예측 모드의 효율적인 인코딩 및 디코딩에 대한 방법 및 장치에 관한 본 원리에 의해 해결된다.
본 원리의 일 태양에 따르면, 장치가 제공된다. 장치는 비디오 인코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 픽처의 적어도 하나의 블록에 대한 픽처 데이터를 인코딩하는 비디오 인코더를 포함한다. 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전(original version)과 적어도 하나의 참조 블록(reference block) 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득된다. 공간 패턴이 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용된다.
본 원리의 다른 태양에 따르면, 비디오 인코더에서의 방법이 제공된다. 방법은 비디오 인코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 픽처의 적어도 하나의 블록에 대한 픽처 데이터를 인코딩하는 단계를 포함한다. 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득된다. 공간 패턴이 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용된다.
본 원리의 또 다른 태양에 따르면, 장치가 제공된다. 장치는 비디오 디코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 픽처의 적어도 하나의 블록에 대한 픽처 데이터를 디코딩하는 비디오 디코더를 포함한다. 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득된다. 공간 패턴이 블록을 디코딩하기 위한 인트라 예측 모드를 결정하는데 사용된다.
본 원리의 또 다른 태양에 따르면, 비디오 디코더에서의 방법이 제공된다. 방법은 비디오 디코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 픽처의 적어도 하나의 블록에 대한 픽처 데이터를 디코딩하는 단계를 포함한다. 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득된다. 공간 패턴이 블록을 디코딩하기 위한 인트라 예측 모드를 결정하는데 사용된다.
본 원리의 이들 및 다른 태양, 특징, 및 이점은, 첨부 도면과 관련하여 판독되어야 하는, 예시적 실시예에 대한 다음의 상세한 설명으로부터 명백해질 것이다.
본 원리는 다음의 예시적 도면에 따라 좀더 잘 이해될 수 있다:
도 1은 4x4 블록 단위(Intra_4x4)에 관련한 MPEG-4 AVC 표준의 방향 인트라 예측을 나타내는 도면.
도 2는 MPEG-4 AVC 표준의 Intra_4x4 모드를 위한 예측 샘플의 라벨링을 나타내는 도면.
도 3a 내지 도 3j는 각각 MPEG-4 AVC 표준의 Intra_4x4 루마 예측 모드를 나타내는 도면.
도 4a 내지 도 4d는 각각 MPEG-4 AVC 표준에 해당하는 4개의 Intra_16x16 모드를 나타내는 도면.
도 5는 현재 블록(E) 및 그것의 이웃 블록(A, B, 및 C)을 나타내는 도면.
도 6은 본 원리의 실시예에 따라, 본 원리가 적용될 수 있는 예시적 비디오 인코더를 나타내는 블록도.
도 7은 본 원리의 실시예에 따라, 본 원리가 적용될 수 있는 예시적 비디오 디코더를 나타내는 블록도.
도 8은 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 인코딩하는 예시적 방법을 나타내는 흐름도.
도 9는 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 디코딩하는 예시적 방법을 나타내는 흐름도.
도 10은 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 인코딩하는 다른 예시적 방법을 나타내는 흐름도.
도 11은 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 디코딩하는 다른 예시적 방법을 나타내는 흐름도.
도 12는 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 인코딩하는 또 다른 예시적 방법을 나타내는 흐름도.
도 13은 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 디코딩하는 또 다른 예시적 방법을 나타내는 흐름도.
도 14는 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 인코딩하는 또 다른 예시적 방법을 나타내는 흐름도.
도 15는 본 원리의 실시예에 따라, 현재 블록의 인트라 예측 모드를 디코딩하는 또 다른 예시적 방법을 나타내는 흐름도.
본 원리는 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치에 관한 것이다.
본 설명은 본 원리를 예시한다. 따라서, 당업자라면, 여기에 명시적으로 설명되거나 표시되지 않았다 하더라도, 본 원리를 구현하고 본 원리의 정신 및 범위 내에 포함되는 다양한 결합을 고안할 수 있을 것이 예상된다.
여기에서 언급되는 모든 실례와 조건부 언어는 업계를 발전시키기 위해 발명자(들)에 의해 제공되는 본 원리 및 개념을 독자가 이해하는 것을 돕기 위한 교육적 목적에 대한 것이고 구체적으로 언급된 그러한 실례 및 조건으로 제한되는 것은 아닌 것으로 해석되어야 한다.
더 나아가, 여기에서 본 원리의 원리, 태양, 및 실시예 뿐만 아니라 그것에 관한 구체적 실례를 언급하는 모든 문장은 그것에 관한 구조적 및 기능적 등가물 모두를 망라하기 위한 것이다. 추가적으로, 그러한 등가물은 현재 공지된 등가물 뿐만 아니라 미래에 개발될 등가물 모두를, 즉, 구조에 상관없이, 동일 기능을 수행하도록 개발되는 모든 요소를 포함하기 위한 것이다.
따라서, 예를 들어, 당업자라면, 여기에서 제시된 블록도가 본 원리를 구현하는 예시적 회로의 개념도를 표현한다는 것을 알 수 있을 것이다. 마찬가지로, 모든 플로우 차트, 흐름도, 상태 전이도, 의사 코드 등은, 컴퓨터 또는 프로세서가 명시적으로 표시되는지의 여부와 무관하게, 컴퓨터 판독 가능 매체로 실질적으로 표현될 수 있고 그러한 컴퓨터 또는 프로세서에 의해 그렇게 실행될 수 있는 다양한 프로세스를 표현한다는 것을 알 수 있을 것이다.
도면에 표시된 다양한 요소의 기능은 전용 하드웨어 뿐만 아니라 적합한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어를 사용하는 것을 통해 제공될 수 있다. 프로세서에 의해 제공되는 경우, 기능은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 그 중 일부는 공유될 수 있는 복수의 개별 프로세서에 의해 제공될 수 있다. 더 나아가, "프로세서" 또는 "컨트롤러"라는 용어의 명시적 사용이 오로지 소프트웨어를 실행할 수 있는 하드웨어만을 의미하는 것으로 해석되어서는 안되며, 제한없이, DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하기 위한 ROM(read-only memory), RAM(random access memory), 및 비휘발성 스토리지를 암시적으로 포함할 수 있다.
다른 기존 및/또는 사용자 정의(custom) 하드웨어도 포함될 수 있다. 마찬가지로, 도면에 표시된 모든 스위치는 단지 개념일 뿐이다. 그들의 기능은 프로그램 로직의 연산을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호 작용을 통해, 또는 심지어 수동으로도 수행될 수 있는데, 특정 기술은 맥락으로부터 좀더 구체적으로 이해되는 바에 따라 구현자에 의해 선택 가능하다.
이것에 관한 청구항에서, 지정된 기능을 수행하기 위한 수단으로 표현되는모든 요소는, 예를 들어, a) 그 기능을 수행하는 회로 요소의 조합 또는 b) 그 소프트웨어를 실행하기 위한 적합한 회로와 조합되어 기능을 수행하는 모든 형태의, 따라서, 펌웨어, 마이크로코드 등을 포함하는 소프트웨어를 포함하여 그 기능을 수행하는 모든 방법을 포괄하기 위한 것이다. 그러한 청구항에 의해 정의되는 본 원리는, 언급된 다양한 수단에 의해 제공되는 기능들이 청구항이 요구하는 방식으로 조합되고 합쳐진다는 사실에 존재한다. 따라서, 그 기능들을 제공할 수 있는 어떤 수단도 여기에 표시된 것과 등가인 것으로 간주된다.
본 원리의 "일 실시예" 또는 "실시예" 뿐만 아니라 그것에 관한 다른 변경에 대한 명세서에서의 언급은 실시예와 관련하여 설명된 특정 사양, 구조, 특징 등이 본 원리의 적어도 일 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체에 걸쳐 다양한 위치에서 등장하는, "일 실시예에서" 또는 "실시예에서"라는 구문 뿐만 아니라 다른 모든 변경의 등장이 반드시 동일 실시예를 언급할 필요는 없다.
예를 들어, "A/B", "A 및/또는 B", 그리고 "A 및 B 중 적어도 하나"의 경우에서와 같이, 다음의 "/", "및/또는", 그리고 "중 적어도 하나" 중 어떤 하나의 사용은 첫번째 열거된 옵션(A)만의 선택, 두번째 열거된 옵션(B)만의 선택, 또는 두가지 옵션(A 및 B) 모두의 선택을 망라하기 위한 것이다. 추가적 실례로서, "A, B, 및/또는 C" 그리고 "A, B, 및 C 중 적어도 하나"의 경우에, 그러한 어법은 첫번째 열거된 옵션(A)만의 선택, 두번째 열거된 옵션(B)만의 선택, 세번째 열거된 옵션(C)만의 선택, 첫번째 및 두번째 열거된 옵션(A 및 B)만의 선택, 첫번째 및 세번째 열거된 옵션(A 및 C)만의 선택, 두번째 및 세번째 열거된 옵션(B 및 C)만의 선택, 또는 3가지 옵션 모두(A 및 B 및 C)의 선택을 망라하기 위한 것이다. 이 업계 및 관련 업계의 당업자에 의해 쉽게 이해될 수 있는 바와 같이, 이것은 열거된 그 만큼의 항목에 대해 확장될 수 있다.
또한, 여기에서 사용되는 바와 같이, "픽처" 및 "이미지"라는 단어는 서로 교환 가능하게 사용되고 비디오 시퀀스로부터의 정지 이미지 또는 픽처를 나타낸다. 공지된 바와 같이, 픽처는 프레임 또는 필드일 수 있다.
추가적으로, 여기에서 사용되는 바와 같이, "신호"라는 단어는 해당 디코더쪽으로 무엇인가를 지시하는 것을 의미한다. 예를 들어, 인코더는 인트라 코딩 모드 중 어떤 특정 하나, 또는 집합, 또는 부분집합이 인코더측에서 사용되었는지를 디코더가 알 수 있도록 하기 위해 인트라 코딩 모드 중 특정 하나, 또는 집합, 또는 부분집합을 신호할 수 있다. 이런 식으로, 동일한 인트라 코딩 모드가 인코더측과 디코더측 모두에서 사용될 수 있다. 따라서, 예를 들어, 인코더는 디코더가 인트라 코딩 모드 중 동일한 특정 하나, 또는 집합, 또는 부분집합을 사용할 수 있도록 하기 위해 인트라 코딩 모드 중 특정 하나, 또는 집합, 또는 부분집합을 디코더쪽으로 전송할 수 있거나, 디코더가 인트라 코딩 모드 중 특정 하나, 또는 집합, 또는 부분집합 뿐만 아니라 다른 것도 이미 가지고 있다면, 시그널링은 (전송없이) 단순히 디코더가 인트라 코딩 모드 중 특정 하나, 또는 집합, 또는 부분집합을 인지하고 선택하게 하는데 사용될 수 있다. 어떠한 실제 인트라 코딩 모드의 전송을 방지하는 것에 의해, 비트 절감이 실현될 수 있다. 시그널링은 다양한 방법으로 실현될 수 있다는 것을 알 수 있어야 한다. 예를 들어, 하나 이상의 구문 요소, 플래그 등이 해당 디코더쪽으로 정보를 신호하는데 사용될 수 있다.
더 나아가, 여기에서는 본 원리에 대한 하나 이상의 실시예가 MPEG-4 AVC 표준과 관련하여 설명되지만, 본 원리가 단지 표준으로만 제한되지 않으며, 따라서, 본 원리의 정신을 유지하면서, MPEG-4 AVC 표준의 확장을 포함하여, 다른 비디오 코딩 표준, 권고, 및 그것에 관한 확장과 관련하여 이용될 수 있다는 것을 알 수 있어야 한다.
도 6을 참조하면, 본 원리가 적용될 수 있는 예시적 비디오 인코더가 참조 번호 600으로써 개괄적으로 지시된다.
비디오 인코더(600)는 조합기(685)의 비-반전 입력과 신호 통신하는 출력을 가진 프레임 순서 버퍼(610;frame ordering buffer)를 포함한다. 조합기(685)의 출력은 변환 및 양자화기(625)의 제1 입력과 신호 통신하도록 접속된다. 변환 및 양자화기(625)의 출력은 엔트로피 코더(645)의 제1 입력과 역변환 및 역양자화기(650)의 제1 입력과 신호 통신하도록 접속된다. 엔트로피 코더(645)의 출력은 조합기(690)의 제1 비-반전 입력과 신호 통신하도록 접속된다. 조합기(690)의 출력은 출력 버퍼(635)의 제1 입력과 신호 통신하도록 접속된다.
인코더 컨트롤러(605)의 제1 출력은 프레임 순서 버퍼(610)의 제2 입력, 역변환 및 역양자화기(650)의 제2 입력, 픽처-유형 판정 모듈(615)의 입력, 매크로블록-유형(MB-유형) 판정 모듈(620)의 제1 입력, 인트라 예측 모듈(660)의 제2 입력, 디블록킹 필터(665;deblocking filter)의 제2 입력, 모션 보상기(670)의 제1 입력, 모션 추정기(675)의 제1 입력, 및 참조 픽처 버퍼(680)의 제2 입력과 신호 통신하도록 접속된다.
인코더 컨트롤러(605)의 제2 출력은 SEI(Supplemental Enhancement Information) 삽입기(630)의 제1 입력, 변환 및 양자화기(625)의 제2 입력, 엔트로피 코더(645)의 제2 입력, 출력 버퍼(635)의 제2 입력, 및 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set) 삽입기(640)의 입력과 신호 통신하도록 접속된다.
SEI 삽입기(630)의 출력은 조합기(690)의 제2 비-반전 입력과 신호 통신하도록 접속된다.
픽처-유형 판정 모듈(615)의 제1 출력은 프레임 순서 버퍼(610)의 제3 입력과 신호 통신하도록 접속된다. 픽처-유형 판정 모듈(615)의 제2 출력은 매크로블록-유형 판정 모듈(620)의 제2 입력과 신호 통신하도록 접속된다.
SPS 및 PPS 삽입기(640)의 출력은 조합기(690)의 제3 비-반전 입력과 신호 통신하도록 접속된다.
역변환 및 역양자화기(650)의 출력은 조합기(619)의 제1 비-반전 입력과 신호 통신하도록 접속된다. 조합기(619)의 출력은 인트라 예측 모듈(660)의 제1 입력 및 디블록킹 필터(665)의 제1 입력과 신호 통신하도록 접속된다. 디블록킹 필터(665)의 출력은 참조 픽처 버퍼(680)의 제1 입력과 신호 통신하도록 접속된다. 참조 픽처 버퍼(680)의 출력은 모션 추정기(675)의 제2 입력 및 모션 보상기(670)의 제3 입력과 신호 통신하도록 접속된다. 모션 추정기(675)의 제1 출력은 모션 보상기(670)의 제2 입력과 신호 통신하도록 접속된다. 모션 추정기(675)의 제2 출력은 엔트로피 코더(645)의 제3 입력과 신호 통신하도록 접속된다.
모션 보상기(670)의 출력은 스위치(697)의 제1 입력과 신호 통신하도록 접속된다. 인트라 예측 모듈(660)의 출력은 스위치(697)의 제2 입력과 신호 통신하도록 접속된다. 매크로블록-유형 판정 모듈(620)의 출력은 스위치(697)의 제3 입력과 신호 통신하도록 접속된다. 스위치(697)의 제3 입력은 스위치의 (제어 입력, 즉, 제3 입력과 비교되는) "데이터" 입력이 모션 보상기(670) 또는 인트라 예측 모듈(660)에 의해 제공되는지의 여부를 결정한다. 스위치(697)의 출력은 조합기(619)의 제2 비-반전 입력 및 조합기(685)의 반전 입력과 신호 통신하도록 접속된다.
프레임 순서 버퍼(610)의 제1 입력 및 인코더 컨트롤러(605)의 입력은 입력 픽처를 수신하기 위한, 인코더(600)의 입력으로 이용 가능하다. 더 나아가, SEI 삽입기(630)의 제2 입력은 메타데이터를 수신하기 위한, 인코더(600)의 입력으로 이용 가능하다. 출력 버퍼(635)의 출력은 비트스트림을 출력하기 위한, 인코더(600)의 출력으로 이용 가능하다.
도 7을 참조하면, 본 원리가 적용될 수 있는 예시적 비디오 디코더가 참조 번호 700으로써 개괄적으로 지시된다.
비디오 디코더(700)는, 출력이 엔트로피 디코더(745)의 제1 입력과 신호 통신하도록 접속된 입력 버퍼(710)를 포함한다. 엔트로피 디코더(745)의 제1 출력은 역변환 및 역양자화기(750)의 제1 입력과 신호 통신하도록 접속된다. 역변환 및 역양자화기(750)의 출력은 조합기(725)의 제2 비-반전 입력과 신호 통신하도록 접속된다. 조합기(725)의 출력은 디블록킹 필터(765)의 제2 입력 및 인트라 예측 모듈(760)의 제1 입력과 신호 통신하도록 접속된다. 디블록킹 필터(765)의 제2 출력은 참조 픽처 버퍼(780)의 제1 입력과 신호 통신하도록 접속된다. 참조 픽처 버퍼(780)의 출력은 모션 보상기(770)의 제2 입력과 신호 통신하도록 접속된다.
엔트로피 디코더(745)의 제2 출력은 모션 보상기(770)의 제3 입력, 디블록킹 필터(765)의 제1 입력, 및 인트라 예측기(760)의 제3 입력과 신호 통신하도록 접속된다. 엔트로피 디코더(745)의 제3 출력은 디코더 컨트롤러(705)의 입력과 신호 통신하도록 접속된다. 디코더 컨트롤러(705)의 제1 출력은 엔트로피 디코더(745)의 제2 입력과 신호 통신하도록 접속된다. 디코더 컨트롤러(705)의 제2 출력은 역변환 및 역양자화기(750)의 제2 입력과 신호 통신하도록 접속된다. 디코더 컨트롤러(705)의 제3 출력은 디블록킹 필터(765)의 제3 입력과 신호 통신하도록 접속된다. 디코더 컨트롤러(705)의 제4 출력은 인트라 예측 모듈(760)의 제2 입력, 모션 보상기(770)의 제1 입력, 및 참조 픽처 버퍼(780)의 제2 입력과 신호 통신하도록 접속된다.
모션 보상기(770)의 출력은 스위치(797)의 제1 입력과 신호 통신하도록 접속된다. 인트라 예측 모듈(760)의 출력은 스위치(797)의 제2 입력과 신호 통신하도록 접속된다. 스위치(797)의 출력은 조합기(725)의 제1 비-반전 입력과 신호 통신하도록 접속된다.
입력 버퍼(710)의 입력은 입력 비트스트림을 수신하기 위한, 디코더(700)의 입력으로 이용 가능하다. 디블록킹 필터(765)의 제1 출력은 출력 픽처를 출력하기 위한, 디코더(700)의 출력으로 이용 가능하다.
앞서 언급된 바와 같이, 본 원리는 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치에 대한 것이다. 앞서 언급된 종래 기술의 한계와 결함을 인식하여, 본 원리의 하나 이상의 실시예는 (인코딩 또는 디코딩될) 현재 블록의 공간 특징을 고려하여 인트라 예측 모드 코딩의 효율성을 향상시킨다.
인트라 예측은 비디오 코딩 효율성을 향상시키는데 도움이 될 수 있다. 그러나, 인트라 예측 모드의 시그널링은 많은 비트를 소비할 수 있다. 따라서, 본 원리의 적어도 일 실시예에 따르면, 인트라 예측 모드 구문의 코딩 및 디코딩에 대한 효율적인 방법 및 장치를 공개하고 설명한다. 적어도 일 실시예에서는, 디코딩된 인트라 예측 잔여물이 인트라 예측 모드를 인코딩하기 위한 사이드 정보(side information)로 사용되고, 그에 따라 인트라 예측 모드를 디코더쪽으로 전달하기 위한 비트는 방지되거나 최소화될 수 있다. 예를 들어, 적어도 일 실시예에서는, 디코딩된 인트라 예측 잔여물의 공간 패턴이 사이드 정보로 사용된다.
본 원리는 비디오 인코딩 및 비디오 디코딩으로부터 관찰되는 소정 거동을 활용한다. 비디오 컨텐츠를 인코딩하는 경우, 인코더는 몇가지 기준에 따라 인트라 예측 모드를 선택한 다음 인트라 예측을 수행한다. 한편, 잔여물(residue)이라고도 하는 예측 오차(prediction error)가 인코딩(변환, 양자화, 및 엔트로피 코딩)되어 디코더쪽으로 전송된다. 한편, 인코딩된 인트라 예측 잔여물 또한 인코더에서 디코딩되어 후속 프레임을 코딩하기 위한 참조로서의 현재 프레임을 복원한다. 앞서 언급된 바와 같이, 상이한 인트라 예측 모드는 상이한 방향을 가진다. 인트라 예측 모드가 주어지면, 디코딩된 예측 잔여물의 공간 패턴이 인트라 모드의 방향과 높은 상관을 가진다는 것을 관찰하였다. 따라서, 본 원리는 이 관찰을 활용하여 인트라 예측 모드를 표현하기 위한 비트를 절감할 수 있다.
실시예 1:
(여기에서 실시예 1로도 교환 가능하게 언급되는) 제1 실시예에서, 인코더는 최선의 인트라 예측 모드 m을 선택하고 예측 잔여물을 인코딩한다. 그 다음, 인코더는 디코딩된 잔여물의 공간 패턴을 조사하여 최고 확률 모드로서의 인트라 예측 모드를 유도한다. 인코더는 잔여물 및 모드 구문을 디코더쪽으로 전송한다. 디코더는 먼저 잔여물 구문을 분석하고 디코딩된 잔여물의 공간 패턴을 조사하는 것에 의해 최고 확률 모드 n를 유도한다. 그 다음, 모드 구문이 분석되고 인트라 예측 모드가 유도된다. 실시예 1에서, 우리는 MPEG-4 AVC 표준에서 사용되는 방법보다 좀더 정확한 최고 확률 모드를 가질 수 있다.
도 8을 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 인코딩하는 예시적 방법이 참조 번호 800으로써 개괄적으로 지시된다. 특히, 방법 800은 실시예 1의 한가지 예시적 인코딩 구현을 표현하고, 디코딩된 인트라 예측 잔여물의 공간 패턴으로부터 현재 블록의 인트라 예측 모드를 인코딩하기 위한 최고 확률 모드를 유도하는 단계를 수반한다. 방법 800은 루프 제한 블록 810쪽으로 제어를 전달하는 시작 블록 805를 포함한다. 루프 제한 블록 810은 0에서 블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 815쪽으로 제어를 전달한다. 기능 블록 815는 몇가지 기준에 기초해 인트라 예측 모드 m을 선택하고, 기능 블록 820쪽으로 제어를 전달한다. 기능 블록 820은 모드 m으로써 인트라 예측 잔여물을 인코딩하고, 기능 블록 825쪽으로 제어를 전달한다. 기능 블록 825는 잔여물을 디코딩하고, 기능 블록 830쪽으로 제어를 전달한다. 기능 블록 830은 디코딩된 잔여물의 공간 패턴으로부터 모드 n을 유도하고, 기능 블록 835쪽으로 제어를 전달한다. 기능 블록 835는 모드 m을 최고 확률 모드로서의 모드 n으로써 인코딩하고, 루프 제한 블록 840쪽으로 제어를 전달한다. 루프 제한 블록 840은 각각의 매크로블록에 대한 루프를 종료하고, 끝 블록 899쪽으로 제어를 전달한다.
도 9를 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 디코딩하는 예시적 방법이 참조 번호 900으로써 개괄적으로 지시된다. 특히, 방법 900은 실시예 1의 한가지 예시적 디코딩 구현을 표현하고, 디코딩된 인트라 예측 잔여물의 공간 패턴으로부터 현재 블록의 인트라 예측 모드를 디코딩하기 위한 최고 확률 모드를 유도하는 단계를 수반한다. 방법 900은 루프 제한 블록 910쪽으로 제어를 전달하는 시작 블록 905를 포함한다. 루프 제한 블록 910은 0에서 매크로블록의 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 915쪽으로 제어를 전달한다. 기능 블록 915는 인트라 예측 잔여물을 디코딩하고, 기능 블록 920쪽으로 제어를 전달한다. 기능 블록 920은 디코딩된 잔여물의 공간 패턴으로부터 모드 n을 유도하고, 기능 블록 925쪽으로 제어를 전달한다. 기능 블록 925는 인트라 예측 모드 m을 최고 확률 모드로서의 모드 n으로써 디코딩하고, 기능 블록 930쪽으로 제어를 전달한다. 기능 블록 930은 블록을 모드 m으로써 디코딩하고, 루프 제한 블록 935쪽으로 제어를 전달한다. 루프 제한 블록 935는 매크로블록 각각에 대한 루프를 종료하고, 끝 블록 999쪽으로 제어를 전달한다.
실시예 1의 경우, 디코딩된 잔여물의 공간 패턴으로부터 인트라 예측 모드 n을 유도하는데 몇가지 상이한 방법이 사용될 수 있는데:
1. 한가지 방법은 각각의 디코딩된 잔여물 픽셀에서 Sobel 연산자를 적용하여 기울기 및 (기울기에 수직인 단위 벡터로 정의되는) 에지 방향(edge orientation)을 계산하는 것이다. 에지 방향은 전체 잔여물 블록에 대해 평균되고 평균 에지 방향에 대해 최소 각도 차이를 갖는 것이 유도된 인트라 예측 모드 n이다. 이 블록에서의 평균 기울기 진폭이 임계치보다 작다면, DC 모드가 n으로 선택된다. n이 최고 확률 모드로 사용된다.
2. 다른 방법은 방향 텍스처로써 일부 템플릿 블록을 사전 정의하고 텍스처의 방향을 상이한 인트라 예측 모드에 대응시키는 것이다. 잔여물 블록과 이들 템플릿 블록 각각 사이의 상관이 계산된다. 인트라 예측 모드 n은 잔여물 블록과 최고 상관을 가진 템플릿 블록으로부터 선택된다.
3. 다른 방법에서는, 디코딩된 잔여물의 공간 패턴이 변환 도메인으로부터 분석될 수 있다. 디코딩된 잔여물 블록이 먼저 변환된다. 변환은 DCT(discrete cosine transform), 정수형 DCT 구현(integer implementation of DCT), 아다마르(Hadamard) 변환, 웨이브렛(wavelet) 변환 등일 수 있지만, 그것으로 제한되지 않는다. 변환된 블록에서는, 상이한 위치에서의 계수가 상이한 공간 패턴에 해당한다(예를 들어, 제1 변환 계수는 평평한 잔여물 블록에 해당하고; 제1 행의 계수는 상이한 주기의 수직 패턴으로 이루어진 블록에 해당한다). 진폭이 사전 정의된 임계치보다 큰 것들을 중요 계수(significant coefficients)로 정의할 수 있다. 출력되는 인트라 예측 모드 n은 이들 중요 계수의 위치에 대한 함수이거나 이들 중요 계수의 진폭과 위치 양자의 함수이다.
실례:
다음은 실시예 1을 자세히 설명하는 특정 실례이다. 다음 실례는, 앞서 언급된 바와 같이, MEPG-4 AVC 표준에 기초하지만, 본 원리는 다른 비디오 코딩 표준, 그것에 관한 권고 및 확장에 적용될 수 있다.
인코더측:
현재 블록이 인트라 블록이라고 가정한다. 인코더는 이 블록을 인코딩하기 위해 상이한 인트라 예측 모드(상이한 인트라 예측 방향)를 테스트하고 가장 낮은 비율-왜곡 비용(the minimum rate-distortion cost)을 가진 모드를 선택한다. m을 선택된 인트라 예측 모드라 하자. B를 사용해 현재 블록을 지시하고, m이 인트라 예측 모드로 정해진 현재 블록의 예측을 P로 지시한다. P와 B 모두는 2-D의 NxN 어레이인데, 여기에서 NxN은 블록의 사이즈이다. 예측 잔여물 R 또한 NxN 블록인데, 여기에서 R=B-P이다.
잔여물 블록은 변환되고 변환 계수는 양자화된다. 한편, 양자화된 변환 계수는 디코더쪽으로 송신된다. 다른 한편, 양자화된 변환 계수는 인코더에서 역양자화된 다음 역변환되어, (복원된이라고도 하는) 디코딩된 잔여물 계수를 발생시킨다. K를 사용해 디코딩된 잔여물 계수의 블록을 표현한다.
K의 모든 위치 (i,j)에 대해, Sobel 연산자가 적용되어 (i,j)에서의 기울기를 계산하는데, 여기에서 i,j=0, ..., N-1이다. f(i,j)를 (i,j)에서의 기울기의 절대 진폭이라 하고, g(i,j)를 (i,j)에서의 기울기 방향이라 하자. 더 나아가 h(i,j)=(g(i,j)+90)%180을 (i,j)에서의 에지 방향으로 정의하는데, 여기에서 %는 h(i,j)의 값을 (0, 180)의 범위로 한정하는 변조 연산(modulation operation)이다.
다음의 수학식 1과 같이 평균 기울기 진폭 favg 및 평균 에지 방향 havg를 계산한다:
Figure pct00001
favg가 (인코더 및 디코더 양자에 공지된) 사용자-정의 임계값 T보다 작다면, 현재 블록 m의 인트라 예측 모드를 인코딩하기 위한 최고 확률 모드 n으로 DC 모드를 선택한다.
favg가 임계치 T 이상이면, 최고 확률 모드 n은 다음의 수학식 2와 같이 선택되는데:
Figure pct00002
여기에서 angle(k)는 인트라 예측 모드 k의 예측 방향이다. 최고 확률 모드 n이 인트라 예측 모드 m을 인코딩하는데 사용된다.
디코더측:
인트라 예측 블록을 디코딩하기 위해, 먼저 디코더는 변환되고 양자화된 잔여물 계수의 구문을 분석한다. 역양자화 및 역변환에 의해, 인트라 예측 잔여물이 디코딩된다(복원된다). 디코딩된 잔여물 블록에 대해, 인코더측에서와 동일한 방법을 사용해 평균 기울기 진폭 favg 및 평균 에지 방향 havg을 계산한다.
favg가 임계치 T보다 작으면, m으로 나타내는, 현재 블록의 인트라 예측 모드를 디코딩하기 위한 최고 확률 모드 n으로 DC 모드를 사용한다.
favg가 임계치 T 이상이면, 최고 확률 모드 n은 인코더와 동일한 방법으로, 즉, 다음의 수학식 3과 같이 선택되는데:
Figure pct00003
여기에서 angle(k)는 인트라 예측 모드 k의 예측 방향이다. 최고 확률 모드 n이 인트라 예측 모드 m을 디코딩하는데 사용된다.
실시예 2:
(여기에서 실시예 2라고도 교환 가능하게 언급되는) 제2 실시예에서는, 2개의 최고 확률 모드 후보(most probable mode candidates)가 인트라 코딩에 사용된다. 최고 확률 모드의 제1 후보 n은 디코딩된 잔여물의 공간 패턴을 점검하는 것(예를 들어, 실시예 1에서 설명된 방법)에 의해 유도된다. 최고 확률 모드의 제2 후보 k는 상이한 방법(예를 들어, 그것으로 제한되는 것은 아니지만, MPEG-4 AVC 표준에서의 방법)을 사용해 유도된다. 2개의 최고 확률 모드 후보가 동일(n=k)하다면, MPEG-4 AVC 표준에서 규정된 바와 같은 동일한 방법이 사용된다. 2개의 최고 확률 모드 후보가 상이하다면, Boolean 구문 flag_mpm이 전송되어 2개의 최고 확률 모드 후보 중 어떤 것이 사용되는지를 신호한다. 디코더에서, 최고 확률 모드 후보 n은 디코딩된 잔여물로부터 유도되고 최고 확률 모드 후보 k는 다른 방법을 사용해 유도된다. 그 다음, n과 k가 상이하면, flag_mpm이 디코딩되어 인트라 모드를 디코딩하기 위한 최고 확률 모드를 선택한다.
도 10을 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 인코딩하기 위한 다른 예시적 방법이 참조 번호 1000으로써 개괄적으로 지시된다. 특히, 방법 1000은 실시예 2의 한가지 예시적 인코딩 구현을 표현하고, 디코딩된 예측 잔여물의 공간 패턴으로부터, 현재 블록의 인트라 예측 모드를 인코딩하기 위한 최고 확률 모드로 사용될 수 있는 모드를 유도하는 단계를 수반한다. 방법 1000은 루프 제한 블록 1010쪽으로 제어를 전달하는 시작 블록 1005를 포함한다. 루프 제한 블록 1010은 0에서 매크로블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 1015쪽으로 제어를 전달한다. 기능 블록 1015는 몇가지 기준에 기초해 인트라 예측 모드 m을 선택하고 기능 블록 1020쪽으로 제어를 전달한다. 기능 블록 1020은 모드 m으로써 인트라 예측 잔여물을 인코딩하고, 기능 블록 1025쪽으로 제어를 전달한다. 기능 블록 1025는 잔여물을 디코딩하고, 기능 블록 1030쪽으로 제어를 전달한다. 기능 블록 1030은 디코딩된 잔여물의 공간 패턴으로부터 최고 확률 모드 후보 n을 유도하고, 기능 블록 1035쪽으로 제어를 전달한다. 기능 블록 1035는 다른 방법을 사용해 최고 확률 모드 후보 k를 유도하고, 결정 블록 1040쪽으로 제어를 전달한다. 결정 블록 1040은 n=k 여부를 결정한다. 그렇다면, 제어는 기능 블록 1080쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1045쪽으로 전달된다.
기능 블록 1080은 n을 최고 확률 모드로 설정하고, 기능 블록 1065쪽으로 제어를 전달한다. 기능 블록 1065는 모드 m을 인코딩하고, 기능 블록 1070쪽으로 제어를 전달한다. 기능 블록 1070은 각각의 매크로블록에 대한 루프를 종료하고, 끝 블록 1099쪽으로 제어를 전달한다.
기능 블록 1045는 몇가지 기준에 기초해 n과 k 사이에서 선택하고, 결정 블록 1050쪽으로 제어를 전달한다. 결정 블록 1050은 (앞서 기능 블록 1045에 의해) n이 선택되었는지의 여부를 결정한다. 그렇다면, 제어는 기능 블록 1075쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1055쪽으로 전달된다.
기능 블록 1075는 flag_mpm=1을 송신하고, 기능 블록 1080쪽으로 제어를 전달한다.
기능 블록 1055는 flag_mpm=0을 송신하고, 기능 블록 1060쪽으로 제어를 전달한다. 기능 블록 1060은 k를 최고 확률 모드로 설정하고, 기능 블록 1065쪽으로 제어를 전달한다.
도 11을 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 디코딩하기 위한 다른 예시적 방법이 참조 번호 1100으로써 개괄적으로 지시된다. 특히, 방법 1100은 실시예 2의 한가지 예시적 디코딩 구현을 표현하고, 디코딩된 예측 잔여물의 공간 패턴으로부터, 현재 블록의 인트라 예측 모드를 디코딩하기 위한 최고 확률 모드로 사용될 수 있는 모드를 유도하는 단계를 수반한다. 방법 1100은 루프 제한 블록 1110쪽으로 제어를 전달하는 시작 블록 1105를 포함한다. 루프 제한 블록 1110은 0에서 매크로블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 1115쪽으로 제어를 전달한다. 기능 블록 1115는 인트라 예측 잔여물을 디코딩하고, 기능 블록 1120쪽으로 제어를 전달한다. 기능 블록 1120은 디코딩된 잔여물의 공간 패턴으로부터 최고 확률 후보 n을 유도하고, 기능 블록 1125쪽으로 제어를 전달한다. 기능 블록 1125는 다른 방법을 사용해 최고 확률 후보 k를 유도하고, 결정 블록 1130쪽으로 제어를 전달한다. 결정 블록 1130은 n=k 여부를 결정한다. 그렇다면, 제어는 기능 블록 1165쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1135쪽으로 전달된다.
기능 블록 1165는 n을 최고 확률 모드로 설정하고, 기능 블록 1150쪽으로 제어를 전달한다. 기능 블록 1150은 인트라 예측 모드 m을 디코딩하고, 기능 블록 1155쪽으로 제어를 전달한다. 기능 블록 1155는 모드 m으로 블록을 디코딩하고, 루프 제한 블록 1160쪽으로 제어를 전달한다. 루프 제한 블록 1160은 매크로블록 각각에 대한 루프를 종료하고, 끝 블록 1199쪽으로 제어를 전달한다.
기능 블록 1135는 flag_mpm을 디코딩하고, 결정 블록 1140쪽으로 제어를 전달한다. 결정 블록 1140은 flag_mpm=1의 여부를 결정한다. 그렇다면, 제어는 기능 블록 1165쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1145쪽으로 전달된다. 기능 블록 1145는 k를 최고 확률 모드로 설정하고, 기능 블록 1150쪽으로 제어를 전달한다.
실시예 2를 위해, 인코더는 2개 모드, n 및 k, 중 하나를 코딩시의 최고 확률 모드로 선택해야 한다. 선택 기준은 다음 방법일 수 있지만, 그것으로 제한되는 것은 아니다:
1. 최고 확률 모드 선택이 인트라 예측 모드를 인코딩하는데 요구되는 비트 수에 기초한다.
2. 최고 확률 모드 선택이 최고 확률 모드와 인트라 예측 모드 사이의 인덱스 차이에 기초한다.
실시예 3:
(여기에서 실시예 3으로도 교환 가능하게 언급되는) 제3 실시예에서, 인코더는 최선의 인트라 예측 모드 m을 선택하고 예측 잔여물을 인코딩한다. 그 다음, 인코더는 디코딩된 잔여물의 공간 패턴을 조사하여 인트라 예측 모드의 집합을 유도한다. 유도된 집합은 디폴트 모드 집합 S(즉, 인트라 4x4, 8x8에 대한 9개 모드 및 인트라 16x16에 대한 4개 모드)의 부분집합이다. 인코더는 디폴트 모드 집합과 인코딩에 대한 유도된 모드 부분집합 사이에서 선택하고 Boolean 구문 flag_subset을 사용해 디코더에 통지한다. 모드 부분집합이 선택되면, 이 모드 부분집합 S와 연관된 모드 인덱스 이전에 flag_subset=1이 전송된다. 디폴트 모드 집합이 선택되면, 디폴트 모드 집합과 연관된 모드 인덱스 이전에 flag_subset=0이 전송된다. 디코더는 잔여물 구문, flag_subset, 및 모드 인덱스 구문을 분석한다. flag_subset=1이면, 디코더는 디코딩된 잔여물로부터 모드 부분집합을 유도한다. flag_subset=0이면, 디코더는 디폴트 모드 도표를 사용한다. 실시예 3의 한가지 이점은, 후보 집합에서의 모드 수가 좀더 적을 수 있으므로 인트라 모드를 위한 시그널링 비트 수를 감소시킬 수 있다는 것이다. 예를 들어, 부분집합이 9개 모드 대신 5개 모드만을 포함한다면, rem_intra4x4_pred_mode를 신호하는데 필요한 것은 3개 비트가 아닌 2개 비트일 뿐이다.
도 12를 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 인코딩하기 위한 또 다른 예시적 방법이 참조 번호 1200으로써 개괄적으로 지시된다. 특히, 방법 1200은 실시예 3의 한가지 예시적 인코딩 구현을 표현하고, 디코딩된 예측 잔여물의 공간 패턴으로부터, 현재 블록의 인트라 예측 모드를 인코딩하는데 사용될 수 있는 모드 부분집합을 유도하는 단계를 수반한다. 방법 1200은 루프 제한 블록 1210쪽으로 제어를 전달하는 시작 블록 1205를 포함한다. 루프 제한 블록 1210은 0에서 매크로블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 1215쪽으로 제어를 전달한다. 기능 블록 1215는 몇가지 기준에 기초해 인트라 예측 모드 m을 선택하고, 기능 블록 1220쪽으로 제어를 전달한다. 기능 블록 1220은 모드 m으로써 인트라 예측 잔여물을 인코딩하고, 기능 블록 1225쪽으로 제어를 전달한다. 기능 블록 1225는 잔여물을 디코딩하고, 기능 블록 1230쪽으로 제어를 전달한다. 기능 블록 1230은 디코딩된 잔여물의 공간 패턴으로부터 모드 부분집합 S를 유도하고, 결정 블록 1235쪽으로 제어를 전달한다. 결정 블록 1235는 모드 m이 부분집합 S에 속하는지의 여부를 결정한다. 그렇다면, 제어는 기능 블록 1240쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1260쪽으로 전달된다. 기능 블록 1240은 flag_subset=1을 송신하고, 기능 블록 1245쪽으로 제어를 전달한다. 기능 블록 1245는 모드 부분집합 S을 사용하고, 기능 블록 1250쪽으로 제어를 전달한다. 기능 블록 1250은 모드 m을 인코딩하고, 루프 제한 블록 1255쪽으로 제어를 전달한다. 루프 제한 블록 1255는 각각의 매크로블록에 대한 루프를 종료하고, 끝 블록 1299쪽으로 제어를 전달한다.
기능 블록 1260은 flag_subset=0을 송신하고, 기능 블록 1265쪽으로 제어를 전달한다. 기능 블록 1265는 디폴트 모드 집합을 사용하고, 기능 블록 1250쪽으로 제어를 전달한다.
도 13을 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 디코딩하기 위한 또 다른 예시적 방법이 개괄적으로 참조 번호 1300으로써 지시된다. 특히, 방법 1300은 실시예 3의 한가지 예시적인 디코딩 구현을 표현하고, 디코딩된 예측 잔여물의 공간 패턴으로부터 모드 부분집합을 유도하는 것을 포함하는데 이 모드 부분집합이 현재 블록의 인트라 예측 모드를 디코딩하는데 사용될 수 있다. 방법 1300은 루프 제한 블록 1310쪽으로 제어를 전달하는 시작 블록 1305를 포함한다. 루프 제한 블록 1310은 0에서 매크로블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 1315쪽으로 제어를 전달한다. 기능 블록 1315는 인트라 예측 잔여물을 디코딩하고, 기능 블록 1320쪽으로 제어를 전달한다. 기능 블록 1320은 flag_subset을 디코딩하고, 결정 블록 1325쪽으로 제어를 전달한다. 결정 블록 1325는 flag_subset=1의 여부를 결정한다. 그렇다면, 제어는 기능 블록 1330쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1355쪽으로 전달된다.
기능 블록 1330은 디코딩된 잔여물의 공간 패턴으로부터 부분집합 S를 유도하고, 기능 블록 1335쪽으로 제어를 전달한다. 기능 블록 1335는 부분집합 S를 인트라 모드 집합으로 사용하고, 기능 블록 1340쪽으로 제어를 전달한다.
기능 블록 1340은 인트라 예측 모드 m을 디코딩하고, 기능 블록 1345쪽으로 제어를 전달한다. 기능 블록 1345는 모드 m으로써 블록을 디코딩하고, 루프 제한 블록 1350쪽으로 제어를 전달한다. 루프 제한 블록 1350은 매크로 블록 각각에 대한 루프를 종료하고, 끝 블록 1399쪽으로 제어를 전달한다.
기능 블록 1355는 디폴트 인트라 모드 집합을 사용하고, 기능 블록 1340쪽으로 제어를 전달한다.
실시예 3의 경우, 유도된 모드 부분집합 S와 디폴트 모드 집합 사이의 선택 기준이 다음과 같을 수 있지만, 그것으로 제한되는 것은 아니다:
1. 사용된 인트라 모드 m이 유도된 모드 부분집합 S에 포함되면, 모드 부분집합 S가 사용된다. 그렇지 않다면, 디폴트 집합이 사용된다.
2. 사용된 인트라 모드 m이 유도된 부분집합 S에 포함되고 부분집합 S에서의 인트라 모드 인덱스가 디폴트 집합에서의 그것보다 작다면, 부분집합 S가 선택된다. 그렇지 않다면, 디폴트 집합이 선택된다.
3. 사용된 인트라 모드 m이 유도된 부분집합 S에 포함되고 이 부분집합을 사용하는 모드 m에 대한 코딩 비트가 디폴트 집합을 사용하는 모드 m에 대한 코딩 비트보다 적다면, 부분집합이 선택된다. 그렇지 않다면, 디폴트 집합이 선택된다.
실시예 4:
(여기에서 실시예 4로서도 교환 가능하게 언급되는) 제4 실시예에서, 인코더는 최선의 인트라 예측 모드 m을 선택하고 예측 잔여물을 인코딩한다. 그 다음, 인코더는 디코딩된 잔여물의 공간 패턴을 조사하여 인트라 예측 모드 n을 유도한다. n이 m과 상이하면, 인코더는, 모드 m이 잔여물에 삽입되도록 디코딩된 잔여물을 처리하여 반드시 유도된 모드 n=m이게 한다. 이 실시예에서는, 인트라 모드 정보를 신호할 필요가 전혀 없다. 디코더는 인트라 모드에 관한 어떤 구문도 필요하지 않다. 디코더는 비트스트림으로부터 추출되는 잔여물만이 필요할 뿐이고 디코딩을 위한 인트라 예측 모드 m을 추론한다.
실시예 4의 경우, 인트라 모드를 잔여물에 삽입하는 방법은 다음과 같을 수 있지만, 그것으로 제한되는 것은 아니다:
1. X를 현재 블록의 인트라 예측 잔여물이라고 하자. 모드 정보의 삽입은 변환 및 양자화 이전에 X를 변경하는 것에 의해 구현되므로 공간-도메인 방법이다. X의 변경은 X에 변형 행렬 T를 가산하는 것에 의해 실현된다. Y를 변경된 잔여물 블록, Y=X+T이라 하자. 변형 행렬 T는, Y의 디코딩된 버전으로부터 모드 m이 유도될 수 있으면서 변환 행렬 T가 최소 기준(minimum norm)(기준은 l1, l2, 또는 다른 것일 수 있음)을 갖도록 선택된다.
2. X를 현재 블록의 인트라 예측 잔여물이라 하고, x를 X의 DCT 변환이라 하자. X 및 x 모두는 현재 블록과 동일한 사이즈를 가진 행렬이다. 모드 정보의 삽입은 DCT 행렬 x를 변경하는 것에 의해 구현되므로 변환-도메인 방법이다. x의 변경은 x에 변형 행렬 t를 가산하는 것에 의해 실현된다. y를 변경된 잔여물 DCT 블록, y=x+t이라 하자. 변형 행렬 t는, y의 디코딩된 버전으로부터 모드 m이 유도될 수 있으면서 변환 행렬 t가 최소 기준(기준은 l1, l2, 또는 다른 것일 수 있음)을 갖도록 선택된다.
3. X를 현재 블록의 인트라 예측 잔여물이라 하고, x를 X의 DCT 변환이라 하자. 비디오 인코딩 과정에서, x의 DCT 계수는 양자화되어 양자화 인덱스로 표현된다. x'을 x에 대한 DCT 계수의 양자화된 인덱스를 포함하는 행렬이라 하자. 모드 정보의 삽입은 양자화 인덱스 행렬 x'을 변경하는 것에 의해 구현되므로 변환-도메인 방법이다. x'의 변경은 x'에 변형 행렬 t'을 가산하는 것에 의해 실현된다. y'을 x'의 변경된 버전, y'=x'+t'이라 하자. 변형 행렬 t'은, y'으로부터 모드 m이 유도될 수 있으면서 변형 행렬 t'이 최소 기준(기준은 l1, l2, 또는 다른 것일 수 있음)을 갖도록 선택된다.
도 14를 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 인코딩하기 위한 또 다른 예시적 방법이 참조 번호 1400으로써 개괄적으로 지시된다. 특히, 방법 1400은 실시예 4의 한가지 예시적 인코딩 구현을 표현하고, 현재 블록의 인트라 예측 모드를 디코딩된 예측 잔여물의 공간 패턴에 삽입하는 단계를 수반한다. 방법 1400은 루프 제한 블록 1410쪽으로 제어를 전달하는 시작 블록 1405를 포함한다. 루프 제한 블록 1410은 0에서 매크로블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 1415쪽으로 제어를 전달한다. 기능 블록 1415는 몇가지 기준에 기초해 인트라 예측 모드 m을 선택하고, 기능 블록 1420쪽으로 제어를 전달한다. 기능 블록 1420은 모드 m으로써 인트라 예측 잔여물을 인코딩하고, 기능 블록 1425쪽으로 제어를 전달한다. 기능 블록 1425는 잔여물을 디코딩하고, 기능 블록 1430쪽으로 제어를 전달한다. 기능 블록 1430은 디코딩된 잔여물의 공간 패턴으로부터 모드 n을 유도하고, 결정 블록 1435쪽으로 제어를 전달한다. 결정 블록 1435는 n=m의 여부를 결정한다. 그렇다면, 제어는 루프 제한 블록 1450쪽으로 전달된다. 그렇지 않다면, 제어는 기능 블록 1440쪽으로 전달된다. 기능 블록 1440은 디코딩되고 변경된 잔여물의 공간 패턴으로부터 m이 유도될 수 있도록 잔여물을 변경하고, 루프 제한 블록 1450쪽으로 제어를 전달한다. 루프 제한 블록 1450은 각각의 매크로블록에 대한 루프를 종료하고, 끝 블록 1499쪽으로 제어를 전달한다.
도 15를 참조하면, 본 원리의 실시예에 따라 현재 블록의 인트라 예측 모드를 디코딩하기 위한 또 다른 예시적 방법이 참조 번호 1500으로써 개괄적으로 지시된다. 특히, 방법 1500은 실시예 4의 한가지 예시적 디코딩 구현을 표현하고, 디코딩된 예측 잔여물의 공간 패턴으로부터 현재 블록의 인트라 예측 모드를 유도하는 단계를 수반한다. 방법 1500은 루프 제한 블록 1510쪽으로 제어를 전달하는 시작 블록 1505를 포함한다. 루프 제한 블록 1510은 0에서 매크로블록 수-1(num_MBs_minus1)의 범위를 가진 변수 i를 사용해 현재 픽처의 매크로블록 각각에 대한 루프를 시작하고, 기능 블록 1515쪽으로 제어를 전달한다. 기능 블록 1515는 인트라 예측 잔여물을 디코딩하고, 기능 블록 1520쪽으로 제어를 전달한다. 기능 블록 1520은 디코딩된 잔여물의 공간 패턴으로부터 모드 m을 유도하고, 기능 블록 1525쪽으로 제어를 전달한다. 기능 블록 1525는 모드 m으로써 블록을 디코딩하고, 루프 제한 블록 1530쪽으로 제어를 전달한다. 루프 제한 블록 1530은 매크로블록 각각에 대한 루프를 종료하고, 끝 블록 1599쪽으로 제어를 전달한다.
실례:
다음은 실시예 4를 자세히 설명하는 특정 실례이다. 다음 실례는, 앞서 언급된 바와 같이, MEPG-4 AVC 표준에 기초하지만, 본 원리가 다른 비디오 코딩 표준, 그것에 관한 권고 및 확장에 적용될 수도 있다.
인코더측:
현재 블록이 인트라 블록이라고 가정한다. 인코더는 이 블록을 인코딩하기 위한 상이한 인트라 예측 모드(상이한 인트라 예측 방향)를 테스트하고 최소 비율-왜곡 비용을 가진 모드를 선택한다. m을 선택된 인트라 예측 모드라 하자. B를 사용해 현재 블록을 지시하고, P를 사용해 m이 인트라 예측 모드로 정해진 현재 블록의 예측을 지시한다. P와 B 모두는 2-D의 NxN 어레이인데, 여기에서 NxN은 블록의 사이즈이다. 예측 잔여물 R 또한 NxN 블록인데, 여기에서 R=B-P이다.
잔여물 블록은 변환되고 변환 계수는 양자화된다. x'을 DCT 계수의 양자화된 인덱스를 포함하는 행렬이라 하자. 나중에, 양자화된 변환 계수는 인코더에서 역양자화된 다음 역변환되어, (복원된이라고도 하는) 디코딩된 잔여물 계수를 발생시킨다. K를 사용해, 디코딩된 잔여물 계수의 블록을 표현한다.
인트라 예측 모드 n은 최고 확률 모드를 유도하는 실시예 1의 실례에서와 같은 방법을 사용해 K의 공간 패턴으로부터 유도된다.
n이 m이 같으면, 잔여물의 양자화 인덱스(x'의 요소)가 비트스트림에 기입된다.
n이 m이 상이하면, x'에 변형 행렬 t'을 가산하는 것에 의해 새로운 양자화 인덱스 행렬 y', y'=x'+t'을 발생시키고 y'을 비트스트림에 기입한다. 행렬 y'은 다음의 2가지 조건을 충족시켜야 한다:
1. K'을 y'의 디코딩된(역양자화된 다음 역변환된) 버전이라 하자. 실시예 1의 실례에서와 같은 최고 확률 모드를 유도하는 방법을 사용해 K'의 공간 패턴으로부터 유도되는 인트라 예측 모드가 모드 m이다.
2. y'의 l2 기준이 조건 1을 충족시키는 모든 행렬 중에서 최소이다.
디코더측:
인트라 예측 블록을 디코딩하기 위해, 디코더는 먼저 변환되고 양자화된 잔여물 계수의 구문을 분석한다. 역양자화 및 역변환에 의해, 인트라 예측 잔여물이 디코딩(복원)된다. 인트라 예측 모드 m이 디코딩된 인트라 예측 잔여물의 공간 패턴으로부터 실시예 1의 실례에서와 같은 최고 확률 모드를 유도하는 방법을 사용해 유도된다. 유도된 모드 m이 현재 블록의 인트라 예측 모드이다.
구문
상이한 실시예를 제시하였고 상이한 실시예에 대해 해당 구문은 상이할 것이다. 표 1은 앞서 설명된 실시예 2에 관한 예시적 구문을 나타낸다.
Figure pct00004
표 1에 표시된 구문 요소의 의미는 다음과 같다:
1의 flag_mpm은 실시예 1에서 설명된 방법을 사용해 유도되는 모드가 인트라 예측 모드를 디코딩하기 위한 최고 확률 모드로 사용된다는 것을 특정한다.
0의 flag_mpm은 다른 방법(예를 들어, MPEG-4 AVC 표준의 방법)을 사용해 유도되는 모드가 인트라 예측 모드를 디코딩하기 위한 최고 확률 모드로 사용된다는 것을 특정한다.
표 2는 앞서 설명된 실시예 3에 관한 예시적 구문을 나타낸다.
Figure pct00005
표 2에 표시된 구문 요소의 의미는 다음과 같다:
0의 flag_subset은 디폴트 모드 집합이 인트라 예측 모드를 유도하는데 사용된다는 것을 특정한다.
1의 flag_subset은 디폴트 모드 집합의 부분집합이 인트라 예측 모드를 유도하는데 사용된다는 것을 특정한다.
지금부터는, 그 중 일부가 앞서 언급된, 본 발명에 수반되는 다수 이점/특징 중 일부에 대한 설명이 제시될 것이다. 예를 들어, 한가지 이점/특징은 비디오 인코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 픽처의 적어도 하나의 블록에 대한 픽처 데이터를 인코딩하는 비디오 인코더를 가진 장치이다. 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득된다. 공간 패턴은 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용된다.
다른 이점/특징은 앞서 설명된 바와 같은 비디오 인코더를 가진 장치로서, 공간 패턴이 최고 확률 모드를 결정하는데 사용되고, 최고 확률 모드는 블록을 인코딩하기 위한 인트라 예측 모드를 인코딩하는데 사용되며, 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정된다.
또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴이 최고 확률 모드를 결정하는데 사용되고, 최고 확률 모드는 블록을 인코딩하기 위한 인트라 예측 모드를 인코딩하는데 사용되며, 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는 비디오 인코더를 가진 장치로서, 공간 패턴은 공간 패턴의 공간 도메인 분석을 수행하는 것에 의해 최고 확률 모드를 결정하는데 사용된다.
또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴의 공간 도메인 분석을 수행하는 것에 의해 공간 패턴이 최고 확률 모드를 결정하는데 사용되는 비디오 인코더를 가진 장치로서, 공간 도메인 분석은 디코딩된 인트라 예측 모드 잔여물에 대한 잔여물 픽셀의 기울기(gradients), 기울기 계산 이전의 사전-처리(pre-processing), 및 디코딩된 인트라 예측 모드 잔여물과 사전 정의된 방향 블록 마스크 사이에서 계산된 상관 중 적어도 하나에 기초한다.
또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴이 최고 확률 모드를 결정하는데 사용되고, 최고 확률 모드가 블록을 인코딩하기 위한 인트라 예측 모드를 인코딩하는데 사용되며, 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는 비디오 인코더를 가진 장치로서, 공간 패턴은 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 최고 확률 모드를 결정하는데 사용된다.
더 나아가, 또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 공간 패턴이 최고 확률 모드를 결정하는데 사용되는 비디오 인코더를 가진 장치로서, 변환 도메인 분석에 이용되는 변환은 DCT(discrete cosine transform), 정수형 DCT 구현, 아다마르 변환, 및 웨이브렛 변환 중 적어도 하나를 포함한다.
더 나아가, 또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 공간 패턴이 최고 확률 모드를 결정하는데 사용되는 비디오 인코더를 가진 장치로서, 변환 도메인 분석은 디코딩된 인트라 예측 모드 잔여물에 대한 중요 변환 잔여물 계수(significant transformed residue coefficients)의 진폭과 위치 중 적어도 하나에 기초한다.
또한, 또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴이 최고 확률 모드를 결정하는데 사용되고, 최고 확률 모드는 블록을 인코딩하기 위한 인트라 예측 모드를 인코딩하는데 사용되며, 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는 비디오 인코더를 가진 장치로서, 하나보다 많은 방법이 최고 확률 모드를 선택하는데 사용된다.
추가적으로, 또 다른 이점/특징은 앞서 설명된 바와 같이 하나보다 많은 방법이 최고 확률 모드를 선택하는데 사용되는 비디오 인코더를 가진 장치로서, 복수의 인트라 예측 모드는 최고 확률 모드일 수 있는 복수의 후보 인트라 예측 모드를 표현하고, 최고 확률 모드를 선택하는데 사용되는 기준은 복수의 인트라 예측 모드 각각으로써 블록을 인코딩하기 위해 인트라 예측 모드를 코딩하는데 요구되는 개개 비트 수 및 블록을 인코딩하기 위한 인트라 예측 모드와 복수의 인트라 예측 모드 각각 사이의 개개 인덱스 차이들 중 적어도 하나로부터 선택된다.
더 나아가, 또 다른 이점/특징은 앞서 설명된 바와 같은 비디오 인코더를 가진 장치로서, 공간 패턴을 분석하는 것에 의해, 이용 가능한 모든 인트라 예측 모드들보다 적은 인트라 예측 모드를 포함하는 인트라 모드 부분집합이 유도되고, 모드 집합은 적어도 디폴트 인트라 예측 모드 집합 및 인트라 모드 부분집합 중에서 결정되며, 디폴트 예측 모드 집합은 이용 가능한 인트라 예측 모드 모두를 포함하고, 모드 집합은 블록을 인코딩하기 위한 인트라 예측 모드를 인코딩하는데 사용된다.
더 나아가, 또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴을 분석하는 것에 의해, 이용 가능한 모든 인트라 예측 모드들보다 적은 인트라 예측 모드를 포함하는 인트라 모드 부분집합이 유도되고, 모드 집합은 적어도 디폴트 인트라 예측 모드 집합 및 인트라 모드 부분집합 중에서 결정되며, 디폴트 예측 모드 집합은 이용 가능한 인트라 예측 모드 모두를 포함하고, 모드 집합은 블록을 인코딩하기 위한 인트라 예측 모드를 인코딩하는데 사용되는 비디오 인코더를 가진 장치로서, 블록의 인트라 예측 모드를 인코딩하는데 사용되는 모드 집합은 인트라 모드 부분집합에서의 초기 인트라 코딩 모드의 존재, 인트라 모드 부분집합에서의 초기 인트라 코딩 모드의 인덱스, 및 인트라 모드 부분집합을 사용해 초기 인트라 코딩 모드를 인코딩하는데 사용되는 비트 수 중 적어도 하나에 기초해 적어도 디폴트 인트라 예측 모드 집합 및 인트라 모드 부분집합 중에서 결정되고, 초기 인트라 코딩 모드는, 디코딩되어 디코딩된 인트라 예측 모드 잔여물을 획득하는, 블록에 대한 잔여물을 코딩하는데 사용된다.
또한, 또 다른 이점/특징은 앞서 설명된 바와 같은 비디오 인코더를 가진 장치로서, 초기 인트라 예측 모드가 공간 패턴에 삽입된다.
추가적으로, 또 다른 이점/특징은 앞서 설명된 바와 같이 초기 인트라 예측 모드가 공간 패턴에 삽입되는 비디오 인코더를 가진 장치로서, 공간 패턴에 초기 인트라 예측 모드를 삽입하는 삽입 동작이 변환 도메인에서 수행된다.
더 나아가, 또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴에 초기 인트라 예측 모드를 삽입하는 삽입 동작이 변환 도메인에서 수행되는 비디오 인코더를 가진 장치로서, 변환되고 양자화된 차이는 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 초기 인트라 예측 모드는 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 차이에 대한 변환되고 양자화된 버전의 양자화된 인덱스를 변경하는 것에 의해 공간 패턴에 삽입된다.
더 나아가, 또 다른 이점/특징은 앞서 설명된 바와 같이 초기 인트라 예측 모드가 공간 패턴에 삽입되는 비디오 인코더를 가진 장치로서, 변환되고 양자화된 차이는 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 초기 인트라 예측 모드는 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 차이에 대한 변환되고 양자화 해제된 버전(transformed and un-quantized version)의 진폭을 변경하는 것에 의해 공간 패턴에 삽입된다.
또한, 또 다른 이점/특징은 앞서 설명된 바와 같이 초기 인트라 예측 모드가 공간 패턴에 삽입되는 비디오 인코더를 가진 장치로서, 공간 패턴에 초기 인트라 예측 모드를 삽입하는 삽입 동작이 공간 도메인에서 수행된다.
추가적으로, 또 다른 이점/특징은 앞서 설명된 바와 같이 공간 패턴에 초기 인트라 예측 모드를 삽입하는 삽입 동작이 공간 도메인에서 수행되는 비디오 인코더를 가진 장치로서, 변환되고 양자화된 차이는 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 초기 인트라 예측 모드는 변환하고 양자화하는 단계 이전에 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 차이에 대한 진폭을 변경하는 것에 의해 공간 패턴에 삽입된다.
당업자라면, 본 원리에 대한 이들 및 다른 특징 및 이점을 여기에서의 교시에 기초해 쉽게 알아낼 수 있다. 본 원리의 교시는 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서, 또는 그것에 관한 조합의 다양한 형태로 구현될 수 있다는 것을 이해할 수 있어야 한다.
가장 바람직하게는, 본 원리의 교시가 하드웨어와 소프트웨어의 조합으로 구현되는 것이다. 더 나아가, 소프트웨어는 프로그램 저장 유닛에 유형적으로 구현되는 애플리케이션 프로그램으로 구현될 수 있다. 애플리케이션 프로그램은 어떤 적당한 아키텍처를 포함하는 머신에 업로드되어 실행될 수 있다. 바람직하게는, 머신이 하나 이상의 CPU(central processing units), RAM(random access memory), 및 I/O(input/output) 인터페이스와 같은 하드웨어를 가진 컴퓨터 플랫폼에 구현되는 것이다. 컴퓨터 플랫폼은 운영 체제 및 마이크로 명령어 코드도 포함할 수 있다. 여기에서 설명되는 다양한 프로세스와 기능은, CPU에 의해 실행될 수 있는, 마이크로 명령어 코드(microinstruction code)의 일부이거나 애플리케이션 프로그램의 일부, 또는 그것에 관한 어떤 조합일 수 있다. 또한, 추가 데이터 저장 유닛 및 프린팅 유닛과 같은 다양한 다른 주변 장치 유닛이 컴퓨터 플랫폼에 접속될 수 있다.
더 나아가, 첨부 도면에서 묘사되는 구성 시스템 컴포넌트 및 방법 중 일부는 소프트웨어로 구현되는 것이 바람직하기 때문에, 시스템 컴포넌트들 또는 프로세스 기능 블록들 사이의 실제 접속은 본 원리가 프로그래밍되는 방식에 따라 상이할 수 있다는 것을 이해할 수 있어야 한다. 당업자라면, 여기에서의 교시가 주어질 경우, 본 원리에 대한 이들 및 유사 구현 또는 구성을 고려할 수 있을 것이다.
여기에서는 첨부 도면을 참조하여 예시적 실시예가 설명되었지만, 본 원리가 정확히 그 실시예로 제한되지 않는다는 것과 본 원리의 범위 또는 정신을 벗어나지 않으면서 당업자에 의해 그 안에서 다양한 변화 및 변경이 이루어질 수 있다는 것을 이해할 수 있어야 한다. 그러한 모든 변화 및 변경은 첨부된 청구항에서 규정되는 본 원리의 범위 내에 포함될 것으로 생각된다.

Claims (57)

  1. 비디오 인코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물(decoded intra prediction mode residue)에 대한 공간 패턴을 결정하는 것에 의해 상기 픽처의 적어도 상기 블록에 대한 픽처 데이터를 인코딩하는 비디오 인코더(600)를 포함하는 장치로서,
    상기 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득되고,
    상기 공간 패턴은 상기 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용되는 장치.
  2. 제1항에 있어서,
    상기 공간 패턴은 최고 확률 모드(most probable mode)를 결정하는데 사용되고, 상기 최고 확률 모드는 상기 블록을 인코딩하기 위한 상기 인트라 예측 모드를 인코딩하는데 사용되며, 상기 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는 장치.
  3. 제2항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 공간 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는 장치.
  4. 제3항에 있어서,
    상기 공간 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에서의 잔여물 픽셀들의 기울기, 기울기 계산 이전의 선행 처리, 및 상기 디코딩된 인트라 예측 모드 잔여물과 사전 정의된 방향 블록 마스크 사이에서 계산되는 상관 중 적어도 하나에 기초하는 장치.
  5. 제2항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는 장치.
  6. 제5항에 있어서,
    상기 변환 도메인 분석에 이용되는 변환은 DCT(discrete cosine transform), 정수형 DCT 구현, 아다마르(Hadamard) 변환, 및 웨이브렛 변환 중 적어도 하나를 포함하는 장치.
  7. 제5항에 있어서,
    상기 변환 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에 대한 중요 변환 잔여물 계수들의 진폭들과 위치들 중 적어도 하나에 기초하는 장치.
  8. 제2항에 있어서,
    하나보다 많은 방법이 상기 최고 확률 모드를 선택하는데 사용되는 장치.
  9. 제8항에 있어서,
    상기 복수의 인트라 예측 모드는 상기 최고 확률 모드일 수 있는 복수의 후보 인트라 예측 모드를 표현하고, 상기 최고 확률 모드를 선택하는데 사용되는 기준은 상기 복수의 인트라 예측 모드 각각으로 상기 블록을 인코딩하기 위해 상기 인트라 예측 모드를 코딩하는데 요구되는 개개 비트 수 및 상기 블록을 인코딩하기 위한 상기 인트라 예측 모드와 상기 복수의 인트라 예측 모드의 각자의 모드 사이의 각자의 인덱스 차이들 중 적어도 하나로부터 선택되는 장치.
  10. 제1항에 있어서,
    상기 공간 패턴을 분석하는 것에 의해, 이용 가능한 모든 인트라 예측 모드들보다 적은 모드들을 포함하는 인트라 모드 부분집합이 유도되고, 적어도 디폴트 인트라 예측 모드 집합 - 상기 이용 가능한 인트라 예측 모드들 모두를 포함함 - 및 상기 인트라 모드 부분집합 중에서, 상기 블록을 인코딩하기 위한 상기 인트라 예측 모드를 인코딩하는데 사용되는 모드 집합이 결정되는 장치.
  11. 제10항에 있어서,
    상기 블록의 상기 인트라 예측 모드를 인코딩하는데 사용되는 상기 모드 집합은 상기 인트라 모드 부분집합에서의 초기 인트라 코딩 모드의 존재, 상기 인트라 모드 부분집합에서의 상기 초기 인트라 코딩 모드의 인덱스, 및 상기 인트라 모드 부분집합을 사용해 상기 초기 인트라 코딩 모드를 인코딩하는데 사용되는 비트 수 중 적어도 하나에 기초하여, 적어도 상기 디폴트 인트라 예측 모드 집합 및 상기 인트라 모드 부분집합 중에서 결정되고, 상기 초기 인트라 코딩 모드는 상기 디코딩된 인트라 예측 모드 잔여물을 획득하기 위해 디코딩되는, 상기 블록에 대한 잔여물을 코딩하는데 사용되는 장치.
  12. 제1항에 있어서,
    상기 초기 인트라 예측 모드는 상기 공간 패턴에 삽입되는 장치.
  13. 제12항에 있어서,
    상기 초기 인트라 예측 모드를 상기 공간 패턴에 삽입하는 삽입 동작이 변환 도메인에서 수행되는 장치.
  14. 제13항에 있어서,
    상기 변환되고 양자화된 차이는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 상기 초기 인트라 예측 모드는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 상기 차이에 대한 변환되고 양자화된 버전의 양자화된 인덱스를 변경하는 것에 의해 상기 공간 패턴에 삽입되는 장치.
  15. 제12항에 있어서,
    상기 변환되고 양자화된 차이는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 상기 초기 인트라 예측 모드는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 상기 차이에 대해 변환되고 양자화 해제된(un-quantized) 버전의 진폭을 변경하는 것에 의해 상기 공간 패턴에 삽입되는 장치.
  16. 제12항에 있어서,
    상기 초기 인트라 예측 모드를 상기 공간 패턴에 삽입하는 삽입 동작이 공간 도메인에서 수행되는 장치.
  17. 제16항에 있어서,
    상기 변환되고 양자화된 차이는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 상기 초기 인트라 예측 모드는 상기 변환하고 양자화하는 단계 이전에 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 상기 차이에 대한 진폭을 변경하는 것에 의해 상기 공간 패턴에 삽입되는 장치.
  18. 비디오 인코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 상기 픽처에서의 적어도 상기 블록에 대한 픽처 데이터를 인코딩하는 단계를 포함하는 비디오 인코더에서의 방법으로서,
    상기 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득되고,
    상기 공간 패턴은 상기 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용되는(830, 835, 1030, 1040, 1045, 1060, 1065, 1080, 1230, 1235, 1245, 1265, 1430) 방법.
  19. 제18항에 있어서,
    상기 공간 패턴은 최고 확률 모드를 결정하는데 사용되고(830), 상기 최고 확률 모드는 상기 블록을 인코딩하기 위한 상기 인트라 예측 모드를 인코딩하는데 사용되며, 상기 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는 방법.
  20. 제19항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 공간 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는(830) 방법.
  21. 제20항에 있어서,
    상기 공간 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에서의 잔여물 픽셀들의 기울기들, 기울기 계산 이전의 선행 처리, 및 상기 디코딩된 인트라 예측 모드 잔여물과 사전 정의된 방향 블록 마스크 사이에서 계산되는 상관 중 적어도 하나에 기초하는(830) 방법.
  22. 제19항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는(830) 방법.
  23. 제22항에 있어서,
    상기 변환 도메인 분석에 이용되는 변환은 DCT(discrete cosine transform), 정수형 DCT 구현, 아다마르(Hadamard) 변환, 및 웨이브렛 변환 중 적어도 하나를 포함하는(830) 방법.
  24. 제22항에 있어서,
    상기 변환 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에 대한 중요 변환 잔여물 계수들의 진폭들과 위치들 중 적어도 하나에 기초하는(830) 방법.
  25. 제19항에 있어서,
    하나보다 많은 방법이 상기 최고 확률 모드를 선택하는데 사용되는(1030, 1035) 방법.
  26. 제25항에 있어서,
    상기 복수의 인트라 예측 모드는 상기 최고 확률 모드일 수 있는 복수의 후보 인트라 예측 모드를 표현하고, 상기 최고 확률 모드를 선택하는데 사용되는 기준은 상기 복수의 인트라 예측 모드 각각으로 상기 블록을 인코딩하기 위해 상기 인트라 예측 모드를 코딩하는데 요구되는 개개 비트 수 및 상기 블록을 인코딩하기 위한 상기 인트라 예측 모드와 상기 복수의 인트라 예측 모드 각각 사이의 개개 인덱스 차이들 중 적어도 하나로부터 선택되는(1030, 1035, 1045) 방법.
  27. 제18항에 있어서,
    상기 공간 패턴을 분석하는 것에 의해, 이용 가능한 모든 인트라 예측 모드들보다 적은 인트라 예측 모드를 포함하는 인트라 모드 부분집합이 유도되고, 적어도 디폴트 인트라 예측 모드 집합 - 상기 이용 가능한 인트라 예측 모드들 모두를 포함함 - 및 상기 인트라 모드 부분집합 중에서, 상기 블록을 인코딩하기 위한 상기 인트라 예측 모드를 인코딩하는데 사용되는 모드 집합이 결정되는(1265, 1245) 방법.
  28. 제27항에 있어서,
    상기 블록의 상기 인트라 예측 모드를 인코딩하는데 사용되는 상기 모드 집합은 상기 인트라 모드 부분집합에서의 초기 인트라 코딩 모드의 존재, 상기 인트라 모드 부분집합에서의 상기 초기 인트라 코딩 모드의 인덱스, 및 상기 인트라 모드 부분집합을 사용해 상기 초기 인트라 코딩 모드를 인코딩하는데 사용되는 비트 수 중 적어도 하나에 기초해 적어도 상기 디폴트 인트라 예측 모드 집합 및 상기 인트라 모드 부분집합 중에서 결정되고, 상기 초기 인트라 코딩 모드는 상기 디코딩된 인트라 예측 모드 잔여물을 획득하기 위해 디코딩되는, 상기 블록에 대한 잔여물을 코딩하는데 사용되는(1230, 1235, 1240, 1245) 방법.
  29. 제18항에 있어서,
    상기 초기 인트라 예측 모드는 상기 공간 패턴에 삽입되는(1430, 1435, 1440) 방법.
  30. 제29항에 있어서,
    상기 초기 인트라 예측 모드를 상기 공간 패턴에 삽입하는 삽입 동작이 변환 도메인에서 수행되는(1440) 방법.
  31. 제30항에 있어서,
    상기 변환되고 양자화된 차이는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 상기 초기 인트라 예측 모드는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 상기 차이에 대한 변환되고 양자화된 버전의 양자화된 인덱스를 변경하는 것에 의해 상기 공간 패턴에 삽입되는(1440) 방법.
  32. 제29항에 있어서,
    상기 변환되고 양자화된 차이는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 상기 초기 인트라 예측 모드는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 상기 차이에 대한 변환되고 양자화 해제된 버전의 진폭을 변경하는 것에 의해 상기 공간 패턴에 삽입되는(1440) 방법.
  33. 제29항에 있어서,
    상기 초기 인트라 예측 모드를 상기 공간 패턴에 삽입하는 삽입 동작이 공간 도메인에서 수행되는(1440) 방법.
  34. 제33항에 있어서,
    상기 변환되고 양자화된 차이는 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 차이를 변환하고 양자화하는 것에 의해 획득되고, 상기 초기 인트라 예측 모드는 상기 변환하고 양자화하는 단계 이전에 상기 블록의 상기 원래 버전과 상기 적어도 하나의 참조 블록 사이의 상기 차이에 대한 진폭을 변경하는 것에 의해 상기 공간 패턴에 삽입되는(1440) 방법.
  35. 비디오 디코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 상기 픽처의 적어도 상기 블록에 대한 픽처 데이터를 디코딩하는 비디오 디코더(700)를 포함하는 장치로서,
    상기 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득되고,
    상기 공간 패턴은 상기 블록을 디코딩하기 위한 인트라 예측 모드를 결정하는데 사용되는 장치.
  36. 제35항에 있어서,
    상기 공간 패턴은 최고 확률 모드를 결정하는데 사용되고, 상기 최고 확률 모드는 상기 블록을 디코딩하기 위한 상기 인트라 예측 모드를 디코딩하는데 사용되며, 상기 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는 장치.
  37. 제36항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 공간 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는 장치.
  38. 제37항에 있어서,
    상기 공간 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에서의 잔여물 픽셀들의 기울기들, 기울기 계산 이전의 선행 처리, 및 상기 디코딩된 인트라 예측 모드 잔여물과 사전 정의된 방향 블록 마스크 사이에서 계산되는 상관 중 적어도 하나에 기초하는 장치.
  39. 제36항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는 장치.
  40. 제39항에 있어서,
    상기 변환 도메인 분석에 이용되는 변환은 DCT(discrete cosine transform), 정수형 DCT 구현, 아다마르(Hadamard) 변환, 및 웨이브렛 변환 중 적어도 하나를 포함하는 장치.
  41. 제39항에 있어서,
    상기 변환 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에 대한 중요 변환 잔여물 계수들의 진폭들과 위치들 중 적어도 하나에 기초하는 장치.
  42. 제36항에 있어서,
    하나보다 많은 방법이 상기 최고 확률 모드를 선택하는데 사용되는 장치.
  43. 제42항에 있어서,
    상기 최고 확률 모드의 선택은 상기 블록에 대한 상기 픽처 데이터를 포함하는 비트스트림으로 명시적으로 수신되는 장치.
  44. 제35항에 있어서,
    상기 공간 패턴을 분석하는 것에 의해, 이용 가능한 모든 인트라 예측 모드들보다 적은 인트라 예측 모드를 포함하는 인트라 모드 부분집합이 유도되고, 디폴트 집합은 상기 이용 가능한 인트라 예측 모드 모두를 포함하고, 상기 블록을 디코딩하기 위한 상기 인트라 예측 모드를 디코딩하는데 사용되는 모드 집합은 상기 블록에 대한 상기 픽처 데이터를 포함하는 비트스트림으로 명시적으로 수신되는 장치.
  45. 제35항에 있어서,
    상기 디코더는 상기 디코딩된 인트라 예측 잔여물의 상기 공간 패턴으로부터 상기 초기 인트라 예측 모드를 추론할 수 있는 장치.
  46. 비디오 디코더에서 픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 상기 픽처에서의 적어도 상기 블록에 대한 픽처 데이터를 디코딩하는 단계를 포함하는 비디오 디코더에서의 방법으로서,
    상기 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득되고,
    상기 공간 패턴은 상기 블록을 디코딩하기 위한 인트라 예측 모드를 결정하는데 사용되는(925, 930, 1120, 1130, 1135, 1140, 1145, 1165, 1150, 1330, 1335, 1340, 1520) 방법.
  47. 제46항에 있어서,
    상기 공간 패턴은 최고 확률 모드를 결정하는데 사용되고, 상기 최고 확률 모드는 상기 블록을 디코딩하기 위한 상기 인트라 예측 모드를 디코딩하는데 사용되며, 상기 최고 확률 모드는 복수의 인트라 예측 모드 중에서 결정되는(920) 방법.
  48. 제47항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 공간 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는(920) 방법.
  49. 제48항에 있어서,
    상기 공간 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에서의 잔여물 픽셀들의 기울기들, 기울기 계산 이전의 선행 처리, 및 상기 디코딩된 인트라 예측 모드 잔여물과 사전 정의된 방향 블록 마스크 사이에서 계산되는 상관 중 적어도 하나에 기초하는(920) 방법.
  50. 제47항에 있어서,
    상기 공간 패턴은 상기 공간 패턴의 변환 도메인 분석을 수행하는 것에 의해 상기 최고 확률 모드를 결정하는데 사용되는(920) 방법.
  51. 제50항에 있어서,
    상기 변환 도메인 분석에 이용되는 변환은 DCT(discrete cosine transform), 정수형 DCT 구현, 아다마르(Hadamard) 변환, 및 웨이브렛 변환 중 적어도 하나를 포함하는(920) 방법.
  52. 제50항에 있어서,
    상기 변환 도메인 분석은 상기 디코딩된 인트라 예측 모드 잔여물에 대한 중요 변환 잔여물 계수들의 진폭들과 위치들 중 적어도 하나에 기초하는(920) 방법.
  53. 제47항에 있어서,
    하나보다 많은 방법이 상기 최고 확률 모드를 선택하는데 사용되는(1120, 1125) 방법.
  54. 제53항에 있어서,
    상기 최고 확률 모드의 선택은 상기 블록에 대한 상기 픽처 데이터를 포함하는 비트스트림으로 명시적으로 수신되는(1120, 1125, 1135) 방법.
  55. 제46항에 있어서,
    상기 공간 패턴을 분석하는 것에 의해, 이용 가능한 모든 인트라 예측 모드들보다 적은 인트라 예측 모드를 포함하는 인트라 모드 부분집합이 유도되고, 디폴트 집합은 상기 이용 가능한 인트라 예측 모드 모두를 포함하고, 상기 블록을 디코딩하기 위한 상기 인트라 예측 모드를 디코딩하는데 사용되는 모드 집합은 상기 블록에 대한 상기 픽처 데이터를 포함하는 비트스트림으로 명시적으로 수신되는(1320, 1325, 1330, 1335, 1355) 방법.
  56. 제46항에 있어서,
    상기 디코더는 상기 디코딩된 인트라 예측 잔여물의 상기 공간 패턴으로부터 상기 초기 인트라 예측 모드를 추론할 수 있는(1520) 방법.
  57. 비-일시적 비디오 신호 데이터가 인코딩되어 있는 컴퓨터 판독 가능 저장 매체로서,
    픽처를 복원하는데 사용되는 디코딩된 인트라 예측 모드 잔여물에 대한 공간 패턴을 결정하는 것에 의해 상기 픽처의 적어도 상기 블록에 대해 인코딩된 픽처 데이터를 포함하고,
    상기 디코딩된 인트라 예측 모드 잔여물은 블록의 원래 버전과 적어도 하나의 참조 블록 사이의 변환되고 양자화된 차이를 역양자화하고 역변환하는 것에 의해 획득되고,
    상기 공간 패턴은 상기 블록을 인코딩하기 위한 인트라 예측 모드를 결정하는데 사용되는 컴퓨터 판독 가능 저장 매체.
KR1020127009644A 2009-09-14 2010-09-14 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치 KR101735137B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24220509P 2009-09-14 2009-09-14
US61/242,205 2009-09-14
PCT/US2010/002498 WO2011031332A1 (en) 2009-09-14 2010-09-14 Methods and apparatus for efficient video encoding and decoding of intra prediction mode

Publications (2)

Publication Number Publication Date
KR20120060886A true KR20120060886A (ko) 2012-06-12
KR101735137B1 KR101735137B1 (ko) 2017-05-12

Family

ID=43084441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127009644A KR101735137B1 (ko) 2009-09-14 2010-09-14 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치

Country Status (6)

Country Link
US (1) US9154798B2 (ko)
EP (1) EP2478702B8 (ko)
JP (1) JP5746182B2 (ko)
KR (1) KR101735137B1 (ko)
CN (1) CN102598667B (ko)
WO (1) WO2011031332A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
US9661338B2 (en) 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
AU2011354441B2 (en) * 2011-01-07 2014-07-17 Hfi Innovation Inc. Method and apparatus of improved intra luma prediction mode coding
UA109312C2 (uk) * 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
MX2013013909A (es) * 2011-06-13 2014-01-24 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes.
CN106412585A (zh) * 2011-06-17 2017-02-15 联发科技股份有限公司 内部预测模式编码的方法
CN105430390B (zh) * 2011-06-30 2017-04-12 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
MX338988B (es) * 2011-10-24 2016-05-09 Infobridge Pte Ltd Aparato para la decodificacion de imagenes.
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
CN103096053B (zh) * 2011-11-04 2015-10-07 华为技术有限公司 一种变换模式的编解码方法和装置
AU2015261609B2 (en) * 2011-11-04 2017-08-03 Gensquare Llc Apparatus of decoding video data
US9088796B2 (en) 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US9628789B2 (en) 2011-11-18 2017-04-18 Qualcomm Incorporated Reference mode selection in intra mode coding
LT3512197T (lt) 2012-01-20 2020-10-12 Dolby Laboratories Licensing Corporation Vidinio prognozavimo režimo žymėjimo būdas
US9179145B2 (en) * 2012-07-02 2015-11-03 Vidyo, Inc. Cross layer spatial intra prediction
CN103533324B (zh) 2012-07-03 2017-04-05 乐金电子(中国)研究开发中心有限公司 一种深度图像帧内编码方法、装置及编码器
US20150172653A1 (en) * 2012-07-05 2015-06-18 Thomson Licensing Video coding and decoding method with adaptation of coding modes and corresponding encoder and decoder
US9344742B2 (en) * 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
JP2014082639A (ja) * 2012-10-16 2014-05-08 Canon Inc 画像符号化装置およびその方法
KR20140079661A (ko) * 2012-12-18 2014-06-27 주식회사 팬택 Mpm을 이용한 계층적 영상 복호화 방법 및 이러한 방법을 사용하는 장치
CN103888774B (zh) * 2012-12-21 2017-03-08 联芯科技有限公司 帧内预测模式的解析方法及系统
US9426473B2 (en) 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
WO2015006922A1 (en) * 2013-07-16 2015-01-22 Mediatek Singapore Pte. Ltd. Methods for residual prediction
US20150271491A1 (en) * 2014-03-24 2015-09-24 Ati Technologies Ulc Enhanced intra prediction mode selection for use in video transcoding
EP2938073A1 (en) * 2014-04-24 2015-10-28 Thomson Licensing Methods for encoding and decoding a picture and corresponding devices
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US20170374369A1 (en) * 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
US10652534B2 (en) * 2018-03-08 2020-05-12 Tencent America LLC Methods and apparatus for directional intra prediction in video compression
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
KR20240042127A (ko) * 2018-09-03 2024-04-01 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 예측을 위한 방법 및 장치
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same
WO2020130477A1 (ko) * 2018-12-17 2020-06-25 세종대학교산학협력단 비디오 부호화/복호화 방법 및 장치
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN112689146B (zh) * 2020-12-18 2022-07-22 重庆邮电大学 一种基于启发学习的vvc帧内预测快速模式选择方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003105070A1 (en) * 2002-06-01 2003-12-18 Nokia Corporation Spatial prediction based intra coding
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US20070036215A1 (en) 2003-03-03 2007-02-15 Feng Pan Fast mode decision algorithm for intra prediction for advanced video coding
KR100727969B1 (ko) * 2005-08-27 2007-06-14 삼성전자주식회사 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
KR100750128B1 (ko) * 2005-09-06 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP4600997B2 (ja) 2005-11-08 2010-12-22 Kddi株式会社 符号化方式変換装置
KR100750145B1 (ko) 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2009060153A (ja) 2005-12-21 2009-03-19 Panasonic Corp 面内予測モード決定方法及び装置及びプログラム
CN100566427C (zh) 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
JP2009111691A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法

Also Published As

Publication number Publication date
US20120170652A1 (en) 2012-07-05
KR101735137B1 (ko) 2017-05-12
JP5746182B2 (ja) 2015-07-08
EP2478702B1 (en) 2017-05-17
CN102598667A (zh) 2012-07-18
WO2011031332A1 (en) 2011-03-17
CN102598667B (zh) 2015-03-18
JP2013504972A (ja) 2013-02-07
EP2478702B8 (en) 2017-09-06
EP2478702A1 (en) 2012-07-25
US9154798B2 (en) 2015-10-06

Similar Documents

Publication Publication Date Title
KR101735137B1 (ko) 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치
US9161031B2 (en) Method and apparatus for transform selection in video encoding and decoding
US20180091817A1 (en) Methods and apparatus for transform selection in video encoding and decoding
US11871005B2 (en) Methods and apparatus for intra coding a block having pixels assigned to groups
US20140010295A1 (en) Methods and Apparatus for Geometric-Based Intra Prediction
US9277227B2 (en) Methods and apparatus for DC intra prediction mode for video encoding and decoding
KR20130030254A (ko) 분류-기반 루프 필터에 대한 방법들 및 장치
EP2452499A1 (en) Methods and apparatus for spatially varying residue coding

Legal Events

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