KR20090085581A - 다중-뷰 비디오 코딩을 위한 화상 관리 - Google Patents

다중-뷰 비디오 코딩을 위한 화상 관리 Download PDF

Info

Publication number
KR20090085581A
KR20090085581A KR1020097008380A KR20097008380A KR20090085581A KR 20090085581 A KR20090085581 A KR 20090085581A KR 1020097008380 A KR1020097008380 A KR 1020097008380A KR 20097008380 A KR20097008380 A KR 20097008380A KR 20090085581 A KR20090085581 A KR 20090085581A
Authority
KR
South Korea
Prior art keywords
picture
view
decoded
dependency information
inter
Prior art date
Application number
KR1020097008380A
Other languages
English (en)
Inventor
푸르빈 비바스 판디트
예핑 수
펭 인
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20090085581A publication Critical patent/KR20090085581A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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

Landscapes

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

Abstract

한 일반적 양상에 따라서, 디코딩된 화상은, 상기 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타내는, 의존성 정보를 기초로 하여, 메모리로부터 제거된다. 구현들은 또한 제 1 뷰로부터의 한 화상과 의존성 정보를 액세스하는 단계를 포함할 수도 있다. 상기 의존성 정보는 제 1 뷰로부터의 상기 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타낼 수도 있다. 제 1 뷰로부터의 상기 화상은 상기 디코딩된 화상을 생성하기 위해 디코딩될 수도 있다. 상기 디코딩된 화상은 메모리 내에 저장될 수도 있다. 한 응용 분야는, 화상들을, 그러한 화상들이 더 이상 기준 화상으로서 필요하지 않을 때, 디코딩된 화상 버퍼로부터 제거하는 단계를 수반한다.

Description

다중-뷰 비디오 코딩을 위한 화상 관리{PICTURE MANAGEMENT FOR MULTI-VIEW VIDEO CODING}
본 출원은, (1) "Decoded Reference Picture Management for MVC(MVC를 위한 디코딩된 기준 화상 관리)"의 명칭으로 2006년 10월 24일에 출원된 미국 가특허출원 번호 60/853,932와, (2) "Inter-View and Temporal Reference Picture Identification for MVC(MVC를 위한 뷰간 및 시간적 기준 화상 식별)의 명칭으로 2006년 11월 21일에 출원된 미국 가특허출원 번호 60/860,367 각각의 이익(benefit)을 청구한다. 상기 두 우선권 출원의 각각은 참고문헌으로서 본 명세서에 완전하게 통합된다.
본 발명의 원리는 일반적으로 비디오 인코딩 및 디코딩과 관련이 있다.
비디오 디코더는, 한 화상을 디코딩하며, 그 디코딩된 화상(decoded picture)이 더 이상 필요하지 않다는 것을 디코더가 확신하게 될 때까지, 그 화상을 메모리에 저장할 것이다. 그러한 디코딩된 화상은, 예컨대, 그 디코딩된 화상을 기초로 하여 인코딩된, 후속 화상(subsequent picture)을 디코딩하기 위해 필요할 수도 있다. 다양한 시스템에서, 화상들은, "기준 화상(reference picture)"이라 불리는 이전의 화상으로부터의 차이로서 인코딩되며, 디코딩된 기준 화상은, 그 기준 화상을 이용하는 후속 화상들이 모두 디코딩될 때까지 디코더에 저장된다. 기준 화상들을 저장하는 것은 디코더에서의 소중한 메모리를 소비한다.
한 일반적인 양상에 따라서, 제 1 뷰(view) 및 의존성 정보(dependency information)가 동시에 액세스된다. 의존성 정보는, 제 1 뷰로부터의 화상에 대한 하나 이상의 뷰들간의(inter-view) 의존성 관계를 나타낸다. 제 1 뷰로부터의 화상은 디코딩된 화상을 생성하기 위해 디코딩된다. 디코딩된 화상은 메모리에 저장된다. 또한, 저장된 디코딩된 화상은 의존성 정보를 기초로 하여 메모리로부터 제거된다.
다른 일반적인 양상에 따라서, 디코딩된 화상은, 그 화상에 대한 하나 이상의 뷰간 의존성 관계를 설명하는 의존성 정보를 기초로 하여 메모리로부터 제거된다.
동반하는 도면들 및 아래의 기재에서, 하나 이상의 구현(implementation)에 대한 상세한 내용이 설명된다. 한 특정 방법으로 설명되었더라도, 구현은 다양한 방법으로 구성되거나 실시될 수 있다는 것이 명확할 것이다. 예컨대, 한 구현은 방법으로서 수행될 수도 있으며, 또는 동작(operation)의 한 집합을 수행하도록 구성된 장치로서 실시될 수도 있고, 또는 동작의 한 집합을 수행하기 위한 명령어(instructions)를 저장하는 장치로서 실시될 수도 있으며, 또는 신호(signal)로서 실시될 수도 있다. 동반하는 도면들 및 청구항들과 연결된 다음의 상세한 설명으로부터 다른 양상들 및 특징들이 명확해 질 것이다.
도 1은 한 예시적 인코더를 도시하는 블록도.
도 2는 한 예시적 디코더를 도시하는 블록도.
도 3은 8 개의 뷰를 가지며 MPEG-4 AVC 표준을 기초로 하는, 한 예시적 뷰간-시간적 예측 구조(inter-view-temporal prediction structure)를 도시하는 도면.
도 4는 기준 화상 관리 데이터를 인코딩하기 위한 한 예시적 방법을 도시하는 도면.
도 5는 기준 화상 관리 데이터를 디코딩하기 위한 한 예시적 방법을 도시하는 도면.
도 6은 뷰간 의존성을 결정하기 위한 한 예시적 방법을 도시하는 도면.
도 7은 뷰간 의존성을 결정하기 위한 다른 예시적 방법을 도시하는 도면.
도 8은 한 예시적 인코더의 높은 수준(high-level)의 도면.
도 9는 한 예시적 디코더의 높은 수준의 도면.
도 10은 의존성을 결정하는 방법의 한 구현에 대한 순서도.
도 11은 저장된 화상들을 제거하는 방법의 한 구현에 대한 순서도.
본 명세서에 기재된 적어도 하나의 구현은, 뷰간 의존성 정보를 기초로 하여, 한 주어진 화상을 메모리로부터 제거하는, 비디오 인코더 및/또는 비디오 디코더를 제공한다. 상기 뷰간 의존성 정보는 주어진 디코딩된 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타낸다. 그러므로, 예컨대, 기준 화상으로서 주어진 디코 딩된 화상에 의존하는 모든 후속 화상들을 나타내는 정보를 액세스함으로써, 비디오 디코더는 (예컨대) 그러면 그 후속 화상들 모두를 디코딩한 후에, 주어진 디코딩된 화상을 제거할 것이다. 다른 구현들은, 모든 후속 화상들이 디코딩된 후에, 주어진 디코딩된 화상을 즉시 제거하기 않고, 그 주어진 디코딩된 화상에 표시를 한다(mark). 의존성 정보는, 예컨대, MPEG-4 AVC 표준 기반 MVC(아래에서 정의 됨)의 높은 수준의 구문(high-level syntax)으로 인코딩될 수도 있다.
국제 표준화 기구/국제 전자기술 위원회(ISO/IEC) 동화상 전문가 그룹-4(MPEG-4) 파트 10 진보된 비디오 코딩(AVC) 표준/국제 전기통신 연합, 통신 섹터(ITU-T) H.264 권고안{International Organization for Standardization/International Electrotechnical Commission(ISO/IEC) Moving Picture Experts Group-4(MPEG-4) Part 10 Advanced Video Coding(AVC) standard/International Telecommunication Union, Telecommunication Sector(ITU-T) H.264 recommendation}(이하 "MPEG-4 AVC 표준")을 기초로 하는 현재의 다중-뷰 비디오 코딩(MVC: multi-view video coding)의 구현에서, 참조 소프트웨어(reference software)는, 하나의 단일 인코더를 이용하여 각각의 뷰를 인코딩하고 교차-뷰 참조(cross-view references)를 고려함으로써, 다중-뷰 예측을 달성한다. 게다가, 현재의 MPEG-4 AVC 표준을 기초로 하는 MVC 구현(이하 "MPEG-4 AVC 표준 기반 MVC")은 또한 상이한 뷰들 사이에서 프레임/화상 번호(frame_num)와 화상 순서 카운트(POC: picture order count)를 분리시키며(decouple), 따라서 동일한 frame_num과 POC를 갖는 화상들이, 디코딩된 화상 버퍼(DPB: decoded picture buffer) 내에 존재하는 것을 허용한다. 이러한 화상들은, 그 화상들과 결합된 뷰 식별자(view identifier)(view_id)를 이용하여 구별된다.
디코딩된 화상 버퍼를 관리하기 위해, MPEG-4 AVC 표준 기반 MVC는 MPEG-4 AVC와 호환되는 메모리 관리 제어 동작(MMCO: memory management control operations) 명령들을 사용한다. 이러한 MMCO 명령들은, 이러한 MMCO 명령들을 운반하기 위해 사용되는 뷰와 동일한 view_id를 갖는 화상들 상에서만 작용한다.
이는 너무 제한적일 수 있으며, 또한, MMCO 명령들이, 그 화상과는 상이한 view_id를 갖는 화상에 표시하는 것을 허용하지 않음으로써, 요구되는 디코딩된 화상 버퍼 크기는 통상적으로 크므로, 효율적이지 않을 수도 있다. 그러므로, 더욱 작은 디코딩된 화상 버퍼 크기를 허용하기 위해 (따라서, 더욱 작은 메모리를 사용하여) 화상을 더욱 효율적인 방법으로 관리해야 한다.
MPEG-4 AVC 표준에 따라서, 인코딩되거나 또는 디코딩되고 기준으로 사용 가능한 화상은 디코딩된 화상 버퍼에 저장된다. 상기 화상은 그 후 (a) 단기 기준 화상(short term reference picture) 또는 (b) 장기 기준 화상(long term reference picture)으로 표시된다. 단기 기준 화상들은 이후에 LongTermPicNum이 할당될 수도 있다(그리고 장기 기준 화상으로 "바뀐다"). 이러한 표시 처리는 표 1에 나타난 MMCO 명령들을 이용하여 수행된다. 표 1은 디코딩된 기준 화상 표시 구문을 나타낸다. 효율적인 디코딩된 화상 버퍼 관리는 MMCO 명령들을 이용하여 달성될 수 있다.
Figure 112009024796854-PCT00001
적응 기준 화상 관리(adaptive reference picture management)와 슬라이딩 윈도우 표시(sliding windows marking) 사이의 선택은 슬라이스 헤더(slice header) 내에 존재하는 adaptive_ref_pic_marking_mode_flag를 이용하여 이루어진다. adaptive_ref_pic_marking_mode_flag의 설명은 표 2에 나타나 있다.
Figure 112009024796854-PCT00002
각각의 메모리 관리 제어 동작 명령의 설명은 표 3에 나타나 있다. 표 3은 메모리 관리 제어 동작(memory_management_control_operation) 값들을 나타낸다.
Figure 112009024796854-PCT00003
다중-뷰 비디오 코딩을 위한, MPEG-4 AVC 표준과 호환되는 한 해결 방법(solution)에서, 모든 비디오 시퀀스들은 단일 시퀀스로 인터리빙(interleaving) 된다. 이러한 단일의 인터리빙 된 시퀀스는 그 후 MPEG-4 AVC 표준과 호환되는 인코더로 공급되고 MPEG-4 AVC 표준과 호환되는 비트스트림(bitstream)을 생성한다.
이는 MPEG-4 AVC 표준과 호환되는 구현이므로, 임의의 화상이 어느 뷰에 속하는지를 식별할 방법이 없다. 프레임 번호(frame_num)와 화상 순서 카운트는 이러한 점을 고려하지 않고 할당되므로, MPEG-4 AVC 표준과 호환되는 MMCO 명령들은 효율적인 디코딩된 화상 버퍼 크기 관리를 달성할 수 있다.
MPEG-4 AVC 표준 기반 MVC에서, 표 4에 나타난 것과 같이, 상호 뷰 참조를 신호발신(signal)하기 위해 추가적인 구문이 시퀀스 파라미터 집합(SPS: Sequence Parameter Set)에 추가되었다. 표 4는 시퀀스 파라미터 집합(SPS) 다중-뷰 비디오 코딩 확장 구문을 나타낸다. 다음의 방법으로 앵커(anchor)와 비-앵커(non-anchor) 화상들에 대해 사용될 교차-뷰 참조를 지시하기 위해 이러한 구문이 사용된다.
Figure 112009024796854-PCT00004
현재의 뷰와 상이한 뷰로부터의 기준 화상들을 참조 예측 목록(reference prediction list)들로 배치시키기 위해 다음의 절차가 수행될 것이다:
- 만일 현재의 화상이 앵커 화상 또는 V-IDR 화상이면, 0 부터 num_anchor_ref_IX - 1 까지의 i 값의 각각에 대해, view_id가 anchor_ref_IX[i]이고 inter_view_flag가 1이며 현재의 화상과 동일한 PicOrderCnt()를 갖는 화상이 RefPicListX에 추가될 것이다.
- 그렇지 않으면(현재의 화상이 앵커 화상이 아니며 V-IDR 화상이 아님), 0부터 num_non_anchor_ref_IX - 1 까지의 i 값의 각각에 대해, view_id가 non_anchor_refs_IX[i]이고 inter_view_flag가 1이며 현재의 화상과 동일한 PicOrderCnt()를 갖는 화상이 RefPicListX에 추가될 것이다.
이러한 구현에서, 메모리 관리 제어 동작 명령들은 오직 개별적인 뷰들과 결합되며 다른 뷰들에서의 화상에는 표시(mark)를 할 수가 없다. 그 직접적인 결과, 한 주어진 교차-뷰 기준 화상은, 오직, 그 이후의 비트스트림에서, 자기 자신의 뷰의 화상에 의해, "기준을 위해 사용되지 않음(unused for reference)"으로 표시될 수 있기 때문에, 교차-뷰 기준 화상들은 디코딩된 화상 버퍼에 필요 이상으로 오래 머무를 수 있다.
MPEG-4 AVC 표준 기반 MVC에서, 다음의 경우들을 어떻게 구별할지 규정되지는 않았다(표 5에도 나타나 있음): 화상이 뷰간 참조를 위해서만 사용되었음; 화상이 시간적 참조를 위해서만 사용되었음; 화상이 뷰간과 시간적 참조 모두를 위해 사용되었음; 화상이 참조를 위해 사용되지 않았음. 표 5는, 시간적 그리고 뷰간 참조를 위한 기준 화상들의 경우를 나타낸다.
Figure 112009024796854-PCT00005
통합 다중-뷰 비디오 모델(JMVM: Joint Multi-view Video Model)의 현재의 구현은, 특정 조건들 하에서, 현재의 뷰가 아닌 다른 뷰에 있는 화상에 대한 상태(condition)가 "참조를 위해 사용되지 않음"으로 표시될 것을 규정한다. 이러한 조건들은 다음과 같다:
- 만일 현재의 화상이 앵커 화상이면, 다음의 조건들을 만족시키는 모든 기준 화상들은 "참조를 위해 사용되지 않음"으로 표시되어야 한다.
- 상기 기준 화상은 현재의 화상과 동일한 PicOrderCnt()를 가지고 있음.
- 상기 기준 화상은, anchor_ref_IX(X는 0 또는 1)로 지시된 상이한 뷰들로부터의 디코딩 순서로, 후속 화상들을 디코딩하기 위해 필요하지 않음.
- 상기 기준 화상은 자기 자신의 뷰에서 후속 화상들을 디코딩하기 위해 필요하지 않음.
- 만일 현재의 화상이 앵커 화상이 아니면, 다음의 조건들을 만족시키는 모든 기준 화상들은 "참조를 위해 사용되지 않음"으로 표시되어야 한다.
- 상기 기준 화상은 현재의 화상과 동일한 PicOrderCnt()를 가지고 있음.
- 상기 기준 화상은, non_anchor_ref_IX(X는 0 또는 1)로 지시된 상이한 뷰로부터의 디코딩 순서로, 후속 화상들을 디코딩하기 위해 필요하지 않음.
- 상기 기준 화상은 자기 자신의 뷰에서 후속 화상들을 디코딩하기 위해 필요하지 않음.
위의 조건들을 만족시키는 화상들을 표시하는 단계(marking)는 "묵시적인 표시(implicit marking)"라 불린다. 더욱 일반적으로, 묵시적인 표시는, 추가적인 명시적인 신호발신(explicit signaling)을 사용하지 않고, 현존하는 구문을 사용하여 수행되는 표시를 말한다. 표 5에 나타난 경우들을 구별하는 것은, 위에서 설명된 묵시적 표시를 이용한 효율적인 디코딩된 화상 버퍼 관리를 위해 중요하다. MPEG-4 AVC 표준 기반 MVC에서는 이러한 구분이 어떻게 이루어질 수 있는지 명확히 규정되어있지 않다.
표 4에 나타난 다중-뷰 비디오 코딩 확장을 위한 시퀀스 파라미터 집합은 어느 뷰들이 특정한 뷰들을 위한 기준으로서 사용되는지에 관한 정보를 포함한다. 이러한 정보는, 어느 뷰들이 뷰간 참조로서 사용되는지 그리고 어느 뷰들이 사용되지 않는지를 지시하기 위한, 참조 표 또는 다른 데이터 구조를 생성하기 위해 사용될 수 있다. 또한, 이러한 정보는 앵커 그리고 비-앵커 화상들에 대해 분리되어 알려질 수 있다.
다른 접근방법에서는, 한 화상이 뷰간 예측 참조를 위해 사용되는지를, 새로운 플래그(flag)가 지시한다. 이러한 플래그는, 크기 조정 가능한(scalable) 비디오 코딩/다중-뷰 비디오 코딩 확장을 위한, 네트워크 추상화 계층(NAL: Network Abstraction Layer) 유닛 헤더 내에서 신호발신 되며, 구문 요소 nal_ref_idc는 오직, 한 화상이 사이 예측(inter prediction){또한 "시간적(temporal)"으로도 불림} 참조를 위해 사용되는지를 지시한다. Nal_ref_idc는, 표 6에 나타난 네트워크 추상화 계층 유닛 구문 표 내에서 신호발신 된다.
Figure 112009024796854-PCT00006
nal_ref_idc는 현재 다음의 의미(semantics)는 이용하여 정의된다:
0이 아닌 nal_ref_idc(nal_ref_idc not equal to 0)는 시퀀스 파라미터 집합 또는 화상 파라미터 집합 또는 기준 화상의 한 슬라이스(slice) 또는 기준 화상의 한 슬라이스 데이터 분할(partition)을 포함하는 NAL 유닛의 내용을 규정한다.
한 슬라이스 또는 슬라이스 데이터 분할을 포함하는 NAL 유닛에 대해 0인 nal_ref_idc(nal_ref_idc equal to 0)는, 상기 슬라이스 또는 슬라이스 데이터 분할이 비-기준 화상(non-reference picture)의 부분이라는 것을 지시한다.
시퀀스 파라미터 집합 또는 시퀀스 파라미터 집합 확장 또는 화상 파라미터 집합 NAL 유닛들에 대해, nal_ref_idc는 0이 아니어야 한다. 특정 화상의 한 슬라이스 또는 슬라이스 데이터 분할 NAL 유닛에 대해, nal_ref_idc가 0일 때, 상기 화상의 모든 슬라이스와 슬라이스 데이터 분할 NAL 유닛들에 대해, nal_ref_idc가 0이어야 한다.
IDR NAL 유닛들, 즉, nal_unit_type이 5인 NAL 유닛들에 대해, nal_ref_idc는 0이 아니어야 한다.
6, 9, 10, 11 또는 12인 nal_unit_type를 갖는 모든 NAL 유닛들에 대해, nal_ref_idc는 0이어야 한다.
구문 수정(syntax modification)이 아래에 표 7에 나타나 있다. 표 7은 네트워크 추상화 계층(NAL) 크기 조정 가능한 비디오 코딩(SVC: Scalable Video Coding) 다중-뷰 비디오 코딩 확장 구문을 나타낸다.
Figure 112009024796854-PCT00007
inter_view_reference_flag의 의미는 다음과 같이 규정된다:
0인 inter_view_reference_flag는 현재의 화상이 뷰간 예측 참조를 위해 사용되지 않는다는 것을 지시한다. 1인 inter_view_reference_flag는 현재의 화상이 뷰간 예측 참조를 위해 사용된다는 것을 지시한다.
그러므로, nal_ref_idc와 inter_view_reference_flag의 조합을 참조함으로써, 주어진 기준 화상의 유형(type)을 결정할 수 있다. 표 8은 기준 화상 유형에 관한, nal_ref_idc와 inter_view_reference_flag를 나타낸다.
Figure 112009024796854-PCT00008
이러한 방법은, 명확하게, 추가적인 구문을 사용한다.
본 상세 설명은 본 발명의 원리들을 설명한다. 그러므로, 당업자가, 본 명세서에 명확하게 기재되어있지 않거나 나타나있지 않더라도, 본 발명의 원리들을 실현하며 본 발명의 사상 및 범위 내에 포함되는, 다양한 장치들을 안출하는 것이 가능하다는 것이 이해될 것이다.
본 명세서에서 상술한 모든 예시들과 조건적 언어(conditional language)는, 관련 기술을 촉진시키기 위해, 독자들이 본 발명가(들)에 의해 공헌된 본 발명의 원리들과 개념들을 이해하는 것을 돕기 위한 교육학적인 목적으로 의도되었으며, 그러한 특정하게 상술된 예시들 및 조건들로 제한하지 않고 해석되도록 의도되었다.
또한, 본 명세서에서, 본 발명의 원리들, 양상들 그리고 실시예들 및 본 발명의 특정 예시들을 상술하는 모든 진술들은, 그들의 구조적 그리고 기능적 등가물(equivalent)들을 포함하도록 의도되었다. 또한, 그러한 등가물들은 현재 알려진 등가물들 및 미래에 개발되는 등가물들 모두를, 즉, 구조에 상관없이 동일한 기능을 수행하도록 개발된 임의의 요소들을 포함하도록 의도되었다.
그러므로, 예컨대, 본 명세서에서 제공되는 블록도들은 본 발명의 원리들을 실현하는 실례의 회로물의 개념적 개관을 나타낸다는 것이 당업자에 의해 이해될 것이다. 마찬가지로, 임의의 순서표, 순서도, 상태 전이도, 의사코드(pseudocode) 및 이와 유사한 것들은, 컴퓨터 판독 가능한 매체에서 실질적으로 표시될 수도 있으며, 따라서, 컴퓨터 또는 프로세서가 명시적으로 나타나있든지 또는 그렇지 않든지, 그러한 컴퓨터 또는 프로세서에 의해 실행될 수도 있는 다양한 처리들을 나타낸다.
도면들에 나타난 다양한 요소들의 기능들은 전용 하드웨어(dedicated hardware)의 사용 및 적합한 소프트웨어와 결합된, 소프트웨어를 실행시킬 수 있는 하드웨어의 사용을 통해 제공될 수도 있다. 프로세서에 의해 제공되었을 때, 기능들은 하나의 단일 전용 프로세서에 의해, 하나의 공유된 프로세서에 의해, 또는, 일부는 공유되어있을 수도 있는, 복수의 개별적인 프로세서들에 의해 제공될 수도 있다. 또한, "프로세서(processor)" 또는 제어기("controller")라는 용어의 명시적 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 지칭하는 것으로 해석되어서는 안되며, 묵시적으로, 제한 없이, 디지털 신호 프로세서(digital signal processor)("DSP") 하드웨어, 소프트웨어를 저장하기 위한 읽기 전용 메모리(read-only memory)("ROM"), 랜덤 액세스 메모리(random access memory)("RAM"), 및 비-휘발성 저장소(non-volatile storage)를 포함할 수도 있다.
종래의 및/또는 맞춤화된(custom), 다른 하드웨어가 또한 포함될 수도 있다. 마찬가지로, 도면에 나타난 스위치들은 오직 개념적인 것이다. 그들의 기능은 프로그램 로직(program logic)의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호작용을 통해, 또는 수동으로(manually)까지도 수행될 수도 있으며, 문맥으로부터 더욱 특정하게 이해되는 것과 같이, 특정한 기술은 구현자(implementer)에 의해 선택될 수 있다.
본 명세서의 청구항들에서, 특정한 기능을 수행하기 위한 수단으로 표현된 임의의 요소는, 예컨대, a) 그 기능을 수행하는 회로 요소들의 조합 또는 b) 소프트웨어로서, 그 기능을 수행하기 위한, 펌웨어(firmware), 마이크로코드(microcode) 또는 이와 유사한 것들을 포함하는 임의의 형태의, 소프트웨어를 실행하기 위한 적합한 회로물과 결합된, 소프트웨어를 포함하는, 그 기능을 수행하는 임의의 방법을 포함하도록 의도되었다. 그러한 청구항들에 의해 정의된 것과 같은 본 발명의 원리들은, 다양한 상술된 수단들에 의해 제공되는 기능들은 그 청구항들이 청구하는 방법으로 조합되고 함께 제공된다는 사실에 귀속한다. 그러므로, 그러한 기능들을 제공할 수 있는 수단은 본 명세서에 나타난 수단과 등가인 것으로 생각된다.
본 명세서에서의, 본 발명의 원리들의 "한 실시예"(또는 "한 구현") 또는 "하나의 실시예"(또는 "하나의 구현")이라는 지칭은, 그 실시예와 연결되어 설명된, 특정 기능, 구조, 특성 등이 본 발명의 원리들의 적어도 한 실시예에 포함된다는 것을 의미한다. 그러므로, 본 명세서 전체를 통해 다양한 곳에서 나타나는 "한 실시예에서" 또는 "하나의 실시예에서"라는 표현의 등장은 모두 반드시 동일한 실시예를 지칭하는 것은 아니다.
예컨대 "A 및/또는 B"의 경우에서의, "및/또는"이라는 용어의 사용은, 첫 번째로 제시된 선택사항(A)을 선택하는 것, 두 번째로 제시된 선택사항(B)을 선택하는 것, 또는 두 선택사항 모두(A와 B)를 선택하는 것을 포함하도록 의도되었다. 다른 예시로서, "A, B 및/또는 C"의 경우에, 그러한 표현은 첫 번째로 제시된 선택사항(A)을 선택하는 것, 두 번째로 제시된 선택사항(B)을 선택하는 것, 세 번째로 제시된 선택사항(C)을 선택하는 것, 첫 번째와 두 번째로 제시된 선택사항(A와 B)을 선택하는 것, 첫 번째와 세 번째로 제시된 선택사항(A와 C)을 선택하는 것, 두 번째와 세 번째로 제시된 선택사항(B와 C)을 선택하는 것, 또는 세 개의 선택사항 모두(A와 B와 C)를 선택하는 것을 포함하도록 의도되었다. 당업자 및 관련 분야의 기술자에게 명확하듯이, 이는, 많은 항목들이 제시된 경우에 대해서 확장될 수도 있다.
본 명세서에서 사용된 "높은 수준의 구문(high level syntax)"은, 계층적으로 매크로블록 계층(macroblock layer) 위에 있는 비트스트림에 있는 구문을 지칭한다. 예컨대, 본 명세서에서 사용된 높은 수준의 구문은, 슬라이스 헤더 수준, 보충 향상 정보(SEI: Supplemental Enhancement Information) 수준, 화상 파라미터 집합(PPS: Picture Parameter Set) 수준, 시퀀스 파라미터 집합(SPS: Sequence Parameter Set) 수준, 그리고 네트워크 추상화 계층(NAL) 유닛 헤더 수준에서의 구문을 지칭할 수도 있으나, 상기 구문으로 제한되지는 않는다.
또한, 본 발명의 원리들의 하나 이상의 실시예는 본 명세서에서 MPEG-4 AVC 표준에 대해 설명되었지만, 본 발명의 원리들은 단지 이러한 표준 또는 임의의 표준으로 제한되지는 않는다. 그러므로, 본 발명의 원리들은, 다른 비디오 코딩 표준, 권고안, 및, MPEG-4 AVC 표준의 확장을 포함하는, 비디오 코딩의 확장을 포함하는, 다른 비디오 코딩 구현 및 시스템에 대해 사용될 수도 있다.
도 1을 참조하면, 한 예시적 MVC 인코더가 참조 번호 100에 의해 일반적으로 지시된다. 상기 인코더(100)는 변환기(110)의 입력과의 신호 통신에 연결된 출력을 갖는 결합기(105)를 포함한다. 상기 변환기(110)의 출력은 양자화기(quantizer)(115)의 입력과의 신호 통신에 연결된다. 상기 양자화기(115)의 출력은 엔트로피 코더(120)의 입력 및 역양자화기(inverse quantizer)(125)의 입력과의 신호 통신에 연결된다. 상기 역양자화기(125)의 출력은 역변환기(130)의 입력과의 신호 통신에 연결된다. 상기 역변환기(130)의 출력은 결합기(135)의 제 1 비-반전(non-inverting) 입력과의 신호 통신에 연결된다. 상기 결합기(135)의 출력은 내부 예측기(intra predictor)(145)의 입력 및 블로킹제거 필터(deblocking filter)(150)의 입력과의 신호 통신에 연결된다. 상기 블로킹제거 필터(150)의 출력은 (뷰 i를 위한) 기준 화상 저장소(155)의 입력과의 신호 통신에 연결된다. 상기 기준 화상 저장소(155)의 출력은 움직임 보상기(175)의 제 1 입력 및 움직임 추정기(180)의 제 1 입력과의 신호 통신에 연결된다. 상기 움직임 추정기(180)의 출력은 움직임 보상기(175)의 제 2 입력과의 신호 통신에 연결된다.
(다른 뷰들을 위한) 기준 화상 저장소(160)의 출력은 불일치 추정기(disparity estimator)(170)의 제 1 입력 및 불일치 보상기(disparity compensator)(165)의 제 1 입력과의 신호 통신에 연결된다. 상기 불일치 추정기(170)의 출력은 상기 불일치 보상기(165)의 제 2 입력과의 신호 통신에 연결된다.
상기 엔트로피 코더(120)의 출력은 상기 인코더(100)의 출력으로서 사용 가능하다. 상기 결합기(105)의 비-반전 입력은 상기 인코더(100)의 입력으로서 사용 가능하며, 상기 불일치 추정기(170)의 제 2 입력 및 상기 움직임 추정기(180)의 제 2 입력과의 신호 통신에 연결된다. 스위치(185)의 출력은 상기 결합기(135)의 제 2 비-반전 입력 및 상기 결합기(105)의 비-반전 입력과의 신호 통신에 연결된다. 상기 스위치(185)는 상기 움직임 보상기(175)의 출력과의 신호 통신에 연결된 제 1 입력, 상기 불일치 보상기(165)의 출력과의 신호 통신에 연결된 제 2 입력, 그리고 상기 내부 예측기(145)의 출력과의 신호 통신에 연결된 제 3 입력을 포함한다.
도 2를 참조하면, 한 예시적 MVC 디코더가 참조 번호 200에 의해 일반적으로 지시된다. 인코더(100)와 디코더(200)는 본 명세서 전체를 통해 나타난 다양한 방법을 수행하도록 구성될 수 있다는 것을 주목해야 한다. 또한, 상기 인코더(100)는 재구성(reconstruction) 처리 도중에 다양한 표시(marking) 및/또는 제거(removing) 기능을 수행할 수도 있다. 예컨대, 상기 인코더(100)는, 한 디코더의 예상되는 행동을 반영시키기(mirror) 위해, 디코딩된 화상 버퍼의 현 상태(current state)를 유지할 수도 있다. 따라서, 상기 인코더(100)는 상기 디코더(200)에 의해 수행되는 모든 동작들을 실질적으로 수행할 수도 있다.
상기 디코더(200)는, 역양자화기(inverse quantizer)(210)의 입력과의 신호 통신에 연결된 출력을 갖는, 엔트로피 디코더(entropy decoder)(205)를 포함한다. 상기 역양자화기의 출력은 역변환기(inverse transformer)(215)의 입력과의 신호 통신에 연결된다. 상기 역변환기(215)의 출력은 결합기(220)의 제 1 비-반전 입력과의 신호 통신에 연결된다. 상기 결합기(220)의 출력은 블로킹제거 필터(225)의 입력 및 내부 예측기(230)의 입력과의 신호 통신에 연결된다. 상기 블로킹제거 필터(225)의 출력은 (뷰 i에 대한) 기준 화상 저장소(240)의 입력과의 신호 통신에 연결된다. 상기 기준 화상 저장소(240)의 출력은 움직임 보상기(235)의 제 1 입력과의 신호 통신에 연결된다. (다른 뷰들에 대한) 기준 화상 저장소(245)의 출력은 불일치 보상기(250)의 제 1 입력과의 신호 통신에 연결된다.
상기 엔트로피 디코더(205)의 입력은, 나머지 비트 스트림(residue bitstream)의 수신을 위해, 상기 디코더(200)의 입력으로서 사용 가능하다. 또한, 모드 모듈(mode module)(260)의 입력은, 어느 입력이 스위치(255)에 의해 선택되는지를 제어하기 위한 제어 구문의 수신을 위해, 상기 디코더(200)의 입력으로서 사용 가능하다. 또한, 상기 움직임 보상기(235)의 제 2 입력은, 움직임 벡터들의 수신을 위해, 상기 디코더(200)의 입력으로서 사용 가능하다. 또한, 상기 불일치 보상기(250)의 제 2 입력은, 불일치 벡터들의 수신을 위해, 상기 디코더(200)의 입력으로서 사용 가능하다.
상기 스위치(255)의 출력은 상기 결합기(220)의 제 2 비-반전 입력과의 신호 통신에 연결된다. 상기 스위치(255)의 제 1 입력은 상기 불일치 보상기(250)의 출력과의 신호 통신에 연결된다. 상기 스위치(255)의 제 2 입력은 상기 움직임 보상기(235)의 출력과의 신호 통신에 연결된다. 상기 스위치(255)의 제 3 입력은 상기 내부 예측기(230)의 출력과의 신호 통신에 연결된다. 상기 모드 모듈(260)의 출력은, 어느 입력이 상기 스위치(255)에 의해 선택되는지를 제어하기 위해, 상기 스위치(255)와의 신호 통신에 연결된다. 상기 블로킹제거 필터(225)의 출력은 상기 디코더의 출력으로서 사용 가능하다.
하나 이상의 실시예는, 디코딩된 기준 화상들의 효율적 관리를 위해, MPEG-4 AVC 표준의 다중-뷰 비디오 코딩 확장을 위한 묵시적인(implicit) 기준 화상 표시 처리들을 제공한다. 디코딩된 기준 화상들의 묵시적인 표시는, 표시 명령(marking commands)의 명시적 신호발신 없이, 디코더 편에서 사용 가능한 정보를 기초로 하여 유도된다. 상기 제안된 묵시적 표시 처리는 높은 수준의 구문에 의해 가능하게(enabled) 될 수 있다.
의존성 정보를 기초로 하여, 그러한 의존성 정보의 명시적인 신호발신 없이, 디코딩된 화상들을 메모리로부터 제거하는 하나 이상의 실시예가 또한 제공된다. 그러한 제거는, 표시하는 단계(marking)와 연결되어, 또는 표시하는 단계와 연결되지 않고서, 수행될 수도 있다.
MPEG-4 AVC 표준을 기반으로 하는 다중-뷰 비디오 코딩의 현재의 구현에서, 참조 소프트웨어는, 하나의 단일 인코더를 이용하여 각각의 뷰를 인코딩함으로써 그리고 교차-뷰 참조를 고려함으로써, 다중-뷰 예측을 달성한다. 또한, 다중-뷰 비디오 코딩의 현재의 구현은 또한 상이한 뷰들 사이의 프레임 번호(frame_num)와 화상 순서 카운트(POC)를 분리하며, 따라서 동일한 frame_num과 POC를 갖는 화상들이, 디코딩된 화상 버퍼(DPB: decoded picture buffer)에 제공되도록 허용한다. 이러한 화상들은, 그 화상들과 결합된 view_id를 이용하여 구별된다.
도 3을 참조하면, 8개의 뷰(S0부터 S7까지)를 갖는, 그리고 MPEG-4 AVC 표준을 기초로 하는, 뷰간-시간적 예측 구조(inter-view-temporal prediction structure)가 참조 번호 300에 의해 일반적으로 지시된다. 도 3에서, 뷰 S0에서의 화상들(T0-T11)은 뷰 S1과 S2를 위해서만 필요하며, 따라서 이러한 화상들은 뷰 S1과 S2의 디코딩 후에는 필요하지 않다. 그러나, MPEG-4 AVC 표준 기반의 다중-뷰 비디오 코딩(MVC)의 현재의 구현에서, 이러한 화상들은 여전히 참조를 위해 사용됨으로 표시되고, 따라서, 큰 디코딩된 화상 버퍼를 요구한다. 이러한 화상들은, 그 뷰의 다음 화상그룹(GOP: group of pictures)에서의 제 1 화상에서만 (참조를 위해 사용되지 않는 것으로) 표시될 수 있다. 그러므로, MPEG-4 AVC 표준 기반 MVC는 디코딩된 화상 버퍼를 효율적으로 관리하지 못한다.
디코딩된 화상 버퍼를 관리하기 위해, 현재의 구현은 MPEG-4 AVC 표준과 호환되는 MMCO 명령들을 사용한다. 이러한 MMCO 명령들은, 이러한 MMCO 명령들을 운반하기(carry) 위해 사용되는 것과 동일한 view_id를 갖는 화상들에 대해서만 동작한다.
다중-뷰 비디오 코딩에서, 뷰들의 집합을 코딩하기 위한 상이한 방법들이 존재한다. 한 방법은 시간-우선(time-first) 코딩으로 불린다. 이러한 방법은 동일한 시점(time instance)에서 샘플링 된(sampled) 모든 뷰로부터의 모든 화상을 먼저 코딩하는 것으로 설명될 수 있다. 다시 도 3을 참조하면, 이러한 방법은 T0에서 샘플링 된 S0-S7의 코딩 이후, T8에서 샘플링 된 S0-S7의 코딩, T4에서 샘플링 된 S0-S7의 코딩 등이 뒤따르는 것을 의미한다.
다른 방법은 뷰-우선(view-first) 코딩으로 불린다. 이러한 방법은 상이한 시간에 샘플링 된 하나의 단일 뷰로부터의 화상들의 집합이 먼저 코딩된 후에 다른 뷰로부터의 화상들의 집합의 코딩이 뒤따르는 것으로 설명될 수 있다. 또 다시 도 3을 참조하면, 이러한 방법은 뷰 S0에 대한 T0-T8의 코딩 이후, 뷰 S2의 T0-T8, 뷰 S1의 T0-T8 등이 뒤따르는 것을 의미한다.
디코딩된 기준 화상들의 관리 단계에서 효율적이기 위해, 적어도 하나의 구현은, 표시 명령의 명시적 신호발신 없이, 현재의 뷰와 상이한 view_id를 갖는, 디코딩된 기준 화상들을 (기준 화상으로서 필요하지 않은 것으로) 표시하는 것을 고려한다. 교차-뷰 참조를 위해 사용되지만 시간적 참조를 위해 사용되지는 않는 한 화상에 대해서, 상기 화상을 교차-뷰 참조로서 참조하는 모든 화상들의 디코딩 후에, 디코더는 상기 화상을 "참조를 위해 사용되지 않음"으로 표시할 수 있다.
본 명세서에 제공된 본 발명의 원리의 가르침이 주어짐으로 인해, 당업자와 관련 분야의 기술자는, 본 발명의 원리의 사상을 유지하면서, 묵시적 디코딩된 참조 표시(implicit decoded reference marking)에 관한 생각을, "장기 기준 화상으로 표시(marking as long-term reference picture)"와 같은, 다른 표시 명령으로 즉시 확장시킬 수 있다는 것이 이해되어야 한다.
시퀀스 파라미터 집합(SPS)은 상이한 뷰들 사이의 의존성 구조를 설명한다. 이는 표 4에 나타나있다. 표 4로부터, 묵시적 표시 처리는, 뷰들에 대한 완전한 의존성을 지시할 수 있는, 의존성 맵(map)/그래프(graph)를 유도할 수 있다. 따라서, 임의의 주어진 시간에, 이 유도된 맵/그래프는, 한 뷰로부터의 어느 화상들이 "참조를 위해 사용되지 않음"으로 표시될 수 있는지를 결정하기 위해, 참조될 수 있다.
간략한 예시로서, 도 3의 뷰간 의존성 정보는 표 4의 정보로부터 생성될 수 있다. 도 3에서 가정된 구현의 경우, 뷰들의 수는 알려질 것이다. 또한, 한 주어진 뷰(view_id[i])에 대해: (1) 모든 뷰간 참조는 각각의 앵커 시간에 대해 동일하며, (2) 모든 뷰간 참조는 각각의 비-앵커 시간에 대해 동일하다.
그 후, 한 주어진 뷰에 대해, 뷰간 앵커 참조의 수는 (예컨대, j1의 값을 갖는) num_anchor_refs_I0[i]와 (예컨대, j2의 값을 갖는) num_anchor_refs_I1[i]의 합에 의해 지시된다. 주어진 뷰 "i"에 대한 개별적인 앵커 참조는 anchor_ref_I0[i][j](예컨대, j=1부터 j1)와 anchor_ref_I1[i][j](예컨대, j=1부터 j2)에 의한 지수를 갖는(indexed) 두 개의 목록에 실려있다(listed).
유사하게, 한 주어진 뷰에 대해, 뷰간 비-앵커 참조의 수는 (예컨대, j1의 값을 갖는) num_non_anchor_refs_I0[i]와 (예컨대, j2의 값을 갖는) num_non_anchor_refs_I1[i]의 합에 의해 지시된다. 주어진 뷰 "i"에 대한 개별적인 비-앵커 참조는 non_anchor_ref_I0[i][j](예컨대 j=1부터 j1)와 non_anchor_ref_I1[i][j](예컨대 j=1부터 j2)에 의한 지수를 갖는 두 개의 목록에 실린다.
한 화상이 시간적 참조를 위해 필요한지의 상태는 다수의 방법으로 신호발신 될 수 있다. 예컨대, 상기 상태는 nal 유닛 헤더 내의 nal_ref_idc 구문 내에서 신호발신 될 수 있다. 또한, 만일 시간적 크기 조정 가능성(temporal scalability)에 대한 정보가 존재한다면, 상기 상태는 시간적 수준(temporal level)으로 지시될 수 있다. 그러한 경우, 가장 높은 temporal_level을 갖는 화상들은 시간적 참조를 위해 사용되지 않는다. 또한, 상기 상태는, 예컨대, 그 화상이 시간적 기준을 위해서만 사용되는지를 명확하게 나타내는 구문과 같은, 다른 어떤 높은 수준의 구문에 의해 지시될 수도 있다.
다음은 묵시적 디코딩된 참조 표시를 수행하기 위한 한 실시예이다. 만일 한 화상이 시간적 참조를 위해 사용되지 않지만 교차-뷰 참조를 위해 사용된다면, 다음의 조건이 만족되었을 때, 즉, 현재의 화상을 교차-뷰 기준 화상으로서 사용하는 모든 화상들이 코딩되었다는 것이 만족되었을 때, 디코더는 그 화상을 "참조를 위해 사용되지 않음"으로 표시한다.
묵시적 기준 화상 표시를 가능하게 함으로써, 현존하는 표시 처리를 바꾸지 않으면서, 그리고 MPEG-4 AVC 표준에서의 구문을 바꾸지 않으면서, 효율적으로 교차-뷰 기준 화상들을 관리할 수 있다.
다중-뷰 비디오 코딩 시퀀스를 시간-우선 또는 뷰-우선으로 코딩할 것인지를 결정하는 것은 인코더의 선택이다. 올바른 묵시적 표시가 유도되도록 하기 위해, 이러한 정보는 디코더로 전달되어야 한다. 그러므로, 코딩 체계(coding scheme)의 유형을 신호발신하기 위한 높은 수준의 구문으로서의 플래그를 포함시키는 것을 제안한다. 이러한 플래그를 mvc_coding_mode_flag로 부른다. 한 실시예에서, 이러한 플래그는 표 9에 나타난 시퀀스 파라미터 집합(SPS) 내에서 신호발신 된다. 표 9는 시퀀스 파라미터 집합(SPS) 다중-뷰 비디오 코딩(MVC) 확장 구문을 나타낸다. 이러한 플래그의 의미는 아래와 같이 설명될 수 있다:
mvc_coding_mode_flag는 MVC 시퀀스가 시간-우선 또는 뷰-우선 코딩 체계를 사용하는 지를 지시한다. mvc_coding_mode_flag가 1일 때, MVC 시퀀스는 시간-우선으로서 인코딩된다. mvc_coding_mode_flag가 0일 때, MVC 시퀀스는 뷰-우선으로 인코딩된다.
Figure 112009024796854-PCT00009
다중-뷰 비디오 코딩 시퀀스의 방법이 시간-우선이라고 가정하자. 도 3으로부터, 교차-뷰(cross-view){또한 "뷰간(inter-view)"로 불림} 참조로서만 사용되며 시간적 참조로서 사용되지 않는, 짝수 뷰(even views)(S0, S2 ...)에서의 특정 화상들(T1, T3 ...)이 존재하는 것을 알 수 있다. 이러한 화상들은 가장 높은 시간적 수준을 갖는다. 그러한 화상들은, 그 화상들이 오직 교차-뷰 화상들이라는 것을 지시하기 위해, 비트스트림 내의 특수한 플래그에 의해 식별될 수도 있다. 일단 이러한 화상들이 교차-뷰 참조를 위해 사용되면 그 화상들은 더 이상 필요하지 않으며 시간적 또는 교차-뷰 참조의 어느 것을 위해서도 사용되지 않는 것으로 표시될 수 있다. 예컨대, 일단 (S1, T1)이 (S0, T1)을 참조했으면, (S0, T1)은 필요하지 않다.
또한, 시간적 또는 교차-뷰에서의 참조를 위해 사용되지 않는, 홀수 뷰(odd views)(S1, S3 ...)에서의 화상들(T1, T3 ...)이 존재한다. 그러한 화상들은 또한 가장 높은 시간적 수준을 가질 것이며 비-기준 화상들일 수도 있다. 묵시적 표시를 이용하여, 이러한 화상들을 (시간적이든 또는 뷰간이든) 참조를 위해 사용되지 않는 것으로 표시할 수 있다.
한 실시예에서, 이러한 묵시적 표시 처리를 가능화 하거나(enable) 또는 불능화 할(disable), 높은 수준의 구문으로서의 한 플래그의 도입을 제안한다. 이러한 플래그를 implicit_marking으로 부른다. 한 실시예에서, 표 9에 나타난 대로, 이러한 플래그는 시퀀스 파라미터 집합(SPS) 내에서 신호발신 된다.
implicit_marking 플래그는 사용되는 코딩 체계에 따라서 조절될(conditioned) 수도 있다. 예컨대, implicit_marking 플래그는 코딩 체계가 시간-우선 코딩일 때에만 사용될 수 있다. 이는 표 10에 나타나 있다. 표 10은 시퀀스 파라미터 집합(SPS) 다중-뷰 비디오 코딩(MVC) 확장 구문이다.
implicit_marking은, 화상들을 "참조를 위해 사용되지 않음"으로 표시하기 위해 묵시적 표시 처리가 사용되는지를 지시한다. implicit_marking이 1일 때, 묵시적 표시는 가능해진다. 만일 implicit_marking이 0이면, 묵시적 표시는 불능화 된다.
Figure 112009024796854-PCT00010
하나 이상의 실시예에 따라서, 묵시적으로 기준 화상의 유형에 대한 정보를 유도하는 접근방법을 제안한다. 이러한 접근방법은 추가적인 구문을 요구하지 않으며, 통합 다중-뷰 비디오 모델(JMVM)의 현재의 구현 내에 존재하는 구문들을 이용한다.
통합 다중-뷰 비디오 모델(JMVM)의 현재의 구현은, 한 뷰에 대한 뷰간 참조를 지시하기 위해, 시퀀스 파라미터 집합 내에 높은 수준의 구문을 포함한다. 통합 다중-뷰 비디오 모델(JMVM)의 현재의 구현은 또한, 참조 뷰 식별자를 분리하여(separately) 송신함으로써 앵커 및 비-앵커 화상들의 의존성을 구별한다. 이는 표 4에 나타나 있으며, 표 4는 어느 뷰들이 한 특정 뷰를 위한 참조로서 사용되는지에 관한 정보를 포함한다. 이러한 정보는 어느 뷰들이 뷰간 참조로서 사용되며 어느 뷰들이 사용되지 않는지를 지시하기 위한 참조 표(reference table) 또는 다른 데이터 구조를 생성하기 위해 사용될 수 있다. 또한, 이러한 정보는 앵커 및 비-앵커 화상들에 대해 분리되어 알려질 수 있다. 결론적으로, 시퀀스 파라미터 집합 내의 참조 뷰 정보를 이용함으로써, 한 화상이 뷰간 예측을 위해 필요한지가 유도될 수 있다.
MPEG-4 AVC 표준에서, 네트워크 추상화 계층 유닛 헤더 내에 있는 nal_ref_idc를 이용하여, 한 화상은 기준 화상으로서 식별될 수 있다. 다중-뷰 비디오 코딩의 맥락에서, 오직 그 화상이 시간적 참조(즉, 그 뷰만을 위한 참조)를 위해 사용되는지를 지시하기 위해 nal_ref_idc를 사용한다.
통합 다중-뷰 비디오 모델(JMVM)의 현재의 구현의 시퀀스 파라미터 집합으로부터의 정보와 네트워크 추상화 계층 유닛 헤더 내에 있는 nal_ref_idc(표 7)를 이용하여, 표 5에 나타난 경우들 사이의 구별이 가능하다. 그러므로, 시퀀스 파라미터 집합으로부터의 참조 뷰 정보와 더불어 nal_ref_idc의 값을 이용하여, 표 5의 모든 조합이 다루어질 수 있다.
예컨대, 다시 도 3을 참조하여, 다음의 상이한 경우들을 고려해 보자. 뷰 S0는 view_id=0을 가지며, S1은 view_id=1을 가지고, S2는 view_id=2를 갖는다고 가정하자.
S0의 경우:
SPS 구문은 다음의 값들을 가질 것이며, "i"는 S0에 대응하는 값을 갖는다:
num_anchor_refs_I0[i], num_anchor_refs_I1[i], num_non_anchor_refs_I0[i], num_non_anchor_refs_I1[i] 모두 0
S1의 경우:
시퀀스 파라미터 집합 구문은 다음의 값들을 가질 수 있으며, "i"는 S1에 대응하는 값을 갖고, j=0이다:
num_anchor_refs_I0[i]=1, num_anchor_refs_I1[i]=1, num_non_anchor_refs_I0[i]=1, num_non_anchor_refs_I1[i]=1
anchor_ref_I0[i][j]=0, anchor_ref_I1[i][j]=2, non_anchor_ref_I0[i][j]=0, non_anchor_ref_I1[i][j]=2
S2의 경우:
시퀀스 파라미터 집합 구문은, 이 뷰가 앵커 화상들에 대한 뷰간 참조를 이용한다는 것을 나타내는 다음의 값들을 가질 것이다. 지수들은 S2에 대응하는 값을 갖는 "i"와, j=0으로 설정될 것이다.
num_anchor_refs_I0[i]=1, num_anchor_refs_I1[i]=0, num_non_anchor_refs_I0[i]=0, num_non_anchor_refs_I1[i]=0.
anchor_ref_I0[i][j]=0
S3부터 S7까지의 경우에도 이와 같이 계속됨.
모든 뷰에 대해서, 시간 T1과 T3에서의 화상들은, 0인 nal_ref_idc를 가질 것이다. 또한, 시간 T0/T2/T4에서의 화상들은, 0이 아닌 nal_ref_idc_를 가질 것이다.
위의 정보를 이용하여, 표 11에 나타난 다음의 정보가 유도될 수 있다는 것을 알 수 있다. 네 개의 분류의 각각에 대해 오직 하나의 예시만이 제공되었더라도, 모든 뷰로부터의 모든 화상은 위의 방법론을 이용하여 분류될 수도 있다는 것을 주목해야 한다.
Figure 112009024796854-PCT00011
그러므로, 표 5에서의 조건들에 대해 구별될 필요가 있는 화상들을 식별하기 위해, 추가적인 신호발신이 필요하지 않다.
이러한 유도된 정보의 한 응용은 위에서 설명된 묵시적 표시 처리이다. 물론, 본 발명의 원리는 위에서 설명된 묵시적 표시 처리를 수반하는 응용으로만 제한되지 않으며, 당업자 및 관련 분야의 기술자는, 본 발명의 원리의 사상을 유지하면서, 본 발명의 원리가 적용될 수 있는, 이러한 그리고 다른 응용을 고려할 것이다.
위의 방법론은, 화상을 메모리(예컨대, 디코딩된 화상 버퍼)로부터 언제 제거할 것인지를 결정하기 위해 사용될 수도 있다. 표시하는 단계는 수행될 필요는 없지만 수행될 수도 있다는 것을 주의해야 한다. 한 예시로서, 오직 뷰간 참조인, 화상 S2,T1을 고려하자. 시간-우선 인코딩을 사용하는 한 구현을 가정하면, (이러한 구현은 동일한 화상 순서 카운트를 가지므로 등가인) 한 주어진 시간에 대한 뷰들은 다음의 순서로 인코딩하다: S0, S2, S1, S4, S3, S6, S5, 그리고 S7. 한 구현은, 다음의 알고리즘(algorithm)을 이용하여, 디코딩된 화상 버퍼로부터 S2,T1을 제거한다:
- T1의 한 화상(예컨대, S1,T1)을 디코딩한 후에, 디코딩된 화상 버퍼 내에 저장된 T1으로부터의 다른 화상이 존재하는지 결정한다. 이는 S2,T1이, 디코딩된 화상 버퍼 내에 저장되어있다는 것을 나타낼 것이다.
- 만일 다른 그러한 화상들이 존재하면, 그 화상들이 오직 뷰간 참조인지 결정한다. 이는 S2,T1이 뷰간 참조 전용 화상(inter-view reference only picture)이라는 것을 나타낼 것이다.
- 뷰간 참조 전용인 그러한 화상 각각에 대해, 디코딩되기 위해 남아있는 T1에서의 모든 뷰를 고려하며, 그 뷰들 중의 임의의 뷰가, 저장된 화상을 참조하는지를 결정한다. 예컨대, 임의의 남아있는 뷰들이 S2를 참조하는지를 결정한다.
모든 남아있는 뷰를 고려하는 마지막 단계는 앵커 화상들과 비-앵커 화상들에 대해 분리되어 수행될 수도 있다. 즉, 앵커 화상들과 비-앵커 화상들에 대해 상이한 구문이 평가될 수도 있다. 예컨대, S2,T1은 비-앵커 화상이며, 따라서 모든 후속 뷰들 "i"에 대해 다음의 구문이 잠재적으로 평가된다: num_non_anchor_refs_I0[i], num_non_anchor_refs_I1[i], non_anchor_ref_I0[i][j], 그리고 non_anchor_ref_I1[i][j]. S1(현재 디코딩되는 뷰)의 후속 뷰들은 S4, S3, S6, S5, 그리고 S7이다. 이러한 뷰들에 대한 구문은 S3가 S2에 의존한다는 것을 나타낼 것이다. 그러므로, S2는 제거되지 않는다. 그러나, S3의 디코딩 이후, 위의 알고리즘은, 저장된 S2 화상을 다시 고려할 것이며 남아있는 뷰들(S6, S5, 그리고 S7) 중의 어느 것도 S2를 참조하지 않는 다는 것을 나타낼 것이다. 그러므로, S3의 디코딩 후에, S2는, 디코딩된 화상 버퍼로부터 제거된다. 이는 S0, S2, S1, S4, 그리고 S3의 디코딩 이후에 발생할 것이다.
도 4를 참조하면, 다중-뷰 비디오 코딩을 위한 기준 화상 관리 데이터를 인코딩하기 위한 한 예시적 방법이 참조 번호 400에 의해 일반적으로 지시된다.
상기 방법(400)은, 기능 블록(404)으로 제어를 전달하는 시작 블록(402)을 포함한다. 상기 기능 블록(404)은 인코더 구성 파일(encoder configuration file)을 읽으며, 기능 블록(406)으로 제어를 넘겨준다. 상기 기능 블록(406)은, 시퀀스 파라미터 집합(SPS) 확장 내의 앵커 및 비-앵커 화상 참조를 설정하며, 기능 블록(408)으로 제어를 넘겨준다. 상기 기능 블록(408)은, 시간-우선 또는 뷰-우선 코딩을 지시하기 위해 mvc_coding_mode를 설정하며, 결정 블록(410)으로 제어를 넘겨준다. 상기 결정 블록(410)은 mvc_coding_mode가 1인지 아닌지를 결정한다. 만일 그렇다면, 기능 블록(412)으로 제어를 넘겨준다. 그렇지 않다면, 기능 블록(414)으로 제어를 넘겨준다.
상기 기능 블록(412)은 implicit_marking을 1 또는 0으로 설정하며, 기능 블록(414)으로 제어를 넘겨준다.
상기 기능 블록(414)은 뷰들의 수가 변수 N과 같도록 하며, 변수 i와 변수 j 모두를 0으로 초기화하고, 결정 블록(416)으로 제어를 넘겨준다. 상기 결정 블록(416)은 상기 변수 i가 상기 변수 N보다 작은지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 결정 블록(418)으로 제어를 넘겨준다. 그렇지 않다면, 제어는 결정 블록(442)으로 넘겨진다.
상기 결정 블록(418)은 상기 변수 j가 뷰 i 내의 화상들의 수보다 작은지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(420)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(440)으로 넘겨진다. 도 4의 구현은 뷰-우선 코딩 구현이라는 것을 알 수 있다. 도 4는, 시간-우선 인코딩을 수행하는 유사한 처리를 제공하기 위해 적응될 수도 있다.
상기 기능 블록(420)은 주어진 frame_num과 POC를 갖는 뷰 i 내의 한 화상의 현재 매크로블록(macroblock)의 인코딩을 시작하고, 기능 블록(422)으로 제어를 넘겨준다. 상기 기능 블록(422)은 매크로블록 모드를 선택하고, 기능 블록(424)으로 제어를 넘겨준다. 상기 기능 블록(424)은 상기 매크로블록을 인코딩하고, 결정 블록(426)으로 제어를 넘겨준다. 상기 결정 블록(426)은 모든 매크로블록들이 인코딩되었는지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(428)으로 넘겨진다. 그렇지 않다면, 제어는 상기 기능 블록(420)으로 되돌아간다.
상기 기능 블록(428)은 상기 변수 j를 증분시키고(increment), 기능 블록(430)으로 제어를 넘겨준다. 상기 기능 블록(430)은 frame_num과 화상 순서 카운트(POC)를 증분시키고, 결정 블록(432)으로 제어를 넘겨준다. 상기 결정 블록(432)은 implicit_marking이 1인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(434)으로 넘겨진다. 그렇지 않다면, 제어는 상기 결정 블록(418)으로 되돌아간다.
상기 기능 블록(434)은, (이 구현에서는) 높은 수준에서 지시되는, 의존성 정보를 기초로 하여, (현재 평가되는) 기준 뷰가 차후의 뷰들에 대한 참조로서 필요한지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 결정 블록(418)으로 되돌아간다. 그렇지 않다면, 제어는 기능 블록(436)으로 넘겨진다.
상기 기능 블록(440)은 상기 변수 i를 증분시키고, frame_num, POC, 그리고 상기 변수 j를 재설정하며(reset), 상기 결정 블록(416)으로 제어를 되돌려준다.
상기 기능 블록(436)은 상기 참조 뷰 화상을 "참조를 위해 사용되지 않음"으로 표시하고, 상기 결정 블록(418)으로 제어를 되돌려준다.
상기 결정 블록(442)은 대역내의(in-band) 상기 시퀀스 파라미터 집합(SPS), 화상 파라미터 집합(PPS: Picture Parameter Set), 그리고 뷰 파라미터 집합(VPS: View Parameter Set)을 신호발신 할지 또는 하지 않을지를 결정한다. 만일 신호발신을 한다면, 제어는 기능 블록(444)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(446)으로 넘겨진다.
상기 기능 블록(444)은 대역내의 상기 SPS, PPS, 그리고 VPS를 송신하고, 제어를 기능 블록(448)으로 넘겨준다.
상기 기능 블록(446)은 대역외의(out-of-band) 상기 SPS, PPS, 그리고 VPS를 송신하고, 상기 기능 블록(448)으로 제어를 넘겨준다.
상기 기능 블록(448)은 비트스트림을 파일로 기록하거나 상기 비트스트림을 네트워크(들)를 통해서 스트리밍(stream) 하고, 종료 블록(499)으로 제어를 넘겨준다. 만일 SPS, PPS, 또는 VPS가 대역내에서 신호발신 되면, 그러한 신호발신은 상기 비디오 데이터 비트스트림과 함께 송신될 것이라는 것이 이해된다.
도 5를 참조하면, 다중-뷰 비디오 코딩을 위한 기준 화상 관리 데이터를 디코딩하기 위한 한 예시적 방법이 참조 번호 500에 의해 일반적으로 지시된다.
상기 방법(500)은, 기능 블록(504)으로 제어를 넘겨주는 시작 블록(502)을 포함한다. 상기 기능 블록(504)은 시퀀스 파라미터 집합(SPS), 화상 파라미터 집합(PPS), 뷰 파라미터 집합(VPS), 슬라이스 헤더, 또는 네트워크 추상화 계층(NAL) 유닛 헤더로부터의 view_id를 분석하고(parse), 기능 블록(506)으로 제어를 넘겨준다. 상기 기능 블록(506)은, 상기 SPS, PPS, NAL 유닛 헤더, 슬라이스 헤더, 또는 보충 향상 정보(SEI) 메시지로부터 시간-우선 또는 뷰-우선 코딩을 지시하기 위해, mvc_coding_mode을 분석하고, 기능 블록(508)으로 제어를 넘겨준다. 상기 기능 블록(508)은 다른 SPS 파라미터들을 분석하고, 결정 블록(510)으로 제어를 넘겨준다. 상기 결정 블록(510)은 mvc_coding_mode가 1인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(512)으로 넘겨진다. 그렇지 않다면, 제어는 결정 블록(514)으로 넘겨진다.
상기 기능 블록(512)은 implicit_marking을 분석하고, 결정 블록(514)으로 제어를 넘긴다. 상기 결정 블록(514)은 현재의 화상은 디코딩이 필요한지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(528)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(546)으로 넘겨진다.
상기 기능 블록(528)은 상기 슬라이스 헤더를 분석하고, 기능 블록(530)으로 제어를 넘겨준다. 상기 기능 블록(530)은 매크로블록 모드, 움직임 벡터, 그리고 ref_idx를 분석하고, 기능 블록(532)으로 제어를 넘겨준다. 상기 기능 블록(532)은 현재의 매크로블록(MB)을 디코딩하고, 결정 블록(534)으로 제어를 넘겨준다. 상기 결정 블록(534)은 모든 매크로블록이 디코딩되었는지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(536)으로 넘겨진다. 그렇지 않다면, 제어는 상기 기능 블록(530)으로 되돌아간다.
상기 기능 블록(536)은 현재의 화상을, 디코딩된 화상 버퍼(DPB)에 삽입하고, 결정 블록(538)으로 제어를 넘겨준다. 상기 결정 블록(538)은 implicit_marking이 1인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 결정 블록(540)으로 넘겨진다. 그렇지 않다면, 제어는 결정 블록(544)으로 넘겨진다.
상기 결정 블록(540)은, 높은 수준에서 지시되는 의존성 정보를 기초로 하여, 현재의 기준 뷰가 차후의 뷰들을 위한 참조로서 필요한지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 상기 결정 블록(544)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(542)으로 넘겨진다.
상기 결정 블록(544)은 모든 화상들이 디코딩되었는지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 종료 블록(599)으로 넘겨진다. 그렇지 않다면, 제어는 상기 기능 블록(546)으로 되넘겨진다.
상기 기능 블록(546)은 다음 화상을 가져오고, 상기 결정 블록(514)으로 제어를 넘겨준다.
도 5는, 뷰-우선으로 인코딩된 데이터 및 시간-우선으로 인코딩된 데이터 모두와 함께 이용될 수도 있는 디코더 구현을 제공한다.
도 6을 참조하면, 다중-뷰 비디오 콘텐츠(content)에 대한 뷰간 의존성을 결정하기 위한 한 예시적 방법이 참조 번호 600에 의해 일반적으로 지시된다. 한 실시예에서, 상기 방법(600)은, 예컨대, 도 1의 인코더(100)와 같은 인코더에 의해 실시된다.
상기 방법(600)은, 기능 블록(604)으로 제어 신호를 넘겨주는 시작 블록(602)을 포함한다. 상기 기능 블록(604)은 인코더 구성 파일을 읽고, 기능 블록(606)으로 제어를 넘겨준다. 상기 기능 블록(606)은 시퀀스 파라미터 집합(SPS) 확장 내의 앵커 및 비-앵커 화상 참조를 설정하고, 기능 블록(608)으로 제어를 넘겨준다. 상기 기능 블록(608)은, 상기 인코더 구성 파일을 기초로 하는 다른 SPS 파라미터들을 설정하고, 결정 블록(610)으로 제어를 넘겨준다. 상기 결정 블록(610)은 현재의 (앵커/비-앵커) 화상이 시간적 참조인지 아닌지를 결정한다. 만일 그렇다면, 제어는 기능 블록(612)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(624)으로 넘겨진다.
상기 기능 블록(612)은 nal_ref_idc를 1로 설정하고, 결정 블록(614)으로 제어를 넘겨준다. 상기 결정 블록(614)은, SPS 구문을 기초로 하여, 현재의 뷰가 다른 임의의 뷰에 대한 참조로서 이용되는지 아닌지를 결정한다. 만일 그렇다면, 제어는 기능 블록(616)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(626)으로 넘겨진다.
상기 기능 블록(616)은 현재의 화상을 뷰간 기준 화상으로 표시하고, 결정 블록(618)으로 제어를 넘겨준다. 상기 결정 블록(618)은 nal_ref_idc가 0인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 결정 블록(620)으로 넘겨진다. 그렇지 않다면, 제어는 결정 블록(630)으로 넘겨진다.
상기 결정 블록(620)은 현재의 화상이 뷰간 기준 화상인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(622)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(628)으로 넘겨진다.
상기 기능 블록(622)은 현재의 화상을 뷰간 참조 전용 화상으로 설정하고, 종료 블록(699)으로 제어를 넘겨준다.
상기 기능 블록(624)은 nal_ref_idc를 0으로 설정하고, 상기 결정 블록(614)으로 제어를 넘겨준다.
상기 기능 블록(626)은, 현재의 화상을, 임의의 뷰간 기준 화상을 위해 사용되지 않는 것으로 표시하고, 상기 결정 블록(618)으로 제어를 넘겨준다.
상기 기능 블록(628)은, 현재의 화상을, 참조를 위해 사용되지 않는 것으로 설정하고, 상기 종료 블록(699)으로 제어를 넘겨준다.
상기 결정 블록(630)은 현재의 화상이 뷰간 기준 화상인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(632)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(634)으로 넘겨진다.
상기 기능 블록(632)은 현재의 화상을 시간적 그리고 뷰간 기준 화상으로 설정하고, 제어를 상기 종료 블록(699)으로 넘겨준다.
상기 기능 블록(634)은 현재의 화상을 시간적 전용 참조로서 설정하고, 제어를 상기 종료 블록(699)으로 넘겨준다.
도 7을 참조하면, 다중-뷰 비디오 콘텐츠를 위한 뷰간 의존성을 결정하기 위한 한 예시적인 방법이 참조 번호 700에 의해 일반적으로 지시된다. 한 실시예에서, 상기 방법(700)은, 예컨대, 도 2의 디코더(200)와 같은 디코더에 의해 실시된다.
상기 방법(700)은, 기능 블록(704)으로 제어를 넘겨주는 시작 블록(702)을 포함한다. 상기 기능 블록(704)은 시퀀스 파라미터 집합(SPS)(뷰 의존성 구조를 읽음), 화상 파라미터 집합(PPS), 네트워크 추상화 계층(NAL) 헤더, 그리고 슬라이스 헤더를 읽고, 결정 블록(706)으로 제어를 넘겨준다. 상기 결정 블록(706)은, SPS 구문을 기초로 하여, 현재의 뷰가 임의의 다른 뷰를 위한 참조로서 사용되는지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(708)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(716)으로 넘겨진다.
상기 기능 블록(708)은 현재의 화상을 뷰간 기준 화상으로 표시하고, 결정 블록(710)으로 제어를 넘겨준다. 상기 결정 블록(710)은 nal_ref_idc가 0인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 결정 블록(712)으로 넘겨진다. 그렇지 않다면, 제어는 결정 블록(720)으로 넘겨진다.
상기 결정 블록(712)은 현재의 화상이 뷰간 기준 화상인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(714)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(718)으로 넘겨진다.
상기 기능 블록(714)은 현재의 화상을 뷰간 참조 전용 화상으로 설정하고, 종료 블록(799)으로 제어를 넘겨준다.
상기 기능 블록(718)은 현재의 화상을 참조를 위해 사용되지 않는 것으로 설정하고, 상기 종료 블록(799)으로 제어를 넘겨준다.
상기 기능 블록(716)은, 현재의 화상을, 뷰간 기준 화상으로 사용되지 않는 것으로 표시하고, 결정 블록(710)으로 제어를 넘겨준다.
상기 결정 블록(720)은 현재의 화상이 뷰간 기준 화상인지 또는 그렇지 않은지를 결정한다. 만일 그렇다면, 제어는 기능 블록(722)으로 넘겨진다. 그렇지 않다면, 제어는 기능 블록(724)으로 넘겨진다.
상기 기능 블록(722)은 현재의 화상을 시간적 그리고 뷰간 기준 화상으로 설정하고, 상기 종료 블록(799)으로 제어를 넘겨준다.
상기 기능 블록(724)은 현재의 화상을 시간적 전용 참조로서 설정하고, 상기 종료 블록(799)으로 제어를 넘겨준다.
도 8을 참조하면, 본 발명의 원리가 적용될 수도 있는 한 예시적 인코더에 대한 높은 수준의 도해가 참조 번호 800에 의해 일반적으로 지시된다.
상기 인코더(800)는, 출력이 비디오 데이터 인코더(820)의 입력과의 신호 통신에 연결된, 높은 수준의 구문 생성기(810)를 포함한다. 상기 비디오 데이터 인코더(820)의 출력은, 비트스트림을 출력하기 위해 그리고, 선택적으로(optionally), 상기 비트스트림과 함께 대역내의 하나 이상의 높은 수준의 구문 요소를 출력하기 위해, 상기 인코더(800)의 출력으로서 사용 가능하다. 상기 높은 수준의 구문 생성기(810)의 출력은 또한, 상기 비트스트림에 대한, 대역외의 하나 이상의 높은 수준의 구문 요소를 출력하기 위해, 상기 인코더(800)의 출력으로서 사용 가능하다. 상기 비디오 데이터 인코더의 입력과 상기 높은 수준의 구문 생성기(810)의 입력은, 입력 비디오 데이터를 수신하기 위해, 상기 인코더(800)의 입력으로서 사용 가능하다.
상기 높은 수준의 구문 생성기(810)는 하나 이상의 높은 수준의 구문 요소의 생성을 위한 것이다. 위에서 지적한 대로, 본 명세서에서 쓰인, "높은 수준의 구문(high level syntax)"은 계층적으로 매크로블록 계층 위에 있는 비트스트림 내에 있는 구문을 말한다. 예컨대, 본 명세서에서 쓰인, 높은 수준의 구문은, 슬라이스 헤더 수준, 보충 향상 정보(SEI) 수준, 화상 파라미터 집합(PPS) 수준, 시퀀스 파라미터 집합(SPS) 수준, 그리고 네트워크 추상화 계층(NAL) 유닛 헤더 수준에서의 구문을 말할 수도 있으나, 상기 구문으로 제한되지는 않는다. 상기 비디오 데이터 인코더(820)는 비디오 데이터의 인코딩을 위한 것이다.
도 9를 참조하면, 본 발명의 원리가 적용될 수도 있는 한 예시적 디코더에 대한 높은 수준의 도해가 참조 번호 900에 의해 일반적으로 지시된다.
상기 디코더(900)는, 비디오 데이터 디코더(920)의 입력과 신호 통신하는 출력을 갖는, 높은 수준의 구문 판독기(910)를 포함한다. 상기 비디오 데이터 디코더(920)의 출력은, 화상의 출력을 위해, 상기 디코더(900)의 출력으로서 사용 가능하다. 상기 비디오 데이터 디코더(920)의 입력은, 비트스트림의 수신을 위해, 상기 디코더(900)의 입력으로서 사용 가능하다. 상기 높은 수준의 구문 생성기(910)의 입력은, 선택적으로 상기 비트스트림에 대한, 대역외의 하나 이상의 높은 수준의 구문 요소를 수신하기 위해, 상기 디코더(900)의 입력으로서 사용 가능하다.
상기 비디오 데이터 디코더(920)는, 높은 수준의 구문의 판독을 포함하는, 비디오 데이터를 디코딩하기 위한 것이다. 따라서, 만일 대역내의 구문이 상기 비트스트림 내에서 수신되면, 상기 비디오 데이터 디코더(920)는, 높은 수준의 구문의 판독을 포함하여, 상기 데이터를 완전하게(fully) 디코딩할 수도 있다. 만일 대역외의 높은 수준의 구문이 송신되면, 그러한 구문은 높은 수준의 구문 판독기(910)에 의해{또는 직접 상기 비디오 데이터 디코더(920)에 의해} 수신될 수도 있다.
도 10을 참조하면, 처리(1000)가 도시된다. 상기 처리(1000)는 데이터를 액세스하는 단계(1010)와, 상기 액세스 된 데이터를 기초로 하여 의존성을 결정하는 단계(1020)를 포함한다. 한 특정 구현에서, 상기 액세스 된(1010) 데이터는 제 1 뷰로부터의 화상, 제 2 뷰로부터의 화상, 그리고 의존성 정보를 포함한다. 상기 의존성 정보는, 제 1 뷰로부터의 화상에 대한 하나 이상의 뷰간 의존성 관계를 설명한다. 예컨대, 상기 의존성 정보는 상기 제 1 뷰로부터의 화상이 상기 제 2 뷰로부터의 화상에 대한 기준 화상이라는 것을 설명할 수도 있다. 상기 특정한 구현에서, 상기 결정된(1020) 의존성은 상기 제 1 뷰로부터의 화상이 상기 제 2 뷰로부터의 화상에 대한 기준 화상인지의 결정을 포함한다.
도 11을 참조하면, 처리(1100)가 도시된다. 상기 처리(1100)는 데이터를 액세스하는 단계(1110), 화상 디코딩 단계(1120), 상기 디코딩된 화상을 저장하는 단계(1130), 그리고 상기 저장된 화상을 제거하는 단계(1140)를 포함한다. 한 특정 구현에서, 상기 액세스 된(1110) 데이터는 제 1 뷰로부터의 화상과 의존성 정보를 포함한다. 상기 의존성 정보는 상기 제 1 뷰로부터의 화상에 대한 하나 이상의 뷰간 의존성 관계를 설명한다. 예컨대, 상기 의존성 정보는, 상기 제 1 뷰로부터의 화상이, 아직 디코딩되지 않은, 동일한 화상-순서-카운트를 갖는 임의의 화상에 대한 기준 화상이 아니라는 것을 설명할 수도 있다. 상기 특정 구현에서, 상기 제 1 뷰로부터의 화상은 동작(1120)에서 디코딩되며 동작(1130)에서 메모리로 저장된다. 상기 특정 구현에서, 저장된 디코딩된 화상은, 상기 의존성 정보(1140)를 기초로 하여, 메모리로부터 제거된다. 예컨대, 상기 의존성 정보는, 상기 제 1 뷰로부터의 화상이, 아직 디코딩되지 않은, 동일한 화상-순서-카운트를 갖는 임의의 화상에 대한 기준 화상이 아니라는 것을 지시할 수도 있다. 그러한 경우, 상기 제 1 뷰로부터의 화상은 기준 화상으로서 더 이상 필요하지 않으며 메모리로부터 제거될 수도 있다.
다른 구현에서, 동작(1110-1130)은 선택적이며, 포함되지 않는다는 것을 주목해야 한다. 즉, 한 구현은 동작(1140)을 수행하기 위해 구성된다. 대안적으로, 동작(1110-1130)은 한 디바이스에 의해 수행될 수도 있으며, 동작(1140)은 분리된 디바이스에 의해 수행될 수도 있다.
"인코더(encoder)"와 "디코더(decoder)"라는 용어는 일반적인 구조를 내포하며(connote) 임의의 특정한 기능 또는 특징으로 제한되지 않는다는 것을 주의해야 한다. 예컨대, 디코더는 인코딩된 비트스트림을 반송하는 변조된 반송파(carrier)를 수신하고, 상기 인코딩된 비트스트림을 복조하며, 상기 비트스트림을 디코딩할 수도 있다.
또한, 다수의 구현에서, 특정 정보를 송신하기 위해 높은 수준의 구문을 사용하는 것이 언급되었다. 그러나, 동일한 정보(또는 그 정보의 변형)를 제공하기 위해, 다른 구현들은 더 낮은 수준의 구문(lower level syntax)을 사용하거나, 또는 그뿐 아니라 (예컨대, 인코딩된 데이터의 부분으로서 정보를 송신하는 것과 같은) 다른 메카니즘을 함께 사용할 수도 있다는 것이 이해되어야 한다.
또한, 다수의 구현은 화상을 메모리로부터 "제거(remove)"하는 것으로 설명되었다. 상기 용어 "제거"는, 예컨대, 한 화상을 제거, 취소(cancelling), 삭제(deleting), 목록에서 제거(de-listing), 또는 참조에서 제거(de-referencing)하거나, 또는 그 화상을 사용하지 못하거나 액세스하지 못하게 만드는 것과 같은 효과를 갖는 임의의 다양한 동작들을 포함한다. 예시로서, 한 화상은, 그 화상과 결합된 메모리 할당을 해제하고(deallocating) 그 메모리를 운영 체계로 반환하거나, 또는 메모리를 메모리 풀(memory pool)에 반환함으로써, "제거"될 수도 있다.
다양한 구현은 한 화상이 다른 화상(기준 화상)에 의존할 수도 있다는 것을 설명한다. 그러한 의존은 다수의 다양한 "기준 화상(reference picture)" 중의 하나를 기초로 할 수도 있다. 예컨대, 화상은, 그 화상과, 코딩되지 않은 원래 기준 화상 또는 디코딩된 기준 화상 사이의 차(difference)로서 형성될 수도 있다. 또한, 주어진 화상을 인코딩하기 위한 기초로서 기준 화상의 어느 변형이 사용되었는지에 관계없이, 디코더는 어떤 변형이든지 실제로 사용 가능한 변형을 사용할 수도 있다. 예컨대, 디코더는 불완전하게 디코딩된 기준 화상만을 액세스할 수 있을 것이다. "기준 화상"이라는 용어는, 존재하는 많은 가능성들을 포함하도록 의도되었다.
본 명세서에 기재된 구현들은, 예컨대, 방법 또는 처리, 장치, 또는 소프트웨어 프로그램으로 구현될 수도 있다. 구현의 한 단일 형태의 맥락에서 논의되었다고 하더라도 (예컨대, 방법으로서 논의되었다고 하더라도), 논의된 특징들의 구현은 다른 형태로 (예컨대, 장치 또는 프로그램으로) 구현될 수도 있다. 장치는, 예컨대, 적합한 하드웨어, 소프트웨어, 그리고 펌웨어로 구현될 수도 있다. 방법은, 예컨대, 일반적으로, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍 가능한 논리 디바이스와 같은 장치를 포함하는 처리장치를 칭하는, 프로세서로서 구현될 수도 있다. 프로세싱 디바이스는 또한, 예컨대, 컴퓨터, 휴대 전화(cell phone), 휴대용/개인용 디지털 보조기구("PDAs"), 그리고 최종 사용자(end-user)들 사이의 정보의 통신을 돕는 다른 디바이스들과 같은, 통신 디바이스를 포함한다.
본 명세서에 기재된 다양한 처리 및 특징의 구현은 다양한 상이한 장비(equipment) 또는 응용 프로그램(application), 특히, 예컨대, 데이터 인코딩 및 디코딩과 결합된 장비 또는 응용 프로그램으로서 실시될 수도 있다. 장비의 예시들은, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋-톱 박스, 랩탑 컴퓨터, 개인용 컴퓨터, 휴대 전화, PDA, 그리고 다른 통신 디바이스들을 포함한다. 명확할 것과 같이, 상기 장비는 이동식(mobile)일 수도 있으며, 이동 차량(mobile vehicle) 내에 설치될 수도 있다.
또한, 방법은 프로세서에 의해 수행되는 명령어(instructions)에 의해 구현될 수도 있으며, 그러한 명령어는, 예컨대, 집적 회로, 소프트웨어 운반체(software carrier) 또는, 예컨대, 하드 디스크, 콤팩트 디스켓, 랜덤 액세스 메모리("RAM"), 또는 읽기-전용 메모리("ROM") 등의 다른 저장 디바이스와 같은, 프로세서-판독 가능한 매체 상에 저장될 수도 있다. 명령어들은 프로세서-판독 가능한 매체 상에서 실체로서 구현된(tangibly embodied) 응용 프로그램을 형성할 수도 있다. 명확할 것과 같이, 프로세서는, 예컨대, 처리를 수행하기 위한 명령어를 갖는, 프로세서-판독 가능한 매체를 포함할 수도 있다. 그러한 응용 프로그램은, 임의의 알맞은 구조(architecture)를 포함하는 기계로 업로드 되고, 그 기계에 의해 실행될 수도 있다. 바람직하게, 상기 기계는, 하나 이상의 중앙 처리 장치 유닛(central processing unit)("CPU"), 랜덤 액세스 메모리("RAM"), 그리고 입력/출력("I/O") 인터페이스와 같은 하드웨어를 갖는, 컴퓨터 플랫폼(computer platform) 상에서 구현된다. 상기 컴퓨터 플랫폼은 또한 운영 체계(operating system)와 마이크로명령 코드(microinstruction code)를 포함할 수도 있다. 본 명세서에 기재된 다양한 처리와 기능은 마이크로명령 코드의 부분 또는 응용 프로그램의 부분, 또는 그 둘의 조합일 수 있으며, CPU에 의해 실행될 수 있다. 또한, 추가적인 데이터 저장 유닛과 프린팅 유닛과 같은, 다양한 다른 주변기기 유닛들은 상기 컴퓨터 플랫폼으로 연결될 수도 있다.
당업자에게 명확할 것과 같이, 구현들은 또한, 예컨대, 저장되거나 송신될 수도 있는 정보를 반송하기 위한 포맷(format)을 갖는 신호를 생성할 수도 있다. 그러한 정보는, 예컨대, 방법을 수행하기 위한 명령어, 또는 기재된 구현들 중의 하나에 의해 생성되는 데이터를 포함할 수도 있다. 그러한 신호는, 예컨대, 전자기파(예컨대, 스펙트럼의 무선 주파수 부분을 이용하는)로서의 또는 기저대역(baseband) 신호로서의 포맷을 가질 수도 있다. 포맷하는 단계는, 예컨대, 데이터 스트림을 인코딩하는 단계, 구문을 생성하는 단계, 그리고 상기 인코딩된 데이터 스트림과 상기 구문을 갖는 반송파를 변조하는 단계를 포함할 수도 있다. 상기 신호가 반송하는 정보는, 예컨대, 아날로그 또는 디지털 정보일 수도 있다. 상기 신호는, 알려진 대로, 다양한 상이한 유선 또는 무선 링크(link) 상에서 송신될 수도 있다.
동반하는 도면에 도시된, 구성하는 시스템 구성요소와 방법 중 일부는 바람직하게 소프트웨어로 구현되기 때문에, 시스템 구성요소들 또는 처리 기능 블록들 사이의 실제의 연결은 본 발명의 원리가 프로그래밍 되는 방법에 의존하여 달라질 수 있다는 것이 또한 이해되어야 한다. 본 발명의 가르침이 본 명세서에서 주어졌으므로, 당업자는 본 발명의 원리의 이러한 그리고 유사한 구현 또는 구성을, 고려할 수 있을 것이다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 다양한 수정이 이루어질 수 있다는 것이 이해될 것이다. 예컨대, 다른 구현들을 만들어 내기 위해, 상이한 구현들의 요소들은 조합되고, 보충되고, 수정되고, 또는 제거될 수도 있다. 또한, 다른 구조들과 처리들은 개시된 구조들 및 처리들을 대체할 수도 있으며, 결과적 구현들은, 개시될 구현들과 적어도 실질적으로 동일한 결과(들)를(을) 달성하기 위해, 적어도 실질적으로 동일한 기능(들)을, 적어도 실질적으로 동일한 방법(들)으로 수행할 것이라는 것을, 당업자는 이해할 것이다. 특히, 실례의 실시예들은 동반하는 도면들을 참조하여 설명되었지만, 본 발명의 원리는 그러한 상세한 실시예들로 제한되지 않으며, 본 발명의 원리의 범위 또는 사상으로부터 벗어나지 않으면서, 당업자에 의해 다양한 변화와 수정이 실행될 수 있다는 것이 이해되어야한다. 따라서, 이러한 그리고 다른 구현들은 본 출원에 의해 예측되며 다음의 청구항들의 범위 내에 있다.
본 발명은 일반적으로 비디오 인코딩 및 디코딩에 이용 가능하다.

Claims (29)

  1. 장치(100, 200, 800, 900)로서,
    제 1 뷰로부터의 한 화상과, 제 1 뷰로부터의 상기 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타내는 의존성 정보를 액세스하고(1110),
    디코딩된 화상을 생성하기 위해, 제 1 뷰로부터의 상기 화상을 디코딩하고(1120),
    상기 디코딩된 화상을 메모리에 저장하고(1130);
    상기 의존성 정보를 기초로 하여, 상기 디코딩된 화상을 메모리로부터 제거하도록(1140)
    구성되는, 장치.
  2. 제1항에 있어서, 상기 장치는 제 1 뷰로부터의 상기 화상을 인코딩하기 위한 인코더를 포함하는, 장치.
  3. 제1항에 있어서, 상기 장치는 제 1 뷰로부터의 상기 화상을 디코딩하기 위한 디코더를 포함하는, 장치.
  4. 제1항에 있어서, 상기 장치는 메모리를 포함하는, 장치.
  5. 방법(1100)으로서,
    제 1 뷰로부터의 한 화상과 의존성 정보를 액세스하는 단계(1110)로서, 상기 의존성 정보는 제 1 뷰로부터의 상기 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타내는, 액세스하는 단계(1110);
    디코딩된 화상을 생성하기 위해, 제 1 뷰로부터의 상기 화상을 디코딩하는 단계(1120);
    상기 디코딩된 화상을 메모리에 저장하는 단계(1130); 그리고
    상기 의존성 정보를 기초로 하여, 상기 디코딩된 화상을 메모리로부터 제거하는 단계(1140)
    를 포함하는, 방법.
  6. 제5항에 있어서, 액세스하는 단계는, 제 1 뷰로부터의 상기 화상을 인코딩하는 단계와 상기 의존성 정보를 포맷(format)하는 단계를 포함하는, 방법.
  7. 제5항에 있어서, 상기 제거하는 단계는, 인코더에 의해 수행되는 재구성 처리 도중에, 상기 인코더에 의해 수행되는, 방법.
  8. 제5항에 있어서, 액세스하는 단계는, 비트스트림 내에서 제 1 뷰로부터의 상기 화상과 상기 의존성 정보를 수신하는 단계를 포함하는, 방법.
  9. 제5항에 있어서, 상기 디코딩된 화상을 메모리로부터 제거하는 단계는, 제 1 뷰로부터의 상기 화상이 시간적 참조로서 사용되지 않는다는 결정에 더 기초하는, 방법.
  10. 제5항에 있어서,
    상기 의존성 정보는, 제 1 뷰로부터의 상기 화상이 제 2 뷰로부터의 한 화상에 대한 기준 화상이라는 것을 지시하고,
    상기 방법은, 제 2 뷰로부터의 상기 화상이 이미 디코딩되었는지를 결정하는 단계를 더 포함하며, 그리고
    상기 디코딩된 화상을 메모리로부터 제거하는 단계는, 제 2 뷰로부터의 상기 화상이 이미 디코딩되었는지의 결정에 더 기초하는,
    방법.
  11. 제5항에 있어서, 높은 수준의 구문 요소를 기초로 하여, 상기 의존성 정보를 생성하는 단계를 더 포함하는, 방법.
  12. 제5항에 있어서, 높은 수준의 구문 요소로부터 상기 의존성 정보를 읽어내는 단계를 더 포함하는, 방법.
  13. 제12항에 있어서, 상기 높은 수준의 구문 요소는, 슬라이스 헤더 수준, 시퀀 스 파라미터 집합 수준, 화상 파라미터 집합 수준, 뷰 파라미터 집합 수준, 네트워크 추상화 계층 유닛 헤더 수준, 그리고 보충 향상 정보 메시지(supplemental enhancement information message)에 대응하는 수준 중의 적어도 하나에 대응하는, 방법.
  14. 제5항에 있어서, 제 1 뷰로부터의 상기 화상에 대한 상기 의존성 정보는, (1) 제 1 뷰로부터의 상기 화상에 대한 앵커 참조의 수, (2) 제 1 뷰로부터의 상기 화상에 대한 비-앵커 참조의 수, (3) 제 1 뷰로부터의 상기 화상에 대한 앵커 참조(들)를 위한 뷰 번호(들), 그리고 (4) 제 1 뷰로부터의 상기 화상에 대한 비-앵커 참조(들)를 위한 뷰 번호(들)를 지시하는 구문 요소들 내에 포함되는, 방법.
  15. 제12항에 있어서, 상기 높은 수준의 구문 요소는, 국제 표준화 기구/국제 전자기술 위원회 동화상 전문가 그룹(Moving Picture Experts Group)-4 파트 10 진보된 비디오 코딩 표준/국제 전기통신 연합, 전기통신 섹터 H.264 권고안의 다중-뷰 비디오 코딩 확장에 대응하는, 방법.
  16. 제5항에 있어서, 디코딩되고 있는 제 1 뷰로부터의 상기 화상에 의존하는 다른 뷰가 이미 디코딩되었는지를 결정하기 위해, 상기 의존성 정보를 평가하는 단계를 더 포함하는, 방법.
  17. 제16항에 있어서, 상기 다른 뷰는 제 1 뷰와 동일한 화상그룹 내의 타임 슬롯(time slot)에 대응하는, 방법.
  18. 제5항에 있어서, 상기 디코딩하는 단계는, 적어도 두 개의 코딩 처리로부터 선택함으로써, 제 1 뷰로부터의 상기 화상을 디코딩하는, 방법.
  19. 제5항에 있어서, 상기 디코딩하는 단계는, 시간-우선 코딩 처리를 이용하여, 제 1 뷰로부터의 상기 화상을 디코딩하는, 방법.
  20. 제5항에 있어서, 상기 디코딩하는 단계는, 뷰-우선 코딩 처리를 이용하여, 제 1 뷰로부터의 상기 화상을 디코딩하는, 방법.
  21. 제5항에 있어서, 상기 의존성 정보를 기초로 하여 제 1 뷰로부터의 상기 화상을 표시하는 단계를 더 포함하는, 방법.
  22. 제21항에 있어서, 디코더에서, 제 1 뷰로부터의 상기 화상이, 아직 상기 디코더에 의해 디코딩되지 않은 다른 뷰로부터의 임의의 화상에 대한 기준 화상이 아니라는 것을 결정하는 단계를 더 포함하며, 상기 표시하는 단계는, 제 1 뷰로부터의 상기 화상이 뷰간 참조로서 필요하지 않음을 표시하는 단계를 더 포함하는, 방법.
  23. 제22항에 있어서, 제 1 뷰로부터의 상기 화상을 제거하는 단계는 상기 표시하는 단계를 기초로 하는, 방법.
  24. 제21항에 있어서,
    상기 표시하는 단계는, 묵시적 기준 화상 표시 처리를 이용하는 단계를 포함하고,
    높은 수준의 구문 요소는, 상기 묵시적 표시 처리가 가능한지(enabled) 또는 불능인지(disabled)를 지시하기 위해 사용되는,
    방법.
  25. 제24항에 있어서, 상기 높은 수준의 구문 요소는, 슬라이스 헤더 수준, 시퀀스 파라미터 집합 수준, 화상 파라미터 집합 수준, 뷰 파라미터 집합 수준, 네트워크 추상화 계층 유닛 헤더 수준, 그리고 보충 향상 정보 메시지에 대응하는 수준 중의 적어도 하나에 대응하는, 방법.
  26. 장치(100, 200, 800, 900)로서,
    제 1 뷰로부터의 한 화상과 의존성 정보를 액세스하기 위한 수단으로서, 상기 의존성 정보는 제 1 뷰로부터의 상기 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타내는, 액세스하기 위한 수단;
    디코딩된 화상을 생성하기 위해, 제 1 뷰로부터의 상기 화상을 디코딩하기 위한 수단;
    상기 디코딩된 화상을 메모리에 저장하기 위한 수단; 그리고
    상기 의존성 정보를 기초로 하여, 상기 디코딩된 화상을 메모리로부터 제거하기 위한 수단
    을 포함하는, 장치.
  27. 제26항에 있어서, 상기 장치는,
    제 1 뷰로부터의 화상, 제 2 뷰로부터의 화상, 또는 의존성 정보 중의 적어도 하나를 저장하기 위한 수단
    을 더 포함하는, 장치.
  28. 장치로서,
    제 1 뷰로부터의 한 화상과, 제 1 뷰로부터의 상기 화상에 대한 하나 이상의 뷰간 의존성 관계를 나타내는 의존성 정보를 액세스하고(1110);
    디코딩된 화상을 생성하기 위해, 제 1 뷰로부터의 상기 화상을 디코딩하고(1120);
    상기 디코딩된 화상을 메모리에 저장하고(1130);
    상기 의존성 정보를 기초로 하여, 상기 디코딩된 화상을 메모리로부터 제거하는 것(1140)
    을 적어도 수행하기 위해 프로세서-판독 가능한 매체 상에 저장된 명령어를 포함하는 프로세서-판독 가능한 매체를 포함하는, 장치.
  29. 디코딩된 화상에 대한 하나 이상의 뷰간 의존성 관계를 설명하는 뷰간 의존성 정보를 기초로 하여, 메모리로부터 상기 디코딩된 화상을 제거하는 단계(1140)를 포함하는, 방법.
KR1020097008380A 2006-10-24 2007-10-11 다중-뷰 비디오 코딩을 위한 화상 관리 KR20090085581A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US85393206P 2006-10-24 2006-10-24
US60/853,932 2006-10-24
US86036706P 2006-11-21 2006-11-21
US60/860,367 2006-11-21

Publications (1)

Publication Number Publication Date
KR20090085581A true KR20090085581A (ko) 2009-08-07

Family

ID=39227066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097008380A KR20090085581A (ko) 2006-10-24 2007-10-11 다중-뷰 비디오 코딩을 위한 화상 관리

Country Status (10)

Country Link
US (2) US20100034258A1 (ko)
EP (4) EP2080380A2 (ko)
JP (3) JP2010507975A (ko)
KR (1) KR20090085581A (ko)
AU (1) AU2007309634A1 (ko)
BR (1) BRPI0718421A2 (ko)
MX (1) MX2009004352A (ko)
RU (1) RU2009119523A (ko)
TW (4) TW200843512A (ko)
WO (2) WO2008051381A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150103122A (ko) * 2013-01-02 2015-09-09 퀄컴 인코포레이티드 비디오 코딩 확장안들에 대한 시간 모션 벡터 예측

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289370B2 (en) 2005-07-20 2012-10-16 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
BRPI0710048A2 (pt) 2006-03-30 2011-08-02 Lg Electronics Inc método e aparelho para decodificar / codificar um sinal de vìdeo
WO2008023967A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
RU2504917C2 (ru) * 2008-10-07 2014-01-20 Телефонактиеболагет Лм Эрикссон (Пабл) Файл медиаконтейнера
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
CN103561273B (zh) * 2009-03-26 2016-10-05 松下电器(美国)知识产权公司 编码装置及方法、错误检测装置及方法、解码装置及方法
US8458596B1 (en) 2009-04-21 2013-06-04 Jackbe Corporation Method and apparatus for a mashup dashboard
US8397056B1 (en) 2009-04-21 2013-03-12 Jackbe Corporation Method and apparatus to apply an attribute based dynamic policy for mashup resources
KR20120081022A (ko) 2009-05-01 2012-07-18 톰슨 라이센싱 3d 비디오 코딩 포맷
US9110577B1 (en) * 2009-09-30 2015-08-18 Software AG USA Inc. Method and system for capturing, inferring, and/or navigating dependencies between mashups and their data sources and consumers
US9367595B1 (en) 2010-06-04 2016-06-14 Software AG USA Inc. Method and system for visual wiring tool to interconnect apps
BR112013006006A2 (pt) 2010-09-14 2017-07-18 Thomson Licensing método de compressão e aparelho para dados de oclusão
US20120230409A1 (en) * 2011-03-07 2012-09-13 Qualcomm Incorporated Decoded picture buffer management
EP2684293A4 (en) 2011-03-10 2014-10-29 Vidyo Inc SET OF DEPENDENCY PARAMETERS FOR EVOLVING VIDEO CODING
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
TWI552583B (zh) * 2011-06-28 2016-10-01 三星電子股份有限公司 用於畫面內預測編碼的方法及裝置以及用於畫面內預測解碼的方法及裝置
KR101790401B1 (ko) 2011-08-25 2017-10-25 선 페이턴트 트러스트 주기적인 버퍼 기재를 사용하여 비디오를 부호화 및 복호하는 방법 및 장치
BR112013020486B1 (pt) 2011-09-07 2022-07-19 Sun Patent Trust Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação e de decodificação de imagem
ES2844148T3 (es) 2011-09-19 2021-07-21 Sun Patent Trust Procedimiento de descodificación de imágenes, dispositivo de descodificación de imágenes
US10034018B2 (en) 2011-09-23 2018-07-24 Velos Media, Llc Decoded picture buffer management
IN2014CN02604A (ko) 2011-10-19 2015-08-07 Panasonic Corp
PL3588949T3 (pl) 2011-10-28 2021-03-08 Samsung Electronics Co., Ltd. Sposób i urządzenie do predykcji wewnątrzramkowej wideo
PT3576412T (pt) 2011-11-08 2021-11-26 Nokia Technologies Oy Tratamento de gravuras de referência
US10158873B2 (en) 2011-11-30 2018-12-18 Qualcomm Incorporated Depth component removal for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US8867852B2 (en) 2012-01-19 2014-10-21 Sharp Kabushiki Kaisha Decoding a picture based on a reference picture set on an electronic device
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9313486B2 (en) 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US9225978B2 (en) 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
US20140010277A1 (en) * 2012-07-09 2014-01-09 Qualcomm, Incorporated Supplemental enhancement information (sei) messages having a fixed-length coded video parameter set (vps) id
US9426462B2 (en) 2012-09-21 2016-08-23 Qualcomm Incorporated Indication and activation of parameter sets for video coding
WO2014051409A1 (ko) * 2012-09-28 2014-04-03 삼성전자 주식회사 참조 픽처 정보를 이용한 병렬 처리 비디오 부호화 방법 및 장치, 병렬 처리 비디오 복호화 방법 및 장치
EP2904804A1 (en) * 2012-10-04 2015-08-12 VID SCALE, Inc. Reference picture set mapping for standard scalable video coding
US9854234B2 (en) * 2012-10-25 2017-12-26 Qualcomm Incorporated Reference picture status for video coding
US9948939B2 (en) * 2012-12-07 2018-04-17 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
KR20150095625A (ko) 2012-12-14 2015-08-21 엘지전자 주식회사 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치
EP2966864A4 (en) 2013-04-05 2016-10-19 Samsung Electronics Co Ltd METHOD AND DEVICE FOR DECODING A MULTILAYER VIDEO AND METHOD AND DEVICE FOR CODING MULTILAYER VIDEOS
AU2013387114B2 (en) * 2013-04-17 2018-02-22 Interdigital Vc Holdings, Inc. Method and apparatus for packet header compression
US9774879B2 (en) * 2013-08-16 2017-09-26 Sony Corporation Intra-block copying enhancements for HEVC in-range-extension (RExt)
US20150103925A1 (en) * 2013-10-15 2015-04-16 Qualcomm Incorporated Parallel extensions of parameter sets
WO2015082763A1 (en) 2013-12-02 2015-06-11 Nokia Technologies Oy Video encoding and decoding
KR102212211B1 (ko) 2014-01-03 2021-02-04 삼성전자주식회사 멀티 레이어 비디오의 복호화 및 부호화를 위한 버퍼 관리 방법 및 장치
JP5886341B2 (ja) * 2014-03-07 2016-03-16 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
CN105338281B (zh) * 2014-06-27 2018-07-31 阿里巴巴集团控股有限公司 一种视频显示方法和装置
US20170006303A1 (en) * 2015-06-30 2017-01-05 Intel Corporation Method and system of adaptive reference frame caching for video coding
US9591047B1 (en) * 2016-04-11 2017-03-07 Level 3 Communications, Llc Invalidation in a content delivery network (CDN)
US10547879B2 (en) * 2016-07-14 2020-01-28 Mediatek Inc. Method and apparatus for streaming video content
TWI595771B (zh) * 2016-10-20 2017-08-11 聚晶半導體股份有限公司 影像深度資訊的優化方法與影像處理裝置
TWI610559B (zh) * 2016-10-27 2018-01-01 Chunghwa Telecom Co Ltd 最佳化視訊轉碼的方法與裝置
US10560678B2 (en) 2016-11-09 2020-02-11 Mediatek Inc. Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4355156B2 (ja) * 2002-04-16 2009-10-28 パナソニック株式会社 画像復号化方法及び画像復号化装置
US7489342B2 (en) * 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
BRPI0413979A (pt) * 2003-08-26 2006-11-07 Thomson Licensing método e aparelho para minimizar o número de imagens de referência usadas para inter-codificação
US7515759B2 (en) * 2004-07-14 2009-04-07 Sharp Laboratories Of America, Inc. 3D video coding using sub-sequences
US20060083298A1 (en) * 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
JP4480156B2 (ja) * 2005-02-02 2010-06-16 キヤノン株式会社 画像処理装置及び方法
US9049449B2 (en) * 2005-04-13 2015-06-02 Nokia Corporation Coding of frame number in scalable video coding
JP2009512306A (ja) * 2005-10-11 2009-03-19 ノキア コーポレイション スケーラブルビデオコーディングのためのデコードされたピクチャーの効率的なバッファマネージメント
US7903737B2 (en) * 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
KR100943912B1 (ko) * 2006-01-12 2010-03-03 엘지전자 주식회사 다시점 비디오의 처리 방법 및 장치
BRPI0710048A2 (pt) * 2006-03-30 2011-08-02 Lg Electronics Inc método e aparelho para decodificar / codificar um sinal de vìdeo
JP4793366B2 (ja) * 2006-10-13 2011-10-12 日本ビクター株式会社 多視点画像符号化装置、多視点画像符号化方法、多視点画像符号化プログラム、多視点画像復号装置、多視点画像復号方法、及び多視点画像復号プログラム
KR20110123291A (ko) * 2006-10-16 2011-11-14 노키아 코포레이션 멀티뷰 비디오 코딩에서 효율적인 디코딩된 버퍼 관리를 구현하기 위한 시스템 및 방법
US20080174808A1 (en) * 2007-01-24 2008-07-24 Harpreet Singh System and method for job submission to an unspecified document processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150103122A (ko) * 2013-01-02 2015-09-09 퀄컴 인코포레이티드 비디오 코딩 확장안들에 대한 시간 모션 벡터 예측

Also Published As

Publication number Publication date
TW200838313A (en) 2008-09-16
JP2013042521A (ja) 2013-02-28
WO2008051381A4 (en) 2008-12-31
TW201246936A (en) 2012-11-16
EP2418853A2 (en) 2012-02-15
JP2010507975A (ja) 2010-03-11
TW201244487A (en) 2012-11-01
WO2008051380A2 (en) 2008-05-02
WO2008051381A2 (en) 2008-05-02
EP2418854A2 (en) 2012-02-15
BRPI0718421A2 (pt) 2013-11-12
AU2007309634A1 (en) 2008-05-02
JP2010507974A (ja) 2010-03-11
WO2008051380A3 (en) 2008-10-30
US20100027615A1 (en) 2010-02-04
EP2418854A3 (en) 2012-06-06
TW200843512A (en) 2008-11-01
WO2008051381A3 (en) 2008-11-06
US20100034258A1 (en) 2010-02-11
EP2418853A3 (en) 2012-06-06
WO2008051380B1 (en) 2008-12-24
EP2080380A2 (en) 2009-07-22
RU2009119523A (ru) 2010-11-27
MX2009004352A (es) 2009-05-05
EP2087737A2 (en) 2009-08-12

Similar Documents

Publication Publication Date Title
KR20090085581A (ko) 다중-뷰 비디오 코딩을 위한 화상 관리
JP6395667B2 (ja) 多視点映像符号化及び復号化用の、ハイレベルシンタックスを使用した改善されたシグナリングのための方法及び装置
EP2087738B1 (en) Method for reference picture management involving multiview video coding
US9100659B2 (en) Multi-view video coding method and device using a base view
US20190379904A1 (en) Inter-view prediction
CN101529913A (zh) 用于多视角视频编码的图像标识

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid