[go: up one dir, main page]

KR101011303B1 - 화상 부호화 및 복호화 방법 및 장치 - Google Patents

화상 부호화 및 복호화 방법 및 장치 Download PDF

Info

Publication number
KR101011303B1
KR101011303B1 KR1020097001469A KR20097001469A KR101011303B1 KR 101011303 B1 KR101011303 B1 KR 101011303B1 KR 1020097001469 A KR1020097001469 A KR 1020097001469A KR 20097001469 A KR20097001469 A KR 20097001469A KR 101011303 B1 KR101011303 B1 KR 101011303B1
Authority
KR
South Korea
Prior art keywords
prediction
signal
order
mode
block
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020097001469A
Other languages
English (en)
Other versions
KR20090048573A (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 KR20090048573A publication Critical patent/KR20090048573A/ko
Application granted granted Critical
Publication of KR101011303B1 publication Critical patent/KR101011303B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

화상부호화장치는, 입력화상신호의 프레임을 분할한 복수의 화상블록을 다시 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 제1 선택부; 부호화가 끝난 화소를 참조해서 각 서브블록의 제1 예측신호를 생성할 때의 해당 부호화가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 제2 선택부; 복수의 예측모드 중에서, 제1 예측신호를 예측에 이용하기 위한, 선택된 수의 예측모드를 선택하는 제3 선택부; 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 선택된 수의 선택된 예측모드를 이용해서, 선택된 예측순서로 제1 예측신호를 생성하는 생성부; 및 예측부호화에 의한 부호화 데이터를 생성하기 위해, 화소블록의 화상신호와 제2 예측신호와의 차이를 나타내는 예측잔차신호를 부호화하는 부호화부를 포함한다.

Description

화상 부호화 및 복호화 방법 및 장치 {IMAGE ENCODING AND DECODING METHOD AND APPARATUS}
본 발명은, 동화상 또는 정지화상을 위한 부호화(符號化) 및 복호화(復號化) 방법 및 장치에 관한 것이다.
근래, 부호화 효율을 대폭 향상시킨 화상부호화방법이 ITU-T와 ISO/IEC에 공통으로, ITU-T Rec.H. 264 및 ISO/IEC 14496-10(이하, H. 264라 한다)으로서 권고되고 있다. ISO/IEC MPEG-l, 2 및 4, ITU-T H. 261 및 H. 263이라 하는 부호화방식은, 직교변환(直交變換) 후의 주파수 영역(DCT 계수)상에서의 프레임 내 예측을 실행해서, 변환계수의 부호량(符號量) 삭감을 도모하고 있다. 이에 대해, H. 264에서는 공간영역(화소영역)에서의 방향 예측(Greg Conklin, "New Intra Prediction Modes", ITU-T Q.6/SG16 VCEG, VCEG-N54, Sep-2001. 참조)을 도입함으로써, ISO/IEC MPEG-l, 2 및 4에서의 프레임 내 예측과 비교해서 높은 예측 효율을 실현하고 있다.
H. 264 하이프로파일에서는, 휘도 신호에 대해 3종류의 프레임 내 예측방식 이 규정되어 있고, 그 중의 하나를 매크로 블록(16 x 16 화소블록) 단위로 선택할 수 있다. 3종류의 프레임 내 예측 방식은, 4 x 4 화소 예측, 8 x 8 화소 예측 및 16 x 16 화소 예측이라 불리고 있다.
16 x 16 화소 예측에서는, 수직 예측, 수평 예측, DC 예측 및 평면 예측이라 불리는 4개의 예측모드가 규정되어 있다. 4개의 예측모드에서는, 디블록킹필터가 적용되기 전의 국부복호신호(局部復號信號) 중 부호화 대상 매크로 블록 주위의 매크로 블록의 화소치(畵素値)를 참조화소치로 이용해서 예측을 실행한다.
4 x 4 화소 예측은, 매크로 블록을 16개의 4 x 4 화소블록(서브블록)으로 분할해서, 각각의 4 x 4 화소블록에 대해 9개의 예측모드 중 어느 것을 블록마다 선택한다. 9개의 예측모드 중, 이용할 수 있는 참조화소의 평균 화소치로 예측하는 DC 예측(모드 2)을 제외한 8개의 모드는, 각각 22.5도 간격으로 어긋난 예측방향을 갖고 있다. 참조화소를 이용해서 예측방향으로 외삽보간(外揷補間)을 실행함으로써, 예측신호를 생성한다.
8 x 8 화소 예측은, 매크로 블록을 4개의 8 x 8 화소블록(서브블록)으로 분할해서, 각각의 8 x 8 화소블록에 대해 상기 9개의 예측모드 중 어느 것을 블록마다 선택한다. 예측모드는, 4 x 4 화소 예측과 같은 구조로 설계된다. 단, 부호화가 끝난 참조화소에 대해 3탭의 필터링을 실행해서, 예측에 이용되는 참조화소의 평탄화를 실행함으로써 부호화 왜곡을 평균화하는 처리가 추가된다.
Kenneth K. C. Lee et al. "Spatial Domain Contribution to a High Compression Efficiency System" IWAIT2006, Jun. 2006에 의하면, 상기 9개의 예측 모드 후보로부터 2개의 예측모드를 선택해서, 선택한 2개의 예측모드에 따라 생성되는 예측신호에 대해 화소단위로 평균치를 구함으로써, 예측신호를 생성하는 방법이 개시되어 있다. 이 방법에 의하면, 통상적인 4 x 4 화소 예측이나 8 x 8 화소 예측에서는 상정(想定)될 수 없는 복잡한 텍스쳐(texture)에 대해서도, 높은 예측 효율이 실현되게 된다.
Kenneth K. C. Lee et al. "Spatial Domain Contribution to a High Compression Efficiency System" IWAIT2006, Jun. 2006에 의하면, 매크로 블록 내의 서브블록(4 x 4 화소블록 또는 8 x 8 화소블록)의 예측순서(prediction order)는 일률적으로 고정되어 있다. 예컨대, 4 x 4 화소블록의 예측에 있어서는, 매크로 블록을 4분할한 8 x 8 화소블록을 고려해서, 8 x 8 화소블록을 다시 4분할한 4 x 4 화소블록에 대해 외삽 예측을 순차로 실행한다. 이와 같은 8 x 8 화소블록 단위의 처리를 4회 되풀이함으로써, 16개의 4 x 4 화소블록의 예측 부호화가 완료된다. 한편, 8 x 8 화소블록의 예측에 있어서는, 매크로 블록을 4분할한 8 x 8 화소블록에 대해 외삽 예측을 순차로 실행한다.
H. 264의 프레임 내 예측은 외삽 예측을 기본으로 하고 있기 때문에, 원리적으로 매크로 블록 내의 서브블록에 대해 좌(左) 및 상(上)의 화소만이 참조되게 된다. 따라서, 서브블록의 화소와 좌측 및 상측의 화소와의 휘도의 상관(相關)이 낮을 때에는 예측잔차(豫測殘差)가 커져서, 결과적으로 부호화 효율이 저하된다.
또, Kenneth K. C. Lee et al. "Spatial Domain Contribution to a High Compression Efficiency System" IWAIT2006, Jun. 2006에서는, 항상 2개의 예측모드를 사용하고 있다. 즉, 단일의 예측모드로 충분할 때에도 2개의 예측모드를 이용해서 예측을 실행하기 때문에, 부호화 효율의 면에서 개량의 여지가 있다.
본 발명의 목적은, 부호화 효율이 높은 화상 부호화 및 복호화 방법 및 장치를 제공하는 것이다.
본 발명의 1관점에 의하면, 입력 화상신호의 프레임을 분할한 복수의 화소블록을 다시 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 제1 선택부와; 부호화가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 부호화가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 제2 선택부; 상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용하기 위한, 상기 선택된 수의 예측모드를 선택하는 제3 선택부; 상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 생성부 및; 상기 예측 부호화에 의한 부호화 데이터를 생성하기 위해, 상기 화소블록의 화상신호와 상기 제2 예측신호와의 차이를 나타내는 예측잔차신호를 부호화하는 부호화부를 포함한 화상부호화장치를 제공한다.
본 발명의 다른 관점에 의하면, 화상신호의 프레임을 분할한 복수의 화소블록을 다시 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 제1 선택부와; 복호가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 복호가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 제2 선택부; 상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용하기 위한, 상기 선택된 수의 예측모드를 선택하는 제3 선택부; 상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 생성부 및; 상기 제2 예측신호를 이용해서 복호화상신호를 생성하는 생성부를 포함한 화상복호장치를 제공한다.
본 발명의 별도의 관점에서는, 앞에서 설명한 화상 부호화처리 및 화상 복호화처리의 적어도 한편을 컴퓨터에 실행시키기 위한 프로그램을 저장한 컴퓨터로 읽을 수 있는 기억매체를 제공한다.
도 1은, 1실시예에 따른 화상부호화장치를 나타낸 블록도이다.
도 2a는, 부호화 대상 프레임에서의 부호화 대상 블록 및 부호화가 끝난 블록에 대해 나타낸 도면이다.
도 2b는, 매크로 블록의 블록 사이즈를 나타낸 도면이다.
도 3a는, 8 x 8 화소블록을 나타낸 도면이다.
도 3b는, 4 x 4 화소블록을 나타낸 도면이다.
도 3c는, 8 x 8 / 4 x 4 화소블록을 나타낸 도면이다.
도 4는, 도 1 중의 예측부의 상세를 나타낸 블록도이다.
도 5는, 도 1 중의 예측신호 생성부의 상세를 나타낸 블록도이다.
도 6a는, 8 x 8 화소블록과 블록 인덱스를 나타낸 도면이다.
도 6b는, 도 6a의 블록에 대한 순차예측에 의한 예측순서를 나타낸 도면이다.
도 6c는, 도 6a의 블록에 대한 외삽/내삽 예측에 의한 예측순서의 변경예를 나타낸 도면이다.
도 6d는, 도 6a의 블록에 대한 다른 예측순서의 변경예를 나타낸 도면이다.
도 7a는, 4 x 4 화소블록과 블록 인덱스를 나타낸 도면이다.
도 7b는, 도 7a의 블록에 대한 순차예측에 의한 예측순서를 나타낸 도면이다.
도 7c는, 도 7a의 블록에 대한 외삽/내삽 예측에 의한 예측순서의 변경예를 나타낸 도면이다.
도 7d는, 도 7a의 블록에 대한 다른 예측순서의 변경예를 나타낸 도면이다.
도 8은, 예측순서 스위칭부에서 쓰이는 예측순서 테이블을 설명하는 도면이다.
도 9a는, 단방향(單方向) 예측부에서의 순차 블록 예측의 예측모드에 대해 나타낸 도면이다.
도 9b는, 4 x 4 화소 예측에서의 예측화소와 참조화소와의 관계를 나타낸 도 면이다.
도 9c는, 모드 0에서의 예측신호 생성방법을 설명하는 도면이다.
도 9d는, 모드 4에서의 예측신호 생성방법을 설명하는 도면이다.
도 10은, 단방향 예측부에서의 예측모드의 명칭과 모드 인덱스를 나타낸 도면이다.
도 11은, 쌍방향 예측부에서의 예측모드의 명칭과 모드 인덱스를 나타낸 도면이다.
도 12a는, 4 x 4 화소 예측에서의 수직/수평 예측(모드 01)의 개념도이다.
도 12b는, 4 x 4 화소 예측에서의 수직/직교 우하 예측(모드 04)의 개념도이다.
도 13a는, 8 x 8 화소블록에 대한 외삽/내삽블록 예측을 설명하는 도면이다.
도 13b는, 4 x 4 화소블록에 대한 외삽/내삽블록 예측을 설명하는 도면이다.
도 14a는, 외삽블록 예측에서의 참조화소와 예측화소의 위치관계를 나타낸 도면이다.
도 14b는, 4 x 4 화소 예측에서의 내삽블록(1)과 참조화소의 관계를 나타낸 도면이다.
도 14c는, 4 x 4 화소 예측에서의 내삽블록(2)과 참조화소의 관계를 나타낸 도면이다.
도 14d는, 4 x 4 화소 예측에서의 내삽블록(3)과 참조화소의 관계를 나타낸 도면이다.
도 15a는, 외삽블록 예측에서 수직 예측(모드 0)이 선택된 경우의 예측신호 생성방법을 설명하는 도면이다.
도 15b는, 외삽블록 예측에서 직교 우하 예측(모드 4)이 선택된 경우의 예측신호 생성방법을 설명하는 도면이다.
도 16은, 단방향 예측부에서의 내삽블록 예측의 예측모드에 대해 나타낸 도면이다.
도 17은, 단방향 예측부에서의 내삽블록 예측에서 실행되는 단방향 예측의 예측모드에 대해 나타낸 도면이다.
도 18a는, 단방향 예측부에서 내삽블록(1)에 대해 선택 가능한 예측모드를 나타낸 도면이다.
도 18b는, 단방향 예측부에서 내삽블록(2)에 대해 선택 가능한 예측모드를 나타낸 도면이다.
도 18c는, 단방향 예측부에서 내삽블록(3)에 대해 선택 가능한 예측모드를 나타낸 도면이다.
도 18d는, 단방향 예측부에서 외삽블록(4)에 대해 선택 가능한 예측모드를 나타낸 도면이다.
도 19a는, 역방향 수직 예측(모드 9)에서의 내삽블록(1)의 예측신호 생성방법을 설명하는 도면이다.
도 19b는, 역방향 수직 예측(모드 9)에서의 내삽블록(2)의 예측신호 생성방법을 설명하는 도면이다.
도 20a는, 역방향 수평 예측(모드 10)에서의 내삽블록(1)의 예측신호 생성방법을 설명하는 도면이다.
도 20b는, 역방향 수평 예측(모드 10)에서의 내삽블록(3)의 예측신호 생성방법을 설명하는 도면이다.
도 21a는, 직교 좌상 예측(모드 12)에서의 내삽블록(1)의 예측신호 생성방법을 설명하는 도면이다.
도 21b는, 직교 좌상 예측(모드 12)에서의 내삽블록(1)의 예측신호 생성방법을 설명하는 도면이다.
도 21c는, 직교 좌상 예측(모드 12)에서의 내삽블록(2)의 예측신호 생성방법을 설명하는 도면이다.
도 22는, 쌍방향 예측부에서의 내삽블록 예측의 예측모드의 명칭과 모드 인덱스를 나타낸 도면이다.
도 23은, 1실시예에 따른 화상 부호화의 처리 순서을 나타낸 플로차트이다.
도 24는, 도 23의 일부의 처리 순서을 상세히 나타낸 플로차트이다.
도 25는, 화상 부호화부에서 쓰이는 신텍스(syntax) 구조의 1예를 나타낸 도면이다.
도 26은, 시마크로 블록 레이어 신택스의 데이터 구조의 1예를 나타낸 도면이다.
도 27은, 매크로 블록 예측 신택스의 데이터 구조의 1예를 나타낸 도면이다.
도 28은, 예측모드를 부호화 인덱스로 변환하는 식을 설명하는 도면이다.
도 29는, 예측모드를 부호화 인덱스로 변환하는 테이블을 설명하는 도면이다.
도 30은, 내삽블록(1), (2) 및 (3)과 외삽블록(4)에 대해 이용할 수 있는 예측모드의 명칭과 모드 인덱스를 나타낸 도면이다.
도 31은, 매크로 블록 예측 신택스의 데이터 구조의 다른 예를 나타낸 도면이다.
도 32는, 예측모드의 도출방법에 대해 나타낸 도면이다.
도 33은, 예측모드를 예측할 때 참조하는 블록 위치에 대해 나타낸 도면이다.
도 34는, 매크로 블록 예측 신택스의 데이터 구조의 다른 예를 나타낸 도면이다.
도 35는, 시퀀스 파라미터 세트 신택스의 데이터 구조의 1예를 나타낸 도면이다.
도 36은, 픽쳐 파라미터 세트 신택스의 데이터 구조의 1예를 나타낸 도면이다.
도 37은, 슬라이스 헤더 신택스의 데이터 구조의 1예를 나타낸 도면이다.
도 38은, 매크로 블록 레이어 신택스의 데이터 구조의 1예를 나타낸 도면이다.
도 39는, 매크로 블록 예측 신택스의 또 다른 예를 나타낸 도면이다.
도 40은, 1실시형태에 따른 화상복호장치를 나타낸 블록도이다.
도 41은, 도 40 중의 예측신호 생성부의 상세를 나타낸 블록도이다.
도 42는, 복호한 인덱스를 예측모드로 역변환하는 식을 설명하는 도면이다.
도 43은, 복호한 인덱스를 예측모드로 역변환하는 테이블을 설명하는 도면이다.
도 44a는, 예측모드를 내삽블록(1)의 예측시에 참조하는 블록 위치를 설명하는 도면이다.
도 44b는, 예측모드를 내삽블록(2)의 예측시에 참조하는 블록 위치를 설명하는 도면이다.
도 44c는, 예측모드를 내삽블록(3)의 예측시에 참조하는 블록 위치를 설명하는 도면이다.
도 44d는, 예측모드를 외삽블록(4)의 예측시에 참조하는 블록 위치를 설명하는 도면이다.
이하, 도면을 참조해서 본 발명의 실시형태를 설명한다.
< 화상부호화장치에 대해 >
도 1에 도시되어 있듯이, 본 발명의 1실시예에 따른 화상부호화장치에서는, 동화상 또는 정지화상의 입력 화상신호(120)가 화상 부호화부(100)에 입력된다. 화상 부호화부(100)는 프레임 분할부(101), 예측부(102), 모드 선택부(103), 직교변환/양자화부(104), 역양자화/역직교변환부(105), 가산기(加算器; 106), 참조화상 메모리(107) 및 엔트로피(entropy) 부호화부(108)를 구비한다.
부호화 제어부(110)는, 화상 부호화부(100)의 부호화처리 전반을 제어하기 위해 부호화 제어 정보(140)를 화상 부호화부(100)에 부여하고, 또 화상 부호화부(100)로부터 피드백 정보(150)를 적절히 수취한다. 부호화 제어 정보(140)에는, 뒤에 설명하는 예측모드 인덱스 정보, 블록 사이즈 스위칭 정보, 예측순서 스위칭 정보, 예측모드수 스위칭 정보, 및 양자화 파라미터 정보 등이 포함된다. 양자화 파라미터 정보는, 양자화 폭(양자화 단계 사이즈) 및 양자화 매트릭스 등의 정보를 포함한다. 피드백 정보(150)에는, 양자화 파라미터의 결정에 필요한, 화상 부호화부(100)에서의 발생 부호량 정보가 포함된다.
화상 부호화부(100) 내에서는, 입력 동화상신호(120)가 프레임 분할부(101)에 입력된다. 프레임 분할부(101)에서는, 입력 화상신호(120)의 부호화 대상 프레임이 복수의 화소블록으로 분할됨으로써, 블록 화상신호(121)가 생성된다. 예컨대, 도 2a의 부호화 대상 프레임이 도 2b와 같은 16 x 16 화소/블록 사이즈의 복수 블록으로 분할된다. 도 2b의 블록은 매크로 블록으로 불려지고, 이것이 부호화의 기본적인 처리 단위로 된다. 즉, 부호화는 매크로 블록 단위로 실행된다.
프레임 분할부(101)에서 출력되는 블록 화상신호(121)는, 먼저 예측부(102)에 의해 프레임 내 예측(豫測)이 실시된다. 프레임 내 예측은, 이미 알려져 있듯이 프레임 내에 갇힌 예측을 실행하는 방식이다. 예측부(102)는, 부호화가 끝난 화소를 참조화소로 이용해서 부호화 대상 블록을 예측함으로써 매크로 블록 단위의 예측신호(122)를 생성한다.
예측부(102)에서는, 프레임 내 예측을 위한 복수의 예측모드가 준비되어 있어서, 선택 가능한 전체의 예측모드에 따라 예측을 실행한다. 예측부(102)는, H. 264의 인트라(intra) 예측, 즉 도 3a의 8 x 8 화소 예측, 도 3b의 4 x 4 화소 예측, 또는 도 3c의 8 x 8/ 4 x 4 화소 예측(매크로 블록 내에서, 8 x 8 화소 예측과 4 x 4 화소 예측이 혼재한다)을 실행하는 예측모드를 갖고 있어도 좋다. 이와 같은 H. 264의 인트라 예측에서는, 매크로 블록 내에서 국부복호화상(局部復號畵像)을 작성하지 않으면 다음의 예측을 실행할 수가 없다. 이 경우는, 예측부(102)의 내부에서 직교변환/양자화(量子化), 역양자화/역직교변환을 실행하여도 좋다.
8 x 8 화소 예측 및 4 x 4 화소 예측에서는, 각각 매크로 블록을 8 x 8 화소블록 및 4 x 4 화소블록의 서브블록으로 분할한다. 여기서, 예측모드는 서브블록의 예측신호를 생성할 때의 부호화가 끝난 화소의 참조방법을 규정한다. 서브블록의 형상(사이즈를 포함한다)은 특히 한정되지 않고, 예컨대 16 x 8 화소, 8 x 16 화소, 8 x 4 화소, 4 x 8 화소로 한 형상이어도 좋다. 따라서, 8 x 4 화소 예측이나 2 x 2 화소 예측도 마찬가지 구조로 실현할 수가 있다.
서브블록의 블록 사이즈를 작게 하면, 즉 매크로 블록의 분할수(分割數)가 증가하면, 뒤에 설명하는 블록 사이즈 스위칭 정보를 부호화할 때의 부호량(符號量)이 증가하지만, 한층 더 예측 효율이 높은 프레임 내 예측이 가능하게 되기 때문에, 예측잔차(豫測殘差)가 삭감된다. 따라서, 뒤에 설명하는 변환계수 정보의 부호량과 국소복호신호의 밸런스를 고려해서, 블록 사이즈를 선택하면 좋다. 또, 영역 분할기법으로 생성된 임의 형상의 화소영역에 대해, 마찬가지 처리를 실행하여 도 좋다.
예측부(102)에서는, 예측신호(122)와 블록 화상신호(121)로부터 예측신호(122)를 뺀 예측잔차신호(123)가 생성된다. 예측잔차신호(123)는, 직교변환/양자화부(104)와 모드 선택부(103)에 입력된다. 직교변환/양자화부(104)에서는, 예측잔차신호(123)에 대해 직교변환이 실시되고, 또 직교변환에 의해 얻어지는 변환계수가 양자화(量子化)됨으로써, 양자화 변환계수 정보(127)가 생성된다.
직교변환/양자화부(104)에서의 처리 단위인 변환/양자화 블록의 형상에 관해서도, 8 x 8 화소, 4 x 4 화소, 16 x 8 화소, 8 x 16 화소, 8 x 4 화소, 4 x 8 화소로 된 형상을 선택할 수 있다. 또는 변환/양자화 블록의 형상을 1개의 매크로 블록 내에서 다르게 해서, 예컨대 도 3c에 나타나 있듯이 매크로 블록 내에 8 x 8 화소블록과 4 X 4 화소블록이 혼재하도록 하여도 좋다.
모드 선택부(103)에서는, 예측잔차신호(123)와 예측부(102)를 거쳐 입력되는 예측모드 인덱스 정보, 블록 사이즈 스위칭 정보, 예측순서 스위칭 정보 및 예측모드수 스위칭 정보라고 하는 예측모드에 관한 정보(이후, 예측모드 인덱스 정보, 블록 사이즈 스위칭 정보, 예측순서 스위칭 정보 및 예측모드수 스위칭 정보를, 예측모드 정보로 총칭한다; 124)를 기초로 해서 부호화 코스트를 산출하고, 거기에 기초하여 최적의 예측모드를 선택한다.
보다 구체적으로는, 모드 선택부(103)는 예컨대 예측모드 정보(124)를 OH, 예측잔차신호의 절대치의 합(sum of absolute value)를 SAD로 하면, 다음 식에 의해 산출되는 부호화 코스트(K)의 최소치를 부여하는 예측모드를 최적 모드로 선택 한다.
Figure 112009004379141-pct00001
여기서, λ는 정수이며, 양자화 파라미터의 값에 근거하여 결정된다.
모드 선택부(103)에 있어서의 코스트 계산의 다른 예로서, 예측모드 정보(OH)만, 또는 예측잔차신호의 절대치의 합(SAD)만을 이용하여도 좋다. 예측모드 정보 또는 예측잔차신호를 아다말(Hadamard) 변환하거나, 근사하게 한 값을 이용하여도 좋다. 양자화 폭, 양자화 파라미터를 이용해서 코스트 함수를 작성하여도 좋다.
코스트 계산의 또 다른 예로서, 가부호화부(假符號化部)를 준비하고서, 각 예측모드에서 생성된 예측잔차신호(123)를 실제로 부호화한 경우의 부호량과, 부호화 데이터를 국부복호화해서 얻어지는 복호화상신호(130)와 블록 화상신호(121) 사이의 제곱 오차를 이용하여도 좋다. 이 경우, 다음 식에 의해 산출되는 부호화 코스트(J)의 최소치를 부여하는 예측모드를 최적 모드로 선택한다.
Figure 112009004379141-pct00002
여기서, D는 블록 화상신호(121)와 복호화상신호(130) 사이의 제곱 오차를 나타내는 부호화 왜곡이다. 한편, R은 가부호화에 의해 견적된 부호량을 나타내고 있다.
수학식 2의 부호화 코스트 J를 이용한 경우, 예측모드마다 가부호화와 국부 복호(역양자화나 역직교변환)를 필요로 하기 때문에, 처리량 또는 회로 규모가 증대한다. 그러나, J는 정확한 부호량과 부호화 왜곡을 반영하기 때문에, 보다 최적의 예측모드를 선택할 수 있게 한다. 이 결과, 보다 높은 부호화 효율을 얻을 수가 있다. 수학식 2에서는, 부호화 코트스 J의 계산에 부호화 왜곡 D 및 부호량 R을 이용하고 있지만, D 및 R의 어느 한쪽 만을 이용해서 부호화 코스트를 산출하여도 좋다. 또, D 및 R을 근사한 값을 이용해서 코스트 함수를 작성하여도 좋다.
모드 선택부(103)로부터는, 선택한 예측모드를 나타내는 최적 예측모드 정보(125)와, 선택한 예측모드에 대응하는 예측신호(126)가 출력된다. 최적 예측모드 정보(125)는, 예측부(102)로부터의 예측잔차신호(123)와 함께 직교변환/양자화부(104)에 입력된다. 직교변환/양자화부(104)는, 최적 예측모드 정보(125)를 참조해서 예측잔차신호(123)에 직교변환, 예컨대 이산(離散) 코사인 변환(DCT)을 실시한다. 직교변환으로는, 이 외에 웨이브릿(wavelet) 변환이나 독립성분 해석 등을 이용하여도 좋다. 직교변환/양자화부(104)에 있어서, 직교변환에 의해 얻어지는 변환계수는 양자화 되어, 양자화 변환계수 정보(127)가 생성된다. 여기서, 직교변환/양자화부(104)에 있어서 양자화에 필요로 하는 양자화 폭 등의 양자화 파라미터는, 부호화 제어부(110)로부터의 부호화 제어 정보(140)에 포함되는 상기 양자화 파라미터 정보에 의해 지시된다.
양자화 변환계수 정보(127)는, 부호화 제어 정보(140)에 포함되는 예측모드 인덱스 정보(141), 블록 사이즈 스위칭 정보(142), 예측순서 스위칭 정보(143), 예 측모드수 스위칭 정보(144) 및 양자화 파라미터 등의 예측에 관한 정보와 함께 엔트로피 부호화부(108)에 입력된다. 엔트로피 부호화부(108)는, 양자화 변환계수 정보(127) 및 예측에 관한 정보에 대해 예컨대 허프만 부호화, 골룸 부호화 또는 산술(算術) 부호화와 같은 엔트로피 부호화를 실시하여, 부호화 데이터(146)를 생성한다. 부호화 데이터(146)는 다중화부(多重化部; 111)에 의해 다중화되고, 또 출력 버퍼(112)를 통해 부호화 비트 스트림(147)으로서 출력된다.
양자화 변환계수 정보(127)는, 역양자화/역직교변환부(105)에도 입력된다. 역양자화/역직교변환부(105)는, 양자화 변환계수 정보(127)를 부호화 제어부(110)로부터의 양자화 파라미터 정보에 따라 역양자화하고, 역양자화에 의해 얻어진 변환계수에 대해 예컨대 역이산(逆離散) 코사인 변환(IDCT)과 같은 역직교변환을 실시함으로써, 예측부(102)로부터 출력되는 예측잔차신호(123)와 등가(等價)인 예측잔차신호(128)를 생성한다.
역양자화/역직교변환부(105)에 의해 생성된 예측잔차신호(128)는, 가산기(106)에 있어서 모드 선택부(103)로부터의 예측신호(126)와 가산됨으로써, 국부복호신호(129)가 생성된다. 국부복호신호(129)는, 참조화상 메모리(106)에 축적 된다. 참조화상 메모리(107)에 축적된 국부복호신호는 참조화상 신호(130)로서 독출되어, 예측부(102)에 의한 예측잔차신호(123)의 생성시에 참조된다.
부호화 루프(도 1에 있어서의 예측부(102)→직교변환/양자화부(104)→역양자화/역직교변환부(105)→참조화상 메모리(130)→예측부(102))는, 부호화 대상 블록에서 선택할 수 있는 전체 예측모드에 대한 처리가 종료되면 일순(一巡)하게 된다. 어떤 부호화 대상 매크로 블록에 대해 부호화 루프의 처리가 종료되면, 다음의 부호화 대상 블록의 블록 화상신호(121)가 예측부(101)에 입력되어, 다시 부호화가 실행된다.
부호화 제어부(110)는, 발생 부호량의 피드백 제어나 양자화 파라미터 제어에 의한 레이트 제어, 부호화 모드 제어 및 예측부의 제어 등 부호화 전체의 제어를 실행한다. 도 1의 화상부호화장치는, LSI 칩 등의 하드웨어에 의해 실현되거나, 또는 컴퓨터에 있어서 화상 부호화 프로그램의 실행에 의해 실현된다.
< 예측부(102)에 대해 >
다음에는, 도 4를 이용해서 예측부(102)에 대해 설명한다. 예측부(102)는, 예측신호를 생성하는 예측신호 생성부(113)를 갖고, 또 매크로 블록을 분할한 복수의 소화소(小畵素) 블록(서브블록이라 한다) 단위의 예측을 실행하기 위해, 내부 모드 선택부(114), 내부 직교변환/양자화부(115), 내부 역양자화/역직교변환부(116) 및 내부 참조화상 메모리(118)를 구비한다.
예측부(102)에 블록 화상신호(121)가 입력되면 예측신호 생성부(113)에 의해 뒤에 설명하는 단방향 예측 또는 뒤에 설명하는 쌍방향 예측에 의한 예측신호(122)가 생성된다. 이때, 예측 생성부(113)에는 부호화 제어부(110)로부터 예측모드 인덱스 정보(141), 블록 사이즈 스위칭 정보(142), 예측순서 스위칭 정보(143) 및 예측모드 스위칭 정보(144)를 포함한 예측모드 정보가 전달된다. 부호화 제어부(110)는 예측 생성부(113)에 복수의 예측모드를 전달해서, 예측신호 생성부(113)에 복수의 예측모드 각각에 의한 예측을 실행시킨다. 예측신호 생성부(113)는, 각각의 예 측모드에 의한 예측신호(122)에 더해, 예측신호(122)에 대응하는 예측모드 정보(161)를 생성한다.
감산기(減算器; 119)는, 블록 화상신호(121)로부터 예측신호(114)를 빼서 예측잔차신호(123)를 생성한다. 내부 모드 선택부(114)는, 예측신호 생성부(113)를 거쳐 전달되어 오는 예측모드 정보(161; 예측모드 인덱스 정보(141), 블록 사이즈 스위칭 정보(142), 예측순서 스위칭 정보(143) 및 예측모드 스위칭 정보(144)를 포함한다)와 예측잔차신호(123)를 기초로 해서 예측모드의 선택을 실행하여, 선택한 예측모드를 나타내는 예측모드 정보(124)를 출력한다.
예측 오차 신호(123)와 내부 모드 선택부(114)로부터 출력되는 예측모드 정보(124)는, 내부 직교변환/양자화부(115)에 입력된다. 내부 직교변환/양자화부(115)에서는, 예측모드 정보(124)를 참조해서 예측잔차신호(123)에 직교변환, 예컨대 DCT를 실시한다. 직교변환으로는, 이 외에 웨이브렛 변환이나 독립성분 해석 등을 이용하여도 좋다. 내부 직교변환/양자화부(115)에 있어서, 직교변환에 의해 얻어지는 변환계수는 양자화되어, 양자화 변환계수 정보(163)가 생성된다. 여기서, 직교변환/양자화부(115)에 있어서 양자화에 필요로 하는 양자화 폭 등의 양자화 파라미터는, 부호화 제어부(110)로부터의 부호화 제어 정보(140)에 포함되는 상기 양자화 파라미터 정보에 의해 지시된다.
양자화 변환계수 정보(163)는, 내부 역양자화/역직교변환부(116)에 입력된다. 내부 역양자화/역직교변환부(116)는, 양자화 변환계수 정보(163)를 부호화 제어부(110)로부터의 양자화 파라미터 정보에 따라 역양자화하고, 역양자화에 의해 얻어진 변환계수에 대해 예컨대 IDCT와 같은 역직교변환을 실시함으로써, 예측잔차신호(123)와 등가인 예측잔차신호(164)를 생성한다.
내부 역양자화/역직교변환부(116)에 의해 생성된 예측잔차신호(164)는, 가산기(117)에 있어서 내부 모드 선택부(114)로부터의 예측신호(162)와 가산되게 됨으로써, 내부 복호 신호(165)가 생성된다. 내부 복호 신호(165)는, 내부 참조화상 메모리(118)에 축적된다.
내부 참조화상 메모리(118)에 축적된 국부복호신호는 내부 참조화상 신호(166)로서 독출되어, 예측신호 생성부(113)에 의한 예측잔차신호가 생성될 때 참조된다. 예측부(102)에 있어서 전체 서브블록에서의 예측이 완료되면, 매크로 블록에 대응하는, 예측신호(122), 예측잔차신호(123) 및 예측모드 정보(124)가 예측부(102)의 외부로 출력된다.
< 예측신호 생성부(113)에 대해 >
다음에는, 도 5를 이용해서 예측신호 생성부(113)에 대해 설명한다. 도 5는, 예측신호 생성부(113) 중 예측신호(122)의 생성에 관련되는 부분만을 나타내고 있다. 도 5에 있어서, 예측순서 스위칭부(170)는 블록 화상신호(121)에 대해 예측순서 스위칭 정보(143)에 기초하여 매크로 블록 중의 서브블록의 예측순서를 스위칭한다. 즉, 예측순서 스위칭부(170)는 화소블록(매크로 블록)을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택한다. 예측순서 스위칭부(170)에 의해 예측순서가 스위칭된 블록 화상신호는, 단방향 예측부(171) 및 쌍방향 예측부(172)에 입력된다.
단방향 예측부(171) 및 쌍방향 예측부(172)는, 매크로 블록에 대응하는 예측신호를 생성하기 위해, 예측순서 스위칭부(170)에 의해 스위칭되어 선택된 예측순서와, 각각에 의해 선택된 예측모드에 따라 부호화가 끝난 화소를 참조해서 매크로 블록을 예측한다.
즉, 단방향 예측부(171)는, 예측모드 인덱스 정보(141)에 기초하여, 준비된 복수의 예측모드 중 1개의 예측모드를 선택한다. 단방향 예측부(171)는, 이렇게 해서 선택한 예측모드 및 블록 사이즈 스위칭 정보(142)에 따라, 참조화상 신호(166)를 참조해서 예측신호를 생성한다. 쌍방향 예측부(172)는, 예측모드 인덱스 정보(141)에 기초하여, 상기 준비된 복수의 예측모드 중 2개의 예측모드를 선택한다. 쌍방향 예측부(172)는, 이렇게 해서 선택한 2개의 예측모드 및 블록 사이즈 스위칭 정보(142)에 따라, 참조화상 신호(166)를 참조해서 예측신호를 생성한다. 단방향 예측부(171) 및 쌍방향 예측부(172)로부터 출력되는 예측신호는, 예측모드수 스위칭부(173)에 입력된다.
예측모드수 스위칭부(173)는, 예측모드수 스위칭 정보(144)에 따라 제어됨으로써, 단방향 예측부(171)에 의해 생성된 예측신호 및 쌍방향 예측부(172)에 의해 생성된 예측신호 중 어느 것을 선택해서, 선택한 예측신호(122)를 출력한다. 바꿔 말해, 예측모드수 스위칭부(173)는 미리 정해진 복수의 예측모드 중에서 사용할 수 있는 예측모드의 수를 선택한다.
다음에는, 도 6a ~ 도 6d, 도 7a~ 도 7d 및 도 8을 이용해서 예측순서 스위칭부(170)의 동작을 설명한다. 도 6a는, 8 x 8 화소 예측에 있어서의 매크로 블록 내의 서브블록(8 x 8 화소블록)의 기준으로 되는 인덱스 : blk를 나타내고 있다. 마찬가지로 도 7a는, 4 x 4 화소 예측에 있어서의 매크로 블록 내의 서브블록(4 x 4 화소블록)의 인덱스 : blk를 나타내고 있다. 도 6a에서는, 매크로 블록을 4분할한 8 x 8 화소블록에 대해 순차예측 및 부호화처리를 실행하도록 순번(順番)을 붙이도록 되어 있다. 도 7a에서는, 매크로 블록을 4분할한 8 x 8 화소블록을 고려해서, 당해 8 x 8 화소블록 내를 다시 4분할한 4 x 4 화소블록에 대해 순차예측 및 부호화처리를 실행하도록 순번을 붙이도록 되어 있다.
예측순서 스위칭부(170)는 예측순서 스위칭 정보(143)에 의해 제어되어, 예측순서 스위칭 정보(143)을 나타내는 후술되는 플래그 : block_order_flag의 값에 의해 상기 기준으로 되는 인덱스 : blk를 변환함으로써 서브블록의 예측순서를 스위칭한다. 서브블록의 순번 : idx에 대해, 실제의 부호화시의 서브블록의 인덱스 : order(예측순서를 나타낸다)는, 다음 식으로 주어진다.
Figure 112009004379141-pct00003
도 8은, blkConv[][]의 구체적인 변환 테이블의 예를 나타내고 있다. 플래그(flag) : block_order_f1ag이 0(FALSE)인 경우, 실제로 예측 부호화를 실행할 때의 서브블록의 인덱스 : order는 부호화 대상의 서브블록의 인덱스 : idx 그것으로서, 블록의 예측 및 예측순서를 변경하지 않는다(이후, 이와 같은 예측순서에 의한 예측을 순차예측이라 한다).
도 6b 및 도 7b는, 각각 도 6a 및 도 7a에 대한 순차예측에 의한 예측순서를 나타내고 있다. 즉, 도 6b에서는 예측순서는 인덱스 : idx에 따른 순서(0 → 1 → 2 → 3)로 설정된다. 마찬가지로 도 7b에 있어서도, 예측순서는 인덱스 : idx에 따른 순서(0 → 1 → 2 → ··· → 14 → 15)로 설정된다.
한편, 플래그 : block_order_flag이 1(TRUE)인 경우, 실제로 예측 부호화를 실행하는 서브블록의 인덱스 : order는, 4개의 서브블록 중 먼저 대각(對角)의 1블록을 외삽(外揷)에 의해 예측하고, 나머지 3블록을 외삽 또는 내삽에 의해 예측한다고 하는 예측순서를 나타낸다. 이후, 이와 같은 예측순서에 의한 예측을 외삽/내삽 예측이라 한다.
도 6c 및 도 7c는, 각각 도 6a 및 도 7a에 대한 외삽/내삽 예측에 의한 예측순서 변경예를 나타내고 있다. 도 6c에서는, 최초로 idx = 3의 서브블록을 외삽에 의해 예측하고, 다음에 idx = 1 및 idx = 2의 서브블록을 예측하고, 최후로 idx = 3의 서브블록에 대해 대각의 위치에 있는 idx = 0의 서브블록을 외삽에 의해 예측한다. 도 7c에서는, 8 x 8 화소블록 내를 4분할한 4 x 4 화소의 4개의 서브블록마다, 도 6c와 마찬가지로 예측순서를 설정하도록 되어 있다.
또 다른 예로서, 서브블록의 예측순서를 매크로 블록 내의 화소의 상관(相關) 등의 성질에 따라, 예컨대 도 6d 및 도 7d와 같이 임의로 설정하여도 좋다.
앞에서 설명한 바와 같이 해서 예측순서 스위칭부(170)에 의해 예측순서가 스위칭되어진 서브블록은, 단방향 예측부(171) 또는 쌍방향 예측부(172)에 입력됨으로써, 각 서브블록에 대응하는 예측신호가 생성된다. 모드수 스위칭 스위치(173) 는, 예측모드수 스위칭 정보(144)가 예측모드수 "1"을 나타내고 있을 때는 단방향 예측부(171)에 의해 얻어지는 예측신호를 출력하고, 예측모드수 스위칭 정보(144)가 예측모드수 "2"를 나타내고 있을 때는 쌍방향 예측부(172)에 의해 얻어지는 예측신호를 출력한다. 모드수 스위칭 스위치(173)로부터 출력되는 예측신호는, 예측신호 생성부(113)의 출력(122)으로서 취출된다.
다음에, 플래그 : block_order_flag에 의해 설정되는 예측순서에 대응되는 단방향 예측부(171) 및 쌍방향 예측부(172)의 처리에 대해 설명한다. 앞에서 설명하였듯이, 단방향 예측부(171) 및 쌍방향 예측부(172)는, 도 4 중에 도시된 내부 참조화상 메모리(118)에 보유지지되어 있는 이미 복호가 끝난 화소를 참조화상 신호(166)로 이용해서 부호화 대상의 서브블록의 예측을 실행한다.
(순차 블록 예측에서의 단방향 예측부(171)의 처리)
단방향 예측부(171)에 있어서의 순차 블록 예측의 예측모드로는, 예컨대 모드 0에서부터 모드 8까지 9개가 존재한다. 도 9a에 나타나 있듯이, 모드 2를 제외하고 8개의 모드(모드 0, 모드 1, 모드 3 ~ 8)는, 입력 화상신호(100)가 이루는 화상공간 내에 있어서 22.5도 간격으로 쉬프트된 예측방향(부호화가 끝난 화소를 참조하는 방향)을 갖고, 방향 예측모드라 불린다. 모드 2는, 단방향 예측부(171)에서는 DC 예측모드이다. 도 10은, 단방향 예측부(171)에 있어서의 순차 블록 예측의 예측모드 : 모드 0 ~ 8의 명칭을 나타내고 있는바, 각 명칭에 모드 0 ~ 8를 나타내는 모드 인덱스가 붙여져 있다.
도 9b는, 4 x 4 화소 예측에 있어서의 예측화소와 참조화소의 관계를 나타내 고 있다. 도 9b에 있어서 화소 A ~ M은 참조화소이고, 화소 a ~ p는 예측화소이다. 이하, 도 9a, 도 9b, 도 9c 및 도 9d를 이용해서 구체적인 예측방법을 설명한다.
단방향 예측부(171)에서는, 모드 2의 DC 예측이 선택된 경우, 다음 식에 의해 예측화소 a ~ p의 값이 산출됨으로써, 예측신호가 생성된다.
Figure 112009004379141-pct00004
여기서, ave(·)는 () 내에 나타나 있는 참조화소의 화소치(휘도치)의 평균(평균 화소치라 한다)을 나타낸다.
() 내의 참조화소의 일부가 이용될 수 없는 경우는, 이용될 수 있는 참조화소만의 평균 화소치가 산출됨으로써 예측신호가 생성된다. 이용될 수 있는 참조화소가 1개도 존재하지 않는 경우는, 예측신호 생성부(113)에서는 예측신호의 최대 휘도치의 반의 값(8비트이면 128)이 예측신호로 된다.
모드 2 이외의 모드가 선택된 경우, 단방향 예측부(171)는 도 9a에서 나타내는 각 예측방향에 대해, 참조화소를 예측화소에 카피(copy)한다고 하는 예측방법을 이용한다. 구체적으로, 모드 0(수직 예측)이 선택된 경우의 예측신호 생성방법을 다음 식으로 나타낸다.
Figure 112009004379141-pct00005
이 모드 0은, 참조화소 A ~ D를 이용할 수 있을 때만 선택할 수가 있다. 모드 0에서는, 도 9c에 나타나 있듯이 참조화소 A ~ D가 수직방향으로 나열된 예측화소에 그대로 카피됨으로써, 예측신호가 생성된다.
한편, 모드 4(직교 우하 예측)가 선택되었을 때의 예측신호 생성방법을 다음 식으로 나타낸다.
Figure 112009004379141-pct00006
모드 4는 참조화소 A ~ D 및 I ~ M을 이용할 수 있을 때에만 선택할 수 있다. 모드 4에서는, 도 9d에 도시된 것과 같이 3탭의 필터에 의해 생성된 값이 우하(右下) 45도 방향으로 카피됨으로써, 예측신호가 생성된다.
모드 0, 2, 4 이외의 예측모드에 관해서도, 마찬가지 구조이다. 즉, 예측방향에 대해 이용될 수 있는 참조화소를 예측방향으로 나열된 예측화소에 카피한다고 하는 기법에 의해, 예측신호가 생성된다.
(순차 블록 예측에 있어서의 쌍방향 예측부(172)의 처리)
단방향 예측은, 블록 내의 화상에 있어서의 공간적 방향성이 하나라고 하는 전제 하에서 예측신호를 생성한다. 블록 내의 화상에 둘 이상의 공간적 방향성이 있는 경우에는, 이와 같은 전제가 성립되지 않기 때문에, 단방향 예측만으로는 예측잔차 신호가 증대하는 경향으로 된다. 그 때문에, 둘 이상의 공간적 방향성이 있는 경우는, 단방향 예측부(171)에 있어서의 9개의 예측모드(DC 예측도 포함) 중 2개 모드를 쌍방향 예측부(172)에 있어서 동시에 사용함으로써, 복수의 공간적 방향성을 고려한 예측을 실행하여, 예측잔차신호의 증대를 억제한다.
도 11은 쌍방향 예측부(172)에 있어서의 예측모드의 명칭과 대응하는 모드 인덱스를 나타내고 있다. 도 11에서는, 2개 모드를 사용하는 예측모드가 존재하고 있다. 예컨대, 수직 예측(모드 0)과 수평 예측(모드 1)을 사용하는 예측모드의 명칭 및 모드 인덱스를 각각, 「수직/수평 예측」및 「모드 01」로 표기하고 있다. 또, 예컨대 수직 예측(모드 0)과 DC 예측(모드 2)을 사용하는 예측모드의 명칭 및 모드 인덱스를 「수직 /DC 예측」및 「모드 02 」로 표기한다.
예로서, 수직 예측(모드 0)과 수평 예측(모드 1)을 사용한 수직/수평 예측에 의한 예측신호 생성방법을 설명한다. 도 12a는, 4 x 4 화소 예측에 있어서의 수직/수평 예측(모드 01)의 개념을 나타내고 있다. 4 x 4 화소 예측에 있어서의 예측화소와 참조화소의 관계는 도 9b와 마찬가지이다. 예컨대, 예측화소 a에서는 수직 예측에 있어서 참조하는 화소 A와 수평 예측에 있어서 참조하는 화소 I와의 평균 화 소치를 예측신호로 한다. 예측화소 b에서는, 수직 예측에 있어서 참조화소 B와 직교 우하 예측에서의 참조화소 I와의 평균 화소치를 예측신호로 한다. 다른 예측화소에 대해서도, 마찬가지 방법으로 예측신호가 생성된다.
구체적으로, 수직/수평 예측(모드 01)에서는 다음 식을 이용해서 예측화소를 계산한다.
Figure 112009004379141-pct00007
여기서, n은 도 9b에 나타내 있는 예측화소 a ~ p에 대응하는 인덱스이다. X(0, n) 및 X(1, n)는, 각각 단방향 예측인, 수직 예측 및 수평 예측에 의해 생성한 예측신호이다. 예측신호 X(0, n) 및 X(I, n)의 구체적인 생성방법은, 식 (5) 및 식 (6)에 나타난 기법과 마찬가지이기 때문에 설명을 생략한다.
한편, 수직/DC 예측(모드 02)에서는, 다음 식을 이용해서 예측화소를 계산한다.
Figure 112009004379141-pct00008
수직/직교 우하 예측(모드 04)에서는, 다음 식을 이용해서 예측화소를 계산한다.
Figure 112009004379141-pct00009
도 12b는, 모드 04에서의 예측방법의 개념을 나타내고 있다.
모드 01, O2 이외의 복수 방향의 외삽 예측에 대해서도, 마찬가지로 예측화소를 계산할 수가 있다. 이상 설명한 복수 방향의 외삽 예측은, 이하의 일반식으로 나타내어진다.
Figure 112009004379141-pct00010
여기서, X(U, n), X(V, n)는 각각 단방향 예측인 모드 "U" 및 모드"V"이고, X(UV, n)는 복수 방향의 외삽 예측인 모드 "UV"의 예측신호이다.
이와 같이 화소단위로 임의의 2종류의 단방향 예측에 의해 예측화소를 구하고, 이들 예측화소를 평균한 값을 예측신호로 한다. 이에 의해, 블록 내에 있어서 복수의 공간적 방향성이 존재한 경우에 정밀도 높은 예측을 할 수 있어, 부호화 효율의 개선이 가능해진다.
(외삽/내삽블록 예측)
도 6b에서, 설명한 것과 같은 외삽/내삽블록 예측에서는, 매크로 블록 내의 각 서브블록의 순서를 순차 블록 예측으로부터 수학식 3에 따른 예측순서로 변경한다. 예컨대, 8 x 8 화소블록에 대해 예측을 실행하는 경우, 도 13a에 도시된 것과 같이 먼저 외각(外角)의 1블록을 외삽 예측이 가능한 블록(이하, 외삽블록이라 함)으로서 먼저 예측하고, 다음에 다른 3블록을 내삽 예측이 가능한 블록(이하, 내삽블록이라 함)으로서 예측한다. 즉, 먼저 외삽블록(1)을 예측하고, 다음에 내삽블 록(2) (3) 및 (4)를 예측한다. 한편, 4 x 4 화소블록에 대해 예측을 실행하는 경우, 도 13b에 도시된 것과 같이 외삽블록의 예측과 내삽블록의 예측을 8 x 8 화소블록 단위로, 각 4 x 4 화소블록에 대해 실행함으로써 예측순서를 설정한다.
이하, 4 x 4 화소 예측이 선택된 경우에 있어서의 8 x 8 화소블록 단위의 예측처리를 설명한다. 이 예측처리에서는, 8 x 8 화소블록 단위의 예측이 종료되면, 다음의 8 X 8 화소블록에 대해 예측을 실행한다고 하는 식으로 8 x 8 화소블록 단위의 예측을 합계 4회 되풀이한다.
(외삽블록의 예측)
외삽블록을 예측하는 경우, 참조화소와 예측화소의 거리가 떨어지게 되므로, 참조화소의 범위는 도 14a에 도시된 것과 같이 된다. 도 14a에 있어서 화소 A ~ X 및 Z는 참조화소이고, 화소 a ~ p는 예측화소이다. 참조화소의 범위는 넓어졌지만, 예측 각도에 따라 참조화소를 카피함으로써 예측신호를 생성하는 기법에 관해서는, 앞의 순차 블록 예측인 경우와 마찬가지이다.
구체적으로, 외삽블록에 있어서 모드 2의 DC 예측이 선택된 경우, 다음 식에 의해 예측화소 a ~ p가 계산된다.
Figure 112009004379141-pct00011
여기서, ave(·)는 () 내에 나타나 있는 참조화소의 평균 화소치를 나타낸다.
() 내의 참조화소의 일부가 이용될 수 없는 경우는, 이용될 수 있는 참조화소만의 평균 화소치가 산출됨으로써 예측신호가 생성된다. 이용될 수 있는 참조화소가 1개도 존재하지 않는 경우는, 예측신호 생성부(113)에서는 예측신호의 최대 휘도치의 반의 값(8비트라면 128)이 예측신호로 된다.
모드 2 이외의 모드가 선택된 경우, 단방향 예측부(171)는 도 9a로 나타내어지는 각 예측방향에 대해, 참조화소를 예측화소에 카피한다고 하는 예측방법을 이용한다. 구체적으로, 모드 0(수직 예측)이 선택된 경우의 예측신호 생성방법을 다음 식으로 나타낸다.
Figure 112009004379141-pct00012
이 모드 0은, 참조화소 E ~ H를 이용할 수 있을 때만 선택할 수가 있다. 모드 0에서는, 도 15a에 나타나 있듯이 참조화소 E ~ H가 수직방향으로 나열된 예측화소에 그대로 카피됨으로써, 예측신호가 생성된다.
한편, 외삽블록에 있어서 모드 4(직교 우하 예측)가 선택되었을 때의 예측신호 생성방법을 다음 식으로 나타낸다.
Figure 112009004379141-pct00013
이 모드 4는, 참조화소 A ~ D, Q ~ T 및 Z를 이용할 수 있을 때만 선택할 수가 있다. 모드 4에서는, 도 15b에 나타나 있듯이 3탭의 필터에 의해 생성된 값을 우하 45도 방향으로 나열된 예측화소로 함으로써, 예측신호가 생성된다.
모드 0, 2, 4 이외의 예측모드에 관해서도, 거의 마찬가지 구조이다. 즉, 예측방향에 대해 이용될 수 있는 참조화소 또는 당해 참조화소로부터 생성되는 보간치(補間値)를 예측방향으로 나열된 예측화소에 카피한다고 하는 기법에 의해, 예측신호가 생성된다.
(내삽블록 예측)
도 13a 및 도 13b에 있어서, 내삽블록(2)을 예측할 때에는, 이미 외삽블록(4)의 예측이 종료되어 있기 때문에, 외삽블록(4)의 화소를 참조하는 예측이 가능하다. 내삽블록(3)을 예측할 때에는, 외삽블록(4)에 더해 내삽블록(2)의 화소를 참조하는 예측이 가능하다. 외삽블록(1)을 예측할 때에는, 외삽블록(4) 및 내삽블록(2)에 더해, 내삽블록(3)의 화소를 참조하는 예측이 가능하다.
도 14b, 도 14c 및 도 14d에, 4 x 4 화소 예측에 있어서의 내삽블록(1) (2) 및 (3)과 참조화소와의 관계가 나타내어져 있다. 화소 RA ~ RI는 도 14a에 대해 새롭게 추가된 참조화소이고, 화소 a ~ p는 예측화소이다.
(내삽블록 예측에 있어서의 단방향 예측부(171)의 처리)
단방향 예측부(171)는, 도 16에 나타나 있듯이 내삽블록 예측에 대해 외삽블록에 있어서의 방향 예측 및 부호화가 끝난 매크로 블록 내의 참조화소를 참조하는 역방향의 외삽 예측의 합계 17개의 모드를 갖고 있고, 모드 2를 제외하고 17개 모드는 22.5도씩 시프트된 예측방향을 갖는다.
도 17은, 단방향 예측부(171)에 있어서의 내삽블록 예측에서 실행되는 단방향 예측의 예측모드 00 ~ 16의 명칭을 나타내고 있는바, 각 명칭에 모드 0 ~ 16을 나타내는 모드 인덱스 00~16이 붙여져 있다. 도 17에서는, 도 10에 나타난 외삽블록 예측(순차 블록 예측)의 예측모드에 대해, 역방향의 예측모드가 추가 되어 있다.
즉, 수직 예측, 수평 예측, DC 예측, 직교 좌하 예측, 직교 우하 예측, 수직 우 예측, 수평 하 예측, 수직 좌 예측 및 수평 상 예측의 각 모드는, 도 10과 도 17에서 공통이다. 한편, 도 17에서는 도 10에 나타나 있는 모드에 더해, 역방향 수직 예측(모드 9), 역방향 수평 예측(모드 10), 직교 우상 예측(모드 11), 직교 좌상 예측(모드 12), 역방향 수직 좌 예측(모드 13), 역방향 수평 상 예측(모드 14), 역방향 수직 우 예측(모드 15) 및 역방향 수평 하 예측(모드 16)이 추가되어 있다.
예측모드는, 도 13a 및 도 13b에 나타나 있듯이, 내삽블록에 대한 참조화소 의 위치관계 및 참조화소의 유무에 따라 선택 가능 여부가 결정된다. 예컨대, 내삽블록(1)에서는, 좌우 상하방향 전체에 참조화소가 배치되어 있기 때문에, 도 18a에 나타나 있듯이 전체의 모드 0 ~ 16을 선택할 수가 없다. 내삽블록(2)에서는, 오른쪽에 참조화소가 배치되어 있지 않기 때문에, 도 18b에 나타나 있듯이 모드 10, 모드 14 및 모드 16을 선택할 수가 없다. 내삽블록(3)에서는, 아래쪽에 참조화소가 배치되어 있지 않기 때문에, 도 18c에 나타나 있듯이 모드 9, 모드 13 및 모드 15를 선택할 수가 없게 된다.
이하, 내삽블록 예측에서의 단방향 예측부(171)의 예측신호 생성방법에 대해 설명한다. 단방향 예측부(171)에서는, 모드 2의 DC 예측이 선택된 경우, 상하좌우 각각의 최근방의 참조화소의 평균 화소치를 계산함으로써, 예측신호를 생성한다.
구체적으로는, 내삽블록(1)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00014
내삽블록(2)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00015
내삽블록(3)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00016
여기서, 식 (14), (15) 및 (16)에 있어서, ave(·)는 () 내에 나타내는 참조화소의 평균 화소치를 나타낸다.
() 내의 참조화소의 일부가 이용될 수 없는 경우는, 이용될 수 있는 참조화소만의 평균 화소치가 산출됨으로써 예측신호가 생성된다.
모드 2 이외의 모드가 선택된 경우, 단방향 예측부(171)는 도 16에서 나타내어지는 각 예측방향에 대해, 참조화소를 예측화소에 카피한다고 하는 예측방법을 이용한다. 모드 0 ~ 모드 8에 대한 예측화소의 산출은, 앞에서 설명한 외삽블록과 마찬가지 예측 각도로 예측을 실행하기 때문에, 설명을 생략한다.
모드 9 ~ 모드 16에 대해서는, 부호화가 끝난 외삽블록 (4)의 화소 또는 예측순서에 따라, 매크로 블록 내에 배치되는 부호화가 끝난 블록을 참조한다. 구체적으로는, 모드 9(역방향 수직 예측)가 선택된 경우는, 아래쪽 방향으로 최근방에 위치하는 참조화소로부터 예측신호를 생성한다. 내삽블록(1) 및 내삽블록(2)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00017
도 19a 및 도 19b는, 모드 9에 의한 내삽블록(1) 및 내삽블록(2)에 대한 예측신호의 생성방법을 나타내고 있다. 참조화소 RA ~ RD가 수직방향으로 나열된 예측화소에 그대로 카피됨으로써, 예측신호가 생성된다. 내삽블록(3)에 대해서는, 아래 방향으로 참조화소가 존재하지 않기 때문에 모드 9를 이용할 수가 없다.
한편, 모드 10(역방향 수평 예측)이 선택된 경우에는, 오른쪽 방향으로 최근방에 위치하는 참조화소로부터 예측신호를 생성한다. 내삽블록(1) 및 내삽블록(3)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00018
도 20a 및 도 20b는, 모드 10에 의한 내삽블록(1) 및 내삽블록(3)에 대한 예측신호의 생성방법을 나타내고 있다. 참조화소 RE ~ RH가 수평방향으로 나열된 예측화소에 그대로 카피됨으로써, 예측신호가 생성된다. 내삽블록(2)에 대해서는, 오 른쪽 방향으로 참조화소가 존재하지 않기 때문에, 모드 10을 이용할 수는 없다.
그리고, 모드 12(직교 좌상 예측)가 선택된 경우, 내삽블록(1)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00019
내삽블록(2)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00020
내삽블록(3)에 대해서는, 다음 식에 따라 예측신호가 계산된다.
Figure 112009004379141-pct00021
도 21a, 도 21b 및 도 21c는, 모드 12에 의한 내삽블록 (1), 내삽블록 (2) 및 내삽블록 (3)에 대한 예측신호의 생성방법을 나타내고 있다. 3탭의 필터에 의해 생성된 값이 좌상 45도 방향으로 카피됨으로써, 예측신호가 생성된다.
앞에서 설명한 모드 2, 9 및 11 이외의 예측모드(모드 12 ~ 16)에 대해서도, 도 18a, 도 18b, 도 18c 및 도 18d로 나타내어지는 예측방향에 대해, 참조 가능하고 또한 최근방의 화소로부터 보간된 예측신호를 카피하는 예측방법을 이용한다. 예측방향에 대해 참조화소가 배치되어 있지 않은 경우는, 최근방의 참조화소의 값을 카피해서 참조화소를 생성시켜 이용하여도 좋고, 또는 복수의 참조화소의 내삽 보간으로부터 가상적인 참조화소를 생성하여, 당해 가상적인 참조화소를 예측에 이용하여도 좋다.
(내삽블록 예측에 있어서의 쌍방향 예측부(172)의 처리)
쌍방향 예측부(172)는, 내삽블록 예측에 있어서 단방향 예측부(171)에서 행해지는 내삽블록 예측의 17개의 예측모드(DC 예측도 포함함) 중 2개의 모드를 동시에 사용함으로써, 복수의 방향성을 포함한 예측을 실행한다. 구체적인 예측신호 생성 법은, 식 (10)과 마찬가지이다. 즉, 선택한 2개의 모드(식 10에서는 모드 "U" 및 모드 "V")에 의한 예측신호를 화소단위로 평균한 값을 예측화소의 예측신호로 한다.
도 22는, 쌍방향 예측부(172)에 있어서 내삽블록 예측에서 행해지는 예측모드의 명칭과 대응하는 모드 인덱스를 나타내고 있다. 도 22에 있어서는, 2개의 모드를 사용하는 예측모드가 존재하고 있다. 예컨대, 수직 예측(모드 0)과 역방향 수평 예측(모드 10)을 사용하는 경우의 예측모드의 명칭 및 모드 인덱스를 「수직·역방향 수평 예측」 및 「모드 0010」으로 표기하고 있다. 각 예측모드의 번호가 1자리수인 경우는 선두에 0을 가해 2자리수로 표기한다. 모드 0과 모드 00은 같은 의미를 갖는다.
이와 같이, 내삽블록의 쌍방향 예측은, 예측모드의 방향이 완전히 정면으로 맞서는 단순한 내삽 예측만은 아니고, 당해 블록의 근소한 방향성의 변화, 또는 복잡성에 대응한 내삽 예측을 실행할 수가 있게 된다. 따라서, 예측잔차신호가 줄여지는 효과가 얻어진다.
(화상 부호화의 처리 순서)
도 23을 참조해서 화상 부호화부(100)의 처리 순서를 설명한다. 화상 부호화부(100)에 1프레임 분의 입력 화상신호(120)가 입력되면(단계 S101), 프레임 분할부(101)에 의해 입력 화상신호(120)의 부호화 대상 프레임이 복수의 화소블록(매크로 블록)으로 분할되어, 블록 화상신호(121)가 생성된다. 블록 화상신호(121)에 대해 부호화가 개시된다(단계 S102). 블록 화상신호(121)는, 예측부(102)에 입력된다.
예측부(102)에서는, 먼저 예측순서 스위칭 정보(143)에 근거하여 서브블록의 예측순서의 변경 여부를 판단한다(단계 S103). 예측순서를 변경하지 않는 경우(S103의 결과가 NO), block_order_flag이 FALSE이고, 예측순서 스위칭부(170)는 수학식 3에 나타나는 순서에 따라 서브블록을 예측 부호화하는 「순차 블록 예측」을 선택한다.
순차 블록 예측에 있어서는, 예측모드수 스위칭 정보(144)에 의해 서브블록에 대해 단방향 예측을 실행할지 여부를 판단한다(단계 S104). 여기서 단방향 예측을 실행하는 경우(S104의 결과가 YES), 단방향 예측부(171)가 예측을 행하고(단계 S106), 단방향 예측을 실행하지 않은 경우(S104의 결과가 NO), 쌍방향 예측부(172)가 예측을 실행한다(단계 S107).
한편, 예측순서를 변경하는 경우(S103의 결과가 YES), block_order_flag이 TRUE이고, 예측순서 스위칭부(170)는 수학식 3이 나타내는 순서에 따라 서브블록을 예측 부호화하는 「외삽/내삽블록 예측」을 선택한다.
외삽/내삽블록 예측에 있어서는, 예측모드수 스위칭 정보(144)에 의해 서브블록에 대해 단방향 예측을 실행할지 여부를 판단한다(단계 S105). 여기서, 단방향 예측을 실행하는 경우(S105의 결과가 YES)에는, 단방향 예측부(171)가 예측을 실행하고(단계 S108), 단방향 예측을 실행하지 않은 경우(S105의 결과가 NO)에는, 쌍방향 예측부(172)가 예측을 실행한다(단계 S109).
단계 S106, S107, S108 또는 S109의 예측이 종료되면, 매크로 블록 내의 총 코스트 (1) (2) (3) 또는 (4)를 식 (3) 및 식 (4)로부터 산출한다(단계 S111, S112, S113 또는 S114). 단계 S111, S112, S113 또는 S114에 의해 산출된 각 총 코스트의 비교를 실행해서, 예측기법을 결정한다(단계 S115). 이렇게 해서 결정된 예측기법에 의해, 직교변환/양자화부(104) 및 엔트로피 부호화부(108)에 의해 부호화를 실행하여, 부호화 데이터(146)를 출력한다(단계 S116).
이때 양자화 변환계수 정보(127)가 역양자화/역직교변환부(105)에 의해 역양자화 및 역직교변환이 이루어짐으로써, 복호된 예측잔차신호(128)가 생성된다. 복호된 예측잔차신호(128)와 모드 선택부(103)로부터 입력되는 예측신호(126)가 가산기(106)에 의해 가산됨으로써 국부복호신호(129)가 생성된다. 국부복호신호(129)는, 참조화상 메모리(106)에 축적된다.
입력 동화상신호(120)의 1프레임 분의 예측 부호화가 종료되어 있는지 여부를 판정한다(단계 S117). 예측 부호화가 종료되어 있는 경우(S117의 결과가 YES), 다음의 1프레임의 입력 화상신호(120)가 입력되고, 다시 예측 부호화가 이루어진다. 한편, 1프레임의 예측 부호화가 종료되어 있지 않은 경우(S117의 결과가 NO), 단계 S102로 되돌려져 다음의 매크로 블록의 블록 화상신호(121)에 대해 예측 부호화가 이루어지게 된다.
다음에는, 도 24를 이용해서 도 23에 있어서의 단계 Sl04 및 S105의 예측처리의 순서를 설명한다.
예측부(102)에 블록 화상신호(121)가 입력되면, 먼저 예측신호 생성부(113)에 blk = 0으로 나타내어지는 서브블록을 세트한다(단계 S201). 그리고, 모드 선택부(103) 및 내부 모드 선택부(114)에 있어서의 예측모드 및 부호화 코스트의 초기 화를 실행한다(단계 S202). 예컨대, 예측모드 : index를 0에 세트하고, 최소 부호화 코스트 : min_cost를 무한대에 세트한다.
다음, 예측신호 생성부(113)에 의해 blk = 0로 나타내어지는 서브블록에 대해 선택 가능한 1개의 모드에 의해 예측신호(122)를 생성한다(단계 S203). 블록 화상신호(121)와 예측신호(122)와의 차이분을 취해서 예측잔차신호(123)를 생성시켜, 수학식 1 또는 수학식 2에 따라 부호화 코스트를 계산한다(단계 S204).
모드 선택부(103)는, 계산된 부호화 코스트가 최소 부호화 코스트 : min_cost보다 작은지 여부를 판별하여(단계 S205), 작은 경우(S205의 결과가 YES), 계산된 부호화 코스트에서 최소 부호화 코스트를 갱신함과 더불어, 그 때의 예측모드 정보가 최적 예측모드 정보임을 나타내는 best_mode 인덱스로 유지되도록 한다(단계 S206). 계산된 비용이 최소 부호화 코스트 : min_cost보다 큰 경우(S205의 결과가 NO), 모드 인덱스 : index를 증가시키고, 증가(increment) 후의 index가 모드의 최후의 번호(MAX)보다 큰지 여부를 판정한다(단계 S207).
index가 MAX보다도 큰 경우(S207의 결과가 YES), 모드 선택부(103)로부터 최적 예측모드 정보(125) 및 예측잔차신호(126)를 직교변환/양자화부(104)로 건네주어, 직교변환 및 양자화를 실행한다. 직교변환/양자화부(104)에 의해 얻어지는 양자화 변환계수 정보(127)를 엔트로피 부호화부(108)에 의해 예측모드 인덱스 정보(141)와 더불어 엔트로피 부호화한다(단계 S208). 한편, index가 MAX보다도 작은 경우(S207의 결과가 NO), 단계 S203로 되돌려져 다음의 index로 나타내어지는 예측모드의 예측신호(122)를 생성한다.
best_mode에서의 부호화를 실행하면, 내부 직교변환/양자화부(115)에 의해 얻어지는 양자화 변환계수 정보(163)를 내부 역양자화/역직교변환부(116)로 건네주어, 역양자화 및 역변환을 실행한다. 내부 역양자화/역직교변환부(116)에 의해 생성되는, 복호된 예측잔차신호(164)를 내부 모드 선택부(114)로부터 입력되는 best_mode의 예측신호(162)와 내부 가산기(117)에 의해 가산된다. 내부 가산기(117)에 의해 생성되는 내부 복호 신호(165)를 내부 참조화상 메모리(118)에 보존한다(단계 S208).
당해 블록 부호화수 : blk를 증가시키고, 증가 후의 blk의 값이 매크로 블록 내의 소(小)블록의 총수 : BLK_MAX(4 x 4 화소 예측이라면 16, 8 x 8 화소 예측이라면 4)보다도 큰지 여부를 판단한다(단계 S209). 증가 후의 blk의 값이 BLK_MAX보다 큰 경우(S209의 결과가 YES), 당해 매크로 블록 내에서의 예측처리는 종료된다. 한편, 인크리먼트 후의 blk가 BLK_MAX 보다도 작은 경우(S209의 결과가 NO), 단계 S202로 되돌려져 다음의 blk로 나타내어지는 소블록의 예측처리를 실행한다.
이상 설명한 바와 같이, 본 실시예에 의하면 화상의 영역마다의 성질(방향성, 복잡성 및 텍스쳐)에 따라 예측순서의 스위칭 및, 단방향 예측과 쌍방향 예측의 스위칭(예측모드 수의 스위칭)을 적응적(適應的)으로 실행한다. 따라서 예측 효율이 향상되고, 결과적으로 부호화 효율이 향상된다.
본 발명의 1실시예에 따른 화상부호화장치에 있어서는, 이하와 같은 여러 가지 변경이 가능하다.
(a) 1실시예에서는, 4 x 4 화소 예측에 관한 프레임 내 예측에 대해 설명하 였다. 그러나, 8 x 8 화소나 16 x 16 화소 예측에 있어서도, 또는 색차신호(色差信號)에 관해서도, 마찬가지 프레임 내 예측을 실행할 수 있다.
(b) 예측모드 수에 대해서는, 연산 코스트를 억제하기 위해 더 줄여도 좋다. 예측방향에 괸해는, 22.5도 간격에 한하지 않고, 각도 간격을 보다 더 가늘게 설정하여도 좋고, 보다 굵게 설정하여도 좋다.
(c) 1실시예에서는, 프레임 내 예측의 예측모드는 모드 2를 제외하고 방향 예측을 이용하도록 되어 있다. 그러나, 예측모드로서는 방향 예측만 아니라, 평면 예측이나 공1차(共1次) 내삽 예측, 3차 끼움 내삽 예측, 최근방 내삽 예측이라는 내삽 예측을 1개의 예측모드로 설정하여도 좋다.
(d) 1실시형태에서는, 복수의 예측모드로부터 쌍방향 예측모드를 위해 준비한 2개의 모드에서의 평균 화소치를 예측 값으로 하고 있다. 평균 화소치를 계산하는 대신, 1 : 3이나 1 : 4 등의 중첩계수를 이용한 가중평균에 의해 예측 값을 구하여도 좋다. 이 경우, 각 예측모드의 충첩계수는 테이블화되어 있어도 좋다.
또는 최대치 필터, 최소치 필터, 중앙값(median) 필터, 방향 예측의 각도나 사용 예측모드 수에 대응한 중첩계수를 기술(記述)한 중첩테이블을 이용해서 예측화소를 계산하여도 좋다. 복수의 예측모드로부터 3가지 이상의 예측모드를 선택해서 예측치를 생성시켜도 좋다. 복수의 예측모드로부터의 모드의 선택 수나 상기 중첩테이블에 대해서는, 시퀀스마다, 픽쳐마다, 슬라이스마다, 매크로 블록마다, 또는 화소라 하는 단위마다 복수의 후보를 보유해 놓고, 각 단위로 바뀌도록 하여도 좋다.
(d) 1실시예에 있어서는 16 x 16 화소의 매크로 블록마다, 서브블록의 예측순서를 변경할까, 변경하지 않을까 바꿔지도록 하고 있다. 예측순서의 변경의 스위칭은, 32 x 32 화소, 64 x 64 화소, 64 x 32 화소와 같은 다른 화소 사이즈마다 또는 프레임마다 실행하여도 좋다.
(e) 1실시예에 있어서는 매크로 블록 내의 서브블록을 프레임의 좌상 블록으로부터 우하(右下)를 향해 순차로 예측하는 경우에 대해 설명하고 있으나, 예측순서는 이에 한정되지 않고, 예컨대, 우하로부터 좌상을 향해 순차예측을 행하여도 좋고, 프레임의 중앙으로부터 소용돌이 모양으로 순차예측을 실행하여도 좋다. 우상으로부터 좌하를 향해 순차예측을 실행하여도 좋고, 프레임의 주변부로부터 중심부를 향해 순차예측을 실행하여도 좋다.
(f) 1실시예에 있어서는, 예측모드로서 프레임 내 예측만을 설명하였다. 그러나, 프레임 사이의 상관(相關)을 이용해서 예측을 실행하는 프레임 간 예측을 이용하여도 좋다. 복수의 예측모드 후보로부터 적어도 1개의 예측모드를 선택할 때, 프레임 내 예측에 의한 예측모드와, 프레임 간 예측에 의한 예측모드의 어느 한쪽을 선택하여도 좋고, 양쪽을 선택하여도 좋다. 프레임 내 예측에 의한 예측모드와 프레임 간 예측에 의한 예측모드의 양쪽을 선택하면, 참조화소와 예측화소와의 공간적 상관 및 시간적 상관을 병용하는 3차원 예측이 실현된다.
(g) 1실시예에 이용되는 프레임 내 예측을 프레임 간 부호화 슬라이스 중에서 실행하여도 좋다. 이 경우, 프레임 내 예측과 프레임 간 예측의 스위칭은, 매크로 블록 단위일 필요는 없고, 8 x 8 화소블록 단위이어도 좋고, 8 x 4 화소블록 단 위이어도 좋다. 영역 분할기법으로 생성된 임의 형상의 화소영역에 대해, 마찬가지 처리를 실행하여도 좋다.
(h) 1실시예에 있어서는, 예측순서를 변경할지 여부 및 단방향 예측을 실행할지 쌍방향 예측을 실행할지를, 수학식 1 또는 수학식 2로부터 계산되는 부호화 코스트에 의해 바꿔지도록 하고 있다. 부호화 코스트는 수학식 1 및 2에 한하지 않고, 대상 블록이나 인접 블록으로부터 계산되는 분산, 표준편차, 빈도분포 또는 상관계수라는 액티비티 정보를 이용할 수도 있다. 당해 액티비티 정보에 근거하여 예측순서 변경의 스위칭이나 단방향 예측을 실행할까 쌍방향 예측을 실행할까의 스위칭을 실행하여도 좋다.
예컨대, 대상 블록 내의 예측화소에 대해 좌 및 상의 참조화소와의 상관계수를 계산해서, 상관계수가 예컨대 어떤 역치보다 크게 되면, 예측화소와 좌 및 상의 참조화소와의 상관이 높다고 판단해서 예측순서를 변경되지 않도록 한다. 예컨대, 대상 블록 내의 분산(分散)을 계산해서, 분산치가 예컨대 어떤 역치보다 큰 값으로 되면, 블록 내의 텍스쳐(texture)가 복잡하다고 판단해서 쌍방향 예측을 실행한다. 한편, 당해 분산치가 예컨대 역치보다 작은 값으로 되면, 블록 내의 텍스쳐가 단조롭다고 판단해서 단방향 예측을 실행한다.
(j) 도 3 중에 나타낸 직교변환/양자화부(104) 및 역양자화/역직교변환부(105)에 있어서는, 반드시 전체의 예측잔차신호에 대해 처리를 실행할 필요는 없다. 예컨대, 예측잔차신호의 일부를 그대로 엔트로피 부호화부(108)에서 부호화 하여도 좋다. 또는, 양자화 및 역양자화의 처리를 생략하여도 좋고, 직교변환과 역직 교변환의 처리를 생략하여도 좋다.
(신택스 구조의 제1 예)
다음에, 도 25를 참조해서 화상 부호화부(100)에 있어서 쓰이는 신택스 구조의 개략을 설명한다.
신택스는 주로 하이레벨 신택스(201), 슬라이스 레벨 신택스(204) 및 매크로 블록 레벨 신택스(207)라고 하는 3개의 파트로 이루어진다. 하이레벨 신택스(201)에서는, 슬라이스 이상의 상위 레이어(layer)의 신택스 정보가 담겨져 있다. 슬라이스 레벨 신택스(204)에서는, 슬라이스마다 필요한 정보가 명기되어 있다. 매크로 블록 레벨 신택스(207)에서는, 매크로 블록마다 필요로 하는 양자화 파라미터의 변경치나 모드 정보 등이 명기되어 있다.
3개의 파트는, 다시 세밀하게 복수의 신택스로 구성된다. 즉, 하이레벨 신택스(201)는, 시퀀스 파라미터 세트 신택스(202) 및, 픽쳐 파라미트 세트 신택스(203)라 하는, 시퀀스 레벨 및 픽쳐 레벨의 신택스를 포함한다. 슬라이스 레벨 신택스(204)는, 슬라이스 헤더 신택스(205) 및, 슬라이스 데이터 신택스(206)를 포함한다. 매크로 블록 레벨 신택스(207)는, 매크로 블록 레이어 신택스(208) 및 매크로 블록 예측 신택스(209)를 포함한다.
본 실시예에서 특히 필요로 하는 신택스 정보는, 매크로 블록 레이어 신택스(208) 및, 매크로 블록 예측 신택스(209)이다. 이하, 매크로 블록 레이어 신택스(208) 및 매크로 블록 예측 신택스(209)에 대해 도 26 및 도 27을 이용해서 상세히 설명한다.
도 26의 매크로 블록 레이어 신택스 내에서 나타내어지는 block_order_flag은, 예측순서의 스위칭을 매크로 블록에서 실행할지 여부를 나타낸다. 즉, 플래그 : block_order_flag의 FALSE는 매크로 블록에서 예측순서의 스위칭을 실행하지 않음을 나타내고, TRUE는 매크로 블록에서 예측순서의 스위칭을 실행함을 나타낸다.
도 27의 매크로 블록 예측 신택스에는, 매크로 블록 내의 서브블록(4 x 4 화소블록 또는 8 x 8 화소블록) 마다의 예측모드 정보가 명기되어 있다. 단방향 예측에 대해서는, 복수의 예측모드 중에서 사용하는 모드를 나타내는 예측모드 정보를 intra 4 x 4(8 x 8)_pred_mode_l0_org 또는 intra 4 x 4(8 x 8)_pred_mode-11_org로 나타낸다. 쌍방향 예측에 대해서는, 예측모드 정보는 2개의 신택스를 구비하고 있다. 여기서는, 복수의 예측모드 중에서 2종류의 예측모드를 선택할 때의 모드 인덱스가 작은 쪽(리스트 0)의 예측모드를 intra 4 x 4(8 x 8)_pred_mode_l0_org로 나타내고, 모드 인덱스가 큰 쪽(리스트 1)의 예측모드를 intra 4 x 4(8 x 8)_pred_mode_l1_org으로 나타낸다. 모드 인덱스가 큰 쪽(리스트 0)의 예측모드를 intra 4 x 4(8 x 8)_pred_mode_l0_org로 나타내고, 모드 인덱스가 작은 쪽(리스트 1)의 예측모드를 intra 4 x 4(8 X 8)_pred_mode_l1_org로 나타내어도 좋다.
이하, 4 x 4 화소 예측이 선택된 경우의 매크로 블록 예측 신택스의 구성에 대해 도 27을 이용해서 설명한다.
도 27 중의 blkConv[block_order_flag][luma 4 x 4BlkIdx]는, 도 8에 나타나 있는 것과 같은 예측순서의 변환을 실행하는 변환테이블을 갖고 있어서, 부호화 대상 블록의 인덱스를 출력한다.
도 27 중의 intra 4 x 4_pred_mode_l0[block_order_flag][order]는, intra 4 x 4_pred_mode_l0_org[block_order_flag][order]를 뒤에 설명하는 modeConv[block_order_flag][intra 4 x 4_pred_mode_l0_org]에 따라 변환시킨 인덱스의 데이터이다.
도 27 중의 intra 4 x 4_bi_pred_flag은, 당해 4 x 4 화소블록에 대해 쌍방향 예측을 실행할지, 실행하지 않을지를 스위칭하는 플래그(flag)이다. 즉, 당해 플래그 intra 4 x 4_bi_pred_flag의 FALSE는 당해 4 x 4 화소블록이 단방향 예측임을 의미하고, TRUE는 당해 4 x 4 화소블록이 쌍방향 예측임을 의미한다.
도 27 중의 intra 4 x 4_pred_mode_l1은, intra 4 x 4_pred_mode_l1_org[block_order_flag][order]를 뒤에 설명하는 modeConv[block_order_flag][intra 4 x 4_pred_mode_l1_org]에 따라 변환시킨 인덱스의 데이터이다. 당해 데이터 intra 4 x 4_pred_mode_l1은, intra 4 x 4_bi_pr ed_flag이 TRUE일 때에 부호화된다.
이하, 각 신택스의 상세에 대해 설명한다.
luma 4 x 4 Blk에 대해, block_order_flag마다blkConv[block_order_flag][luma 4 x 4 BlkIdx]에 나타난 테이블에 따라 변환을 실시해서, 부호화 대상의 서브블록을 나타내는 블록 인덱스 : order를 산출한다(도 8 참조).
블록 인덱스 : order가 나타내는 4 x 4 화소블록을 예측하는 경우, 도 28에 도시된 것과 같이 intra 4 x 4_pred_mode_l0_org[block_order_flag][order]를 intra 4 x 4_pred_mode_l0[orde r]으로 변환한다. 이는, block_order_flag 및 매크로 블록 내의 4 x 4 화소블록의 위치에 따라 이용할 수 있는 예측모드가 다르기 때문에 실행하는 처리이다. 구체적으로는 도 29에 도시된 것과 같이, block_order_flag이 0(FALSE)인 경우, intra 4 x 4_pred_mode_l0에 intra 4 x 4_pred_mode_l0_org가 그대로 대입(代入)된다. 이때, intra 4 x 4_pred_mode_l0은 준비된 단방향 예측의 9종류의 예측모드 중 어느 모드를 4 x 4 화소블록의 예측에 이용하는가를 나타내는 데이터가 된다.
한편, block_order_flag이 1(TRUE: 외삽/내삽블록 예측)인 경우, 부호화 대상 매크로 블록 내의 4 x 4 화소블록의 위치에 따라 테이블이 스위칭된다. 도 30은, 부호화 대상 매크로 블록에 대해 좌, 상, 우상 및 좌상에 인접하는 매크로 블록이 참조 가능한 경우에, 도 13b에 의해 나타내어지는 서브블록(내삽블록(1) (2) 및 (3), 및 외삽블록(4))에 따라 이용 가능한 예측모드와 그 명칭을 나타내고 있다.
도 30으로부터, 내삽블록(1)은 17개의 전체 모드가 이용될 수 있는 데에 대해, 내삽블록(2) 및 (3)은 이용될 수 없는 모드가 존재하는 것을 알 수 있다. 그 때문에, 도 28에 도시된 것과 같이 modeConv[][]에 의해 intra 4 x 4_pred_mode_l0_org[block_order_flag][order]를 intra 4 x 4_pred_l0으로 변환시켜, 이용할 수 없는 예측모드를 미리 제거함으로써, 뒤에 설명하는 엔트로피 부호화의 효율이 향상된다. 구체적인 변환예를 나타내면, 내삽블록(2)의 예측모드가 모드 15(역방향 수직 우 예측)인 경우, intra 4 x 4_pred_mode_l0에는, "13"이 대입 된다. 내삽블록(3)의 예측모드가 모드 14(역방향 수평 상 예측)인 경우, intra 4 x 4_pred_mode_l0에는, "12"가 대입된다.
intra 4 x 4_pred_mode_l0을 부호화할 때는, block_order_flag 및 블록의 위치마다 이용할 수 있는 모드의 상태 수(狀態數)가 다르기 때문에, 부호화 대상인 4 x 4 화소블록의 위치에 따라 엔트로피 부호화(허프만 부호화, 골룸 부호화 또는 산술 부호화 등)를 실행한다. 구체적인 심볼(symbol)을 취할 수 있는 상태 수는, 도 30에 나타나 있다. 이상이, intra 4 x 4_pred_mode_l0_org의 부호화에 관한 신택스의 설명이다.
intra 4 x 4_bi_pred_flag이 TRUE인 경우, 다시 intra 4 x 4_pred_mode_l1_org를 부호화한다. intra 4 x 4_pred_mode_l1_org의 부호화에 관해서는, intra 4 x 4_pred_mode_l0_org일 때와 대략 마찬가지 처리를 실행한다.
먼저, modeConv[][]에 따라 intra 4 x 4_pred_mode_l1_org를 intra 4 x 4_pred_mode_l1로 변환해서, intra 4 x 4_pred_mode_l1을 block_order_flag와 order에 따른 가변 길이 부호에 의해 엔트로피 부호화를 실행한다. 단, intra 4 x 4_pred_mode_l1은 intra 4 x 4_pred_mode_l0과의 사이에서 동일한 예측모드는 이루어지지 않기 때문에, intra 4 x 4_pred_mode_l0의 상태 수로부터 1을 감한 수가 intra 4 x 4_pred_mode_l1이 취할 수 있는 심볼의 상태 수로 된다. 이 상태 수를 기초로 해서, 엔트로피 부호화를 실행한다.
다른 예로서, intra 4 x 4(8 x 8)_pred_mode_l0_org 및, intra 4 x 4(8 x 8)_pred_mode_l1_org를 modeConv[][]에 따라 변환시키지 않고, 그대로 엔트로피 부 호화하여도 좋다. 이상이, 각 신택스의 상세이다.
여기서, block_order_flag 및 intra 4 x 4_bi_pred_flag에 대해서는, 이들을 부호화하고 나서 부호화 스트림에 다중화(多重化)시켜 전송하여도 좋다. 한편, 이와 같은 다중화 및 전송을 하지 않고, 부호화가 끝난 블록 및, 화소로부터 계산되는 액티비티 정보에 의해 block_order_flag 및 intra 4 x 4_bi_pred_flag의 정보를 나타내도록 하여도 좋다. 이 경우, 복호 측에 있어서도 부호화 측과 마찬가지 논리를 이용함으로써, block_order_flag 및 intra 4 x 4 _bi_pred_flag의 정보는 부호화 측과 동일한 정보가 나타나게 된다.
8 x 8 화소 예측에 대해서는, 도 27에 나타나 있는 것과 같이 4 x 4 화소 예측시의 신택스와 마찬가지이기 때문에, 설명을 생략한다.
다른 예로서, intra 4 x 4_pred_mode_l0_org를 인접한 블록에 있어서의 intra 4 x 4_pred_mode_l0_org와의 상관을 이용해서 부호화하여도 좋다. 구체적인 신택스 구조는 도 31에 나타나 있는바, 도 27에 나타나 있는 매크로 블록 예측 신택스의 구성이 도 31로 바꿔지게 된다. 도 31 중의 prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]는, 뒤에 설명하는 참조블록으로부터 계산되는 리스트 0의 예측모드 ref_pred_mode_org와 당해 블록의 리스트 0의 예측모드 intra 4 x 4_pred_mode_l0_org[block_order_flag][order]가 동일한지 여부를 나타내는 플래그이다.
도 32는, prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]의 도출방법(導出方法)을 나타내고 있다. 여기서, 도 32 중의 ref_blkA_mode_l0은 블 록 blkA에 대해 좌(左)에 위치하는 최근방의 부호화가 끝난 블록 blkA의 리스트 0의 예측모드를 나타내고, ref_blkB_mode_l0은 블록 blkB에 대해 상(上)에 위치하는 최근방의 부호화가 끝난 블록의 리스트 0의 예측모드를 나타낸다. ref_blkA_mode_l0 및 ref_blkB_mode_l0은, block_order_flag마다 위치가 다른바, 구체적으로는 도 33, 도 44a, 도 44b, 도 44c 및 도 44d에 나타내어져 있다. block_order_flag이 FALSE인 경우, blkA 및 blkB는 당해 블록에 인접하는 좌 및 상의 부호화가 끝난 블록으로 된다(도 33 참조). 한편, 당해 플래그가 TRUE인 경우, 블록 blkA 및 blkB는 blkA 및 blkB에서 최근방의 좌 및 상의 부호화가 끝난 블록으로 된다(도 44a, 도 44b, 도 44c 및 도 44d 참조).
prev_intra4 x 4_pred_mode_l0_flag[block_order_flag][order]가 TRUE인 경우, 인접 블록과의 상관을 이용해서 1비트로, intra 4 x 4_pred_mode_l0_org의 정보를 나타낼 수 있기 때문에, 부호화 효율이 향상된다.
한편, prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]가 FALSE인 경우, prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order] 이외의 리스트 0의 예측모드로서, rem_intra 4 x 4_pred_mode_l0[block_order_flag][order]가 나타나게 된다. 이는, rem_intra 4 x 4_pred_mode_l0[block_order_flag][order]으로부터 ref_pred_mode_org를 제하고 예측모드 중 어느 예측모드인지를 나타내는 데이터이다. 당해 데이터는, 리스트 0의 예측모드에서 취할 수 있는 심볼로부터 ref_pred_mode_org를 제한 상태 수를 기초로 해서 엔트로피 부호화하게 된다.
8 x 8 화소 예측에 대해서는 도 31에 나타내어져 있는 바와 같이 4 x 4 화소 예측시의 신택스와 마찬가지이기 때문에, 설명을 생략한다.
앞에서 설명한 바와 같은 신택스 구조를 구비함으로써, 예측모드의 부호화에서도 부호화 효율이 향상된다.
(신택스 구조의 제2의 예)
도 34는, 화상 부호화부(100)로 이용되어지는 신택스 구조의 다른 예를 나타내고 있다. 필요로 하는 신택스 정보는 도 25 중의 매크로 블록 레이어 신택스(208)로서, 여기서는 도 26에 나타난 매크로 블록 레이어 신택스의 구성을 도 34에 바꿔놓을 수 있다. 각 신택스를 이하에서 설명한다.
도 34의 매크로 블록 레이어 신택스 내에 나타내어지는block_order_flag은, 예측순서의 스위칭을 당해 매크로 블록에서 실행할지 여부를 나타내는 플래그다. block_order_flag이 TRUE일 때는 예측순서를 스위칭하여, 외삽/내삽블록 예측을 실행한다. 한편, block_order_flag이 FALSE일 때는 예측순서를 스위칭하지 않고 순차 블록 예측을 실행한다. block_order_flag이 TRUE일 때의 예측순서의 구체적인 기술방법(記述方法)은, block_order_in_mb_mode에 나타낸다. block_order_in_mb_mode는, 이하와 같이 해서 예측순서를 나타낸다.
예측모드가 모드 0인 경우, 제1 실시예에 나타난 외삽/내삽블록 예측을 실행할 때의 예측순서를 부여한다. 예측모드가 모드 1인 경우, 예측순서의 조합을 인덱스로 변환해서, 인덱스 정보로 예측순서를 나타낸다. 4개의 블록에 대해 예측순서를 결정할 때는, 순열(順列)에 의해 4P4=24 가지에서 순차 블록 예측을 제외한 23 가지의 예측순서로부터, 매크로 블록마다 1개를 결정한다. 구체적으로는, 도 34에 있어서의 block_order_idx가 상기 블록 조합 인덱스를 부여한다. 예측모드가 모드 2인 경우, 각 블록에 대해 순서 번호를 직접 나타낸다. 4 x 4 화소블록에 대해서는, 16개의 block_order 4 x 4[BLK]에 그 순서가 나타난다. 또, 8 x 8 화소블록에 대해서는, 4개의 block_order 8 x 8[BLK]에 그 순번이 나타내어져 있다.
앞에서 설명한 신택스 구조는, 다시 이하와 같은 변형이 가능하다.
(a) block_order_in_mb_mode가 1일 때, 최초로 부호화하는 1블록 만을 나타내어도 좋다.
(b) 4 x 4 화소 예측에서는, 예측순서의 인덱스가 팽대해지는 것으로부터, 8 x 8 화소블록 단위로 나타내어지는 4 x 4 화소블록의 예측순서를 4회 되풀이함으로써, 인덱스의 정보를 삭감하여도 좋다.
(c) block_order_in_mb_mode가 2인 경우, block_order 4 x 4[BLK]에 대해서는 외부로부터의 테이블에 의해 나타내어도 좋고, 인접하는 block_order 4 x 4 []와의 차이만큼을 가변의 부호 길이로 표현하여도 좋다.
(d) 최후의 block_order 4 x 4[15]는, 나머지 1개의 예측순서이기 때문에, block_order 4 x 4[15]를 나타낼 필요는 없다. 8 x 8 화소블록에 대해서도 마찬가지이다. 4 x 4 화소 예측인 경우, 8 x 8 화소블록 단위로 나타내어지는 4 x 4 화소블록의 예측순서를 4회 되풀이함으로써, block_order 4 x 4의 정보를 삭감하여도 좋다.
(e) block_order_in_mb_mode, block_order_idx, block_order 4 x 4, block_order 8 x 8로 된 정보의 값은, 시퀀스마다, 픽쳐마다, 슬라이스마다 또는 매크로 블록마다 적응적(適應的)으로 설정되도록 하여도 좋다.
(신택스 구조의 제3의 예)
도 35, 도 36, 도 37, 도 38 및 도 39는, 화상 부호화부(100)로 이용되는 신택스 구조의 또 다른 예를 나타내고 있다. 본 예에서 필요로 하는 신택스 정보는, 도 25 중의 시퀀스 파라미터 세트 신택스(702), 픽쳐 파라미터 세트 신택스(703), 슬라이스 헤더 신택스(705) 및 매크로 블록 레이어 신택스(708)로서, 제1 예의 신택스 구조에 대해 도 35, 도 36, 도 37, 도 38 및 도 39에서 나타내어지는 신택스가 추가 된다. 이하, 각 신택스에 대해 설명한다.
도 35의 시퀀스 파라미터 세트 신택스 내에 나타내어지는block_order_in_seq_flag은, 예측순서의 스위칭을 시퀀스 내에서 가능하게 할지 여부를 나타내는 플래그이다. block_order_in_seq_flag이 TRUE일 때는, 시퀀스 내에서 예측순서를 스위칭할 수가 있다. 한편, block_order_in_seq_flag이 FALSE일 때는, 시퀀스 내에서 예측순서를 스위칭할 수가 없다.
도 36의 픽쳐 파라미터 세트 신택스 내에 나타내어지는 block_order_in_pic_flag는, 예측순서의 스위칭을 당해 픽쳐 내에서 가능하게 할지 여부를 나타내는 플래그이다. block_ord er_in_pic_flag이 TRUE일 때는, 픽쳐 내에서 예측순서를 스위칭할 수가 있다. 한편, block_order_in_pic_flag이 FALSE일 때는, 픽쳐 내에서 예측순서를 스위칭할 수가 없다.
도 37의 슬라이스 헤더 신택스 내에 나타내어지는 block_order_in_slice_flag은, 예측순서의 스위칭을 당해 슬라이스 내에서 가능하게 할지 여부를 나타내는 플래그이다. block_order_in_slice_flag이 TRUE일 때는, 슬라이스 내에서 예측순서를 스위칭할 수 있다. 한편, block_order_in_slice_flag이 FALSE일 때는, 슬라이스 내에서 예측순서를 스위칭할 수가 없다.
도 38의 매크로 블록 레이어 신택스 내에 나타내어지는 block_order_flag은, 예측순서의 스위칭을 당해 매크로 블록에서 실행할지 여부를 나타내는 플래그이다. block_order_flag이 TRUE일 때는 예측순서를 스위칭해서, 외삽/내삽블록 예측을 실행한다. 한편, block_order_flag이 FALSE일 때는, 예측순서를 스위칭하지 않고, 순차적으로 블록 예측을 실행한다. block_order_f1ag은, block_order_in_slice_flag이 TRUE일 때에만 유효하고, 또 매크로 블록의 예측 타입이 프레임 내 예측일 때만 이용될 수 있다.
도 35의 시퀀스 파라미터 세트 신택스 내에 나타내어지는 intra_bi_pred_in_seq_f1ag은, 쌍방향 예측이 당해 시퀀스 내에서 가능하게 할지 여부를 나타내는 플래그이다. intra_bi_pred_in_seq_flag이 TRUE일 때는, 시퀀스 내에서 쌍방향 예측을 실행할 수가 있다. 한편, intra_bi_pred_in_seq_flag이 FALSE일 때는, 시퀀스 내에서 쌍방향 예측을 실행할 수가 없다.
도 36의 픽쳐 파라미터 세트 신택스 내에 나타내어지는 intra_bi_pred_in_pic_flag은, 쌍방향 예측이 당해 픽쳐 내에서 가능하게 할지 여부를 나타내는 플래그이다. intra_bi_pred_in_pic_flag이 TRUE일 때는, 픽쳐 내에서 쌍방향 예측을 실행할 수가 있다. 한편, intra_bi_pred_in_pic_flag이 FALSE일 때는, 픽쳐 내에서 쌍방향 예측을 실행할 수가 없다.
도 37의 슬라이스 헤더 신택스 내에 나타내어지는 intra_bi_pred_in_slice_flag은, 쌍방향 예측이 슬라이스 내에서 가능할지 여부를 나타내는 플래그이다. intra_bi_pred_in_slice_flag이 TRUE 일 때는, 슬라이스 내에서 쌍방향 예측을 실행할 수가 있다. 한편, intra_bi_pred_in_slice_flag이 FALSE일 때는, 슬라이스 내에서 쌍방향 예측을 실행할 수가 없다.
도 38의 매크로 블록 레이어 신택스 내에 나타내어지는 intra_bi_pred_in_mb_f1ag은, 쌍방향 예측이 매크로 블록 내에서 가능하게 할지 여부를 나타내는 플래그이다. intra_bi_pred_in_mb_flag이 TRUE일 때는, 매크로 블록 내에서 쌍방향 예측을 실행할 수가 있다. 한편, intra_bi_pred_in_mb_flag이 FALSE일 때는, 매크로 블록 내에서 쌍방향 예측을 실행할 수가 없다.
도 39의 매크로 블록 예측 신택스 내에 나타내어지는 intra 4 x 4_bi_pred_flag은, 쌍방향 예측이 예측 블록 내에서 실행할지 여부를 나타내는 플래그이다. intra 4 x 4_bi_pred_flag이 TRUE일 때는, 예측 블록 내에서 쌍방향 예측을 실행한다. 한편, intra 4 x 4_bi_pred_flag이 FALSE일 때는, 매크로 블록 내에서 쌍방향 예측을 실행하지 않는다. intra 4 x 4_bi_pred_flag은, intra_bi_pred_in_mb_flag이 TRUE일 때에만 유효하고, 또 매크로 블록의 예측 타입이 프레임 내 예측일 때만 이용될 수 있다. 한편, 상기 신택스의 초기 값은 FALSE로 한다.
< 화상복호장치에 대해 >
도 40에 나타나 있는 본 발명의 1실시예에 따른 화상복호장치에는, 도시되지 않은 화상부호화장치(예컨대, 도 1의 화상부호화장치)로부터 송출되어, 전송계(傳送系) 또는 축적계(蓄積系)를 거쳐 보내져 온 부호화 비트 스트림(320)이 입력된다. 부호화 비트 스트림(320)은 입력 버퍼(301)에 한번 축적되고서, 다시 역다중화부(302)에 의해 1프레임마다 신택스에 근거해 분리된 후, 복호부(304)에 입력된다. 복호부(304)는 엔트로피 복호부(305), 역양자화/역직교변환부(306), 가산기(307), 참조화상 메모리(308) 및 예측신호 생성부(309)를 구비한다.
복호부(304) 내에서는, 역다중화부(302)에 의해 분리된 부호화 비트 스트림이 엔트로피 복호부(303)에 입력된다. 엔트로피 복호부(303)에서는, 도 25에 나타나 있는 신택스 구조에 따라, 부호화 비트 스트림의 하이레벨 신택스, 슬라이스 레벨 신택스 및 매크로 블록 레벨 신택스의 각각에 대해, 부호열(符號列)이 엔트로피 복호된다.
이에 따라 엔트로피 복호부(303)로부터, 양자화 변환계수 정보(321) 및 양자화 파라미터 정보 외에, 예측모드 인덱스 정보(331), 블록 사이즈 스위칭 정보(332), 예측순서 스위칭 정보(333), 예측모드수 스위칭 정보(334)라 하는 예측모드에 관한 정보(이후, 예측모드 인덱스 정보, 블록 사이즈 스위칭 정보, 예측순서 스위칭 정보 및 예측모드수 스위칭 정보를 예측모드 정보로 총칭한다)가 출력된다. 양자화 변환계수 정보(321)는, 예측잔차신호를 직교변환 및 양자화한 정보이다. 양자화 파라미터 정보는, 양자화 폭(양자화 단계 사이즈) 및 양자화 매트릭스 등의 정보를 포함한다.
양자화 변환계수 정보(321)는, 복원된 양자화 파라미터에 따라 역양자화/역직교변환부(306)에 의해 역양자화(逆量子化)되고, 다시 IDCT와 같은 역직교변환(逆直交變換)이 실시된다. 여기서는, 역직교변환에 대해 설명하였으나, 부호화 측에서, 웨이브릿(wavelet) 변환 등이 실행되어 있는 경우, 역양자화/역변환부(306)는 대응하는 역양자화/역웨이브릿 변환 등을 실행하여도 좋다.
역양자화/역변환부(306)로부터는 예측 오차 신호(322)가 출력되어, 가산기(307)에 입력된다. 가산기(307)에서는, 예측신호 생성부(309)로부터 출력되는 예측신호(323)와 예측잔차신호(322)와의 가산이 행해져, 복호화상신호(324)가 생성된다. 복호화상신호(324)는, 참조화상 메모리(308)에 입력됨과 더불어 출력 버퍼(311)로 건내져, 출력 버퍼(311)로부터 복호화 제어부(310)가 관리하는 타이밍으로 출력된다.
한편, 엔트로피 복호부(305)에 의해 복호된 예측모드 인덱스 정보(331), 블록 사이즈 스위칭 정보(332), 예측순서 스위칭 정보(333) 및 예측모드수 스위칭 정보(334)는 예측신호 생성부(309)에 입력된다. 예측신호 생성부(309)에는, 다시 참조화상 메모리(308)로부터 이미 복호되어 있는 참조화상 신호(325)가 입력된다. 예측신호 생성부(309)는, 예측모드 인덱스 정보(331), 블록 사이즈 스위칭 정보(332), 예측순서 스위칭 정보(333) 및 예측모드수 스위칭 정보(334)를 기초로 해서, 참조화상 신호(325)를 참조하여 예측신호(323)를 생성한다. 복호 제어부(310)는, 복호부(304)의 복호처리 전반의 제어, 예컨대 입력 버퍼(301) 및 출력 버퍼(311)의 제어나, 복호 타이밍의 제어 등을 실행한다.
< 예측신호 생성부(309)에 대해 >
다음에는, 도 41을 참조해서 예측신호 생성부(309)에 대해 설명한다. 도 41에 도시된 예측신호 생성부(309)는, 앞에서 설명한 화상부호화장치 내의 예측신호 생성부(113)와 기본적으로 마찬가지이다. 도 41에서, 예측순서 스위칭부(370)는 참조화상 메모리(308)로부터의 참조화상 신호(325)에 대해 예측순서 스위칭 정보(333)에 근거해 매크로 블록 중의 서브블록의 예측순서를 스위칭한다. 예측순서 스위칭부(370)에 의해 예측순서가 스위칭된 화상신호는, 단방향 예측부(371) 및 쌍방향 예측부(372)에 입력된다.
단방향 예측부(371)는, 예측모드 인덱스 정보(331)에 근거해, 준비 된 복수의 예측모드 중 1개의 예측모드를 선택해서, 선택한 예측모드 및 블록 사이즈 스위칭 정보(332)에 따라, 참조화상 신호(325)를 참조해서 예측신호를 생성한다. 쌍방향 예측부(372)는, 예측모드 인덱스 정보(331)에 근거해, 상기 준비된 복수의 예측모드 중 2개의 예측모드를 선택해서, 선택한 예측모드 및 블록 사이즈 스위칭 정보(332)에 따라, 참조화상 신호(325)를 참조해서 예측신호를 생성한다. 단방향 예측부(371) 및 쌍방향 예측부(372)로부터 출력되는 예측신호는, 예측모드수 스위칭부(373)에 입력된다. 여기서, 예측모드는 서브블록의 예측신호를 생성할 때의 복호가 끝난 화소의 참조방법을 규정한다.
예측모드수 스위칭기(373)는, 예측모드수 스위칭 정보(344)에 따라 제어됨으로써, 단방향 예측부(371)에 의해 생성된 예측신호 및 쌍방향 예측부(372)에 의해 생성된 예측신호 중 어느 하나를 선택해서, 선택한 예측신호(323)를 출력한다.
예측순서 스위칭부(370)는 예측순서 스위칭 정보(333)에 의해 제어되어, 예측순서 스위칭 정보(333)를 나타내는 뒤에 설명되는 플래그 : block_order_flag의 값에 따라 상기 기준이 되는 인덱스 : blk를 변환함으로써 서브블록의 예측순서를 스위칭한다. 서브블록의 순번 : idx에 대해, 실제로 부호화할 때의 서브블록의 인덱스 : order(예측순서를 나타낸다)는, 수학식 3에 나타난 것과 같다. 또, blkConv[][]의 변환을 위한 변환 테이블은, 도 8에 나타내어져 있는 것과 같다.
플래그 : block_order_flag이 0(FALSE)인 경우, 실제로 예측 부호화를 실행할 때의 서브블록의 인덱스 : order는 부호화 대상인 서브블록의 인덱스 : idx 그것으로서, 블록의 예측 및 예측순서를 변경하지 않는다(이후, 이와 같은 예측순서에 의한 예측을 순차예측이라 한다). 도 6b 및 도 7b는, 각각 도 6a 및 도 7a에 대한 순차예측에 의한 예측순서를 나타내고 있다.
한편, 플래그 : block_order_flag이 1(TRUE)인 경우, 실제로 예측 부호화를 실행하는 서브블록의 인덱스 : order는, 4개의 서브블록 중 먼저 대각(對角)의 1블록을 외삽에 의해 예측하고, 나머지 3블록을 외삽 예측 또는 내삽에 의해 예측한다고 하는 예측순서를 나타낸다. 이후, 이와 같은 예측순서에 의한 예측을 외삽/내삽 예측이라 한다. 도 6c 및 도 7c는, 각각 도 6a 및 도 7a에 대한 외삽/내삽 예측에 의한 예측순서 변경예를 나타내고 있다.
앞에서 설명한 바와 같이 해서 예측순서 스위칭부(370)에 의해 예측순가 스위칭되어진 서브블록은, 단방향 예측부(371) 또는 쌍방향 예측부(372)에 입력됨으로써, 각 서브블록에 대응하는 예측신호가 생성된다. 모드수 스위칭 스위치(373) 는, 예측모드수 스위칭 정보(334)가 예측모드수 "1"을 나타내고 있을 때는 단방향 예측부(371)에 의해 얻어지는 예측신호를 출력하고, 예측모드수 스위칭 정보(334)가 예측모드수 "2"를 나타내고 있을 때는 쌍방향 예측부(372)에 의해 얻어지는 예측신호를 출력한다. 모드수 스위칭 스위치(373)로부터 출력되는 예측신호는, 예측신호 생성부(309)의 출력(323)으로서 취출된다.
모드수 스위칭 스위치(373)는, 예측 블록(4 x 4 화소블록 또는 8 x 8 화소블록)마다 부여죄는 예측모드수 스위칭 정보(334)에 따라 제어됨으로써, 예측신호(323)를 출력한다. 구체적으로 4 x 4 화소 예측일 때는, intra 4 x 4_bi_pred_flag이 4 x 4 화소블록마다 기술되어 있다.
즉, 모드수 스위칭 스위치(373)는 예측모드수 스위칭 정보(334)인 플래그 :intra 4 x 4_bi_pred_flag이 FALSE인 경우는, 단방향 예측부(371)에 의해 얻어지는 예측신호를 선택하고, intra 4 x 4_bi_pred_flag이 TRUE인 경우는 쌍방향 예측부(172)에 의해 얻어지는 예측신호를 선택한다.
단방향 예측부(371) 및 쌍방향 예측부(372)의 구체적인 처리는, 화상부호화장치에서의 단방향 예측부(171) 및 쌍방향 예측부(172)와 마찬가지이기 때문에, 설명을 생략한다.
신택스 구조는, 기본적으로 도 19에 나타난 것과 같은 바, 이하에서는 4 x 4 화소 예측이 선택된 경우의 매크로 블록 예측 신택스의 구성에 대해 도 27을 이용해서 설명한다.
도 27 중의 blkConv[block_order_flag][luma 4 x 4 BlkIdx]는, 도 8에 나타 내어진 것과 같은 예측 순서의 변환을 실행하는 변환 테이블을 갖고 있어서, 복호 대상 블록의 인덱스를 출력한다. intra 4 x 4_pred_mode_l0[block_order_flag][order]는, 복호된 인덱스의 데이터이다.
도 27 중의 intra 4 x 4_bi_pred_flag은, 당해 4 x 4 화소블록에 대해 쌍방향 예측을 실행할지 여부를 스위칭하는 플래그이다. 즉, 당해 플래그 intra 4 x 4_bi_pred_flag의 FALSE는 당해 4 x 4 화소블록이 단방향 예측임을 의미하고, TRUE는 당해 4 X 4 화소블록이 쌍방향 예측임을 의미한다.
도 27 중의 intra 4 x 4_pred_mode_l1은, 복호된 인덱스의 데이터이다. 당해 데이터 intra 4 x 4_pred_mode_l1은, intra 4 x 4_bi_pred_flag이 TRUE일 때에 복호된다.
이하, 각 신택스의 상세에 대해 설명한다.
luma 4 x 4 Blk에 대해, block_order_flag마다blkConv[block_order_flag][luma 4 x 4 BlkIdx]에 도시된 테이블에 따라 변환을 실시해서, 부호화 대상의 서브블록을 나타내는 블록 인덱스 : order를 산출한다(도 8 참조).
블록 인덱스 order가 나타내는 4 x 4 화소블록을 복호하는 경우, intra 4 x 4_pred_mode_l0[block_order_flag][order]를 복호하고, 이를 도 42에 나타내어진 것과 같이 intra 4 x 4_pred_mode_l0_org[block_order_flag][order]로 역변환한다. 이는, block_order_flag 및 매크로 블록 내의 당해 블록의 위치에 따라 이용할 수 있는 예측모드가 다르기 때문에 실행하는 처리이다. 구체적으로는 도 43에 나타 나 있는 것과 같이, block_order_flag이 0(FALSE)인 경우, intra 4 x 4_pred_mode_l0_org에 intra 4 x 4_pred_mode_l0의 값이 그대로 대입된다. 이때, intra 4 x 4_pred_mode_l0_org는, 준비된 단방향 예측의 9종류의 예측모드 중 어느 예측모드를 4 x 4 화소블록의 복호에 이용하고 있는가를 나타내는 데이터로 된다.
한편, block_order_flag이 1(TRUE: 외삽/내삽블록 예측)인 경우, 당해 4 x 4 화소블록이 매크로 블록 내의 어디에 위치하는가에 따라, 테이블이 스위칭된다. 구체적으로는, 내삽블록(2)에 대해 복호된 intra 4 x 4_pred_mode_l0[1][order]가 13인 경우, 당해 예측모드 intra 4 x 4_pred_mode_l0_org[1][order]는 15(역방향 수직 우 예측)로 된다. 또, 내삽블록(3)에 대해 복호된 intra 4 x 4_pred_mode_l0[1][order]가 12인 경우, 당해 예측모드 intra 4 x 4_pred_mode_l0_org[1][order]는 14(역방향 수평 상 예측)로 된다.
intra 4 x 4_bi_pred_flag이 TRUE인 경우, 다시 intra 4 x 4_pred_mode_ll[block_order_flag][order]를 복호한다. 복호된 intra 4 x 4_pred_mode_l0[block_order_flag][order]는, 도 43에 나타나 있듯이 intra 4 x 4_pred_mode_l0_org[block_order_flag][order]로 변환된다.
다른 예에서는, block_order_flag 및 intra 4 x 4_bi_pred_flag의 정보는 부호화 비트 스트림으로부터 분리되어 복호되지만, 복호가 끝난 블록 및 화소로부터 계산되는 상기 액티비티 정보에 의해, block_order_flag 및, intra 4 x 4_bi_pred_flag의 정보를 나타내어도 좋다. 이 경우, 부호화 측과 마찬가지 논리를 이용함으로써, block_order_flag 및 intra 4 x 4_bi_pred_flag의 정보는, 부호화 측과 동일한 것이 나타내어지기 때문에, 부호화 비트 스트림으로부터 분리 및 복호의 처리는 필요로 하지 않는다.
또 다른 예로서, intra 4 x 4_pred_mode_l0_org를 인접 블록에서의 intra 4 x 4_pred_mode_l0_org와의 상관을 이용해서 부호화하여도 좋다. 구체적인 신택스 구조는 도 31에 나타나 있는바, 도 27에 나타내어져 있는 매크로 블록 예측 신택스의 구성이 도 31로 치환되게 된다. 도 31 중의 prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]는, 뒤에 설명하는 참조블록으로부터 계산되는 리스트 0인 예측모드 ref_pred_mode_org와, 대상 블록의 리스트 0인 예측모드 intra 4 x 4_pred_mode_l0_org[block_order_flag][order]가 동일한지 여부를 나타내는 플래그이다.
도 32는, prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]의 도출방법을 나타내고 있다. 여기서, 도 32 중의 ref_blkA_mode_l0은, 블록 blkA에 대해 좌에 위치하는 최근방의 부호화가 끝난 블록 blkA의 리스트 0인 예측모드를 나타낸다. ref_blkB_mode_l0은, 블록 blkB에 대해 상(上)에 위치하는 최근방의 부호화가 끝난 블록의 리스트 0인 예측모드를 나타낸다.
ref_blkA_mode_l0 및 ref_blkB_mode_l0은, block_order_flag마다 위치가 다른바, 구체적으로는 도 33, 도 44a, 도 44b, 도 44c 및 도 44d에 나타나 있다. block_order_flag이 FALSE인 경우, blkA 및 blkB는 대상 블록에 인접하는 좌 및 상의 복호가 끝난 블록이 된다(도 33 참조). 한편, block_order_flag이 TRUE인 경우, ref_blkA 및 ref_blkB는 대상 블록에서 최근방의 좌 및 상의 복호가 끝난 블록이 된다(도 44a, 도 44b, 도 44c 및 도 44d 참조).
prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]가 TRUE인 경우, 대상 블록과 인접 블록과의 상관을 이용하여, 1비트로 intra 4 x 4_pred_mode_l0_org의 정보를 나타낸다.
한편, prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order]가 FALSE인 경우, prev_intra 4 x 4_pred_mode_l0_flag[block_order_flag][order] 이외의 리스트 0인 예측모드로서, rem_intra 4 x 4_pred_mode_l0[block_order_flag][order]가 나타내어진다. rem_intra 4 x 4_pred_mode_l0[block_order_flag][order]에서 ref_pred_mode_org를 제하고 예측모드 중 어떤 예측모드인지를 나타내는 데이터는, 리스트 0인 예측모드에 따라 취할 수 있는 심볼로부터 ref_pred_mode_org를 제(除)한 상태 수를 기초로 해서 복호된다.
8 x 8 화소 예측에 대해서는, 도 27에 나타나 있는 것과 같이 4 x 4 화소 예측일 때의 신택스와 마찬가지이기 때문에 설명을 생략한다.
다음에는, 다른 실시형태에 따른 화상부호화장치에 대해, 지금까지의 설명과 다른 부분을 중심으로 설명한다. 도 33의 매크로 블록 레이어 신택스 내에 나타내어지는 block_order_flag은, 예측순서의 스위칭을 매크로 블록에서 실행할지 여부를 나타내는 플래그이다. block_order_flag이 TRUE일 때는, 예측순서를 스위칭하여 외삽/내삽블록 예측을 실행한다. 한편, block_order_flag이 FALSE일 때는, 예측순서의 스위칭을 실시하지 않고, 순차 블록 예측을 실행한다.
block_order_flag이 TRUE일 때는, 예측순서의 구체적인 기술방법이 block_order_in_mb_mode에 의해 나타내어진다. block_order_in_mb_mode는 이하에서 예측순서를 나타낸다.
(a) 모드가 O인 경우, 외삽/내삽블록 예측을 실행할 때의 예측순서를 부여한다.
(b) 모드가 1인 경우, 예측순서의 조합을 인덱스 정보로 변환시켜, 인덱스 정보로 예측순서를 나타낸다. 4개의 블록에 대해 예측순서를 결정할 때는, 순열에 따라 4P4 = 24 가지에서 순차 블록 예측을 제외한 23 가지의 예측순서로부터, 매크로 블록마다 1개를 결정한다. 구체적으로는, 도 33 중의 block_order_idx가 상기 블록 조합(組合) 인덱스를 부여한다.
(c) 모드가 2인 경우, 각 블록에 대해 순서 번호를 직접 나타낸다. 4 x 4 화소블록에 대해서는, 16개의 block_order 4 x 4[BLK]에 그 순번이 나타나 게 된다. 또, 8 x 8 화소블록에 대해서는, 4개의 block_order 8 x 8[BLK]에 그 순번이 나타나게 된다.
별개의 예로서, block_order_in_mb_mode가 1일 때, 최초로 복호하는 1블록만을 나타내어도 좋다. 4 x 4 화소 예측일 때는, 예측순서의 인덱스가 팽대되는 것으로부터, 8 x 8 화소블록 단위로 나타내어지는 4 x 4 화소블록의 순번을 4회 반복해서, 인덱스의 정보를 삭감하여도 좋다.
또, block_order_in_mb_mode가 2일 때, block_order 4 x 4[BLK]는 외부로부터의 테이블에 의해 나타내어져도 좋다. 인접하는 block_order 4 x 4[] 와의 차이 분을 계산하여, 가변의 부호 길이로 표현하여도 좋다. 최후의 block_order 4 x 4[15]는 나머지 1개의 순번으로 되기 때문에, block_order 4 x 4[15]를 나타낼 필요는 없다. 8 x 8 화소블록에 대해서도 마찬가지이다. 4 x 4 화소 예측일 때는, 8 x 8 화소블록 단위로 나타내어지는 4 x 4 화소블록의 순번을 4 회 반복해서, block_order 4 x 4의 정보를 삭감하여도 좋다.
block_order_in_mb_mode, block_order_idx, block_order 4 x 4 및, block_order 8 x 8로 불리는 정보는, 시퀀스마다, 픽쳐마다, 슬라이스마다, 매크로 블록마다 적절히 값을 설정하여도 좋다.
본 발명의 1실시예에 의하면, 예측순서를 선택 가능하게 함으로써, 예컨대 좌나 상의 화소와의 상관을 이용하는 외삽 예측만 아니라, 우나 하의 화소와의 상관을 효과적으로 이용한 내삽 예측을 실행할 수 있다. 또, 사용할 수 있는 예측모드 수를 선택할 수 있기 때문에, 예컨대 복수의 예측모드에 의한 예측신호를 화소단위로 계산하는 쌍방향 예측을 선택함으로써, 복잡한 텍스쳐에 대해서도 높은 예측 효율이 실현된다. 그리고, 예측순서 스위칭 정보나 예측모드 선택 수 정보에 대해서는, 시퀀스마다, 픽쳐마다, 슬라이스마다, 매크로 블록마다, 또는 서브블록마다 적절히 스위칭해서 부호화 할 수 있다. 따라서, 부호화 효율이 높은 화상 부호화 및 부호화된 화상의 복호를 실현할 수 있다.
이상 설명한 1실시예에 근거해 화상 부호화의 처리 및 화상 복호화의 처리는, 하드웨어로도 실현할 수 있으나, 퍼스널 컴퓨터와 같은 컴퓨터를 이용해서 소프트웨어에 의해 실행할 수도 있다. 따라서, 본 발명의 관점에 의하면, 앞에서 서 령한 화상 부호화의 처리 및 화상 복호의 처리의 적어도 한쪽을 컴퓨터에 실행시키기 위한 화상 부호화 프로그램이나 화상 복호 프로그램, 또는 당해 프로그램을 저장한 컴퓨터로 읽어낼 수 있는 기억매체를 제공할 수도 있다.
한편, 본 발명은 상기 실시예 그대로만에 한정되지 않고, 실시 단계에서는 그 요지를 벗어나지 않는 범위에서 구성요소를 변형해서 구체화할 수 있다. 또, 상기 실시예에 개시되어 있는 복수의 구성요소의 적절한 조합에 의해, 여러 가지 발명을 형성할 수 있다. 예컨대, 실시예에 나타내어져 있는 전체 구성요소에서 몇 가지 구성요소를 삭제하여도 좋다. 또, 다른 실시예에 걸치는 구성요소를 적절히 조합시켜도 좋다.
본 발명은, 동화상이나 정지화상의 고능률 압축 부호화/복호 기술에 이용할 수가 있다.

Claims (33)

  1. 입력 화상신호의 프레임을 분할한 복수의 화소블록마다 예측 부호화를 수행하는 화상부호화방법에 있어서,
    상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 단계;
    부호화가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 부호화가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 단계;
    상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드를 상기 선택된 수만큼 선택하는 단계;
    상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 단계, 및
    상기 예측 부호화에 의한 부호화 데이터를 생성하기 위해, 상기 화소블록의 화상신호와 상기 제2 예측신호와의 차이를 나타내는 예측잔차신호를 부호화하는 단계를 포함하는 것을 특징으로 하는 화상부호화방법.
  2. 입력 화상신호의 프레임을 분할한 복수의 화소블록마다 예측 부호화를 수행하는 화상부호화장치에 있어서,
    상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 제1 선택부;
    부호화가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 부호화가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 제2 선택부;
    상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드를 상기 선택된 수만큼 선택하는 제3 선택부;
    상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 생성부; 및
    상기 예측 부호화에 의한 부호화 데이터를 생성하기 위해, 상기 화소블록의 화상신호와 상기 제2 예측신호와의 차이를 나타내는 예측잔차신호를 부호화하는 부호화부를 포함하는 것을 특징으로 하는 화상부호화장치.
  3. 제2항에 있어서,
    상기 화상부호화장치는, 프레임 내 예측 및 프레임 간 예측 중의 적어도 한쪽을 이용해서 상기 예측 부호화를 수행하도록 구성된 것을 특징으로 하는 화상부호화장치.
  4. 제2항에 있어서,
    상기 제1 선택부는, 상기 예측순서를 상기 화소블록마다 선택하는 것을 특징으로 하는 화상부호화장치.
  5. 제2항에 있어서,
    상기 제1 선택부는, 제1 예측순서와 제2 예측순서 중 어느 것을 상기 화소블록마다 선택하는 것을 특징으로 하는 화상부호화장치.
  6. 제2항에 있어서,
    상기 제1 선택부는, 상기 예측순서를 상기 화소블록마다 스위칭해서 선택할지 여부를 제어할 수 있게 구성된 것을 특징으로 하는 화상부호화장치.
  7. 제2항에 있어서,
    상기 제1 선택부는, 제1 예측순서와 제2 예측순서 중 어느 것을 선택할지를 상기 화소블록마다 제어할 수 있게 구성된 것을 특징으로 하는 화상부호화장치.
  8. 제2항에 있어서,
    상기 부호화부는, 상기 부호화 데이터를 생성하기 위해 상기 선택된 예측순서를 나타내는 정보도 부호화하도록 구성된 것을 특징으로 하는 화상부호화장치.
  9. 제2항에 있어서,
    상기 예측모드 중의 적어도 하나는, 상기 입력 화상신호가 이루는 공간 내에서 특정 방향에서 상기 부호화가 끝난 화소를 참조하는 방향 예측모드인 것을 특징으로 하는 화상부호화장치.
  10. 제2항에 있어서,
    상기 생성부는, 상기 복수의 예측모드에서 1개의 예측모드가 선택된 경우에, 상기 선택된 예측순서 및 당해 선택된 1개의 예측모드에 따라 상기 화소블록을 예측하는 제1 예측부와, 상기 복수의 예측모드에서 2 또는 그 이상의 수의 예측모드가 선택된 경우에, 복수의 예측신호를 생성하고 또 화소단위에 조합됨으로써 상기 제2 예측신호를 생성하기 위해, 상기 선택된 예측순서 및 당해 선택된 2 또는 그 이상의 수의 예측모드에 따라 상기 화소블록을 예측하는 제2 예측부를 구비한 것을 특징으로 하는 화상부호화장치.
  11. 제10항에 있어서,
    상기 제2 예측부는, 상기 화소단위의 조합을 (a) 가중평균, (b) 최대치 필터, (c) 최소치 필터, (d) 중앙값(median) 필터, 및 (e) 상기 입력 화상신호가 이루는 공간 내에서 특정한 방향에서 상기 부호화가 끝난 화소를 참조하는 방향 예측의 각도 또는 상기 선택된 예측모드의 수에 따른 중첩계수를 기술한 테이블, 중 적어도 하나에 의해 수행하도록 구성된 것을 특징으로 하는 화상부호화장치.
  12. 제2항에 있어서,
    상기 부호화부는, 상기 부호화 데이터를 생성하기 위해 상기 선택된 예측모드의 수를 나타내는 정보도 부호화 하도록 구성된 것을 특징으로 하는 화상부호화장치.
  13. 제2항에 있어서,
    상기 제1 선택부는, 상기 화소블록 또는 인접 화소블록의 액티비티 정보에 따라 상기 예측순서를 선택하도록 구성된 것을 특징으로 하는 화상부호화장치.
  14. 제2항에 있어서,
    상기 제1 선택부는, 상기 화소블록 또는 인접 화소블록의 액티비티 정보에 따라 상기 예측순서를 선택하도록 구성되고,
    상기 부호화부는, 상기 부호화 데이터를 생성하기 위해 상기 선택된 예측순서를 나타내는 정보도 부호화하도록 구성된 것을 특징으로 하는 화상부호화장치.
  15. 제2항에 있어서,
    상기 제2 선택부는, 상기 화소블록 또는 인접 화소블록의 액티비티 정보에 따라 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하도록 구성된 것을 특징으로 하는 화상부호화장치.
  16. 제2항에 있어서,
    상기 제2 선택부는, 상기 화소블록 또는 인접 화소블록의 액티비티 정보에 따라 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하도록 구성되고,
    상기 부호화부는, 상기 부호화 데이터를 생성하기 위해 상기 선택된 예측모드의 수를 나타내는 정보도 부호화하도록 구성된 것을 특징으로 하는 화상부호화장 치.
  17. 화상신호의 프레임을 분할한 복수의 화소블록마다 부호화 데이터를 복호하는 화상복호방법에 있어서,
    상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 단계;
    복호가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 복호가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 단계;
    상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드를 상기 선택된 수만큼 선택하는 단계;
    상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 단계; 및
    상기 제2 예측신호를 이용해서 복호화상신호를 생성하는 단계를 포함하는 것을 특징으로 하는 화상 복호방법.
  18. 화상신호의 프레임을 분할한 복수의 화소블록마다 부호화 데이터를 복호하는 화상복호장치에 있어서,
    상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 제1 선택부;
    복호가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 복호가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 제2 선택부;
    상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드를 상기 선택된 수만큼 선택하는 제3 선택부;
    상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 생성부; 및
    상기 제2 예측신호를 이용해서 복호화상신호를 생성하는 생성부를 구비한 것을 특징으로 하는 화상복호장치.
  19. 제18항에 있어서,
    상기 제1 선택부는, 상기 예측순서를 상기 화소블록마다 선택하는 것을 특징으로 하는 화상복호장치.
  20. 제18항에 있어서,
    상기 제1 선택부는, 제1 예측순서와 제2 예측순서 중 어느 것을 상기 화소블록마다 선택하는 것을 특징으로 하는 화상복호장치.
  21. 제18항에 있어서,
    상기 제1 선택부는, 상기 예측순서를 상기 화소블록마다 스위칭해서 선택할지 여부롤 제어할 수 있게 구성된 것을 특징으로 하는 화상복호장치.
  22. 제18항에 있어서,
    상기 제1 선택부는, 제1 예측순서와 제2 예측순서 중 어느 것을 선택할지가 상기 화소블록마다 제어할 수 있게 구성된 것을 특징으로 하는 화상복호장치.
  23. 제18항에 있어서,
    상기 부호화 데이터에 포함되는, 상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 나타내는 제1 정보를 분리하는 분리부를 더 구비하고,
    상기 제1 선택부는, 상기 제1 정보에 의해 나타내어지는 예측순서를 선택하도록에 구성된 것을 특징으로 하는 화상복호장치.
  24. 제18항에 있어서,
    상기 예측모드의 적어도 하나는, 상기 화상신호가 이루는 공간 내에 있어서 특정 방향에서 상기 복호가 끝난 화소를 참조하는 방향 예측모드인 것을 특징으로 하는 화상복호장치.
  25. 제18항에 있어서,
    상기 생성부는, 상기 복수의 예측모드 중에서 1개의 예측모드가 선택된 경우에, 상기 선택된 예측순서 및 당해 선택된 1개의 예측모드에 따라 상기 화소블록을 예측하는 제1 예측부와, 상기 복수의 예측모드로부터 2 또는 그 이상의 수의 예측모드가 선택된 경우에, 복수의 예측신호를 생성하고 또 화소단위에 조합됨으로써 상기 화소블록에 대응하는 예측신호를 생성하기 위해, 상기 선택된 예측순서 및 당해 선택된 2 또는 그 이상의 수의 예측모드에 따라 상기 화소블록을 예측하는 것을 특징으로 하는 화상복호장치.
  26. 제25항에 있어서,
    상기 제2 예측부는, 상기 화소단위의 조합을 (a) 가중평균, (b) 최대치 필터, (c) 최소치 필터, (d) 중앙값 필터, 및 (e) 상기 화상신호가 이루는 공간 내에 있어서 특정 방향에서 상기 부호화가 끝난 화소를 참조하는 방향 예측의 각도 또는 상기 선택된 예측모드의 수에 대응한 중첩계수를 기술한 테이블 중 적어도 하나에 따라 실행하도록 구성된 것을 특징으로 하는 화상복호장치.
  27. 제18항에 있어서,
    상기 부호화 데이터에 포함되는, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 나타내는 제2 정보를 분리하는 분리부를 더 구비하고,
    상기 제2 선택부는, 상기 제2 정보에 의해 나타내어지는 예측모드의 수를 선택하도록 구성된 것을 특징으로 하는 화상복호장치.
  28. 제18항에 있어서,
    상기 제1 선택부는, 상기 화소블록 또는 인접 화소블록의 액티비티 정보에 따라 상기 예측순서를 선택하도록 구성된 것을 특징으로 하는 화상복호장치.
  29. 제18항에 있어서,
    상기 부호화 데이터에 포함되는, 상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 나타내는 제1 정보를 분리하는 분리부를 더 구비하고,
    상기 제1 선택부는, 상기 제1 정보, 및 상기 화소블록 또는 인접 화소블록의 액티비티 정보의 적어도 한쪽에 따라 상기 예측순서를 선택하도록 구성된 것을 특징으로 하는 화상복호장치.
  30. 제18항에 있어서,
    상기 제2 선택부는, 상기 화소블록 또는 인접 화소블록의 액티비티 정보에 따라 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하도록 구성된 것을 특징으로 하는 화상복호장치.
  31. 제18항에 있어서,
    상기 부호화 데이터에 포함되는, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 나타내는 제2 정보를 분리하는 분리부를 더 구비하고,
    상기 제2 선택부는, 상기 제2 정보, 및 상기 화소블록 또는 인접 화소블록의 액티비티 정보의 적어도 한쪽에 따라 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하도록 구성된 것을 특징으로 하는 화상복호장치.
  32. 입력 화상신호의 프레임을 분할한 복수의 화소블록마다 예측 부호화를 수행하는 것를 포함한 화상 부호화를 컴퓨터에 실행시키기 위한 화상 부호화 프로그램을 격납한 컴퓨터로 읽을 수 있는 기억매체로서,
    상기 프로그램은,
    상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 것을 상기 컴퓨터에 실행시키기 위한 수단;
    부호화가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 부호화가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 것을 상기 컴퓨터에 실행시키기 위한 수단;
    상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드를 상기 선택된 수만큼 선택하는 것을 상기 컴퓨터에 실행시키기 위한 수단;
    상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 것을 상기 컴퓨터에 실행시키기 위한 수단; 및
    상기 예측 부호화에 의한 부호화 데이터를 생성하기 위해, 상기 화소블록의 화상신호와 상기 제2 예측신호와의 차이를 나타내는 예측잔차신호를 부호화하는 것을 상기 컴퓨터에 실행시키기 위한 수단을 구비한 것을 특징으로 하는, 컴퓨터로 읽을 수 있는 기억매체.
  33. 화상신호의 프레임을 분할한 복수의 화소블록마다 부호화 데이터를 복호하는 것을 포함하는 화상 복호를 컴퓨터에 실행시키기 위한 화상 복호 프로그램을 저장한 컴퓨터로 읽을 수 있는 기억매체로서,
    상기 프로그램은,
    상기 화소블록을 분할한 복수의 서브블록에 대한 예측순서를 미리 정해진 복수의 예측순서 중에서 선택하는 것을 상기 컴퓨터에 실행시키기 위한 수단;
    복호가 끝난 화소를 참조해서 상기 각 서브블록의 제1 예측신호를 생성할 때의 당해 복호가 끝난 화소의 참조방법을 규정하는 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드의 수를 선택하는 것을 상기 컴퓨터에 실행시키기 위한 수단;
    상기 복수의 예측모드 중에서, 상기 제1 예측신호의 예측에 이용할 예측모드를 상기 선택된 수만큼 선택하는 것을 상기 컴퓨터에 실행시키기 위한 수단;
    상기 화소블록에 대응하는 제2 예측신호를 생성하기 위해, 상기 선택된 수의 상기 선택된 예측모드를 이용해서, 선택된 예측순서로 상기 제1 예측신호를 생성하는 것을 상기 컴퓨터에 실행시키기 위한 수단; 및
    상기 제2 예측신호를 이용해서 복호화상신호를 생성하는 것을 상기 컴퓨터에 실행시키기 위한 수단을 구비한 것을 특징으로 하는, 컴퓨터로 읽을 수 있는 기억매체.
KR1020097001469A 2006-07-28 2006-07-28 화상 부호화 및 복호화 방법 및 장치 Expired - Fee Related KR101011303B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/315039 WO2008012918A1 (fr) 2006-07-28 2006-07-28 Procédé et appareil de codage et de décodage d'image

Publications (2)

Publication Number Publication Date
KR20090048573A KR20090048573A (ko) 2009-05-14
KR101011303B1 true KR101011303B1 (ko) 2011-01-28

Family

ID=38981234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097001469A Expired - Fee Related KR101011303B1 (ko) 2006-07-28 2006-07-28 화상 부호화 및 복호화 방법 및 장치

Country Status (10)

Country Link
US (1) US20090310677A1 (ko)
EP (1) EP2056606A1 (ko)
JP (1) JPWO2008012918A1 (ko)
KR (1) KR101011303B1 (ko)
CN (1) CN101502124B (ko)
AU (1) AU2006346583B2 (ko)
BR (1) BRPI0621935A2 (ko)
CA (1) CA2659351A1 (ko)
TW (1) TW200820790A (ko)
WO (1) WO2008012918A1 (ko)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338364B (zh) 2007-06-29 2016-07-06 夏普株式会社 图像编码装置、图像编码方法、图像译码装置、图像译码方法
KR101375662B1 (ko) * 2007-08-06 2014-03-18 삼성전자주식회사 이미지 데이터 압축 방법 및 장치
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
EP2273776A4 (en) * 2008-03-31 2014-07-16 Fujitsu Ltd Image data compression device, decompression device, compression method, decompression method and program
WO2009136066A1 (fr) * 2008-04-15 2009-11-12 France Telecom Prediction d'images par determination prealable d'une famille de pixels de reference, codage et decodage utilisant une telle prediction
US8842731B2 (en) * 2008-04-15 2014-09-23 Orange Coding and decoding of an image or of a sequence of images sliced into partitions of pixels of linear form
PL2924994T3 (pl) 2008-05-07 2017-07-31 Lg Electronics, Inc. Sposób i aparat do dekodowania sygnału wideo
JP4831114B2 (ja) * 2008-05-09 2011-12-07 日本ビクター株式会社 画像符号化装置、画像符号化プログラム、画像復号装置及び画像復号プログラム
EP2304963B1 (fr) * 2008-07-01 2015-11-11 Orange Procede et dispositif de codage d'images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US8867854B2 (en) 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
KR101356448B1 (ko) 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
KR20100095992A (ko) * 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
JP5169978B2 (ja) 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US20120127003A1 (en) * 2009-08-06 2012-05-24 Youji Shibahara Coding method, decoding method, coding apparatus, and decoding apparatus
KR101671460B1 (ko) * 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
EA201691821A1 (ru) * 2009-10-20 2017-05-31 Шарп Кабусики Кайся Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, система кодирования/декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
CN102098519B (zh) * 2009-12-09 2013-04-17 浙江大学 视频编码方法、解码方法、编码及解码装置
KR20110068792A (ko) 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
WO2011083439A1 (en) * 2010-01-08 2011-07-14 Nokia Corporation An apparatus, a method and a computer program for video coding
FR2955730A1 (fr) * 2010-01-25 2011-07-29 Thomson Licensing Procedes de codage et de decodage
TWI562600B (en) 2010-02-08 2016-12-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding
SG184528A1 (en) * 2010-04-09 2012-11-29 Mitsubishi Electric Corp Moving image encoding device and moving image decoding device
US8619857B2 (en) * 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US20110249733A1 (en) * 2010-04-09 2011-10-13 Jie Zhao Methods and Systems for Intra Prediction
US20110249735A1 (en) * 2010-04-09 2011-10-13 Jie Zhao Methods and Systems for Intra Prediction
US20110249734A1 (en) * 2010-04-09 2011-10-13 Segall Christopher A Methods and Systems for Intra Prediction
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US20110249741A1 (en) * 2010-04-09 2011-10-13 Jie Zhao Methods and Systems for Intra Prediction
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
MY173125A (en) * 2010-05-14 2019-12-30 Interdigital Vc Holdings Inc Methods and apparatus for intra coding a block having pixels assigned to groups
FI3962081T3 (fi) * 2010-05-25 2024-03-25 Lg Electronics Inc Uusi planaarinen ennustustila
US8837577B2 (en) 2010-07-15 2014-09-16 Sharp Laboratories Of America, Inc. Method of parallel video coding based upon prediction type
US8879619B2 (en) 2010-07-15 2014-11-04 Sharp Laboratories Of America, Inc. Method of parallel video coding based on scan order
US9380301B2 (en) * 2010-07-15 2016-06-28 Sharp Kabushiki Kaisha Image intra-prediction mode estimation device, image encoding device, image decoding device, and encoded image data that adaptively decides the number of estimated prediction modes to be estimated
US8873617B2 (en) 2010-07-15 2014-10-28 Sharp Laboratories Of America, Inc. Method of parallel video coding based on same sized blocks
US8848779B2 (en) 2010-07-15 2014-09-30 Sharp Laboratories Of America, Inc. Method of parallel video coding based on block size
US8855188B2 (en) 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
US8548062B2 (en) 2010-07-16 2013-10-01 Sharp Laboratories Of America, Inc. System for low resolution power reduction with deblocking flag
KR101530284B1 (ko) 2010-07-16 2015-06-19 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US8767828B2 (en) 2010-07-16 2014-07-01 Sharp Laboratories Of America, Inc. System for low resolution power reduction with compressed image
US9313523B2 (en) 2010-07-16 2016-04-12 Sharp Laboratories Of America, Inc. System for low resolution power reduction using deblocking
US9357229B2 (en) 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
KR20120012385A (ko) * 2010-07-31 2012-02-09 오수미 인트라 예측 부호화 장치
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US10003795B2 (en) * 2010-08-17 2018-06-19 M&K Holdings Inc. Method for encoding an intra prediction mode
KR20140057672A (ko) * 2010-08-17 2014-05-13 엠앤케이홀딩스 주식회사 인트라 예측 복호화 방법
CN103141105B (zh) * 2010-09-27 2018-05-15 Lg电子株式会社 用于分割块的方法和解码设备
MX338462B (es) * 2010-09-30 2016-04-15 Mitsubishi Electric Corp Dispositivo de codificacion de imagen en movimiento, dispositivo de decodificacion de imagen en movimiento, metodo de codificacion de imagen en movimiento y metodo de decodificacion de imagen en movimiento.
US8923395B2 (en) 2010-10-01 2014-12-30 Qualcomm Incorporated Video coding using intra-prediction
CN104811718A (zh) * 2010-10-26 2015-07-29 数码士控股有限公司 自适应帧内预测编码和解码方法
US9066102B2 (en) 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
US10142630B2 (en) * 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
AU2015203228B2 (en) * 2010-12-21 2016-03-31 Ntt Docomo, Inc. Enhanced intra-prediction coding using planar representations
CN104796716B (zh) * 2010-12-21 2017-12-29 株式会社Ntt都科摩 使用平面表达的增强帧内预测编码
AU2016202817B2 (en) * 2010-12-21 2017-12-21 Ntt Docomo, Inc. Enhanced intra-prediction coding using planar representations
CA2979455C (en) * 2011-01-12 2018-09-04 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
CN105933709B (zh) * 2011-03-09 2020-04-28 株式会社东芝 运动图像编码方法、装置以及运动图像解码方法、装置
JP5875236B2 (ja) * 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN107623857B (zh) * 2011-04-12 2021-01-05 韩国电子通信研究院 视频编码/解码方法、设备以及生成和存储比特流的方法
JP2013012995A (ja) * 2011-06-30 2013-01-17 Sony Corp 画像処理装置および方法
US9560347B2 (en) * 2011-08-23 2017-01-31 Hfi Innovation Inc. Method and system of transform block processing according to quantization matrix in video coding
MX353235B (es) * 2011-09-29 2018-01-08 Sharp Kk Star Dispositivo de decodificación de imágenes, método de decodificación de imágenes y dispositivo de codificación de imágenes.
RU2626013C1 (ru) * 2011-10-19 2017-07-21 Кт Корпорейшен Способ декодирования видеосигнала
US9756327B2 (en) * 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding
JP5488685B2 (ja) * 2012-12-28 2014-05-14 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP5488684B2 (ja) * 2012-12-28 2014-05-14 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
TWI512642B (zh) * 2013-01-25 2015-12-11 Delta Electronics Inc 快速圖形比對方法
GB2516425B (en) * 2013-07-17 2015-12-30 Gurulogic Microsystems Oy Encoder and decoder, and method of operation
JP5776803B2 (ja) * 2014-02-20 2015-09-09 ソニー株式会社 画像処理装置および方法、並びに記録媒体
JP5776804B2 (ja) * 2014-02-20 2015-09-09 ソニー株式会社 画像処理装置および方法、並びに記録媒体
EP2938073A1 (en) * 2014-04-24 2015-10-28 Thomson Licensing Methods for encoding and decoding a picture and corresponding devices
JP5886922B2 (ja) * 2014-09-22 2016-03-16 日立マクセル株式会社 画像復号化方法
US20180048915A1 (en) * 2015-02-27 2018-02-15 Lg Electronics Inc. Method and apparatus for encoding/decoding a video signal
JP5887013B2 (ja) * 2015-09-11 2016-03-16 日立マクセル株式会社 画像復号化方法
JP5891333B2 (ja) * 2015-09-11 2016-03-22 日立マクセル株式会社 画像復号化方法
JP5887012B2 (ja) * 2015-09-11 2016-03-16 日立マクセル株式会社 画像復号化方法
JP2016129391A (ja) * 2016-02-22 2016-07-14 日立マクセル株式会社 画像復号化方法
US10404989B2 (en) * 2016-04-26 2019-09-03 Google Llc Hybrid prediction modes for video coding
CN106162197B (zh) * 2016-08-31 2019-07-12 北京奇艺世纪科技有限公司 一种视频编码帧内预测方法和装置
CN108810556B (zh) * 2017-04-28 2021-12-24 炬芯科技股份有限公司 压缩参考帧的方法、装置及芯片
EP3622713B1 (en) * 2017-05-09 2024-11-13 Google LLC Directional intra-prediction coding
JP7194539B2 (ja) * 2017-09-14 2022-12-22 日本放送協会 符号化装置、復号装置及びプログラム
KR102618692B1 (ko) * 2018-06-15 2024-01-02 삼성전자주식회사 노이즈 또는 디서의 영향을 감소시키기 위한 디스플레이 구동 회로 및 방법
JP6975070B2 (ja) * 2018-02-27 2021-12-01 シャープ株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
CN110896476B (zh) * 2018-09-13 2021-11-26 阿里巴巴(中国)有限公司 图像处理方法、装置及存储介质
JP7774951B2 (ja) * 2019-09-11 2025-11-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN119052483B (zh) * 2024-08-06 2025-11-04 咪咕视讯科技有限公司 一种帧内预测模式的确定方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004140473A (ja) 2002-10-15 2004-05-13 Sony Corp 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法
JP2005260464A (ja) 2004-03-10 2005-09-22 Nippon Telegr & Teleph Corp <Ntt> 画像符号化装置,画像復号装置,画像符号化方法,画像復号方法,画像符号化プログラム,画像復号プログラム,画像符号化プログラム記録媒体および画像復号プログラム記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1204753C (zh) * 2003-05-19 2005-06-01 北京工业大学 基于相邻像素预测的帧内预测方法
WO2005022919A1 (en) * 2003-08-26 2005-03-10 Thomson Licensing S.A. Method and apparatus for decoding hybrid intra-inter coded blocks
CN100536573C (zh) * 2004-01-16 2009-09-02 北京工业大学 基于方向的dc预测方法及用于视频编码的帧内预测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004140473A (ja) 2002-10-15 2004-05-13 Sony Corp 画像情報符号化装置、復号化装置並びに画像情報符号化方法、復号化方法
JP2005260464A (ja) 2004-03-10 2005-09-22 Nippon Telegr & Teleph Corp <Ntt> 画像符号化装置,画像復号装置,画像符号化方法,画像復号方法,画像符号化プログラム,画像復号プログラム,画像符号化プログラム記録媒体および画像復号プログラム記録媒体

Also Published As

Publication number Publication date
CA2659351A1 (en) 2008-01-31
WO2008012918A1 (fr) 2008-01-31
BRPI0621935A2 (pt) 2016-09-13
AU2006346583A1 (en) 2008-01-31
KR20090048573A (ko) 2009-05-14
AU2006346583B2 (en) 2011-04-28
TW200820790A (en) 2008-05-01
JPWO2008012918A1 (ja) 2009-12-17
TWI348871B (ko) 2011-09-11
CN101502124A (zh) 2009-08-05
EP2056606A1 (en) 2009-05-06
CN101502124B (zh) 2011-02-23
US20090310677A1 (en) 2009-12-17

Similar Documents

Publication Publication Date Title
KR101011303B1 (ko) 화상 부호화 및 복호화 방법 및 장치
KR101984764B1 (ko) 영상 부호화/복호화 장치 및 방법
KR100977101B1 (ko) 화상 부호화/화상 복호화 방법 및 화상 부호화/화상 복호화장치
KR101103699B1 (ko) 영상 부호화 방법 및 복호 방법, 그들의 장치, 그들의 프로그램 및 프로그램을 기록한 기록매체
US20100118943A1 (en) Method and apparatus for encoding and decoding image
KR101838122B1 (ko) 평면 표현을 이용한 향상된 인트라-예측 부호화
KR101538704B1 (ko) 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
TWI848598B (zh) 編碼方法及編碼裝置
US20100118945A1 (en) Method and apparatus for video encoding and decoding
JPWO2009001793A1 (ja) 画像符号化と画像復号化の方法及び装置
JP5219089B2 (ja) 画像データの生成方法
TW200850012A (en) Image encoding method, device, image decoding method, and device
KR20110065090A (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
EP2497271A2 (en) Hybrid video coding
KR20110000438A (ko) 다차원 정수 변환을 이용한 영상 부호화/복호화 장치 및 방법
KR20130101116A (ko) 영상 부호화 장치, 영상 복호 장치, 영상 부호화 방법, 영상 복호 방법 및 프로그램
KR101601854B1 (ko) 공간적 예측장치 및 그 예측방법, 그것을 이용한 영상 부호화 장치 및 방법, 및 영상 복호화 장치 및 방법
JP2012028863A (ja) 動画像符号化装置
KR20110036401A (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
RU2427976C2 (ru) Способ и устройство для кодирования и декодирования изображения
MX2009000832A (es) Metodo y aparato de codificacion y decodificacion de imagenes.

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20140121

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20140121

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000