KR20130057953A - 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치 - Google Patents

세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20130057953A
KR20130057953A KR1020120133508A KR20120133508A KR20130057953A KR 20130057953 A KR20130057953 A KR 20130057953A KR 1020120133508 A KR1020120133508 A KR 1020120133508A KR 20120133508 A KR20120133508 A KR 20120133508A KR 20130057953 A KR20130057953 A KR 20130057953A
Authority
KR
South Korea
Prior art keywords
prediction
unit
prediction unit
block
encoding
Prior art date
Application number
KR1020120133508A
Other languages
English (en)
Other versions
KR102072124B1 (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 에스케이텔레콤 주식회사
Priority to PCT/KR2012/009966 priority Critical patent/WO2013077660A1/ko
Publication of KR20130057953A publication Critical patent/KR20130057953A/ko
Priority to US14/282,462 priority patent/US9674520B2/en
Priority to US15/477,637 priority patent/US10038900B2/en
Priority to US15/477,662 priority patent/US10033998B2/en
Application granted granted Critical
Publication of KR102072124B1 publication Critical patent/KR102072124B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 발명의 실시예는 상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하고 부호화하여 비트스트림을 생성하고 이를 복호화하는 영상 부호화/복호화 방법 및 장치를 제공한다.

Description

세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치{Method and Apparatus for Image Encoding/Decoding using detailed prediction unit}
본 발명은 동영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 참조 프레임으로부터 코딩 단위를 기준으로 하여 화면 간 예측을 진행할 때, 원 영상 신호와 비슷한 예측 신호를 생성하기 위해 코딩단위를 세밀한 예측 단위로 분할하여 예측을 함으로써 부호화 성능을 향상시키는 영상의 부호화/복호화 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다. 또한, 이 부분에 기술된 내용이 배경 정보에 해당하는 기술일 뿐만 아니라 배경 기술의 내용도 본 발명의 일 실시예에 따른 부호화/복호화 방법 및 장치에 포함될 수 있다.
동영상의 압축 기술의 전문가들이 모여 결성된 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 JCT-VC(Joint Collaborative Team on Video Coding)라는 MPEG과 VCEG의 공동 팀을 결성하여 기존의 H.264/AVC(Advanced video Coding)보다 고화질, 고성능, 고효율 동영상 압축 기술로 약 50% 이상의 압축 성능 향상을 가지는 새로운 동영상 압축 표준을 목표로 HEVC(High Efficiency Video Coding)이라는 이름의 표준안에 대한 표준화가 진행 중이다. 이는 기존 H.264/AVC의 기술보다 향상된 압축률을 가지는 고화질/고성능 압축기술을 목표로 시작되었으며, 다양한 부호화 방법이 채택되었고 기존 표준화 기술보다 화질과 성능 향상 면에서 많은 발전을 가져오고 있다. 2012년 2월 CD(Committee Draft), 2013년 1월 FDIS(Final Draft of IS), 2013년 IS(International Standard)를 목표로 기술 개발이 진행 중이며, 2010년 8월에는 Test Model under Consideration(TMuC)을 제작하여 협의가 진행되어 지난 2010년 10월에 끝난 광저우에서 열린 제 3차 JCT-VC 회의 후 HEVC Test Model (HM1.0) 및 WD1.0이 완성되었다. 또한 2011년 1월 대구에서 열린 제 4차 JCT-VC 회의 후 HM2.0 및 WD2.0이 완성되었으며, 지난 2011년 3월 스위스 제네바에서 열린 제 5회 JCT-VC 회의 후 HM3.0 및 WD3.0이 완성되었다 현재, 지난 2011년 7월 이탈리아 토리노에서 열린 제 6회 JCT-VC 회의 후 HM4.0 및 WD4.0이 완성되어 있다.
도 1은 HEVC의 코딩단위인 CU(Coding Unit)에 관한 예를 보여준다. HEVC는 이와 같은 코딩단위(CU)를 기본 단위로 시작되며 쿼드트리(Quad Tree)의 형태를 가진다. 도 1을 상세히 설명하면 크기가 64×64를 가장 큰 코딩 단위인 LCU(Largest Coding Unit)일 때 깊이(depth)를 0으로 하여 깊이가 3이 될 때까지, 즉 8×8 크기의 코딩단위(CU)까지 귀납적(반복적, Recursive)으로 부호화를 수행하는 형태를 보여준다.
코딩의 기본단위는 다시 하위 계층으로 분류되는 예측의 기본 단위로 분류되며 예측단위 (PU: Prediction Unit)로 정의되며, 하나의 예측단위(PU)는 다수개의 블록으로 분할되어 예측을 수행하는 형태를 지닌다.
도 2는 통상적인 예측단위인 PU의 종류와 하나의 코딩단위(CU) 내에서 예측단위(PU)의 예측순서를 나타낸다.
도 2를 참조하면, 크기가 2N×2N인 한 코딩단위(CU) 내에서 스킵(Skip)모드를 수행한 이후에 인터 2N×2N 모드, 인터 2N×N 모드, 인터 N×2N 모드, 인터 2N×nU 모드, 인터 2N×nD 모드, 인터 nL×2N 모드, 인터 nR×2N 모드, 인트라 2N×2N 모드, 인트라 N×N 모드의 예측단위를 기준으로 예측을 수행한다. 단, 크기가 8×8인 코딩단위(CU)에서는 인터 2N×2N 모드, 인터 2N×N 모드, 인터 N×2N 모드, 인트라 2N×2N 모드, 인트라 N×N 모드의 예측단위를 기준으로 예측을 수행한다.
예측방법은 부호화중인 프레임 내에서 부호화된 블록으로부터 예측 값을 사용하여 예측하는 화면 내 예측 부호화 방법과 이전에 복원된 프레임으로부터 움직임을 추정하여 현재 프레임의 블록을 예측하는 화면 간 예측 부호화 방법으로 분류할 수 있다.
화면 내 예측 방법으로는 이전에 부호화된 해당 블록의 좌측, 좌측하단, 좌측상단, 상단, 우측상단의 픽셀 값을 이용하여 여러 방향으로 예측을 수행하는 통합된 화면 내 예측 방법(Unified Intra Prediction)이 사용되고 있다. 또한 화면 내 예측은 코딩 단위와 동일한 2N×2N 크기의 예측단위로 예측하거나 코딩단위를 4등분 한 N×N 크기의 예측단위로 예측한다.
도 3은 통상적인 인트라 예측 모드의 방향을 나타낸 도면이다.
도 3을 참조하면, 인트라 예측 모드는 DC(Direct Current) 모드, 플라나(Planar) 모드와 총 33가지의 예측 방향을 가진 각도(Angular) 모드를 포함하여 총 35가지의 예측 모드가 있다.
비디오의 화면 간 예측 방법(Inter Predictive Coding)에는 영상 프레임을 분할해서 이전에 부호화된 프레임으로부터 움직임을 추정하여 현재의 블록을 예측하는 움직임보상을 사용하고 있으며, 움직임 보상의 결과로 이전에 부호화된 프레임으로부터 움직임 정보를 표현하는 것으로서 복호화 할 때 필요한 움직임 벡터가 생성된다. 화면 간 예측은 코딩 단위를 똑 같은 형태의 상측블록, 하측블록으로 분할하는 2N×N 형태, 똑 같은 형태의 좌측블록, 우측블록으로 분할하는 N×2N 형태와 같이 대칭적으로 분할된 예측 단위(PU)로 예측하는 경우가 있는 반면, 코딩 단위 내에서 상측 혹은 하측, 좌측 혹은 우측으로 비대칭적으로 분할된 2N×nU, 2N×nD, nL×2N, nR×2N을 예측 단위(PU)로 하여 예측하는 경우가 있다.
현재블록의 움직임 벡터를 구하고 나면 움직임 벡터 예측방법으로 앞서 부호화된 프레임 혹은 현재 프레임 내 주변의 예측 단위(PU)로부터 예측한 움직임 벡터와 현재블록의 움직임 벡터와의 차이값을 계산하여 움직임 벡터 오차값을 생성하게 된다. 또한, 움직임 벡터 결합 방법으로 앞서 부호화된 프레임 내 혹은 상기 프레임의 주변의 예측단위(PU)와 동일한 움직임 벡터를 사용하는 경우에 이러한 방법으로 움직임 벡터를 부호화함을 나타내는 플래그를 생성할 수도 있다.
도 4는 움직임 벡터 예측 시 현재 프레임에서 예측 움직임 벡터 정보를 얻어올 수 있는 주변 예측단위(PU)의 위치(A ~ E)를 예시한 도면이다.
화면 내 예측방법 또는 화면 간 예측방법으로 하나의 예측블록이 만들어지게 되면 현재블록의 원 화소값과 예측블록의 예측값 간의 차이값을 계산하여 잔차 신호를 생성한다. 이렇게 생성된 잔차신호를 주파수 변환하여 주파수변환블록을 얻고 이를 양자화(Quantization)시켜 양자화된 주파수계수블록을 형성한다. 변환과 양자화(Quantization)의 기본 단위는 변환단위(TU:Transform Unit)라고 명칭한다. 변환단위(TU)를 기준으로 변환과 양자화하고 나면, 특정한 조건에 따라 다른 주사(Scan) 방법으로 변환 단위(TU)를 주사하고, 주사 순서에 따라 엔트로피코딩방법(Entropy Coding)과 같은 부호화 방법을 통해 비트스트림을 생성한다.
상기 코딩 단위(CU)와 비슷한 예측 블록을 만들기 위해서 코딩 단위(CU)를 분할함에 있어서, 2N×2N, 2N×N, N×2N, 2N×nU, 2N×nD, nL×2N, nR×2N 등 총 7모드로 분할하여 예측하는 것은 부호화 시간을 연장시키는 문제점을 지닌다. 또한 각각의 모드에서 하나의 코딩 단위(CU)를 최대 2개의 예측 단위(PU)로만 분할하여 예측하는 것은 예측 단위(PU)를 세밀하게 예측하지 못하여 부호화 성능에서 효과적이지 않다는 문제점을 지닌다.
전술한 문제점을 해결하기 위해 본 발명의 실시예에 따르면, 현재 코딩 단위(CU)의 원 화소 값과 비슷한 값을 가진 예측 블록을 생성하기 위해서 코딩 단위(CU)를 예측 단위(PU)로 분할할 때, 세밀한 예측 단위(PU)로 분할하여 효과적으로 예측하고 또한 예측단위모드의 개수는 줄이는 대신 보다 세밀하게 분할하여 예측함으로써 부호화 및 복호화의 성능을 향상하는 데에 주된 목적이 있다.
본 발명의 일 실시예에 따르면, 영상을 부호화/복호화하는 장치에 있어서, 상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하고 부호화하여 비트스트림을 생성하는 영상부호화기; 및 상기 비트스트림으로부터 예측단위에 대한 정보를 추출하여 현재블록을 복원하는 영상복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 장치에 있어서, 상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하는 예측부; 상기 예측단위의 화소 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 상기 잔차 블록을 변환하여 주파수변환블록을 생성하는 변환부; 상기 주파수변환블록을 양자화하여 양자화된 주파수변환블록를 생성하는 양자화부; 상기 양자화된 주파수변환블록과 분할된 예측단위(PU) 모드정보가 포함된 정보를 비트스트림으로 부호화하는 비트스트림 생성부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
상기 예측부는, 상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하도록 h값을 설정할 수 있다.
상기 예측부는, 상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하지 않도록 h값을 설정할 수 있다.
상기 예측부는, 인터예측 모드 중에서는 상기 예측단위(PU) 모드를 이용한 모드에 대해서만 부호화할 수 있다.
상기 예측부는, 상기 예측단위(PU) 모드 이외의 예측단위(PU) 모드 중에서 비대칭적으로 분할되는 예측단위 모드의 부호화를 생략할 수 있다.
상기 예측부는, 2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 hN×2N의 예측단위(PU) 모드에 대해서는 부호화를 생략하고 N×2N 모드에 대한 부호화의 성능이 가장 좋은 경우 2N×hN의 예측단위(PU) 모드에 대해서는 부호화를 생략할 수 있다.
상기 예측부는, 2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 움직임보상에 의한 부호화는 생략하고 움직임벡터 결합(Merge)만을 이용하여 부호화할 수 있다.
상기 비트스트림 생성부는 각 상기 예측단위에 대하여, 상기 소정의 코딩단위의 주변에 위치한 코딩단위 내 블록 및 상기 코딩단위 내의 기 예측된 예측블록을 고려하여 상기 예측단위의 움직임 정보를 머지하고 상기 머지되는 블록의 위치를 식별하는 머지 인덱스를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 양자화된 주파수변환블록을 복호하고 소정의 코딩단위(CU)의 영상에 대하여 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)의 모드정보를 생성하는 복호화부; 상기 양자화된 주파수변환 블록을 역양자화하여 주파수변환블록을 생성하는 역양자화부; 상기 주파수변환블록을 역변환하여 잔차 블록을 복원하는 역변환부; 상기 예측단위 모드에 해당하는 예측단위(PU)를 기준으로 예측 블록을 생성하는 예측부; 및 상기 생성된 예측 블록과 상기 복원되는 잔차 블록을 가산하여 복원하고자 하는 현재 화소 블록을 복원하는 가산부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
상기 비트스트림 복호부는, 상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하도록 h값을 설정할 수 있다.
상기 비트스트림 복호부는, 상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하지 않도록 h값을 설정할 수 있다.
상기 복호부는 상기 비트스트림으로부터 상기 예측단위에 대한 머지 인덱스를 추출하고, 상기 예측부는 각 상기 예측단위에 대하여 상기 소정의 코딩단위의 주변에 위치한 코딩단위 내 블록 및 상기 코딩단위 내의 기 예측된 예측블록을 고려하여 상기 머지 인덱스를 식별하고 상기 예측단위의 움직임 정보를 복원할 수 있다.
본 발명의 일 실시예에 따른 영상을 부호화/복호화하는 방법은, 영상을 부호화/복호화하는 방법에 있어서, 상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하고 부호화하여 비트스트림을 생성하는 영상부호화단계; 및 상기 비트스트림으로부터 예측단위에 대한 정보를 추출하여 현재블록을 복원하는 영상복호화단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 영상을 부호화하는 방법에 있어서, 상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하는 예측단계; 상기 예측단위의 화소 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산단계; 상기 잔차 블록을 변환하여 주파수변환블록을 생성하는 변환단계; 상기 주파수변환블록을 양자화하여 양자화된 주파수변환블록를 생성하는 양자화단계; 상기 양자화된 주파수변환블록과 분할된 예측단위(PU) 모드정보가 포함된 정보를 비트스트림으로 부호화하는 비트스트림 생성단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
상기 예측단계에서는, 2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 hN×2N의 예측단위(PU) 모드에 대해서는 부호화를 생략하고 N×2N 모드에 대한 부호화의 성능이 가장 좋은 경우 2N×hN의 예측단위(PU) 모드에 대해서는 부호화를 생략할 수 있다.
상기 예측단계에서는, 2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 움직임보상에 의한 부호화는 생략하고 움직임벡터 결합(Merge)만을 이용하여 부호화할 수 있다.
본 발명의 일 실시예에 따르면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 양자화된 주파수변환블록을 복호하고 소정의 코딩단위(CU)의 영상에 대하여 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)의 모드정보를 생성하는 복호화단계; 상기 양자화된 주파수변환 블록을 역양자화하여 주파수변환블록을 생성하는 역양자화단계; 상기 주파수변환블록을 역변환하여 잔차 블록을 복원하는 역변환단계; 상기 예측단위 모드에 해당하는 예측단위(PU)를 기준으로 예측 블록을 생성하는 예측단계; 및 상기 생성된 예측 블록과 상기 복원되는 잔차 블록을 가산하여 복원하고자 하는 현재 화소 블록을 복원하는 가산단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
본 발명에 의하면, 부호화하고자 하는 상기 코딩단위(CU)에서 원 화소값과 비슷한 예측값이 들어 있는 예측블록을 생성하기 위해 코딩단위(CU)를 하나 이상의 예측단위(PU)로 분할할 때, 세밀한 예측단위(PU)로 분할하여 예측하여 예측블록을 생성함으로써 부호화/복호화의 성능을 향상하는 효과가 있다.
또한, 예측단위의 세밀한 분할을 통하여 예측성능을 향상시킴은 물론 코딩단위내의 예측단위끼리 움직임 정보 머지가 가능해지도록 함으로써 더욱 효율적인 부호화 및 복호화가 가능해진다.
도 1은 HEVC의 코딩단위인 CU(Coding Unit)에 관한 예를 보여준다.
도 2는 통상적인 예측단위인 PU의 종류와 하나의 코딩단위(CU) 내에서 예측단위(PU)의 예측순서를 나타낸다.
도 3은 통상적인 인트라 예측 모드의 방향을 나타낸 도면이다.
도 4는 움직임 벡터 예측 시 현재 프레임에서 예측 움직임 벡터 정보를 얻어올 수 있는 주변 예측단위(PU)의 위치를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
도 7은 본 발명의 일 실시예에 따른 코딩단위(CU) 내에서 부호화되는 예측단위(PU)의 종류와 순서의 한 예를 나타낸 도면이다.
도 8은 움직임 정보 결합 기술이 사용되었을 때, 도 7에 나와 있는 예측단위(PU)들이 도 2에 도시된 예측단위(PU)들과 비슷한 효과를 내는 경우를 예시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
도 11은 현재 코딩유닛의 예측단위 분할 모양 및 예측단위별로 움직임 정보 머지에 사용될 수 있는 주변코딩유닛의 위치를 예시한 도면이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus) 및 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 단말기(Wireless Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 화면 내 예측 방법인 인트라 블록(Intra Block), 화면 간 예측 방법인 인터 블록(Inter Block)으로 분류될 수 있다. 화면 내 예측 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 화면 내 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 화면 간 예측 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 화면 간 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(500)는 영상의 코딩 단위(CU)를 세밀한 예측단위로 분할하여 예측하고, 코딩 단위(CU)내의 예측단위 끼리 머지하여 새로운 예측단위를 형성하는 장치로서, 도 5에 도시한 바와 같이, 예측부(510), 감산부(520), 변환부(530), 양자화부(540) 및 비트스트림 생성부(550)를 포함하여 구성될 수 있다.
부호화하고자 하는 입력 영상은 코딩단위(Coding Unit)로 입력이 되는데, 본 발명의 실시예에서, 코딩단위(Coding Unit)는 N×N 블록 형태일 수 있으며 N은 2n의 크기를 가진다. 코딩단위는 쿼드트리(Quad Tree)의 형태로 이루어질 수 있으며 가장 큰 코딩단위(Largest Coding Unit)로부터 지정된 깊이까지 귀납적(반복적, Recursive)으로 분할하여 부호화를 수행한다.
하나의 코딩단위(CU) 내에서 예측단위(Prediction Unit)별로 예측이 되는데, 이 때, 영상 부호화 장치(500)에서 예측단위(PU)는 N×M 블록 형태이다. 예측단위(PU)에는 다수개의 인터 예측단위와 인트라 예측단위(PU)가 있으며, 모든 예측단위(PU)에 대해 코딩을 수행하여 압축효율이 가장 좋은 예측단위(PU)의 정보를 사용한다. 각각의 예측을 끝낸 예측단위(PU)는 변환단위(TU)로 바뀐다. 변환단위(TU)는 예측단위(PU)의 크기와 무관하며, 코딩단위(CU)의 크기보다 같거나 작거나 클 수 있다. 변환단위를 변환 및 양자화를 한 후 엔트로피코딩(Entropy Coding)과 같은 부호화 방법을 통해 세밀하게 분할된 예측단위(PU)모드를 포함한 모드정보 등을 부호화하여 비트스트림을 생성한다. 이때 압축효율에 대한 기준은 영상 정보 전송에 필요한 비트 수와 원본블록과 예측블록간의 차이값을 포함하는 율-왜곡 값(Rate Distortion cost)을 통해 결정될 수 있다.
예측부(510)는 현재 코딩단위(CU) 내의 예측단위(PU)를 예측하기 위하여 다른 프레임을 이용하여 예측 블록을 생성하거나 이미 부호화된 좌측, 좌측하단, 좌측상단, 상단, 우측상단의 픽셀 화소값을 이용하여 예측블록을 생성할 수 있다. 즉, 화면 내 예측모드에서 예측부(510)는 이미 부호화 과정을 거치고 복원된 좌측, 좌측하단, 좌측상단, 상단, 우측상단의 코딩단위(CU)정보를 이용하여 예측모드를 결정하고 이 예측모드를 이용하여 예측블록을 생성하는 반면, 화면 간 예측모드에서 예측부(510)는 이미 부호화 과정을 거치고 복원된 이전 프레임에서 움직임 추정을 통해 움직임 벡터를 생성하고 이 움직임 벡터를 이용한 움직임 보상 과정에서 예측 블록을 생성할 수 있다. 예측부(510)는 화면 간 예측 방법 혹은 화면 내 예측 방법을 모두 포함할 수 있다. 본 발명에 따른 개선된 예측단위모드를 이용하여 현재 코딩단위(CU)에서 예측블록을 생성하기 위해 예측단위(PU)로 세밀하게 분할하는 방법은 이후에 자세하게 설명한다.
감산부(520)는 현재 블록의 각 화소의 원 화소값과 예측부(510)가 생성한 예측값의 차이값을 계산하여 잔차신호를 생성한다. 이 잔차신호는 예측단위(PU)별로 결정된다.
변환부(530)는 감산부(520)에 의해 생성된 잔차신호를 주파수 영역으로 변환한다. 변환부(530)는 변환단위(Transform Unit)로 변환이 되는데, 변환단위(TU)는 N×N 블록 형태 혹은 N×M 블록 형태일 수 있다(단, N과 M은 서로 다른 정수). 변환부(530)에서 현재 예측단위(PU)에 대하여 예측이 모든 수행된 직후에 변환단위(TU)별로 귀납적(반복적, Recursive)으로 변환이 수행되며, 변환단위(TU)의 크기는 해당 코딩단위(CU)의 크기보다 같거나 작거나 클 수 있으며, 해당 예측단위(PU)의 크기와는 무관하다. 변환단위(TU)는 코딩단위(CU)와 같은 쿼드트리 형태이며, 코딩단위(CU)의 크기로부터 임의로 지정된 깊이까지 귀납적(반복적, Recursive)으로 변환을 수행한다. 이때 변환단위(TU)의 깊이별 분열변환플래그(Split Transform Flag)를 후술하는 영상 복호화 장치로 전송하여 최저 율-왜곡 값(RD cost)을 가지는 변환단위(TU)의 크기에 대한 정보를 전송한다. 여기서, 변환부(530)는 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT 변환'이라 칭함) 또는 웨이블릿 변환(Wavelet Transform) 등의 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차신호를 주파수 영역으로 변환할 수 있다.
양자화부(540)는 변환부(530)에 의해 주파수 영역으로 변환된 잔차신호로 이루어진 주파수변환블록을 양자화(Quantization)한다. 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스 (Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법을 이용할 수 있다.
비트스트림 생성부(550)는 양자화부(540)에 의해 양자화된 주파수 계수로 이루어진 양자화된 주파수변환블록과 화면 내 예측모드정보, 움직임벡터, 세밀하게 분할된 예측단위(PU)가 포함된 예측단위(PU) 모드정보 등을 비트스트림으로 부호화한다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수 있다.
역양자화부(560)는 변환 및 양자화된 잔차 블록(즉, 양자화된 주파수변환블록)을 역양자화(Inverse Quantization)하고, 역변환부(570)는 역양자화된 변환 잔차 블록을 역변환(Inverse Transform)하여 잔차 블록을 복원(Reconstruction)한다. 여기서, 역양자화와 역변환은 변환부(530)가 수행한 변환 과정과 양자화부(540)가 수행한 양자화 과정을 각각 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화부(560) 및 역변환부(570)는 변환부(530) 및 양자화부(540)로부터 발생되어 전달되는 변환 및 양자화에 관한 정보(예를 들어, 변환 및 양자화 타입에 대한 정보)를 이용하여 역양자화 및 역변환을 수행할 수 있다.
가산부(580)는 예측부(510)에서 생성된 예측 블록과 역변환부(570)에 의해 생성된 잔차 블록을 가산하여 복원된 블록을 생성한다.
프레임 메모리(590)는 가산부(580)에서 복원된 블록을 저장하여 이후에 수행되는 인트라 혹은 인터 예측 수행 시 예측 블록을 생성하기 위해 참조블록으로 사용된다.
본 발명의 일 실시예에 따른, 개선된 예측단위모드를 이용하여 예측블록을 생성하는 과정으로 아래와 같은 과정을 수행한다.
예측부(510)에서 예측을 수행하기 위해 코딩단위(CU)는 특정한 모양의 예측단위로 분할되는데 이때 예측단위가 세밀하게 분할될 수 있다.
도 7은 세밀하게 분할된 예측단위(PU)가 포함된 하나의 코딩단위(CU) 부호화 시 각 예측단위(PU)의 성능을 비교하기 위해 인코딩될 수 있는 예측단위(PU)의 종류와 예측순서의 하나의 예시를 나타낸 도면이다.
도 7에서는 하나의 코딩단위(CU)가, 가로의 길이가 세로의 길이보다 4배가 길도록 4 개로 분할된 2N×hN(단, h는 1/2) 예측단위(PU)와, 세로의 길이가 가로의 길이보다 4배가 길도록 4개로 분할된 hN×2N 예측단위(PU)를 갖는 예를 보여주고 있다. 만약에, 코딩단위(CU)의 크기가 16×16이라면 하나의 예측단위(PU)의 크기는 16×4이거나 4×16이 될 수 있을 것이다.
예측부(510)는 위와 같이 정해진 크기의 예측단위(PU) 내의 원 화소값과 가장 비슷한 값을 가진 같은 크기의 예측블록을 프레임 메모리(590)에 들어있는 참조 프레임 내에서 찾되, 참조 프레임의 정해진 탐색 범위(Search Range)에서 찾으며 탐색 방법은 전체 탐색, 다이아몬드 탐색 등의 방법을 사용할 수 있으며, 이에 한정하지 않고 여러가지 탐색 방법을 사용할 수 있다.
아래 수학식 1은 참조 프레임 내에서 원 화소값과 가장 비슷한 예측블록을 찾기 위해서 하나의 예측 블록을 찾을 때마다 계산되는 원 화소값과 예측블록 간의 차이값을 계산하게 되는 수학식의 한 예를 보여준다.
Figure pat00001
위 수학식 1에서 ci ,j 는 한 예측단위(PU)의 원 화소값을 의미하고, ri ,j 는 예측블록의 예측된 값을 의미한다. 즉, SAD는 한 예측단위(PU)에서 원 화소값과 예측블록간의 차이값의 합계를 의미한다. 예측부(510)는 참조 프레임 내의 탐색 범위 안에서 최소의 SAD를 가지는 블록을 예측블록으로 찾는다.
참조 프레임 내에서 최적의 예측블록을 찾게 되면 참조 프레임 상의 예측블록과 현재 프레임 내의 예측단위(PU)간의 가로축과 세로축 각각의 변위에 해당하는 움직임 벡터가 나오게 된다. 이와 같이 생성된 움직임 벡터를 영상 복호화 장치 측에 전송하는데 쓰이는 비트스트림의 양을 줄이기 위해서 아래의 수학식 2에 근거하는 움직임 벡터 예측 기술이 사용될 수 있으며 움직임 벡터 예측은 반드시 이에 국한하지 않고 유사한 다른 방식을 모두 포함한다.
Figure pat00002
위의 수학식 2에서 mv는 참조 프레임에서 찾은 예측블록의 위치를 나타내는 움직임 벡터를 의미하고, mvp는 현재 프레임 혹은 참조 프레임에서 예측한 예측 움직임 벡터에 해당한다. mvp는 현재 프레임의 주변 예측단위(PU) 혹은 참조 프레임의 예측단위(PU)에서 찾은 움직임 벡터 중 현재블록의 움직임 벡터와 가장 비슷한 움직임 벡터를 나타내며 반드시 이에 한정하지 않고 다른 방법을 사용할 수도 있다. 또한, mvd는 영상 복호화장치 측으로 보내주는 움직임 벡터 오차값(차분 움직임 벡터)을 나타낸다.
도 4는 mvp를 찾을 수 있는 현재 프레임 내의 주변 예측단위(PU)의 위치를 나타낸다. mvp를 찾을 수 있는 위치는 도 4에서 예시하였지만 반드시 이에 국한하지는 않는다. 예컨대 이전 프레임의 동일위치 예측단위가 더 포함될 수 있으며, 본 실시예에서 주변 예측단위라고 표현하는 경우, 주변 예측단위에는 도 4와 같은 공간적인 주변 예측단위뿐만 아니라 이전 프레임의 동일위치 예측단위와 같은 시간적인 주변 예측단위도 포함될 수 있다.
예측부(510)에서 예측단위(PU)의 움직임 정보를 구하는 방법의 하나로 주변 예측단위(PU)의 움직임 벡터 및 참조 인덱스 등의 움직임 정보를 현재블록의 움직임정보로 사용할 수도 있으며, 이와 같이 주변 예측단위(PU)의 움직임 정보를 현재블록의 움직임정보로 사용하는 것을 움직임정보 결합(Merge)이라 한다. 본 발명의 실시예에서 예측블록 생성시 움직임 정보 결합 기술을 사용할 수도 있으나 반드시 이에 국한하지는 않고 다양한 예측 방법을 사용할 수 있다.
도 4는 현재의 예측단위(PU)와 움직임정보 결합(Merge) 기술을 사용할 수 있는 움직임 정보를 찾을 수 있는 현재 프레임 내의 주변 예측단위(PU)의 위치를 예시한 것이며, 움직임정보 결합(Merge) 기술을 사용하기 위한 주변 예측단위(PU)의 예는 도 4에 도시된 것에 국한하지는 않는다.
도 8은 움직임정보 결합 기술이 사용되었을 때, 도 7에 나와 있는 예측단위(PU)들이 도 2에 도시된 예측단위(PU)들과 비슷한 효과를 낼 수 있다.
움직임 정보 결합 기술을 사용하는 경우, 도 7의 2N×2N 크기의 코딩단위를 (3)2N×hN으로 예측단위를 분할하여 예측하는 경우를 예로 들어 설명한다.
2N×hN로 코딩단위가 분할된 경우 도 8에 도시한 바와 같이 2N×2N 크기의 코딩단위는 4개의 2N×hN 크기(h = 1/2)의 예측단위 1, 예측단위 2, 예측단위 3, 예측단위 4로 분할된다. 이때, 예측부(510)가 코딩단위를 2N×hN으로 분할하고 예측단위 1을 예측하는 경우 움직임 보상을 수행하여 현재 예측단위(예측단위 1)의 움직임 정보를 획득한 경우, 비트스트림 생성부(550)는 현재 예측단위의 움직임 정보를 부호화하기 위하여 도 4와 같이 주변 코딩단위의 예측블록의 움직임 정보와 자신의 현재 예측단위의 움직임 정보가 서로 동일한지 여부를 확인한다.
비트스트림 생성부(550)는 현재 예측단위의 움직임 정보와 주변 코딩단위의 예측단위의 움직임 정보가 서로 동일한 경우에는, 현재 예측단위의 움직임 정보가 머지되었음을 나타내는 머지 플래그와 머지에 사용된 주변블록의 위치를 나타내는 머지 인덱스를 부호화한다. 여기서, 예측단위 1을 머지하기 위하여 고려하는 주변블록은 도 4와 같이 주변 코딩단위(A, B, C, D, E) 중 어느 하나에 위치하는 예측블록이 된다. 물론 실시예에 따라서 주변 코딩단위(A, B, C, D, E)의 위치는 달라질 수 있다.
하지만, 예측단위 2를 머지하기 위하여 고려하는 주변블록은 도 4와 같이 주변 코딩단위(A, B, C, D, E) 중 어느 하나에 위치하는 블록 중에서 선택하는 것이 아니다. 예측단위 2를 머지하기 위하여 고려하는 주변블록은 도 11의 경우 코딩단위 B는 고려되지 않고, 코딩단위 B 대신 예측단위 1을 고려한다. 즉, 예측단위 1과 코딩단위 A, C, D, E를 고려하여 예측단위 2의 머지 여부를 판단한다. 결국 현재 코딩단위의 예측단위를 머지하고자 하는 경우에는 주변 코딩단위의 블록뿐만 아니라 인접한 부호화하고자 하는 코딩단위 내의 예측단위도 후보가 될 수 있다. 비슷한 방법으로 예측단위 3을 머지하고자 하는 경우에는, 예측단위 2와 코딩단위 A, C, D, E의 예측단위를 고려한다. 참고로 예측단위 3위 머지를 위하여 고려되는 것으로 설명한 코딩단위 A, C, D, E는 도 4에 도시된 위치에 한정되지 않고 다양한 위치의 예측단위를 예측단위 3에 대한 머지 후보로 고려할 수 있다.
이와 같이 같은 코딩단위 내의 예측단위를 움직임 정보를 머지하는 대상의 후보로 포함함으로써 코딩단위를 더욱 세밀하게 예측함은 물론 2N×nU, 2N×nD 예측단위(PU)와 비슷한 예측 부호화 효과를 낼 수 있다.
예를 들어, 도 11의 예측단위 1부터 예측단위 4까지 순차적으로 움직임 정보의 머지가능 여부를 확인하여 부호화하는 경우, 예측단위 1, 예측단위 2 및 예측단위 3의 움직임 정보가 동일하여 머지하게 되는 경우 예측단위 1, 예측단위 2 및 예측단위 3이 하나의 움직임 정보로 머지되어 부호화되는 효과가 발생하여 2N×nD 예측단위(PU)와 비슷한 예측 부호화 효과를 낼 수 있다. 비슷한 방법으로 예측단위 2, 예측단위 3 및 예측단위 4의 움직임 정보가 동일하여 머지하게 되는 경우 예측단위 2, 예측단위 3 및 예측단위 4가 하나의 움직임 정보로 머지되어 부호화되는 효과가 발생하여 2N×nU 예측단위(PU)와 비슷한 예측 부호화 효과를 낼 수 있다.
이러한 머지 부호화효과는 2N×hN 크기(h = 1/2)의 예측단위로 분할하는 경우 외에 hN×2N 크기(h = 1/2)의 예측단위로 분할하는 경우에도 유사하게 적용될 수 있다. 이와 같이 움직임 정보를 머지한 효과의 다양한 예를 도 8에 도시하였다.
도 8의 점선은 움직임 정보가 결합되어 있음을 의미한다. 도 8에 의하면, 도 7의 2N×hN 예측단위(PU)는 움직임 정보 결합을 통해서 도 2에 나와 있는 2N×N, 2N×nU, 2N×nD 예측단위(PU)와 비슷한 부호화 효과를 낼 수 있고, 도 7의 hN×2N은 움직임 정보 결합을 통해서 도 2의 N×2N, nL×2N, nR×2N 예측단위(PU)와 비슷한 부호화 효과를 낼 수 있다. 예를 들어, 도 8에서 2N×hN 예측단위(PU)로 예측을 하는 경우 예측단위1을 부호화한 후, 예측단위2를 부호화시에는 예측단위1의 움직임 정보와 결합(Merge)하여 부호화하는 경우에는 예측단위1과 예측단위2를 부호화하는 데에 따른 오버헤드가 2N×N 예측 단위로 부호화하는 예측단위5의 부호화 시보다 큰 차이 없이 부호화 가능하다.
이와 같이 움직임정보 결합을 통하여 부호화가 가능한 경우에는 여러 가지 모양의 예측단위의 모습으로 부호화하는 경우와 비슷한 효과를 낼 수 있어, 마치 다수개의 예측단위를 가지는 것과 같은 효과를 낼 수 있다.
만약 코딩단위(CU)가 hN×2N의 예측단위(PU)로 예측하고 있다면, 같은 과정의 예측이 각 예측단위(PU)별로 한 번 예측하게 되어 한 코딩 유닛에 대하여 총 4번 예측하게 된다. 4번의 예측과정이 모두 끝나게 되면 부호화 과정은 감산부(520), 변환부(530), 양자화부(540), 역 양자화부(560), 역 변환부(570) 등으로 부호화 과정이 넘어가게 된다.
도 7에 명시되어 있는 2N×2N, 2N×hN 등의 각 예측단위(PU) 모드들의 부호화 성능을 비교하기 위해서 수학식 3과 같은 공식을 써서 결과값을 비교한다.
Figure pat00003
수학식 3에서 Distortion은 원 화소값과 예측부(510)가 생성한 예측값의 차이를 나타내는 값이며, Distortion 값으로는 수학식 1의 SAD를 사용할 수도 있고 이에 국한되지 않고 다른 차이값을 나타내는 방법으로 나타낼 수도 있다. Rates는 현재블록에 대하여 예측부(510), 변환부(530), 양자화부(540)를 모두 거쳤을 때 총 부호화된 비트 수를 나타내며, λ는 라그랑지 계수를 의미한다. RDcost가 낮다는 것은 부호화 성능이 좋음을 의미한다. 즉, 여기서 최적의 예측단위(PU) 모드는 원 화소값과 예측 화소값의 차이값이 가장 적고, 예측부(510)에서 양자화부(540)까지의 부호화 과정을 모두 거쳤을 때 부호화된 비트 수가 가장 적은 예측단위(PU) 모드를 나타낸다.
예측부(510)에 의해 코딩 유닛(2N×2N)과 동일한 예측단위 또는 세밀하게 분할된 예측단위(PU)별로 예측을 수행한다. 여기서 세밀하게 분할된 예측단위(PU)의 모양은 4개의 2N×hN(단, h는 1/2) 예측단위(PU)가 될 수 있고, 4개가 아닌 더 적게 혹은 더 많게 분할되도록 h 값을 설정할 수도 있다. 즉, h는 1/2, 1/3, 1/4 등이 될 수 있다.
하나의 코딩단위(CU)로부터 분할된 각각의 예측단위(PU)의 부호화시 예측부(510)에 의해 각각의 예측블록을 만든다. 그 과정에서 참조 프레임으로부터 예측블록을 찾을 때, 전체 탐색, 다이아몬드 탐색 혹은 다른 형태의 탐색방법을 택할 수 있다. 예측블록 탐색을 마치고 생성되는 움직임벡터의 효율적인 부호화를 위해서 움직임 벡터 예측 방법을 사용할 수 있다. 움직임 벡터 예측방법은 앞에서 설명했듯이, 주변 예측단위(PU) 혹은 참조 프레임의 예측단위(PU)에서 현재블록의 움직임벡터와 가장 움직임 벡터 오차값이 적은 움직임 벡터 예측값을 찾을 수도 있고, 이에 한정하지 않고 다른 효율적인 방법을 사용할 수 있으며 필요에 따라서는 움직임벡터 예측 방법을 사용하지 않을 수도 있다.
움직임 정보를 현재 프레임의 주변 예측단위(PU)의 움직임정보(움직임벡터 및 참조픽처 인덱스를 포함)와 현재블록 예측단위(PU)의 움직임 정보와 결합(Merge)하는 방법은 전술하였으므로 상세한 설명은 생략한다. 이와 같이 예측단위를 세밀하게 하면 왜곡이 줄어들 수 있으며, 세밀한 예측으로 인하여 영상 복호호ㅘ 장치로 전송해야 하는 움직임 정보의 양이 증가하는 단점은 적절한 조건 하에서는 움직임 정보 결합을 통해서 그 단점을 최소화함으로써 전체 영상 부호화 장치의 성능을 향상시킬 수 있다.
한편 예측부(510)는 화면 간 예측을 위하여 도 2와 같이 블록을 분할할 수도 있고, 도 7과 같이 블록을 분할할 수도 있다.
예측부(510)는 도 8에 도시한 바와 같이, 2N×hN 또는 hN×2N으로 분할한 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하도록 h값을 설정할 수 있다. 이 경우 h 값은 1/2 또는 1/4 등이 될 수 있다.
또한, 예측부(510)는 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하지 않도록 h값을 설정할 수도 있다. 또한, 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계의 일부는 포함하고 일부는 포함하지 않도록 설정될 수도 있다.
또한, 예측부(510)는 2N×2N의 코딩단위를 그대로 출력하거나 2N×hN 또는 hN×2N으로 분할하는 경우만을 수행할 수 있다. 즉, 나머지의 분할 방법은 수행하지 않을 수 있다. 예컨대 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할은 수행하지 않는 것을 의미한다. 따라서 이 경우, 영상 부호화 장치(500)는 인터예측 모드 중에서 2N×2N, 2N×hN, hN×2N 예측단위(PU) 모드에 대해서만 부호화하게 된다.
또한, 예측부(510)는 2N×hN 또는 hN×2N으로 분할된 예측단위(PU) 모드, 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 등으로 분할하여 예측단위를 생성할 수도 있으며, 경우에 따라서는 비대칭적으로 분할되는 예측단위 모드는 부호화를 생략할 수도 있다. 예컨대, 2N×nU, 2N×nD, nL×2n, nR×2N 등으로 분할되어 부호화되는 경우는 생략하여 부호화 시의 오버헤드를 감소시킬 수 있다.
예측부(510)는 인터예측 모드 부호화 수행시 먼저 수행한 결과에 따라 이후에 수행할 인터예측 부호화의 일부를 생략할 수 있다. 예를 들어 2N×2N, 2N×N, N×2N의 모드에 대하여 인터예측 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 hN×2N의 예측단위(PU) 모드에 대해서는 부호화를 생략할 수 있다. 또한, 2N×2N, 2N×N, N×2N의 모드에 대하여 인터예측 부호화한 결과 중에서 N×2N 모드에 대한 부호화의 성능이 가장 좋은 경우 2N×hN의 예측단위(PU) 모드에 대해서는 부호화를 생략할 수 있다.
또한, 예측부(510)는 인터예측 모드 부호화 수행시 먼저 수행한 결과에 따라 이후에 수행할 인터예측 부호화시에 움직임 보상에 의한 부호화는 생략할 수 있다. 이 경우 움직임정보 결합(Merge)에 의한 부호화를 수행할 수 있다. 예컨대, 예측부(510)는 2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 움직임보상에 의한 부호화는 생략하고 움직임벡터 결합(Merge)만을 이용하여 부호화할 수 있다.
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 나타낸 블록 구성도이다.
도 6에 도시한 바와 같이, 본 발명의 일 실시예에 따른 영상 복호화 장치(600)는 영상 부호화 장치에서 결정된 세밀하게 예측된 예측단위(PU) 모드를 포함한 예측단위(PU)모드에 대한 정보를 비트스트림으로부터 복호하여 예측부호화하는 장치로서, 비트스트림 복호부(610), 역양자화부(620), 역변환부(630), 가산부(640) 및 예측부(650)를 포함하여 구성된다.
비트스트림 복호부(610)는 비트스트림을 복호화하여 양자화된 주파수변환블록을 추출한다.
비트스트림 복호부(610)는 부호화 데이터를 복호화하여 양자화된 주파수변환블록뿐만 아니라 복호화에 필요한 정보들을 복호화하거나 추출할 수 있다. 여기서, 복호화에 필요한 정보들은 부호화 데이터(즉, 비트스트림) 내의 부호화된 비트열을 복호화하는 데 필요한 정보들을 의미하며, 예를 들어 블록 타입에 대한 정보, 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있으며, 이외의 다양한 정보들이 될 수 있다.
즉, 비트스트림 복호부(610)는 영상 부호화 장치(500)에 의해 부호화된 세밀하게 분할된 예측단위(PU) 모드 정보가 포함된 데이터를 비트스트림으로부터 복호화하여 영상의 현재 블록에 대한 화소 정보를 포함하고 있는 양자화된 주파수변환 블록을 추출하고, 추출된 세밀하기 분할된 예측단위(PU) 모드정보가 포함된 예측에 필요한 정보를 예측부(650)로 전달한다. 즉, 소정의 코딩단위(CU)의 영상에 대하여 영상 부호화 장치(500)에서 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)로 예측을 수행한 경우 이러한 분할 단위로 예측모드정보를 추출한다.
비트스트림 복호부(610)는 도 8에 도시한 바와 같이, 2N×hN 또는 hN×2N으로 분할한 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하도록 h값을 설정할 수 있다. 이 경우 h 값은 1/2 또는 1/4 등이 될 수 있다.
또한, 비트스트림 복호부(610)는 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하지 않도록 h값을 설정할 수도 있다. 또한, 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계의 일부는 포함하고 일부는 포함하지 않도록 설정될 수도 있다.
또한 비트스트림 복호부(610)는 비트스트림으로부터 예측단위별로 머지 플래그를 추출하고 추출된 머지 플래그가 현재 예측단위가 머지를 통하여 움직임 정보가 부호화되었음을 의미하는 경우(즉, 머지 모드인 경우)에는 비트스트림으로부터 머지 인덱스를 추출한다.
예측부(650)는 비트스트림 복호부(610)로부터 전달된 예측에 필요한 정보를 이용하여 영상 부호화 장치(500)의 예측부(510)와 동일한 방식으로 현재 블록을 예측할 수 있다.
예측부(650)는 화면 간 예측 방법 혹은 화면 내 예측 방법에 해당하는 정보를 복호화에 의한 예측값을 생성한다. 이는 예측부(510)에서 결정된 부호화 방법을 비트스트림 복호부(610)로부터 전달받고 이를 이용해 세밀하게 2N×hN 또는 hN×2N으로 분할된 예측단위별로 예측단위(PU) 모드 결정 방법에 따라 예측 값을 생성한다.
현재 예측단위가 머지에 의해 움직임 정보가 부호화된 경우, 예측부(650)는 비트스트림으로부터 추출된 머지 인덱스의 값에 대응되는 예측단위의 움직임정보를 식별하여 현재 예측단위의 움직임 정보를 복원한다.
영상 부호화 장치의 설명에서 설명하였듯이, 머지 인덱스는 복원하고자 하는 현재블록의 주변 어느 예측단위를 사용하여 현재 예측단위의 움직임 정보를 머지하였는지를 나타낸다.
즉, 코딩단위가 도 11과 같은 예측단위로 분할된 경우, 예측단위 1에 대한 머지 인덱스를 식별하기 위하여 고려하는 주변블록은 주변 코딩단위(A, B, C, D, E) 중 어느 하나에 위치하는 예측블록이 된다. 또한, 예측단위 2에 대한 머지 인덱스를 식별하기 위하여 고려하는 주변블록은 예측단위 1과 코딩단위 A, C, D, E를 고려하여 예측단위 2의 머지 인덱스를 식별하고, 예측단위 3에 대한 머지 인덱스를 식별하기 위하여 고려하는 주변블록은 예측단위 2와 코딩단위 A, C, D, E를 고려하여 예측단위 3의 머지 인덱스를 식별하고, 예측단위 4에 대한 머지 인덱스를 식별하기 위하여 고려하는 주변블록은 예측단위 3과 코딩단위 A, C, D, E를 고려하여 예측단위 4의 머지 인덱스를 식별한다. 전술하였듯이 머지 인덱스 식별을 위하여 고려되는 코딩단위 A, C, D, E는 도 11에 도시된 위치에 한정되지 않고 다양한 코딩단위(CU) 내의 예측단위를 예측단위 2, 예측단위 3 및 예측단위 4에 대한 머지 인덱스를 식별하기 위한 예측단위 후보로 고려할 수 있다.
본 발명의 일 실시예에 따른 영상 복호화 장치(600)의 예측부(650)는 전술한 영상 부호화 장치(500)의 예측부(510)와 유사하게 예측블록을 생성할 수 있다. 즉, 예측부(650)는 비트스트림 복호부(610)로부터 전달받은 움직임정보 및 예측모드에 대한 정보 등의 정보 및 복호된 잔차블록을 이용하여 예측블록을 생성하거나 인트라모드인 경우에는 인트라모드에 대한 정보를 전달받아 예측블록을 생성한다. 또한 스킵모드인 경우에는 움직임정보만을 이용하여 움직임 보상을 하여 예측블록을 생성할 수 있다. 그리고 예측부(650)는 예측단위가 머지 모드인 경우 머지를 통하여 복원된 움직임 정보를 이용하여 예측블록을 생성한다.
역양자화부(620)는 복호화부(610)에 의해 비트스트림으로부터 추출된 양자화된 주파수변환 블록을 역 양자화한다. 역양자화는 양자화부(540)가 수행한 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 이는 양자화부(540)에서 설명한 스캐닝에 따라 양자화의 크기를 달리하는 방법과 동일하며 중복 설명을 피하기 위해 상세한 설명은 생략한다.
역변환부(630)는 역양자화부(620)에 의해 역 양자화된 주파수변환 블록을 시간 영역으로 역 변환한다. 즉, 역변환은 변환부(530)가 수행한 변환 과정을 역으로 수행함으로써 이루어질 수 있다.
가산부(640)는 역변환부(630)에 의해 역 변환되어 복원된 잔차신호와 예측부(650)에 의해 생성된 예측블록의 예측 화소값을 더하여 현재 블록의 원 화소값을 복원한다.
가산부(640) 또는 예측부(650)에 의해 복원된 현재 블록은 프레임 메모리(660)로 전달되어, 예측부(650)에서 이후 다른 블록을 예측하는 데 활용될 수 있다.
프레임 메모리(660)는 복원된 영상을 저장하여 인트라 예측 블록 및 인터 예측 블록 생성을 가능하게 한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 영상에 대한 코딩단위(CU) 부호화 시 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하고 부호화하여 비트스트림을 생성하는 영상 부호화 장치(500)(본 발명의 일 실시예에서의 영상 부호화/복호화 장치에서의 영상부호화기를 구현); 및 비트스트림으로부터 예측단위에 대한 정보를 추출하여 현재블록을 복원하는 영상 복호화 장치(600)(본 발명의 일 실시예에서 따른 영상 부호화/복호화 장치에서의 영상복호화기를 구현)를 포함하여 구현될 수 있다.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
즉, 영상 부호화 장치(500)는 영상의 현재 블록을 세밀하게 분할된 예측단위(PU)및 다른 예측단위(PU)를 기준으로 예측값을 생성하는 예측단계(910), 현재 블록의 원 화소값과 예측 화소값의 차이값을 계산하여 잔차신호를 생성하는 감산단계(920), 생성된 잔차신호를 DCT 변환 또는 웨이블릿 변환 등을 이용하여 주파수 영역으로 변환하는 변환단계(930), 주파수 영역으로 변환된 잔차신호를 양자화하는 양자화단계(940), 최적의 양자화된 주파수변환 잔차신호를 결정하여 세밀하게 분할된 예측단위(PU) 모드정보가 포함된 정보를 비트스트림으로 부호화하는 부호화단계(960)를 거쳐 영상을 부호화한다.
여기서, 예측단계(910)는 예측부(510)의 기능에, 감산단계(920)는 감산부(520)의 기능에, 변환단계(930)는 변환부(530)의 기능에, 양자화단계(940)는 양자화부(540)의 기능에, 부호화단계(950)는 부호화부(550)의 기능에 각각 대응되므로 상세한 설명은 생략한다.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
유무선 통신망 또는 케이블 등을 통해 영상에 대한 비트스트림을 수신하여 저장하는 영상 복호화 장치(600)는 사용자의 선택 또는 실행 중인 다른 프로그램의 알고리즘에 따라 영상을 재생하기 위해, 영상의 현재 블록을 비트스트림으로부터 복호화되여 복원된 세밀하게 분할된 예측단위(PU)를 포함하는 예측단위(PU)모드에 해당하는 예측단위(PU)를 기준으로 예측값을 생성하고 비트스트림으로부터 복호화되어 복원된 잔차신호를 역양자화하고 역변환된 잔차신호를 더한 원 화소값 영상을 복원한다.
이를 위해, 영상 복호화 장치(600)는 비트스트림을 복호화하여 영상의 현재 블록의 화소값에 대한 정보를 나타내는 양자화된 주파수변환 잔차신호 및 세밀하게 분할된 예측단위(PU) 모드가 포함된 모드정보를 추출하는 복호화단계(1010). 양자화된 주파수변환 잔차신호를 역 양자화하는 역양자화단계(1020), 역 양자화된 주파수변환 잔차신호를 시간 영역으로 역변환하는 역변환단계(1030), 세밀하게 분할된 예측단위(PU)가 포함된 예측단위(PU) 모드에 해당하는 예측단위(PU)를 기준으로 예측값을 생성하는 예측단계(1040), 단계 1030에서 복원된 현재 블록의 잔차신호와 단계 1040에서 예측된 현재 블록의 각 화소의 예측 화소값을 더하여 현재 블록의 원 화소값을 복원하는 가산단계(1050)를 거쳐 전송된 비트스트림을 복호화한다.
여기서, 복호화단계(1010)는 복호화부(610)의 동작에 대응되며, 역양자화단계(1020)는 역양자화부(620)의 동작에 대응되며, 역변환단계(1030)는 역변환부(630)의 동작에 대응되며, 예측단계(1040)는 예측부(650)의 동작에 대응되며, 가산단계(1050)는 가산부(640)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화하는 방법은, 코딩단위(CU) 부호화 시 코딩단위(CU)를 세밀하게 예측단위(PU)로 분할하고, 한 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하고, 현재 화소 블록에서 예측 블록을 감산하여 잔차 블록을 생성하고, 잔차 블록을 변환하여 주파수변환블록을 생성하고, 주파수변환블록을 양자화하여 양자화된 주파수변환블록를 생성하고, 양자화된 주파수변환블록과 세밀하게 분할된 예측단위(PU) 모드정보가 포함된 정보를 비트스트림으로 부호화하는 영상 부호화 단계 및 비트스트림으로부터 양자화된 주파수변환블록 및 세밀하게 포함된 예측단위(PU)가 포함된 예측단위(PU) 모드정보를 생성하고, 생성된 양자화된 주파수변환 블록을 역 양자화하여 주파수변환블록을 생성하고, 역 양자화를 마친 주파수변환블록을 역 변환하여 잔차 블록을 복원하고, 복호화된 세밀하게 분할 된 예측 단위(PU) 모드가 포함된 예측단위 모드에 해당하는 예측단위(PU)를 기준으로 화면간 예측 혹은 화면 내 예측에 따라 예측 블록을 생성하고, 생성된 예측 블록과 잔차 블록을 가산하여 현재 화소 블록을 복원하는 영상 복호화 단계를 포함한다.
여기서 영상 부호화단계는 본 발명의 일 실시예에 따른 영상 부호화 단계로 구현 가능하며, 영상 복호화단계는 본 발명의 일 실시예에 따른 영상 복호화 단계로 구현 가능하다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 개선된 예측단위모드를 도입하여 종래에 비해 예측단위모드의 개수는 줄이는 대신, 코딩 단위를 예측 단위로 분할할 때, 보다 더 세밀하게 분할하여 예측함으로써 부호화 및 복호화의 성능을 향상하는 효과가 있어서 매우 유용한 발명이다.

Claims (13)

  1. 영상을 부호화/복호화하는 장치에 있어서,
    상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하고 부호화하여 비트스트림을 생성하는 영상부호화기; 및
    상기 비트스트림으로부터 예측단위에 대한 정보를 추출하여 현재블록을 복원하는 영상복호화기
    를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.
  2. 영상을 부호화하는 장치에 있어서,
    상기 영상에 대한 코딩단위(CU) 부호화 시 상기 코딩단위(CU)를 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)를 기준으로 화면 내 예측 혹은 화면 간의 예측을 통해 예측 블록을 생성하는 예측부;
    상기 예측단위의 화소 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부;
    상기 잔차 블록을 변환하여 주파수변환블록을 생성하는 변환부;
    상기 주파수변환블록을 양자화하여 양자화된 주파수변환블록를 생성하는 양자화부;
    상기 양자화된 주파수변환블록과 분할된 예측단위(PU) 모드정보가 포함된 정보를 비트스트림으로 부호화하는 비트스트림 생성부
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  3. 제2항에 있어서,
    상기 예측부는,
    상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하도록 h값을 설정하는 것을 특징으로 하는 영상 부호화 장치.
  4. 제2항에 있어서,
    상기 예측부는,
    상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하지 않도록 h값을 설정하는 것을 특징으로 하는 영상 부호화 장치.
  5. 제2항에 있어서,
    상기 예측부는,
    인터예측 모드 중에서는 상기 예측단위(PU) 모드를 이용한 모드에 대해서만 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  6. 제2항에 있어서,
    상기 예측부는,
    상기 예측단위(PU) 모드 이외의 예측단위(PU) 모드 중에서 비대칭적으로 분할되는 예측단위 모드의 부호화를 생략하는 것을 특징으로 하는 영상 부호화 장치.
  7. 제2항에 있어서,
    상기 예측부는,
    2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 hN×2N의 예측단위(PU) 모드에 대해서는 부호화를 생략하고 N×2N 모드에 대한 부호화의 성능이 가장 좋은 경우 2N×hN의 예측단위(PU) 모드에 대해서는 부호화를 생략하는 것을 특징으로 하는 영상 부호화 장치.
  8. 제2항에 있어서,
    상기 예측부는,
    2N×2N, 2N×N, N×2N의 모드에 대하여 부호화한 결과 중에서 2N×N 모드에 대한 부호화의 성능이 가장 좋은 경우 움직임보상에 의한 부호화는 생략하고 움직임벡터 결합(Merge)만을 이용하여 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  9. 제2항에 있어서,
    상기 비트스트림 생성부는 각 상기 예측단위에 대하여, 상기 소정의 코딩단위의 주변에 위치한 코딩단위 내 블록 및 상기 코딩단위 내의 기 예측된 예측블록을 고려하여 상기 예측단위의 움직임 정보를 머지하고 상기 머지되는 블록의 위치를 식별하는 머지 인덱스를 생성하는 것을 특징으로 하는 영상 부호화 장치.
  10. 영상을 복호화하는 장치에 있어서,
    비트스트림으로부터 양자화된 주파수변환블록을 복호하고 소정의 코딩단위(CU)의 영상에 대하여 2N×hN 또는 hN×2N(단, h = 1/2, 1/3, ...)으로 분할된 예측단위(PU)의 모드정보를 추출하는 복호화부;
    상기 양자화된 주파수변환 블록을 역양자화하여 주파수변환블록을 생성하는 역양자화부;
    상기 주파수변환블록을 역변환하여 잔차 블록을 복원하는 역변환부;
    상기 예측단위 모드에 해당하는 예측단위(PU)를 기준으로 예측 블록을 생성하는 예측부; 및
    상기 생성된 예측 블록과 상기 복원되는 잔차 블록을 가산하여 복원하고자 하는 현재 화소 블록을 복원하는 가산부
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  11. 제10항에 있어서,
    상기 예측부는,
    상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하도록 h값을 설정하는 것을 특징으로 하는 영상 복호화 장치.
  12. 제10항에 있어서,
    상기 예측부는,
    상기 예측단위(PU) 모드의 분할경계가 2N×N, 2N×nU, 2N×nD, N×2N, nL×2n, nR×2N 예측단위(PU) 모드의 분할경계를 포함하지 않도록 h값을 설정하는 것을 특징으로 하는 영상 복호화 장치.
  13. 제10항에 있어서,
    상기 복호부는 상기 비트스트림으로부터 상기 예측단위에 대한 머지 인덱스를 추출하고,
    상기 예측부는, 각 상기 예측단위에 대하여 상기 소정의 코딩단위의 주변에 위치한 코딩단위 내 블록 및 상기 코딩단위 내의 기 예측된 예측블록을 고려하여 상기 머지 인덱스를 식별하고 상기 예측단위의 움직임 정보를 복원하는 것을 특징으로 하는 영상 복호화 장치.
KR1020120133508A 2011-11-24 2012-11-23 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치 KR102072124B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2012/009966 WO2013077660A1 (ko) 2011-11-24 2012-11-23 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
US14/282,462 US9674520B2 (en) 2011-11-24 2014-05-20 Method and apparatus for effective encoding/decoding using detailed predictive unit
US15/477,637 US10038900B2 (en) 2011-11-24 2017-04-03 Method and apparatus for effective encoding/decoding using detailed predictive unit
US15/477,662 US10033998B2 (en) 2011-11-24 2017-04-03 Method and apparatus for effective encoding/decoding using detailed predictive unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110123839 2011-11-24
KR20110123839 2011-11-24

Publications (2)

Publication Number Publication Date
KR20130057953A true KR20130057953A (ko) 2013-06-03
KR102072124B1 KR102072124B1 (ko) 2020-02-04

Family

ID=48857396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120133508A KR102072124B1 (ko) 2011-11-24 2012-11-23 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치

Country Status (2)

Country Link
US (3) US9674520B2 (ko)
KR (1) KR102072124B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050115A (ko) * 2014-10-28 2016-05-11 전자부품연구원 Hevc 인코더의 적응적 pu 모드 결정 방법
CN114270822A (zh) * 2019-06-24 2022-04-01 Lg电子株式会社 利用色度变换块的最大大小限制编码/解码视频的方法和设备及发送比特流的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102370375B1 (ko) 2015-05-12 2022-03-04 삼성전자주식회사 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
ES2819239T3 (es) 2015-05-30 2021-04-15 Leia Inc Sistema de visualización de un vehículo
JP7253258B2 (ja) * 2017-05-29 2023-04-06 ユニベアズィテート チューリッヒ 動的視覚センサ用ブロックマッチングオプティカルフローとステレオ視
US10917636B2 (en) * 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
US11533506B2 (en) * 2019-02-08 2022-12-20 Tencent America LLC Method and apparatus for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110083369A (ko) * 2010-01-14 2011-07-20 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330630B1 (ko) 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
KR101458471B1 (ko) 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
KR20110061468A (ko) 2009-12-01 2011-06-09 (주)휴맥스 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
KR101710623B1 (ko) 2010-04-05 2017-03-09 삼성전자주식회사 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치
WO2011126284A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using adaptive prediction filtering, method and apparatus for decoding video by using adaptive prediction filtering
WO2012005520A2 (en) * 2010-07-09 2012-01-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US9313494B2 (en) * 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
CN105376576B (zh) * 2011-08-29 2017-07-28 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110083369A (ko) * 2010-01-14 2011-07-20 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross : "WD4: Working Draft 4 of High-Efficiency Video Coding", JCTVC-F803, version 6, 22 Oct. 2011.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050115A (ko) * 2014-10-28 2016-05-11 전자부품연구원 Hevc 인코더의 적응적 pu 모드 결정 방법
CN114270822A (zh) * 2019-06-24 2022-04-01 Lg电子株式会社 利用色度变换块的最大大小限制编码/解码视频的方法和设备及发送比特流的方法

Also Published As

Publication number Publication date
US10038900B2 (en) 2018-07-31
KR102072124B1 (ko) 2020-02-04
US10033998B2 (en) 2018-07-24
US20170208325A1 (en) 2017-07-20
US20170208326A1 (en) 2017-07-20
US9674520B2 (en) 2017-06-06
US20140254684A1 (en) 2014-09-11

Similar Documents

Publication Publication Date Title
KR102072117B1 (ko) 모션 벡터의 예측 부호화/복호화 방법 및 장치
KR101997604B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101943049B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101484171B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR102072124B1 (ko) 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
KR20110054592A (ko) 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101955374B1 (ko) 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치
KR20130051384A (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
KR20130085838A (ko) 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
KR20120011428A (ko) 블록 분할예측을 이용한 영상 부호화/복호화 방법 및 장치
KR20110058702A (ko) 적응적 2차예측 기반 영상 부호화/복호화 방법, 장치 및 기록 매체
US9888248B2 (en) Method and apparatus for generating encoded motion information /recovering motion information using motion information integration, and image encoding/decoding method and apparatus using same
KR101943058B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101377529B1 (ko) 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치
US20110176605A1 (en) Video encoding and decoding apparatus and method
KR101658592B1 (ko) 영상의 구조적 정보를 이용한 적응적 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2013077660A1 (ko) 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
KR101997655B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101567986B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101567961B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101567982B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101527153B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101483688B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20120010738A (ko) 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
KR20120008271A (ko) 주변 화소의 정합을 이용한 예측 움직임 벡터 선택 장치 및 그 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right