KR20230104560A - 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는방법 및 그 장치 - Google Patents
다시점 영상을 위한 움직임 벡터를 부호화/복호화하는방법 및 그 장치 Download PDFInfo
- Publication number
- KR20230104560A KR20230104560A KR1020230083252A KR20230083252A KR20230104560A KR 20230104560 A KR20230104560 A KR 20230104560A KR 1020230083252 A KR1020230083252 A KR 1020230083252A KR 20230083252 A KR20230083252 A KR 20230083252A KR 20230104560 A KR20230104560 A KR 20230104560A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- prediction
- current block
- view
- motion vector
- Prior art date
Links
- 239000013598 vector Substances 0.000 title claims abstract description 170
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000002123 temporal effect Effects 0.000 abstract description 27
- 230000007774 longterm Effects 0.000 description 23
- 238000013139 quantization Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N19/45—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
다시점 영상을 위한 움직임 벡터 예측 및 잔차 예측을 위한 방법 및 이를 수행하는 장치에 관한 기술이 개시된다. 다시점 영상을 위한 움직임 벡터 복호화 방법은, 복호화 대상인 현재 블록 및 현재 블록에 대응하는 대응 블록에 수행된 움직임 예측 방법을 판단하는 단계와; 판단된 움직임 예측 방법에 따라 대응 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터 예측치를 생성하는 단계를 포함한다. 따라서, 현재 블록 및 대응 블록의 움직임 벡터 예측 방법에 따라 적응적으로 시간적 움직임 벡터에 대한 예측을 수행할 수 있다.
Description
본 발명은 다시점 비디오의 부호화/복호화에 관한 것으로, 더욱 상세하게는 다시점 영상을 위한 움직임 벡터 예측 및 잔차 예측을 위한 방법 및 이를 수행하는 장치에 관한 것이다.
종래의 H.264/AVC와 비교하여 약 2 배 이상의 압축 효율을 갖는 것으로 알려져 있는 차세대 비디오 압축 표준 기술로 HEVC(High Efficiency Video Coding)에 대한 표준화가 진행되어 최근에 완료되었다.
HEVC는 쿼드트리(quadtree) 구조를 가진 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit)을 정의하고 있으며, 샘플 적응적 오프셋(SAO: Sample Adaptive Offset), 디블록킹 필터(Deblocking filter)와 같은 인루프 필터를 적용하고 있다. 또한, 기존의 인트라 예측(intra prediction) 및 인터 예측(inter prediction)을 개선하여 압축 부호화 효율을 향상시키고 있다.
한편, HEVC에 대한 확장(extension) 버전으로 SVC(Scalable Video Coding)에 대한 표준화가 진행되고 있으며, 기존의 MVC(Multi-View Coding)를 개선하여 H.264/AVC 또는 HEVC에 기반하는 3DVC(3D Video Coding)에 대한 표준화가 진행되고 있다.
국제 표준화 기구인 ISO/IEC의 비디오 전문가 그룹인 MPEG에서는 최근 3DVC에 대한 표준화를 시작하였는데, 3DVC에 대한 표준화는 기존의 2D 단일시점 비디오를 위한 부호화 기술(H.264/AVC), 2D 다시점 비디오를 위한 부호화 기술(MVC) 및 최근 JCT-VC에서 표준화가 완료된 HEVC 부호화 기술을 바탕으로 진행되고 있다.
상세하게는, MPEG과 ITU-T는 공동으로 3DVC에 대한 표준화를 하기로 결정하고, JCT-3V라는 새로운 공동 표준화 그룹을 결성하였다. JCT-3V에서는 기존의 MVC에 깊이 영상 부/복호화를 위한 고급 구문 정의, H.264/AVC 기반의 새로운 컬러 영상 및 깊이 영상에 대한 부/복호화 방법인 3D-AVC, HEVC 기반의 다시점 컬러 영상 부/복호화 방법, 그리고 HEVC 기반의 다시점 컬러 영상 및 깊이 영상에 대한 부/복호화 방법인 3D-HEVC를 함께 표준화하고 있다.
3DVC에 대한 표준화에서는 다양한 기술들이 논의되고 있으나 이들 기술들의 공통점은 시점(view point)간 예측을 통한 부/복호화 방법을 포함한다는 것이다. 즉, 다시점 영상은 부호화하여 전송해야 하는 데이터의 양이 시점의 개수에 비례적으로 증가하기 때문에, 시점 간 의존 관계에 기반하여 다시점 영상을 효율적인 부/복호화하는 기술이 필요한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 움직임 벡터 예측을 통하여 다시점 영상을 위한 움직임 벡터를 부호화 및 복호화하는 방법 및 이를 수행하는 장치를 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 잔차 예측을 통하여 다시점 영상을 위한 잔차를 부호화 및 복호화하는 방법 및 이를 수행하는 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 다시점 영상을 위한 움직임 벡터 복호화 방법은, 복호화 대상인 현재 블록 및 현재 블록에 대응하는 대응 블록에 수행된 움직임 예측 방법을 판단하는 단계와; 판단된 움직임 예측 방법에 따라 대응 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터 예측치를 생성하는 단계를 포함한다.
여기에서, 상기 움직임 예측 방법을 판단하는 단계는, 수신한 비트스트림을 복호화하여 영상 복호화를 위한 데이터를 산출하는 단계와; 영상 복호화를 위한 데이터를 이용하여 현재 블록 및 대응 블록에 수행된 움직임 예측 방법을 확인하는 단계를 포함할 수 있다.
여기에서, 상기 영상 복호화를 위한 데이터를 산출하는 단계는, 수신한 비트스트림에 엔트로피 복호화, 역양자화 및 역변환을 수행할 수 있다.
여기에서, 상기 움직임 예측 방법을 확인하는 단계는, 영상 복호화를 위한 데이터에 포함된 View ID 정보, View order 정보 및 움직임 예측 방법의 구분을 위한 플래그 정보 중 적어도 하나를 이용하여 움직임 예측 방법을 구분할 수 있다.
여기에서, 상기 움직임 예측 방법을 확인하는 단계는, 영상 복호화를 위한 데이터를 이용하여 현재 블록 및 대응 블록 각각에 대하여 롱-텀 예측(Long-term prediction), 숏-텀 예측(Short-term prediction) 및 시점 간 예측(Inter-view prediction) 중 어느 하나가 수행될 수 있다.
여기에서, 상기 현재 블록의 움직임 벡터 예측치를 생성하는 단계는, 현재 블록 및 대응 블록에 롱-텀 예측이 수행된 경우, 대응 블록의 움직임 벡터를 현재 블록의 움직임 벡터 예측치로 생성할 수 있다.
여기에서, 상기 현재 블록의 움직임 벡터 예측치를 생성하는 단계는, 현재 블록 및 대응 블록에 숏-텀 예측이 수행된 경우, 현재 블록의 화면 간 참조 거리와 대응 블록의 화면 간 참조 거리의 비율을 이용하여 대응 블록의 움직임 벡터를 스케일링(scaling)함으로써, 현재 블록의 움직임 벡터 예측치를 생성할 수 있다.
여기에서, 상기 현재 블록의 움직임 벡터 예측치를 생성하는 단계는, 현재 블록 및 대응 블록에 시점 간 예측이 수행된 경우, 현재 블록의 시점 간 참조 거리(inter-view reference distance)와 대응 블록의 시점 간 참조 거리의 비율을 이용하여 대응 블록의 움직임 벡터를 스케일링(scaling)함으로써, 현재 블록의 움직임 벡터 예측치를 생성할 수 있다.
여기에서, 상기 현재 블록의 움직임 벡터 예측치를 생성하는 단계는, 현재 블록 및 대응 블록에 수행된 움직임 예측 방법이 서로 상이한 경우, 현재 블록의 움직임 벡터 예측치를 미리 설정된 벡터로 생성할 수 있다.
여기에서, 상기 미리 설정된 벡터는, (0, 0) ) 또는 대응 블록의 움직임 벡터일 수 있다.
여기에서, 상기 현재 블록의 움직임 벡터 예측치를 생성하는 단계는, 현재 블록 및 대응 블록 중 어느 하나에 시점 간 예측이 수행되고, 다른 하나에 롱-텀 예측 또는 숏-텀 예측이 수행된 경우, 현재 블록의 움직임 벡터 예측치를 미리 설정된 벡터로 생성할 수 있다.
여기에서, 영상 복호화를 위한 데이터에 포함된 현재 블록의 움직임 벡터 차분치에 현재 블록의 움직임 벡터 예측치를 가산하여 현재 블록의 움직임 벡터를 복원하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 다시점 영상을 복호화하는 장치는, 복호화 대상인 현재 블록 및 현재 블록에 대응하는 대응 블록에 수행된 움직임 예측 방법을 판단하고, 판단된 움직임 예측 방법에 따라 대응 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터 예측치를 생성하는 프로세서를 포함한다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 다시점 영상을 위한 움직임 벡터 예측 방법은, 현재 블록 및 현재 블록에 대응하는 대응 블록에 수행되는 움직임 예측 방법을 판단하는 단계와; 판단된 움직임 예측 방법에 따라 대응 블록의 움직임 벡터에 기반하여 현재 블록의 움직임 벡터 예측치를 생성하는 단계를 포함한다.
여기에서, 상기 대응 블록은, 현재 블록이 포함된 현재 픽쳐와 다른 대응 픽쳐에서 현재 블록에 상응하여 위치할 수 있다.
여기에서, 상기 대응 픽쳐는, 현재 픽쳐 이전에 부호화 또는 복호화된 픽쳐일 수 있다.
상기와 같은 본 발명의 일 실시예에 따른 다시점 영상을 위한 움직임 벡터 예측 방법은 다시점 영상을 부호화/복호화하는 과정에서 움직임 벡터를 효과적으로 부호화/복호화할 수 있도록 한다. 즉, 현재 블록 및 대응 블록의 움직임 벡터 예측 방법에 따라 적응적으로 시간적 움직임 벡터에 대한 예측을 수행할 수 있다.
상기와 같은 본 발명의 다른 실시예에 따른 다시점 영상을 위한 잔차 예측 방법은 다시점 영상을 부호화/복호화하는 과정에서 잔차를 효과적으로 부호화/복호화할 수 있도록 한다. 즉, 예측 잔차를 생성하는 과정에서 움직임 벡터를 스케일링하기 위한 스케일팩터의 산출에 오류가 발생하는 것을 방지할 수 있고 이를 통하여 다시점 영상을 위한 잔차 예측에서 오류 또는 에러를 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 2는 본 발명의 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 3은 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 5는 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 8은 본 발명의 다른 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 9는 본 발명의 또 다른 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 10은 본 발명의 실시예에 따른 다시점 영상을 부호화/복호화하는 장치를 설명하기 위한 블록도이다.
도 11은 본 발명의 실시예에 따라 다시점 영상을 부호화하는 장치를 설명하기 위한 블록도이다.
도 12는 본 발명의 실시예에 따라 다시점 영상을 복호화하는 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 3은 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 5는 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 8은 본 발명의 다른 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 9는 본 발명의 또 다른 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 10은 본 발명의 실시예에 따른 다시점 영상을 부호화/복호화하는 장치를 설명하기 위한 블록도이다.
도 11은 본 발명의 실시예에 따라 다시점 영상을 부호화하는 장치를 설명하기 위한 블록도이다.
도 12는 본 발명의 실시예에 따라 다시점 영상을 복호화하는 장치를 설명하기 위한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또 등과 같은 사용자 단말기이거나 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 화면간 또는 화면내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽쳐(Picture)로 구성될 수 있으며, 각 픽쳐들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 화면 내 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 화면 내 예측 부호화란 현재 부호화를 수행하는 현재 픽쳐 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 화면 간 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 화면 간 예측 부호화란 하나 이상의 과거 픽쳐 또는 미래 픽쳐를 참조하여 현재 픽쳐 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽쳐를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다. 또한, 이하에 기재된 "픽쳐(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 본 발명에 있어서 참조가 되는 픽쳐는 복원된 픽쳐를 의미하는 것은 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
더 나아가, 블록(block)이라는 용어는 HEVC 표준의 코딩 유닛(CU), 예측 유닛(PU) 및 변환 유닛(TU)을 포함하는 개념일 수 있다. 특히, 움직임 추정은 PU 단위로 수행될 수 있다.
상세하게는, 하나의 PU에 대해 이전에 부호화된 프레임에서 유사한 블록을 찾는 과정을 움직임 추정(motion estimation, ME) 이라 한다. 여기서 움직임 추정이란, 실제 블록의 움직임을 의미하는 것은 아니며, 현재 블록과의 오차가 가장 적은 블록을 찾는 과정을 의미할 수 있다.
또한, 본 발명은 다시점 영상을 대상으로 하는 비디오 코덱에 관한 기술로, 움직임 추정은 다른 시점(view)에 속한 영상을 참조하는 과정에 적용될 수 있다. 여기서, 다른 시점(view)에 속한 영상을 참조하는 과정을 시점 간 예측(inter-view prediction)으로 명명할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
움직임 벡터 예측을 수행하여 움직임 벡터를 부호화 및 복호화하는 제1 실시예를 설명하고, 잔차 예측을 수행하여 잔차를 부호화 및 복호화하는 제2 실시예를 설명한다.
제 1 실시예 - 움직임 벡터 예측을 통해 움직임 벡터 부호화 및 복호화하는 방법
움직임 벡터 예측(Motion Vector Prediction)은 시간적인 움직임 벡터의 상관도를 이용하여 시간적 움직임 벡터 예측치(TMVP: Temporal Motion Vector Predictor)을 산출하거나, 공간적인 움직임 벡터의 상관도를 이용하여 공간적 움직임 벡터 예측치(SMVP: Spatial Motion Vector Predictor)을 산출하는 과정을 의미할 수 있으며, 현재 블록(Current Block)의 움직임 벡터에서 움직임 벡터 예측치를 차분하여 산출한 값을 움직임 벡터 차분치(MVD: Motion Vector Difference)로 명명할 수 있다.
도 1은 본 발명의 일 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 1을 참조하면, 다시점(Multi-View) 영상은 다수의 시점(view)에서 촬영된 영상을 이용하여 입체적인 화면을 구현할 수 있다. 시점(view)은 View ID로 구분 또는 식별될 수 있다.
상세하게는, 다시점 영상은 기본 시점(Basic View)의 영상과 적어도 하나의 향상 시점(enhancement View) 또는 확장 시점(extension view)의 영상을 포함할 수 있다.
도 1에서 View ID 0은 참조가 되는 시점의 영상을 나타낼 수 있으며, View ID 1은 현재 부호화 또는 복호화 대상이 되는 시점(view)의 영상(현재 픽쳐)을 포함할 수 있으며, View ID 2는 현재 픽쳐가 부호화 또는 복호화되기 이전에 부호화 또는 복호화가 완료된 시점(view)의 영상(대응 픽쳐)을 포함할 수 있다. 여기서, 대응 블록(PUcol)은 현재 블록(PUcurr)이 포함된 현재 픽쳐(Piccurr)와 다른 픽쳐 상에서 현재 블록(PUcurr)의 위치에 상응하여 위치하는 블록을 의미할 수 있다. 예를 들어, 대응 블록(PUcol)은 현재 픽쳐(Piccurr)와 다른 픽쳐 상에서 현재 블록(PUcurr)과 동일한 위치에 존재하는(collocated) 블록을 의미할 수 있다. 또한, 대응 픽쳐(Piccol)는 대응 블록(PUcol)을 포함하고 있는 픽쳐를 의미할 수 있다.
현재 픽쳐(Piccurr)는 다른 시점(view)의 영상 또는 동일 시점(view) 내의 다른 픽쳐를 참조하기 위하여 움직임 추정을 수행할 수 있다.
본 발명에 있어서, 롱-텀 예측(Long-term prediction)는 미리 설정된 시간차 이상 떨어진 동일 시점(view)에 속한 픽쳐를 참조하는 것을 의미할 수 있다. 따라서, 미리 설정된 시간차 미만 떨어진 동일 시점(view)에 속한 픽쳐를 참조하는 경우를 숏-텀 예측(Short-term prediction)라 할 수 있다.
현재 블록(PUcurr)이 포함된 현재 픽쳐(Piccurr)와 다른 픽쳐인 대응 픽쳐(Piccol)에서 현재 블록(PUcurr)에 상응하여 위치하는 대응 블록(PUcol)의 움직임 벡터를 스케일링(scaling)한 결과를 현재 블록(PUcurr)의 움직임 벡터 예측치(MVP: Motion Vector Predictor)로 활용할 수 있다.
도 1은 현재 블록(PUcurr)이 다른 시점(view)에 속한 픽쳐를 참조하고, 대응 블록(PUcol)도 다른 시점(view)에 속한 픽쳐를 참조하는 경우를 나타낸다. 즉, 현재 블록(PUcurr)과 대응 블록(PUcol) 모두 시점 간 예측(inter-view prediction)을 수행할 수 있다.
이러한 경우, 현재 블록(PUcurr)의 시점 간 참조 거리(inter-view reference distance)와 대응 블록(PUcol) 의 시점 간 참조 거리가 서로 상이할 수 있다. 여기서, 시점 간 참조 거리는 View ID의 차이값을 의미할 수 있다.
도 1을 보면, 현재 블록(PUcurr)은 View ID 1에 속하면서, View ID 0에 속한 참조 영상(Picref)을 참조한다. 즉, 현재 블록(PUcurr)의 시점 간 참조 거리는 View ID의 차이값 1이다.
또한, 대응 블록(PUcol)은 View ID 2에 속하면서, View ID 0에 속한 참조 영상(Picref)을 참조한다. 즉, 대응 블록(PUcol)의 시점 간 참조 거리는 View ID의 차이값 2이다.
따라서, 현재 블록(PUcurr)의 시점 간 참조 거리와 대응 블록(PUcol) 의 시점 간 참조 거리가 서로 상이하기 때문에, 대응 블록(PUcol)의 움직임 벡터를 스케일링하는 것이 필요하다.
대응 블록(PUcol)의 움직임 벡터를 스케일링하는 과정을 보다 상세히 설명하면 다음과 같다.
도 1과 같은 경우, 현재 블록(PUcurr)의 움직임 벡터(MVcurr)를 부호화 또는 복호화하기 위한 현재 블록(PUcurr)의 움직임 벡터 예측치(MVP)는 대응 블록(PUcol)의 움직임 벡터(MVcol)를 스케일링하여 얻을 수 있다.
대응 블록(PUcol)의 움직임 벡터(MVcol)를 스케일링하는 과정을 보다 상세히 설명하면 다음과 같다.
수학식 1에서, 현재 블록(PUcurr)의 시점 간 참조 거리(Diffcurr)는 현재 블록(PUcurr)이 속한 View ID(ViewIDcurr)와 현재 블록(PUcurr)의 참조 블록이 속한 View ID(ViewIDref) 사이의 차이값이 된다.
또한, 대응 블록(PUcol)의 시점 간 참조 거리(Diffcol)는 대응 블록(PUcol)이 속한 View ID(ViewIDcol)와 대응 블록(PUcol)의 참조 블록이 속한 View ID(ViewIDcolref) 사이의 차이값이 된다.
따라서, 대응 블록(PUcol)의 움직임 벡터(MVcol)에 적용할 스케일팩터(ScaleFactor)는 다음의 수학식 2에 의해 산출될 수 있다.
따라서, 현재 블록의 움직임 벡터 예측치(MVPcurr)는 대응 블록(PUcol)의 움직임 벡터(MVcol)에 스케일팩터를 곱합에 의해 생성될 수 있다.
즉, 현재 블록의 움직임 벡터 예측치(MVPcurr)는 상기의 수학식 3과 같이 표현될 수 있다.
도 2는 본 발명의 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 2은 현재 블록(PUcurr) 및 대응 블록(PUcol)에 숏-텀 예측(Short-term prediction)이 수행되는 경우를 나타낸다. 여기서, 숏-텀 예측은 미리 설정된 시간차 미만 떨어진 동일 시점(view)에 속한 픽쳐를 참조하는 경우를 의미할 수 있다.
도 2와 같은 경우에는, 현재 블록(PUcurr)의 화면 간 참조 거리와 대응 블록(PUcol)의 화면 간 참조 거리의 비율을 이용하여 대응 블록(PUcol)의 움직임 벡터(MVcol)를 스케일링(scaling)함으로써, 현재 블록(PUcurr)의 움직임 벡터 예측치(MVPcurr)를 생성할 수 있다. 여기서, 화면 간 참조 거리는 시간적 순서에 따른 픽쳐 순서(POC: Picture Order Count) 차이를 의미할 수 있다.
대응 블록(PUcol)의 움직임 벡터(MVcol)를 스케일링하는 과정을 보다 상세히 설명하면 다음과 같다.
수학식 4에서, 현재 블록(PUcurr)의 화면 간 참조 거리(Diffcurr)는 현재 블록(PUcurr)이 속한 현재 픽쳐의 픽쳐 순서(POCcurr)와 현재 블록(PUcurr)이 참조하는 참조 블록이 속한 참조 픽쳐의 픽쳐 순서(POCref)사이의 차이값이 된다.
또한, 대응 블록(PUcol)의 화면 간 참조 거리(Diffcol)는 대응 블록(PUcol)이 속한 대응 픽쳐(Piccol)의 픽쳐 순서(POCcol)와 대응 블록(PUcol)이 참조하는 참조 블록이 속한 참조 픽쳐의 픽쳐 순서(POCcolref)사이의 차이값이 된다.
대응 블록(PUcol)의 움직임 벡터(MVcol)에 적용할 스케일팩터(ScaleFactor)는 다음의 수학식 5에 의해 산출될 수 있다.
따라서, 현재 블록(PUcurr)의 움직임 벡터 예측치(MVPcurr)는 대응 블록(PUcol)의 움직임 벡터(MVcol)에 스케일팩터를 곱합에 의해 생성될 수 있다.
즉, 현재 블록(PUcurr)의 움직임 벡터 예측치(MVPcurr)는 상기의 수학식 6과 같이 표현될 수 있다.
도 3은 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 3은 현재 블록(PUcurr) 및 대응 블록(PUcol)에 롱-텀 예측(Long-term prediction)이 수행되는 경우를 나타낸다. 여기서, 롱-텀 예측(Long-term prediction)은 미리 설정된 시간차 이상 떨어진 동일 시점(view)에 속한 픽쳐를 참조하는 것을 의미할 수 있다.
현재 블록(PUcurr) 및 대응 블록(PUcol)에 롱-텀 예측이 수행되는 경우, 대응 블록(PUcol)의 움직임 벡터(MVcol)를 현재 블록(PUcurr)의 움직임 벡터 예측치(MVPcurr)로 생성할 수 있다.
즉, 현재 블록(PUcurr)의 예측 움직임 벡터(MVPcurr)는 상기의 수학식 7과 같이 대응 블록(PUcol)의 움직임 벡터(MVcol)와 같을 수 있다.
결론적으로, 도 1 내지 3에 따라 현재 블록(PUcurr)의 움직임 벡터 예측치(MVPcurr)가 결정되면, 현재 블록(PUcurr)을 위한 움직임 벡터 차분치(MVDcurr: Motion Vector Difference)가 결정될 수 있다.
즉, 현재 블록(PUcurr)을 위한 움직임 벡터 차분치(MVDcurr)는 수학식 8과 같이 결정될 수 있다. 따라서, 현재 블록의 움직임 벡터 차분치에 현재 블록의 움직임 벡터 예측치를 가산하여 현재 블록의 움직임 벡터를 복원할 수 있다.
도 4 및 도 5는 본 발명의 또 다른 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 개념도이다.
도 4는 현재 블록(PUcurr)에 숏-텀 예측이 수행되고, 대응 블록(PUcol)에 롱-텀 예측이 수행된 경우를 나타낸다.
또한, 도 5는 현재 블록(PUcurr)에 시점 간 예측이 수행되고, 대응 블록(PUcol)에 롱-텀 예측이 수행된 경우를 나타낸다.
도 4 및 도 5와 같이 현재 블록(PUcurr)의 움직임 예측 방법과 대응 블록(PUcol)의 움직임 예측 방법에 상이할 경우에는, 현재 블록(PUcurr)의 움직임 벡터 예측치(MVPcurr)를 생성하는데 있어 대응 블록(PUcol)의 움직임 벡터(MVcol)를 활용하지 않을 수 있다.
도 6은 본 발명의 실시예에 따른 움직임 벡터 예측 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 발명의 실시예에 따른 움직임 벡터 예측 방법은 현재 블록 및 현재 블록에 대응하는 대응 블록에 수행되는 움직임 예측 방법을 판단하는 단계와, 판단된 움직임 예측 방법에 따라 대응 블록의 움직임 벡터에 기반하여 현재 블록의 움직임 벡터 예측치를 생성하는 단계를 포함한다.
현재 블록 및 대응 블록 각각에 대하여 롱-텀 예측(Long-term prediction), 숏-텀 예측(Short-term prediction) 및 시점 간 예측(Inter-view prediction) 중 어느 하나가 수행되는지 판단할 수 있다.
즉, 수신한 비트스트림을 복호화하여 영상 복호화를 위한 데이터를 산출하고, 영상 복호화를 위한 데이터를 이용하여 현재 블록 및 대응 블록에 수행된 움직임 예측 방법을 확인할 수 있다. 예를 들어, 영상 복호화를 위한 데이터에 포함된 View ID 정보, View order 정보 및 움직임 예측 방법의 구분을 위한 플래그 정보 중 적어도 하나를 이용하여 움직임 예측 방법을 구분할 수 있다. 여기서, 영상 복호화를 위한 데이터는 수신한 비트스트림에 엔트로피 복호화, 역양자화 및 역변환을 수행하여 산출할 수 있다.
현재 블록 및 대응 블록에 롱-텀 예측이 수행되는 경우, 대응 블록의 움직임 벡터를 현재 블록의 예측 움직임 벡터로 생성할 수 있다.
또한, 현재 블록 및 대응 블록에 숏-텀 예측이 수행되는 경우, 현재 블록의 화면 간 참조 거리와 대응 블록의 화면 간 참조 거리의 비율을 이용하여 대응 블록의 움직임 벡터를 스케일링(scaling)함으로써, 현재 블록의 움직임 벡터 예측치를 생성할 수 있다.
또한, 현재 블록 및 대응 블록에 시점 간 예측이 수행되는 경우, 현재 블록의 시점 간 참조 거리(inter-view reference distance)와 대응 블록의 시점 간 참조 거리의 비율을 이용하여 대응 블록의 움직임 벡터를 스케일링(scaling)함으로써, 현재 블록의 움직임 벡터 예측치를 생성할 수 있다.
그러나, 현재 블록 및 대응 블록 중 어느 하나에 시점 간 예측이 수행되고 다른 하나에 롱-텀 예측 또는 숏-텀 예측이 수행되는 경우이거나, 현재 블록 및 대응 블록 중 어느 하나에 롱-텀 예측이 수행하고 다른 하나에 숏-텀 예측이 수행되는 경우에는, 현재 블록의 예측 움직임 벡터를 산출하는데 있어 대응 블록의 움직임 벡터를 활용하지 않을 수 있다.
또한, 현재 블록 및 대응 블록에 수행된 움직임 예측 방법이 서로 상이하여 대응 블록의 움직임 벡터를 이용하지 않는 경우, 현재 블록의 움직임 벡터 예측치를 미리 설정된 벡터로 생성할 수 있다. 예를 들어, 미리 설정된 벡터는, (0, 0)으로 설정될 수 있다.
따라서, 현재 블록(Current block)의 움직임 예측 방법과 대응 블록(Co-located block)의 움직임 예측 방법의 상관 관계에 따른 현재 블록의 시간적 움직임 벡터 예측치(TMVP)는 다음의 표 1과 같다.
Current block | Co-located block | TMVP |
Inter-view prediction | Inter-view vector | Scaled TMVP based on ViewID |
Non Inter-view vector | Inter-view vector | Not use TMVP |
Inter-view vector | Non Inter-view vector | Not use TMVP |
Non Inter-view vector (Short-term) |
Non Inter-view vector (Short-term) |
Scaled TMVP based on POC |
Non Inter-view vector (Short-term) |
Non Inter-view vector (long-term) |
Not use TMVP |
Non Inter-view vector (long-term) |
Non Inter-view vector (Short-term) |
Not use TMVP |
Non Inter-view vector (long-term) |
Non Inter-view vector (long-term) |
TMVPcurr=MVcol |
도 6에 따른 흐름도를 설명하기에 앞서 각각의 파라미터를 정의하면 다음의 표 2와 같다.
LT curr | PUcurr의 참조 영상이 Long-term reference인 경우 1 PUcurr의 참조 영상이 Long-term reference가 아닌 경우 0 |
LT col | PUcol의 참조 영상이 Long-term reference인 경우 1 PUcol의 참조 영상이 Long-term reference가 아닌 경우 0 |
IV curr | MVcurr이 Inter-view motion vector인 경우 1 MVcurr이 Inter-view motion vector가 아닌 경우 0 |
IV col | MVcol 이 Inter-view motion vector인 경우 1 MVcol 이 Inter-view motion vector가 아닌 경우 0 |
BaseViewFlag curr | Piccurr가 Base view인 경우 1 Piccurr 가 Base view가 아닌 경우는 0 |
POC curr | Piccurr의 POC번호를 나타낸다. |
POC ref | Picref의 POC번호를 나타낸다. |
POC col | Piccol의 POC번호를 나타낸다. |
POC colref | Piccol의 참조 영상의 POC번호를 나타낸다. |
ViewID curr | Piccurr의 View ID를 나타낸다. |
ViewID ref | Picref의 View ID를 나타낸다. |
ViewID col | Piccol의 View ID를 나타낸다. |
ViewID colref | Piccol의 참조 영상의 View ID를 나타낸다. |
도 6을 참조하여 본 발명의 실시예에 따른 다시점을 위한 움직임 벡터 예측 방법을 보다 상세히 설명하면 다음과 같다. S610 단계에서 LTcurr과 LTcol 가 같지 않는 경우는 MVcurr이 가르키는 참조 영상과 MVcol 이 가르키는 참조 영상의 마킹이 다른 경우로 예를 들어 MVcurr은 Short-term reference영상을 참조하고 MVcol 은 Long-term reference 영상을 참조 하는 것이다. 이러한 경우에는 TMVP(Temporal Motion Vector Predictor)를 사용할 수 없다(S690).
S610 단계에서 IVcurr 와 IVcol 이 같지 않은 경우는 MVcurr와 MVcol 의 특성이 다른 경우로 예를 들어 MVcurr은 Inter-view motion vector이고 MVcol 은 Temporal Motion Vector인 것이다. 이러한 경우에는 TMVP를 사용할 수 없다(S690).
S620 단계에서 IVcurr가 '1'인 경우, MVcurr와 MVcol 모두 Inter-view Motion Vector인 경우로 View ID의 차분값으로 스케일링이 가능하다(S640).
S620 단계에서 IVcurr 가 '0'인 경우, MVcurr와 MVcol 모두 Temporal Motion Vector인 경우로 POC의 차분값으로 스케일링이 가능하다(S630).
여기서, BaseViewFlagcurr 가 '0'인 경우는 Piccurr 가 Base view가 아님을 의미할 수 있다.
S650 단계에서 Diffcurr 와 Diffcol 값이 같지 않고 IVcurr가 '1'이거나 LTcurr 가 0인 경우, TMVPcurr 는 MVcol 을 스케일링하여 사용한다(S670).
S650 단계에서 Diffcurr 와 Diffcol 값이 같다면, TMVPcurr 는 MVcol 로 설정할 수 있다(S660).
S650 단계에서 현재 블록(PUcurr)과 대응 블록(PUcol) 둘 다 long-term reference 영상을 참조하고, 둘 다 inter-view 예측을 사용하지 않을 경우, TMVPcurr 는 MVcol 로 설정할 수 있다(S660).
제 2 실시예 - 잔차 예측을 통해 잔차를 부호화 및 복호화하는 방법
잔차 예측(Residual Prediction)을 통하여 다시점 영상을 부호화 및 복호화할 수 있다. 다시점 영상을 위해 개선된 잔차 예측(ARP: Advanced Residual Prediction)은 현재 블록에 대한 움직임 예측을 통하여 잔차를 생성하고, 생성된 잔차에 대한 예측을 수행하여 예측 잔차를 생성하는 것을 의미할 수 있다.
따라서, 잔차 예측을 통해 잔차를 부호화 및 복호화하는 방법은, 현재 블록의 잔차에서 예측 잔차를 차분하여 생성한 잔차 차분치를 부호화 및 복호화하는 것을 의미할 수 있다.
도 7은 본 발명의 일 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 7을 참조하면, 현재 블록(Curr)이 속한 시점(view)를 현재 시점(Current View)이라 하고, 현재 시점에 의해 참조되는 시점(View)을 참조 시점(Reference View)이라 한다.
현재 블록(Curr)이 동일한 시점(View) 상에서 참조하는 참조 블록을 CurrRef라 할 때, 잔차 신호 R은 다음의 수학식 9에 의해 산출될 수 있다. 여기서, 현재 블록(Curr)의 움직임 벡터를 MVCurr이라 할 수 있다.
즉, 다음의 수학식 9를 참조하면 현재 블록(Curr)의 잔차 신호 R은 현재 블록(Curr)에서 참조 블록(CurrRef)을 차분하여 산출할 수 있다.
잔차 신호 R은 시점 간의 유사성을 이용하여 중복성을 더욱 제거할 수 있다. 현재 블록(Curr)이 디스패리티 벡터(DVderived: Disparity Vector)를 사용하여 참조 시점 상에서 현재 블록(Curr)에 대응하는 대응 블록(Base)을 탐색할 수 있다.
현재 블록(Curr)의 움직임 벡터인 MVCurr을 스케일링하여 생성한 MVScaled을 이용하여 현재 블록(Curr)에 대응하는 대응 블록(Base)이 시간 방향으로 참조하는 참조 블록(BaseRef)를 탐색할 수 있다.
이러한 경우, 대응 블록(Base)이 참조하는 참조 블록(BaseRef)이 속한 픽쳐는 현재 블록(Curr)에 대응하는 대응 블록(Base)이 속한 픽쳐를 위한 참조 픽쳐 리스트(Reference picture list) 중에서 대응 블록(Base)이 속한 픽쳐와 동일한 번호를 가진 픽쳐를 제외하고 대응 블록(Base)이 속한 픽쳐와 POC(Picture Order Count) 차이가 가장 작은 픽쳐를 의미할 수 있다.
MVScaled은 다음의 수학식 10 및 수학식 11을 이용하여 산출할 수 있다.
수학식 10에서, 현재 블록(Curr)의 시간 방향의 참조 거리는 DiffPOCCurr로 표현할 수 있으면, DiffPOCCurr는 현재 블록(Curr)이 속한 픽쳐 번호(POCCurr)와 현재 블록(Curr)이 시간 방향으로 참조하는 참조 블록(CurrRef)이 속한 픽쳐 번호(POCCurrRef)사이의 차이값으로 산출될 수 있다.
또한, 대응 블록(Base)의 시간 방향의 참조 거리는 DiffPOCBase로 표현할 수 있으며, DiffPOCBase는 대응 블록(Base)이 속한 픽쳐 번호(POCBase)와 대응 블록(Base)이 시간 방향으로 참조하는 참조 블록(BaseRef)이 속한 픽쳐 번호(POCBaseRef)사이의 차이값으로 산출될 수 있다.
현재 블록(Curr)의 움직임 벡터(MVCurr)을 스케일링할 스케일팩터(ScaleFactor)은 현재 블록(Curr)의 시간 방향의 참조 거리와 대응 블록(Base)의 시간 방향의 참조 거리 사이의 비율로 나타낼 수 있다.
따라서, MVScaled는 수학식 11과 같이 현재 블록(Curr)의 움직임 벡터인 MVCurr을 스케일팩터로 스케일링하여 생성할 수 있고, 대응 블록(Base)은 MVScaled을 이용하여 대응 블록(Base)이 시간 방향으로 참조하는 참조 블록(BaseRef)를 탐색할 수 있다.
현재 블록(Curr)의 예측 잔차 신호 R'는 수학식 12를 통하여 산출할 수 있다. 즉, 예측 잔차 신호 R'는 대응 블록(Base)에서 대응 블록(Base)이 시간 방향으로 참조하는 참조 블록(BaseRef)를 차분하여 산출할 수 있다.
또한, 가중치(w)를 대응 블록(Base) 또는 참조 블록(BaseRef)에 적용하여 예측 잔차 신호 R'를 산출하거나, 수학식 12에 따른 예측 잔차 신호 R'가 미리 설정된 임계값()보다 크게 되도록 설정될 수도 있다.
따라서, 잔차 차분치는 수학식 9에 따른 현재 블록(Curr)의 잔차 신호 R에서 수학식 12에 따른 현재 블록(Curr)의 예측 잔차 신호 R'를 차분하여 산출할 수 있고, 이를 수학식 13과 같이 최종 잔차(RFinal)로 명명할 수 있다.
또한, 도 7 및 수학식 9 내지 13에 따른 잔차 예측을 Temporal ARP(Advanced Residual Prediction)로 명명할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 8을 참조하면, 현재 블록(Curr)이 다른 시점(View) 상에서 참조하는 참조 블록을 IvRef라 할 때, 잔차 신호 R은 다음의 수학식 14에 의해 산출될 수 있다. 여기서, 현재 블록(Curr)의 움직임 벡터를 MVCurr이라 할 수 있으며, MVCurr에 의해 시점 간 예측(inter-view prediction)이 수행될 수 있다.
즉, 다음의 수학식 14를 참조하면 현재 블록(Curr)의 잔차 신호 R은 현재 블록(Curr)에서 참조 블록(IvRef)을 차분하여 산출할 수 있다.
수학식 14를 참조하면, 잔차 신호 R은 시간 간의 유사성을 이용하여 중복성을 더욱 제거할 수 있다. 현재 블록(Curr)이 움직임 벡터(MVCurr)를 사용하여 참조 시점 상에서 현재 블록(Curr)이 시점 간(inter-view) 참조하는 참조 블록(IvRef)을 탐색할 수 있다.
현재 블록(Curr)의 참조 블록(IvRef)은 dTMVBase를 사용하여 시간 방향으로 참조하는 참조 블록(IvTRef)를 탐색할 수 있다.
또한, 현재 블록(Curr)의 참조 블록(IvRef)이 사용하는 dTMVBase를 스케일링하여 생성한 dMVScaled을 이용하여 현재 블록(Curr)이 시간 방향으로 참조하는 참조 블록(TRef)를 탐색할 수 있다.
이러한 경우, 현재 블록(Curr)이 시간 방향으로 참조하는 참조 블록(TRef)이 속한 픽쳐는 현재 블록(Curr)이 속한 픽쳐를 위한 참조 픽쳐 리스트(Reference picture list) 중에서 현재 블록(Curr)이 속한 픽쳐와 동일한 번호를 가진 픽쳐를 제외하고 현재 블록(Curr)이 속한 픽쳐와 POC(Picture Order Count) 차이가 가장 작은 픽쳐를 의미할 수 있다.
MVScaled은 다음의 수학식 15 및 수학식 16을 이용하여 산출할 수 있다.
수학식 15에서, 현재 블록(Curr)의 시간 방향의 참조 거리는 DiffPOCCurr로 표현할 수 있으며, DiffPOCCurr는 현재 블록(Curr)이 속한 픽쳐 번호(POCCurr)와 현재 블록(Curr)이 시간 방향으로 참조하는 참조 블록(TRef)이 속한 픽쳐 번호(POCTRef)사이의 차이값으로 산출될 수 있다.
또한, 참조 블록(IvRef)의 시간 방향의 참조 거리는 DiffPOCBase로 표현할 수 있으며, DiffPOCBase는 참조 블록(IvRef)이 속한 픽쳐 번호(POCIvRef)와 참조 블록(IvRef)이 시간 방향으로 참조하는 참조 블록(IvTRef)이 속한 픽쳐 번호(POCIvTRef)사이의 차이값으로 산출될 수 있다.
참조 블록(IvRef)의 움직임 벡터(dTMVBase)을 스케일링할 스케일팩터(ScaleFactor)은 현재 블록(Curr)의 시간 방향의 참조 거리와 대응 블록(Base)의 시간 방향의 참조 거리 사이의 비율로 나타낼 수 있다.
따라서, dTMVScaled는 수학식 16과 같이 참조 블록(IvRef)의 움직임 벡터인 dTMVBase를 스케일팩터로 스케일링하여 생성할 수 있고, 현재 블록(Curr)은 dTMVScaled를 이용하여 현재 블록(Curr)이 시간 방향으로 참조하는 참조 블록(TRef)를 탐색할 수 있다.
현재 블록(Curr)의 예측 잔차 신호 R'는 수학식 17를 통하여 산출할 수 있다. 즉, 예측 잔차 신호 R'는 현재 블록(Curr)이 시간 방향으로 참조하는 참조 블록(TRef)에서 현재 블록(Curr)의 참조 블록(IvRef)이 시간 방향으로 참조하는 참조 블록(IvTRef)을 차분하여 산출할 수 있다.
또한, 가중치(w)를 참조 블록(TRef 또는 IvTRef)에 적용하여 예측 잔차 신호 R'를 산출하거나, 수학식 17에 따른 예측 잔차 신호 R'가 미리 설정된 임계값()보다 크게 되도록 설정될 수도 있다.
따라서, 잔차 차분치는 수학식 14에 따른 현재 블록(Curr)의 잔차 신호 R에서 수학식 17에 따른 현재 블록(Curr)의 예측 잔차 신호 R'를 차분하여 산출할 수 있고, 이를 수학식 18과 같이 최종 잔차(RFinal)로 명명할 수 있다.
또한, 도 8 및 수학식 14 내지 18에 따른 잔차 예측을 Inter-view ARP(Advanced Residual Prediction)로 명명할 수 있다.
도 9는 본 발명의 또 다른 실시예에 따른 잔차 예측 방법을 설명하기 위한 개념도이다.
도 9를 참조하면, 현재 블록(Curr)이 움직임 벡터(MVCurr)를 사용하여 참조 시점(View ID 1) 상에서 현재 블록(Curr)이 시점 간(inter-view) 참조하는 참조 블록(IvRef)을 탐색할 수 있다.
도 9의 경우에는 도 8의 경우와 달리, 현재 블록(Curr)의 참조 블록(IvRef)은 MVRef를 사용하여 다른 시점(view) 상에서 참조하는 참조 블록(IvTRef)를 탐색할 수 있다.
이러한 경우, 현재 블록(Curr)의 참조 블록(IvRef)이 사용하는 MVRef를 스케일링하여 MVScaled을 생성하는데 문제가 발생한다. 즉, MVRef는 시점 간 예측(inter-view prediction)에 사용되는 움직임 벡터인 것에 반하여 MVScaled는 시간 방향으로 움직임 예측을 수행하는 벡터이기 때문이다.
더욱 상세하게는, MVRef는 시점 간 예측(inter-view prediction)에 사용되는 움직임 벡터이기 때문에 수학식 15에서 분모가 0이 되어 스케일팩터가 무한대로 산출되는 문제점이 발생할 수 있다.
따라서, 수학식 19를 이용하여 MVScaled를 산출하는 과정에서 오류 또는 에러가 발생할 수 있기 때문에 MVScaled를 (0, 0)으로 설정하여 오류 또는 에러 발생을 해결할 수 있다.
도 8 및 9에서, IvRef를 제1 참조 블록으로, TRef를 제2 참조 블록으로, IvTRef를 제3 참조 블록으로 하여 설명하면 다음과 같다.
현재 블록이 시점 간 예측(inter-view prediction)을 위해 참조하는 제1 참조 블록에 수행된 움직임 예측 방법을 판단하는 단계와, 제1 참조 블록의 움직임 예측 방법에 따라 현재 블록을 위한 예측 잔차를 생성하는 단계를 포함한다.
제1 참조 블록에 시간 움직임 예측(Temporal motion prediction) 및 시점 간 예측(Inter-view prediction) 중 어느 하나가 수행되는지 확인할 수 있다.
현재 블록이 시간 움직임 예측을 위해 참조하는 제2 참조 블록과 제1 참조 블록이 참조하는 제3 참조 블록 간의 차이값을 예측 잔차로 생성할 수 있다. 여기서, 제2 참조 블록은, 현재 블록이 속한 현재 픽쳐의 참조 리스트에서 시간 방향으로 가장 가까운 픽쳐에 속할 수 있다.
제1 참조 블록에 시간 움직임 예측이 수행된 것으로 확인된 경우, 제3 참조 블록의 탐색을 위한 움직임 벡터에 스케일팩터를 적용하여 스케일된 움직임 벡터를 생성하고, 스케일된 움직임 벡터를 이용하여 제2 참조 블록을 결정할 수 있다. 여기서, 스케일팩터는, 제1 참조 블록이 속한 참조 픽쳐의 번호와 제1 참조 블록이 시간 움직임 예측을 위해 참조하는 제3 참조 블록이 속한 픽쳐의 번호 사이의 차이값과 현재 블록이 속한 픽쳐의 번호와 제2 참조 블록의 속한 픽쳐의 번호 사이의 차이값에 기반하여 생성할 수 있다.
또한, 제1 참조 블록에 시점 간 예측이 수행된 것으로 확인된 경우, 제2 참조 블록의 탐색을 위한 움직임 벡터로 (0, 0)을 적용하여 제2 참조 블록을 결정할 수 있다.
도 10은 본 발명의 실시예에 따른 다시점 영상을 부호화/복호화하는 장치를 설명하기 위한 블록도이다.
도 10을 참조하면, 본 발명의 실시예에 따라 다시점 영상을 부호화/복호화하는 시스템은 다시점 영상 부호화 장치(10) 및 다시점 영상 복호화 장치(20)로 구성된다.
다시점 영상 부호화 장치(10)는 기본 시점 영상을 부호화하기 위한 기본 시점 영상 부호화 장치(11) 및 확장 시점 영상을 부호화하기 위한 확장 시점 영상 부호화 장치(12, 13)를 포함할 수 있다. 여기서, 기본 시점 영상은 2D 단일 시점 영상을 제공하기 위한 영상을 의미하고, 확장 시점 영상은 3D와 같은 확장된 시점의 영상을 제공하기 위한 영상을 의미할 수 있다.
예를 들어, 다시점 영상 부호화 장치(10)는 기본 시점 영상 부호화 장치(11)와 제1 확장 시점 영상 부호화 장치(12), 제2 확장 시점 영상 부호화 장치(13)를 포함하여 구성될 수 있다. 또한, 확장 시점 영상 부호화 장치는 제1 확장 시점 영상 부호화 장치(12), 제2 확장 시점 영상 부호화 장치(13)에 한정되지 않으며, 시점(view point)의 개수에 따라 개수가 증가할 수 있다. 더 나아가, 기본 시점 영상 부호화 장치(11) 및 확장 시점 영상 부호화 장치(12, 13)는 컬러 영상과 깊이 영상(Depth map)을 구분하여 부호화를 수행할 수 있다.
다시점 영상 부호화 장치(10)는 다시점 영상을 부호화한 비트스트림을 다시점 영상 복호화 장치(20)로 전송할 수 있다.
비트스트림을 수신한 다시점 영상 복호화 장치(20)는 비트스트림 추출부(29), 기본 시점 영상 복호화 장치(21), 확장 시점 영상 복호화 장치(22, 23)를 포함할 수 있다.
예를 들어, 다시점 영상 복호화 장치(20)는 기본 시점 영상 복호화 장치(21)와 제1 확장 시점 영상 복호화 장치(22), 제2 확장 시점 영상 복호화 장치(23)를 포함하여 구성될 수 있으며, 확장 시점 영상 복호화 장치는 시점의 개수에 따라 개수가 증가할 수 있음은 물론이다.
상세하게는, 비트스트림 추출부(29)는 비트스트림을 시점(view point) 별로 구분할 수 있으며, 구분된 비트스트림은 기본 시점 영상 복호화 장치(21) 및 확장 시점 영상 복호화 장치(22, 23)로 각각 전달될 수 있다.
본 발명의 실시예에 따르면, 복호화된 기본 시점 영상은 기존의 2D 디스플레이 장치에서 디스플레이 되는 역방향 적합성을 가질 수 있다. 또한, 복호화된 기본 시점 영상 및 복호화된 적어도 하나의 확장 시점 영상은 스테레오 디스플레이 장치 또는 다시점 디스플레이 장치에서 디스플레이될 수 있다.
한편, 입력된 카메라 위치 정보 등은 비트스트림을 통하여 스테레오 디스플레이 장치 또는 다시점 디스플레이 장치로 보조 정보로써 전송될 수 있다.
도 11은 본 발명의 실시예에 따라 다시점 영상을 부호화하는 장치를 설명하기 위한 블록도이다.
도 11을 참조하면, 본 발명의 실시예에 따른 다시점 영상 부호화 장치(10)는 기본 시점 영상 부호화 장치(11)와 확장 시점 영상 부호화 장치(12)를 포함하여 구성될 수 있다. 다만, 시점에 따라 확장 시점 영상 부호화 장치가 더 부가될 수 있다.
기본 시점 영상 부호화 장치(11)와 확장 시점 영상 부호화 장치(12) 각각은, 감산부(110, 110-1), 변환부(120, 120-1), 양자화부(130, 130-1), 역양자화부(131, 131-1), 역변환부(121, 121-1), 엔트로피 부호화부(140, 140-1), 가산부(150, 150-1), 인루프 필터부(160, 160-1), 프레임 메모리(170, 170-1), 인트라 예측부(180, 180-1) 및 움직임 보상부(190, 190-1)를 포함한다.
감산부(110, 110-1)은 제공받은 입력 영상인 부호화할 대상 영상(현재 영상)으로부터 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상을 감산함으로써 현재 영상과 예측 영상 간의 잔차 영상(residue image)을 생성한다.
변환부(120, 120-1)는 감산부(110, 110-1)에 의해 생성된 잔차 영상을 공간 영역에서 주파수 영역으로 변환하는 기능을 한다. 여기서, 변환부(120, 120-1)는 하다마드 변환, 이산 여현 변환(Discrete Cosine Transform), 이산 사인 변환(Discrete Cosine Transform) 등과 같이 공간축의 화상 신호를 주파수축으로 변환하는 기법을 이용하여 잔차 영상을 주파수 영역으로 변환할 수 있다.
양자화부(130, 130-1)는 변환부(120, 120-1)로부터 제공되는 변환된 데이터(주파수 계수)에 대해 양자화를 수행한다. 즉, 양자화부(130, 130-1)는 변환부(120, 120-1)에 의해 변환된 데이터인 주파수 계수들을 양자화 스텝사이즈(Quantization Step-Size)로 나누어 근사화하여 양자화 결과값을 산출한다.
엔트로피 부호화부(140, 140-1)는 양자화부(130, 130-1)에 의하여 산출된 양자화 결과값을 엔트로피 부호화함으로써 비트스트림을 생성한다. 또한, 엔트로피 부호화부(140, 140-1)는 양자화부(130, 130-1)에 의해 산출된 양자화 결과값을 CAVLC(Context-Adaptive Variable Length Coding) 또는 CABAC(Context-Adaptive Binary Arithmetic Coding) 기법 등을 이용하여 엔트로피 부호화할 수 있으며, 양자화 결과값 이외에 영상을 복호화하는데 필요한 정보를 엔트로피 부호화할 수 있다.
역양자화부(131, 131-1)은 양자화부(130, 130-1)에 의해 산출된 양자화 결과값을 역양자화한다. 즉, 역양자화부(131, 131-1)은 양자화 결과값으로부터 주파수 영역의 값(주파수 계수)을 복원한다.
역변환부(121, 121-1)는 역양자화부(131, 131-1)에 제공받은 주파수 영역의 값(주파수 계수)을 주파수 영역에서 공간 영역으로 변환함으로써 잔차 영상을 복원하고, 가산부(150, 150-1)는 인트라 예측 또는 인터 예측에 의해 생성된 예측 영상에 역변환부(121, 121-1)에 의해 복원된 잔차 영상을 가산함으로써 입력 영상의 복원 영상을 생성하여 프레임 메모리(170, 170-1)에 저장한다.
인트라 예측부(180, 180-1)는 인트라 예측(Intra Prediction)을 수행하며, 움직임 보상부(190, 190-1)는 인터 예측(Inter Prediction)을 위한 움직임 벡터를 보상한다. 여기서, 인트라 예측부(180, 180-1)와 움직임 보상부(190, 190-1)를 예측부로 통칭할 수 있다.
본 발명의 실시예에 따르면, 확장 시점 영상 부호화 장치(12)에 포함된 예측부(180-1, 190-1)은 참조 시점의 참조 블록에 대한 예측 수행 정보를 이용하여 확장 시점의 현재 블록에 대한 예측을 수행할 수 있다. 여기서, 참조 시점은 확장 시점에 의해 참조되는 시점으로 기본 시점을 의미할 수 있다. 또한, 예측 수행 정보는 참조 블록에 대한 예측 모드 정보 및 움직임 정보를 포함할 수 있다.
인루프 필터부(160, 160-1)는 복원된 영상에 대한 필터링을 수행하는 것으로, 디블록킹 필터(DF: Deblocking Filter), 샘플 적응적 오프셋(SAO: Sample Adaptive Offset)를 포함하여 구성될 수 있다.
멀티플렉서(330)는 부호화된 기본 시점 영상에 대한 비트스트림과 부호화된 확장 시점 영상에 비트스트림을 수신하여 확장된 비트스트림을 출력할 수 있다.
특히, 본 발명의 실시예에 따른 다시점 영상 부호화 장치(10)는 시점 간 예측부(310) 및 잔차 예측부(320)를 더 포함할 수 있다.
도 11에서 시점 간 예측부(310) 및 잔차 예측부(320)는 기본 시점 영상 부호화 장치(11)와 확장 시점 영상 부호화 장치(12) 사이에 위치하는 것으로 도시되었으나, 그 구조 또는 위치에 한정이 있는 것은 아니다.
시점 간 예측부(310)는 움직임 보상부(190, 190-1)과 연동하여 동작할 수 있으며, 상술한 제1 실시예에 따른 움직임 벡터 예측을 통하여 다시점 영상을 위한 움직임 벡터를 부호화할 수 있다.
또한, 잔차 예측부(320)는 움직임 보상부(190, 190-1) 및 인트라 예측부(180, 180-1)과 연동하여 동작할 수 있으며, 상술한 제2 실시예에 따른 잔차 예측을 통하여 다시점 영상을 위한 잔차를 부호화할 수 있다.
도 12는 본 발명의 실시예에 따라 다시점 영상을 복호화하는 장치를 설명하기 위한 블록도이다.
도 12을 참조하면, 본 발명의 실시예에 따른 다시점 영상 복호화 장치(20)는 비트스트림 추출부(29), 기본 시점 영상 복호화 장치(21) 및 확장 시점 영상 복호화 장치(22, 23)를 포함하여 구성될 수 있다.
비트스트림 추출부(29)는 비트스트림을 시점(view point) 별로 구분할 수 있으며, 구분된 비트스트림은 기본 시점 영상 복호화 장치(21) 및 확장 시점 영상 복호화 장치(22, 23)로 각각 전달될 수 있다.
기본 시점 영상 복호화 장치(21)와 확장 시점 영상 복호화 장치(22, 23) 각각은, 엔트로피 복호화부(210, 210-1), 역양자화부(220, 220-1), 역변환부(230, 230-2), 가산부(240, 240-1), 인루프 필터부(250, 250-1), 프레임 메모리(260, 260-1), 인트라 예측부(270, 270-1) 및 움직임 보상부(280, 280-1)를 포함할 수 있다. 여기서, 인트라 예측부(270, 270-1) 및 움직임 보상부(280, 280-1)는 예측부로 통칭될 수 있다.
특히, 본 발명의 실시예에 따른 다시점 영상 복호화 장치(20)는 시점 간 예측부(410) 및 잔차 예측부(420)를 더 포함할 수 있다.
도 12에서 시점 간 예측부(410) 및 잔차 예측부(420)는 기본 시점 영상 복호화 장치(21)와 확장 시점 영상 복호화 장치(22) 사이에 위치하는 것으로 도시되었으나, 그 구조 또는 위치에 한정이 있는 것은 아니다.
시점 간 예측부(410)는 움직임 보상부(290, 290-1)과 연동하여 동작할 수 있으며, 상술한 제1 실시예에 따른 움직임 벡터 예측을 통하여 다시점 영상을 위한 움직임 벡터를 복호화할 수 있다.
또한, 잔차 예측부(420)는 움직임 보상부(290, 290-1) 및 인트라 예측부(280, 280-1)과 연동하여 동작할 수 있으며, 상술한 제2 실시예에 따른 잔차 예측을 통하여 다시점 영상을 위한 잔차를 복호화할 수 있다.
한편, 다시점 영상 복호화 장치(20)의 각 구성 요소는 도 11의 다시점 영상 부호화 장치(10)의 구성 요소와 각각 대응되어 이해될 수 있으므로 상세한 설명한 생략한다.
또한, 상술한 본 발명의 실시예에 따른 다시점 영상 부호화 장치(10)와 다시점 영상 복호화 장치(20)의 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개가 합쳐져 하나의 프로세서로 이루어지거나, 하나의 구성부가 복수개의 프로세서로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합 및 분리된 실시예의 경우도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
그리고, 본 발명에 따른 다시점 영상 부호화 장치(10)와 다시점 영상 복호화 장치(20)는, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
상술한 본 발명의 제1 실시예에 따른 다시점 영상을 위한 움직임 벡터 예측 방법은 다시점 영상을 부호화/복호화하는 과정에서 움직임 벡터를 효과적으로 부호화/복호화할 수 있도록 한다. 즉, 본 발명에 따르면, 현재 블록 및 대응 블록의 움직임 벡터 예측 방법에 따라 적응적으로 시간적 움직임 벡터에 대한 예측을 수행할 수 있다.
*상술한 본 발명의 제2 실시예에 따른 다시점 영상을 위한 잔차 예측 방법은 다시점 영상을 부호화/복호화하는 과정에서 잔차를 효과적으로 부호화/복호화할 수 있도록 한다. 즉, 본 발명에 따르면, 예측 잔차를 생성하는 과정에서 움직임 벡터를 스케일링하기 위한 스케일팩터의 산출에 오류가 발생하는 것을 방지할 수 있고 이를 통하여 다시점 영상을 위한 잔차 예측에서 오류 또는 에러를 방지할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 부호화 장치
20: 복호화 장치
11: 기본 시점 영상 부호화 장치 12: 제1 확장 시점 영상 부호화 장치
13: 제2 확장 시점 영상 부호화 장치 21: 기본 시점 영상 복호화 장치
22: 제1 확장 시점 영상 복호화 장치 23: 제2 확장 시점 영상 복호화 장치
29: 비트스트림 추출부 110, 110-1: 감산부
120, 120-1: 변환부 121, 121-1, 230, 230-1: 역변환부
130, 130-1: 양자화부 131, 131-1, 220, 220-1: 역양자화부
140, 140-1: 엔트로피 부호화부 150, 150-1, 240, 240-1: 가산부
160, 160-1, 250, 250-1: 인루프 필터부 170, 170-1, 260, 260-1: 프레임 메모리
180, 180-1, 270, 270-1: 인트라 예측부 190, 190-1, 280, 280-1: 움직임 보상부
210, 210-1: 엔트로피 복호화부 310, 410: 시점 간 예측부
320, 420: 잔차 예측부 330: 멀티플렉서
11: 기본 시점 영상 부호화 장치 12: 제1 확장 시점 영상 부호화 장치
13: 제2 확장 시점 영상 부호화 장치 21: 기본 시점 영상 복호화 장치
22: 제1 확장 시점 영상 복호화 장치 23: 제2 확장 시점 영상 복호화 장치
29: 비트스트림 추출부 110, 110-1: 감산부
120, 120-1: 변환부 121, 121-1, 230, 230-1: 역변환부
130, 130-1: 양자화부 131, 131-1, 220, 220-1: 역양자화부
140, 140-1: 엔트로피 부호화부 150, 150-1, 240, 240-1: 가산부
160, 160-1, 250, 250-1: 인루프 필터부 170, 170-1, 260, 260-1: 프레임 메모리
180, 180-1, 270, 270-1: 인트라 예측부 190, 190-1, 280, 280-1: 움직임 보상부
210, 210-1: 엔트로피 복호화부 310, 410: 시점 간 예측부
320, 420: 잔차 예측부 330: 멀티플렉서
Claims (3)
- 다시점 영상 복호화 방법에 있어서,
복호화 대상인 현재 블록이 참조하는 제1 참조 블록의 예측 방법을 판단하는 단계;
상기 제1 참조 블록의 예측 방법에 따라 상기 현재 블록을 위한 예측 잔차를 생성하는 단계; 및
비트스트림에 포함된 상기 현재 블록의 잔차 차분치와 상기 예측 잔차를 이용하여 상기 현재 블록을 복원하는 단계를 포함하되,
상기 현재 블록을 위한 예측 잔차를 생성하는 단계는,
상기 현재 블록이 참조하는 제2 참조 블록과 상기 제1 참조 블록이 참조하는 제3 참조 블록 간의 차이를 기반으로 상기 예측 잔차를 생성하고,
상기 제1 참조 블록에 시점 간 예측이 수행된 것으로 확인된 경우, 상기 제2 참조 블록을 결정하기 위한 움직임 벡터를 (0, 0)으로 설정하여 상기 제2 참조 블록을 결정하고,
상기 제1 참조 블록은 상기 현재 블록이 시점간 예측을 위해 참조하는 블록인 것을 특징으로 하는, 다시점 영상 복호화 방법. - 다시점 영상 부호화 방법에 있어서,
부호화 대상인 현재 블록이 참조하는 제1 참조 블록의 예측 방법을 판단하는 단계;
상기 제1 참조 블록의 예측 방법에 따라 상기 현재 블록을 위한 예측 잔차를 생성하는 단계;
상기 예측 잔차를 기초로 상기 현재 블록의 잔차 차분치를 유도하는 단계; 및
상기 잔차 차분치를 비트스트림을 통해 부호화 하는 단계를 포함하되,
상기 현재 블록을 위한 예측 잔차를 생성하는 단계는,
상기 현재 블록이 참조하는 제2 참조 블록과 상기 제1 참조 블록이 참조하는 제3 참조 블록 간의 차이를 기반으로 상기 예측 잔차를 생성하고,
상기 제1 참조 블록에 시점 간 예측이 수행된 것으로 확인된 경우, 상기 제2 참조 블록을 결정하기 위한 움직임 벡터를 (0, 0)으로 설정하여 상기 제2 참조 블록을 결정하고,
상기 제1 참조 블록은 상기 현재 블록이 시점간 예측을 위해 참조하는 블록인 것을 특징으로 하는, 다시점 영상 부호화 방법. - 다시점 영상 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 기록 매체에 있어서,
부호화 대상인 현재 블록이 참조하는 제1 참조 블록의 예측 방법을 판단하는 단계;
상기 제1 참조 블록의 예측 방법에 따라 상기 현재 블록을 위한 예측 잔차를 생성하는 단계;
상기 예측 잔차를 기초로 상기 현재 블록의 잔차 차분치를 유도하는 단계; 및
상기 잔차 차분치를 비트스트림을 통해 부호화 하는 단계를 포함하되,
상기 현재 블록을 위한 예측 잔차를 생성하는 단계는,
상기 현재 블록이 참조하는 제2 참조 블록과 상기 제1 참조 블록이 참조하는 제3 참조 블록 간의 차이를 기반으로 상기 예측 잔차를 생성하고,
상기 제1 참조 블록에 시점 간 예측이 수행된 것으로 확인된 경우, 상기 제2 참조 블록을 결정하기 위한 움직임 벡터를 (0, 0)으로 설정하여 상기 제2 참조 블록을 결정하고,
상기 제1 참조 블록은 상기 현재 블록이 시점간 예측을 위해 참조하는 블록인 것을 특징으로 하는, 다시점 영상 부호화 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 기록 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140000187 | 2014-01-02 | ||
KR20140000187 | 2014-01-02 | ||
KR1020210185687A KR102550448B1 (ko) | 2014-01-02 | 2021-12-23 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210185687A Division KR102550448B1 (ko) | 2014-01-02 | 2021-12-23 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230104560A true KR20230104560A (ko) | 2023-07-10 |
KR102643840B1 KR102643840B1 (ko) | 2024-03-06 |
Family
ID=53493649
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140193064A KR101658192B1 (ko) | 2014-01-02 | 2014-12-30 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020140193081A KR101662662B1 (ko) | 2014-01-02 | 2014-12-30 | 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치 |
KR1020160104276A KR101692744B1 (ko) | 2014-01-02 | 2016-08-17 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020160124632A KR101778710B1 (ko) | 2014-01-02 | 2016-09-28 | 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치 |
KR1020160181872A KR102201591B1 (ko) | 2014-01-02 | 2016-12-29 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020210001220A KR102344088B1 (ko) | 2014-01-02 | 2021-01-06 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020210185687A KR102550448B1 (ko) | 2014-01-02 | 2021-12-23 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020230083252A KR102643840B1 (ko) | 2014-01-02 | 2023-06-28 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
Family Applications Before (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140193064A KR101658192B1 (ko) | 2014-01-02 | 2014-12-30 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020140193081A KR101662662B1 (ko) | 2014-01-02 | 2014-12-30 | 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치 |
KR1020160104276A KR101692744B1 (ko) | 2014-01-02 | 2016-08-17 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020160124632A KR101778710B1 (ko) | 2014-01-02 | 2016-09-28 | 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치 |
KR1020160181872A KR102201591B1 (ko) | 2014-01-02 | 2016-12-29 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020210001220A KR102344088B1 (ko) | 2014-01-02 | 2021-01-06 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
KR1020210185687A KR102550448B1 (ko) | 2014-01-02 | 2021-12-23 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
Country Status (11)
Country | Link |
---|---|
US (1) | US20160330472A1 (ko) |
EP (2) | EP3958572B1 (ko) |
JP (1) | JP6615777B2 (ko) |
KR (8) | KR101658192B1 (ko) |
CN (1) | CN106063272B (ko) |
DK (2) | DK3091741T3 (ko) |
ES (2) | ES2906182T3 (ko) |
FI (1) | FI3958572T3 (ko) |
HU (2) | HUE057890T2 (ko) |
PL (2) | PL3091741T3 (ko) |
WO (1) | WO2015102367A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015000108A1 (en) * | 2013-07-01 | 2015-01-08 | Mediatek Singapore Pte. Ltd. | An improved texture merging candidate in 3dvc |
DK3091741T3 (da) * | 2014-01-02 | 2022-01-31 | Intellectual Discovery Co Ltd | Fremgangsmåde til afkodning af multi-visnings-video |
WO2016124710A1 (en) * | 2015-02-05 | 2016-08-11 | Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-view video codec supporting residual prediction |
CN117294837A (zh) | 2018-04-02 | 2023-12-26 | 深圳市大疆创新科技有限公司 | 用于图像处理的方法和图像处理装置 |
US11575935B2 (en) | 2019-06-14 | 2023-02-07 | Electronics And Telecommunications Research Institute | Video encoding method and video decoding method |
CA3239406A1 (en) * | 2019-06-24 | 2020-12-30 | Lg Electronics Inc. | Inter prediction-based image coding method and apparatus |
CN112261409A (zh) * | 2019-07-22 | 2021-01-22 | 中兴通讯股份有限公司 | 残差编码、解码方法及装置、存储介质及电子装置 |
CN111651268B (zh) * | 2020-05-14 | 2023-01-31 | 武汉兰丁智能医学股份有限公司 | 显微图像快速处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090113281A (ko) * | 2007-01-24 | 2009-10-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
KR20120118780A (ko) * | 2011-04-19 | 2012-10-29 | 삼성전자주식회사 | 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
WO2013002342A1 (ja) * | 2011-06-30 | 2013-01-03 | ソニー株式会社 | 画像処理装置および方法 |
KR20130050903A (ko) * | 2011-11-08 | 2013-05-16 | 삼성전자주식회사 | 비디오 부호화 또는 비디오 복호화를 위한 움직임 벡터 결정 방법 및 장치 |
KR101692744B1 (ko) * | 2014-01-02 | 2017-01-04 | 인텔렉추얼디스커버리 주식회사 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023672A (zh) * | 2004-07-12 | 2007-08-22 | 诺基亚公司 | 在可调整视频编码中用于运动预测的系统和方法 |
KR101039204B1 (ko) * | 2006-06-08 | 2011-06-03 | 경희대학교 산학협력단 | 다시점 비디오 코딩에서의 움직임 벡터 예측 방법 및 이를이용한 다시점 영상의 부호화/복호화 방법 및 장치 |
US10567786B2 (en) * | 2011-08-19 | 2020-02-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Motion vector processing |
US9503720B2 (en) * | 2012-03-16 | 2016-11-22 | Qualcomm Incorporated | Motion vector coding and bi-prediction in HEVC and its extensions |
US20130329800A1 (en) * | 2012-06-07 | 2013-12-12 | Samsung Electronics Co., Ltd. | Method of performing prediction for multiview video processing |
US9357195B2 (en) * | 2012-08-16 | 2016-05-31 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
WO2014042459A1 (ko) * | 2012-09-17 | 2014-03-20 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
US9497439B2 (en) * | 2013-07-15 | 2016-11-15 | Ati Technologies Ulc | Apparatus and method for fast multiview video coding |
WO2015006951A1 (en) * | 2013-07-18 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Methods for fast encoder decision |
US10110925B2 (en) * | 2014-01-03 | 2018-10-23 | Hfi Innovation Inc. | Method of reference picture selection and signaling in 3D and multi-view video coding |
-
2014
- 2014-12-30 DK DK14876960.7T patent/DK3091741T3/da active
- 2014-12-30 EP EP21196304.6A patent/EP3958572B1/en active Active
- 2014-12-30 PL PL14876960T patent/PL3091741T3/pl unknown
- 2014-12-30 KR KR1020140193064A patent/KR101658192B1/ko active IP Right Grant
- 2014-12-30 FI FIEP21196304.6T patent/FI3958572T3/fi active
- 2014-12-30 KR KR1020140193081A patent/KR101662662B1/ko active IP Right Grant
- 2014-12-30 WO PCT/KR2014/013034 patent/WO2015102367A1/ko active Application Filing
- 2014-12-30 JP JP2016562717A patent/JP6615777B2/ja active Active
- 2014-12-30 CN CN201480076719.1A patent/CN106063272B/zh active Active
- 2014-12-30 PL PL21196304.6T patent/PL3958572T3/pl unknown
- 2014-12-30 ES ES14876960T patent/ES2906182T3/es active Active
- 2014-12-30 ES ES21196304T patent/ES2974185T3/es active Active
- 2014-12-30 DK DK21196304.6T patent/DK3958572T3/da active
- 2014-12-30 EP EP14876960.7A patent/EP3091741B1/en active Active
- 2014-12-30 HU HUE14876960A patent/HUE057890T2/hu unknown
- 2014-12-30 HU HUE21196304A patent/HUE065936T2/hu unknown
-
2016
- 2016-07-01 US US15/200,174 patent/US20160330472A1/en not_active Abandoned
- 2016-08-17 KR KR1020160104276A patent/KR101692744B1/ko active IP Right Grant
- 2016-09-28 KR KR1020160124632A patent/KR101778710B1/ko active IP Right Grant
- 2016-12-29 KR KR1020160181872A patent/KR102201591B1/ko active IP Right Grant
-
2021
- 2021-01-06 KR KR1020210001220A patent/KR102344088B1/ko active IP Right Grant
- 2021-12-23 KR KR1020210185687A patent/KR102550448B1/ko active IP Right Grant
-
2023
- 2023-06-28 KR KR1020230083252A patent/KR102643840B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090113281A (ko) * | 2007-01-24 | 2009-10-29 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
KR20120118780A (ko) * | 2011-04-19 | 2012-10-29 | 삼성전자주식회사 | 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
WO2013002342A1 (ja) * | 2011-06-30 | 2013-01-03 | ソニー株式会社 | 画像処理装置および方法 |
KR20130050903A (ko) * | 2011-11-08 | 2013-05-16 | 삼성전자주식회사 | 비디오 부호화 또는 비디오 복호화를 위한 움직임 벡터 결정 방법 및 장치 |
KR101692744B1 (ko) * | 2014-01-02 | 2017-01-04 | 인텔렉추얼디스커버리 주식회사 | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102550448B1 (ko) | 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치 | |
CN109891890B (zh) | 用于解码视频数据的方法、编码视频数据的方法及相关设备 | |
KR102112900B1 (ko) | 심도 지향 인터-뷰 모션 벡터 예측 | |
KR101316060B1 (ko) | 인터 예측 부호화된 동영상 복호화 방법 | |
KR101722890B1 (ko) | 텍스처 코딩을 위한 더욱 정확한 어드밴스드 잔차 예측 (arp) | |
EP3854076A1 (en) | Affine motion prediction | |
AU2016274480A1 (en) | Systems and methods of determining illumination compensation status for video coding | |
WO2014137596A1 (en) | Inter-view residual prediction in multi-view or 3-dimensional video coding | |
KR20200055129A (ko) | 움직임 보상을 위한 개선된 예측기 후보들 | |
US20220038732A1 (en) | Method and device for processing video signal for inter-prediction | |
EP2904805B1 (en) | Motion field upsampling for scalable coding based on high efficiency video coding | |
WO2014194218A1 (en) | Advanced depth inter coding based on disparity of depth blocks | |
WO2014100610A1 (en) | Constraints on neighboring block based disparity vector (nbdv) techniques for 3d video | |
KR20130067280A (ko) | 인터 예측 부호화된 동영상 복호화 방법 | |
CN116527889A (zh) | 一种图像预测方法和设备 | |
CN111010565A (zh) | 帧间预测方法、装置及其应用的编/解方法及装置 | |
KR20140048804A (ko) | 다시점 영상의 부호화/복호화를 위한 비트율 제어 장치 및 방법 | |
KR20140038315A (ko) | 다시점 영상을 부호화/복호화하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |