KR20090079952A - 멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법 - Google Patents

멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20090079952A
KR20090079952A KR1020097009917A KR20097009917A KR20090079952A KR 20090079952 A KR20090079952 A KR 20090079952A KR 1020097009917 A KR1020097009917 A KR 1020097009917A KR 20097009917 A KR20097009917 A KR 20097009917A KR 20090079952 A KR20090079952 A KR 20090079952A
Authority
KR
South Korea
Prior art keywords
frame
view
macroblocks
macroblock
decoding
Prior art date
Application number
KR1020097009917A
Other languages
English (en)
Other versions
KR101101965B1 (ko
Inventor
케말 어거
야니 라이네마
미스카 한눅셀라
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20090079952A publication Critical patent/KR20090079952A/ko
Application granted granted Critical
Publication of KR101101965B1 publication Critical patent/KR101101965B1/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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

뷰들 간에 존재하는 의존성들이 있을지라도, 서로 다른 뷰들에 대한 병렬 디코더 구현을 가능하게 하는 시스템 및 방법이 개시된다. 본 발명의 다양한 실시예들에서, 슬라이스들이 소정의 제약들을 이용하여 코딩된다는 정보를 디코더에게 시그널링하여, 슬라이스들에 관한 병렬 디코딩이 가능하다. 이 시그널링은 시퀀스 파라미터 집합 레벨에서 수행될 수 있거나, 또는 그것은 화면 파라미터 집합 레벨, 슬라이스 헤더 레벨이나 또는 매크로블록 헤더 레벨에서 수행될 수 있다. 부가적으로, 다양한 뷰들 간의 지연 또한, 다양한 실시예들에서 제약 정보와 같은 위치에서 그 디코더에게 시그널링된다. 시스템의 코딩 효율성을 향상시키기 위해 다양한 알고리즘들 또한 사용될 수 있다.

Description

멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법{System and method for using parallelly decodable slices for multi-view video coding}
본 발명은 대체적으로 멀티뷰(multi-view) 비디오 코딩 및 디코딩에 관한 것이다. 더욱 특별하게는, 본 발명은, 뷰들 간에 의존성(dependency)들이 존재할지라도, 멀티뷰 시스템들 내 서로 다른 뷰들에 대한 병렬 디코더 구현을 구현하는 것에 관한 것이다.
이 섹션에서는 청구항들 내에 기술되어 있는 본 발명에 대하여 배경 또는 콘텍스트(context)를 제공하려고 한다. 여기에서의 설명은 추구될 수 있는 개념들을 포함할 수도 있지만, 반드시 이전에 표현되었거나 추구되었던 것들은 아니다. 그러므로, 여기서 다르게 표시되지 않는 한은, 이 섹션 내에서 설명되는 것은 이 출원 내의 본 설명 및 청구항들에 대한 선행기술이 아니고 이 섹션에 포함되어 있다는 것으로써 선행기술로 인정되지는 않는다.
비디오 캡쳐 및 디스플레이 기술들에 있어서의 최근 진보사항과 관련하여, 3차원(3D) 비디오 통신 및 엔터테인먼트 서비스들이 빠르게 현실이 되어가고 있고 가까운 미래에 소비자 영역 내로 진입할 것이다. 3D 비디오 통신 및 엔터테인먼트 서비스들은 사용자들이 콘텐트를 즐기고 그것과 상호작용하는 방식을 혁명시킬 것이며 새롭고 흥미로운 많은 서비스들에 대한 문을 개방할 것이다. 이러한 서비스들은 입체적 비디오 방송(stereoscopic video broadcasting), 3D-TV 및 광범위한 다른 것들을 포함할 수도 있다.
3D-TV 어플리케이션들은, 변할 수 있는 특성들을 가진 특별한 3D 디스플레이들을 필요로 할 수도 있다. 예를 들면, 만약 3D 디스플레이가 자동입체적(auto-stereoscopic)이면, 그때 사용자는 각 눈에서 서로 다른 뷰들을 보기 위해 어떠한 특별한 렌즈나 안경을 착용할 필요가 없다. 더욱이, 3D 디스플레이는, 사용자가 스크린에 대한 그 사용자의 위치에 따라 서로 다른 뷰들을 볼 수 있도록 몇 개의 뷰들이 동시에 디스플레이되게끔 지원할 수 있다. 이 특징은 머리 움직임 시차(head motion-parallax)로 불리고 이 특징은 사용자들에 있어서 이용가능한 가장 실제적이고 몰입적인 경험 중 하나라는 것으로 특성화된다.
이러한 유형의 어플리케이션들을 가능하게 하기 위해, 3D-비디오 콘텐트의 표현(representation), 전송(transmission) 및 렌더링(rendering)을 위한 새로운 패러다임들이 요구되고, 이는 전형적인 2D-비디오 이용예들과는 매우 다를 수 있다. 최근에, ITU-T/VCEG(Video Coding Experts Group) 및 ISO//MPEG(Moving Picture Experts Group) 표준화 그룹들의 연합 비디오 팀(Joint Video Team; JVT)은 멀티뷰 비디오 코딩(Multi-View Video Coding; MVC) 표준을 위한 노력을 착수하였다. MVC는, 서로 다른 위치들로부터 동일한 이벤트를 캡쳐하는 다수의 카메라들을 포함하는 카메라 시스템에 의해 아니면 3D 장면을 캡쳐할 수 있는 단일물(단일 카메라)에 의해 산출되는 멀티뷰 시퀀스들에 관한 인코딩 프레임워크(encoding framework)이다. MVC를 활용하는 어플리케이션들에서, 멀티뷰 비디오가 실제 공간에서 3차원 장면을 표현하기 때문에, 사용자는 실제적이고 몰입적인 경험들을 즐길 수 있다. MVC 코더 및 전통적인 2D-비디오 코더 사이의 원칙적 차이는 MVC는 시간적 및 공간적 중복성(redundancy)에 더하여 뷰간 중복성(inter-view redundancy)을 활용한다는 것이다. 그러므로, 멀티뷰 비디오 코딩 구조들에서, 뷰간 의존성이 화면들 사이에 존재한다.
불행하게도, 화면들 사이의 뷰간 의존성은 비디오 시스템에 대하여 심각한 복잡성(complexity) 문제들 및 병렬화(parallelism) 문제점들을 내포한다. 이들 문제점들은, 서로 다른 뷰들에서의 두 화면들이 순차적으로 디코딩될 필요가 있기 때문에 발생한다. 이것은, 많은 뷰들이 동시적으로 디스플레이될 필요가 있는 3D-TV 사용예들에 있어서 특히 문제이다. 이들 문제점들을 이해하기 위해, 2개의 뷰들을 동시에 디스플레이하고 있고 도 1에서 예시된 코딩 구조를 사용하여 뷰들이 코딩된 3D-TV 시스템을 고려하는 것이 도움이 된다. 임의의 시간 순간의 "View-1"에서의 화면을 디코딩하기 위해, 동일한 시간 순간의 "View-0"에서의 화면이 먼저 디코딩되어야 할 것이다. 따라서, 이 구조와 관련하여, 동시에 2개의 뷰들을 디스플레이하기 위한 유일한 방법은 정규의 비디오 디코더보다 2배 더 빠르게 실행되는 디코더를 가지는 것이다. 비록 서로 다른 플랫폼들 상에서 실행되는 2개의 독립적인 디코더들이 이용가능할지라도, 양 디코더들은 정규의 2D 비디오 디코더보다 2배 빠르게 실행될 필요가 있다. 3D 디스플레이에 의해 지원되는 뷰들의 수가 증가할 수록 상황은 더욱 악화된다. 현재, 동시에 100개의 뷰들을 디스플레이할 수 있는 상업적 디스플레이들이 있고, 만약 그 모든 뷰들이 서로에 의존한다면, 그때 그 디코더는 100배 더 빠르게 실행되어야 한다.
상기의 관점에 비추어 볼 때, 개별적인 뷰들에 관한 병렬 디코딩은 3D-TV 시스템들에 있어서 혹독한 요건임이 명백하다. 그 병렬화를 증가시키기 위한 하나의 해결책은 독립적으로 각 뷰를 코딩하는 것이다. 그러나, 이러한 종류의 동시방송(simulcasting) 접근법은 코딩 효율성에 있어서 원치 않는 상당한 불이익을 초래한다는 것이 알려졌다.
그러므로 상기에서 기술된 코딩 효율성 문제점들을 겪지 않으면서 3D-TV 시스템 및 다른 시스템에 관하여 개별 뷰들의 병렬 디코딩을 향상시키기 위한 시스템 및 방법을 개발하는 것이 바람직할 것이다.
본 발명의 다양한 실시예들은 뷰들 간에 존재하는 의존성들이 있을 경우에도, 서로 다른 뷰들에 대한 병렬 디코더 구현을 가능하게 하는 시스템 및 방법을 제공한다. 이는, 어느 뷰 내의 임의의 매크로블록(macroblock)이 단지 다른 뷰들 내의 매크로블록들의 하위집합의 재구성 값들에만 의존하게끔 허용되도록 일정한 제약들을 이용하여 뷰들을 인코딩함으로써 이루어진다. 다른 뷰에서 참조될 수 있는 MB들에 관한 정보를 포함하는 인코딩 제약들은, 그 제약들이 기정의되거나 아니면 비트스트림으로 시그널링되기 때문에, 인코더 및 디코더 양자 모두에 의해 알게 된다. 2개의 뷰들 간의 매크로블록 지연 또한 그 디코더에게 시그널링될 수 있다. 그 지연은 다른 제약 정보로서 동시에 시그널링될 수 있다. 이 정보에 관련하여, 서로 다른 뷰들 내 매크로블록들의 디코딩은 동시에 일어날 수 있는데, 왜냐하면 그것들은 서로 참조하고 있지 않기 때문이다. 만약 인코더가 그 인코딩 제약들을 시그널링하면, 코딩 효율성, 병렬화 및 복잡성 간에 일정한 트레이드오프들(trade-offs)이 실현될 수 있다. 본 발명의 실시예들에 있어서, 여러가지 뷰들에 대한 인코더들 및 디코더들은 화면들을 출력하는데 수반되는 지연이 감소되도록 병렬로 동작할 수 있다.
다양한 실시예들은 또한 여기서 논의된 병렬 디코딩가능 슬라이스(parallelly decodable slice; PDS) 개념을 이용하여 뷰들 중의 움직임 벡터(motion vector)들을 코딩하기 위한 더 효율적인 엔트로피 코더(entropy coder)들을 제공한다. 이는, (1) PDS 배열 내 움직임 벡터들이 참조 영역(reference area)의 한정에 기인하여 모든 가능한 값들을 취할 수 없고, 그리고 (2) 움직임 벡터들의 수평 및 수직 성분들의 통계적 특성들이 PDS에서 상호관련된다는(inter-related) 사실을 이용하여 이루어진다.
본 발명의 이들 및 다른 이점들 및 특징들은, 본 발명의 구성 및 동작 방식과 함께, 첨부된 도면들과 관련하여 해석될 때 다음의 상세한 설명으로부터 명확해질 것이고, 그 첨부된 도면들에서는 동일한 요소들은 아래에 기술되는 수 개의 도면들에 걸쳐 동일한 번호들을 지닌다.
도 1은 3D-TV 사용예에서 한 화면의 2개의 뷰들을 위한 기존의 샘플 예측 체 인(chain)을 표현한 것이고;
도 2는 본 발명의 다양한 실시예들이 구현될 수도 있는 시스템의 개관 다이어그램이고;
도 3은 본 발명의 실시예가 어떻게 구현되는지를 보여주는 도면으로, 2개의 뷰들 사이에 하나의 매크로블록 지연이 있는 경우이고;
도 4는 도 3에서 묘사된 구현을 위한 샘플 디코딩 프로세서를 보여주는 도면이고;
도 5는 본 발명의 특정 실시예에 따른 슬라이딩 디블록킹 동작(sliding deblocking operation)을 나타내는 도면이고;
도 6은 도 5에서 묘사된 슬라이딩 디블록킹 접근법으로써 샘플 디코딩 프로세스를 보여주는 도면이고;
도 7은 본 발명의 다양한 실시예들의 구현 동안 서브픽셀(sub-pixel) 보간(interpolation)의 효과를 보여주는 예시이고;
도 8은 도 7에 묘사된 서브픽셀 보간 문제점들을 다루기 위해 어떻게 패딩(padding)이 사용될 수 있는지를 보여주는 예시이고;
도 9는 본 발명의 다양한 실시예들의 구현에 걸쳐 어떻게 코딩 효율성이 영향을 받을 수 있는지에 관한 예시이고;
도 10은 본 발명의 구현에서 사용될 수 있는 전자 기기에 관한 원근도이고;
도 11은 도 10의 전자 기기의 회로에 관한 도식적인 도면이고; 그리고
도 12는 뷰들에 관한 병렬 디코딩이 허용될 때 움직임 벡터들의 수평 성분 및 수직 성분에 대한 범위들을 보여주는 참조 영역을 나타내는 도면이다.
본 발명의 다양한 실시예들은, 뷰들 간에 존재하는 의존성이 있을 경우에도, 서로 다른 뷰들에 대한 병렬 디코더 구현을 가능하게 하는 시스템 및 방법을 제공한다. 이는, 어느 뷰 내의 임의의 매크로블록이 오직 다른 뷰들 내 매크로블록들의 하위집합의 재구성 값들에만 의존하게끔 허용되도록 일정한 제약들을 이용하여 뷰들을 인코딩함으로써 이루어진다. 다른 뷰에서 참조될 수 있는 MB들에 관한 정보를 포함하는 인코딩 제약들은, 그 제약들이 기정의되거나 아니면 비트스트림에서 시그널링되기 때문에, 인코더 및 디코더 양자 모두에 의해 알게 된다. 이 정보에 관련하여, 서로 다른 뷰들 내 매크로블록들의 디코딩은 동시에 일어날 수 있는데, 왜냐하면 그것들은 서로 참조하고 있지 않기 때문이다. 만약 인코더가 그 인코딩 제약들을 시그널링하면, 코딩 효율성, 병렬화 및 복잡성 간에 일정한 트레이드오프들이 실현될 수 있다.
도 2는 본 발명에 관한 사용을 위한 일반적인 멀티미디어 통신 시스템을 보여주고 있다. 여기서 논의된 바와 같이, 디코딩될 비트스트림은 사실상 임의의 유형의 네트워크 내에 위치한 원격 기기로부터 수신될 수 있다는 것이 유념되어야 할 것이다. 또한, 그 비트스트림은 로컬 하드웨어나 소프트웨어로부터 수신될 수 있다. 또한, 비록 이 문서에 포함되어 있는 텍스트 및 예들이 구체적으로 인코딩 프로세스를 설명하고 있을 수도 있음에도 불구하고, 관련 기술분야에서 숙련된 자는 동일한 개념들 및 원리들이 또한 대응하는 디코딩 프로세스에 적용될 수도 있고 그 역도 성립함을 쉽게 이해할 것임이 이해되어야 할 것이다.
도 2에서 보여지는 바와 같이, 데이터 소스(100)는, 아날로그, 비압축 디지털이나 압축 디지털 포맷 또는 이들 포맷들의 어떠한 조합으로 소스 신호를 제공한다. 인코더(110)는 그 소스 신호를 코드화된 미디어 비트스트림으로 인코딩한다. 인코더(110)는 오디오 및 비디오와 같은 하나 이상의 미디어 유형을 인코딩할 수도 있거나, 또는 하나 이상의 인코더(110)가 그 소스 신호의 여러가지 미디어 유형들을 코딩하도록 요구될 수도 있다. 인코더(110)는 또한, 그래픽 및 텍스트와 같은 종합적으로(synthetically) 만들어지는 입력을 얻거나, 또는 그것은 합성 미디어의 코드화 비트스트림들을 만들어낼 수도 있다. 이하에서, 설명을 단순화하기 위해 하나의 미디어 유형으로 된 하나의 코드화 미디어 비트스트림을 프로세싱하는 것만이 고려된다. 그러나, 전형적으로 실시간 방송 서비스들은 몇몇의 스트림들(전형적으로 적어도 하나의 오디오, 비디오 및 텍스트 자막(sub-titling) 스트림)을 포함한다는 것이 유념되어야 할 것이다. 또한, 시스템은 다수의 인코더들을 포함할 수도 있지만, 이하에서는 일반성을 결여하지 않으면서 설명을 단순화하기 위해 단지 하나의 인코더(110)만이 고려됨을 유념하여야 할 것이다.
코드화 미디어 비트스트림은 저장소(120)로 전달된다. 저장소(120)는 그 코드화 미디어 비트스트림을 저장하는 임의 유형의 대용량 메모리를 포함할 수도 있다. 저장소(120) 내 코드화 미디어 비트스트림의 포맷은 기본적인 자체포함된(self-contained) 비트스트림 포맷일 수도 있고, 또는 하나 이상의 코드화 미디어 비트스트림들이 콘테이너 파일(container file) 내에 캡슐화될 수도 있다. 어떤 시스템들은 "라이브"(live)로 동작하는데, 즉 저장(소)을 생략하고 인코더(110)로부터 직접 송신자(130)로 코드화 미디어 비트스트림을 전달한다. 그러면 그 코드화 미디어 비트스트림은, 필요할 때, 서버로도 언급되는 송신자(130)로 전달된다. 전송에 사용되는 포맷은 기본적인 자체포함된 비트스트림 포맷, 패킷 스트림 포맷일 수도 있거나, 또는 하나 이상의 코드화 미디어 비트스트림들이 콘테이너 파일 내로 캡슐화될 수도 있다. 인코더(110), 저장소(120) 및 송신자(130)는 동일한 물리적 기기에 있을 수도 있고 또는 그것들은 개별 기기들에 포함될 수도 있다. 인코더(110) 및 송신자(130)는 라이브 실시간 콘텐트에 관련하여 동작할 수도 있고, 이 경우에 코드화 미디어 비트스트림은 전형적으로 영구하게 저장되지 않고, 오히려 콘텐트 인코더(110)에서 및/또는 송신자(130)에서 작은 시간 기간들 동안 버퍼링되어 프로세싱 지연, 전송 지연 및 코드화 미디어 비트율에서의 변동(variation)들을 평탄하게 한다(smooth out).
송신자(130)는 통신 프로토콜 스택을 사용하여 코드화 미디어 비트스트림을 송신한다. 그 스택은 실시간 전송 프로토콜(Real-Time Transport Protocol; RTP), 사용자 데이터그램 프로토콜(User Datagram Protocol; UDP) 및 인터넷 프로토콜(Internet Protocol; IP)을 포함할 수도 있지만 이에 제한되지 않는다. 통신 프로토콜 스택이 패킷지향(packet-oriented)일 때, 송신자(130)는 코드화 미디어 비트스트림을 패킷들 내로 캡슐화한다. 예를 들어, RTP가 사용될 때, 송신자(130)는 RTP 페이로드(payload) 포맷에 따라 RTP 패킷들 내로 코드화 미디어 비트스트림을 캡슐화한다. 전형적으로, 각각의 미디어 유형은 전용 RTP 페이로드 포맷을 가진다. 시스템은 하나 이상의 송신자(130)를 포함할 수도 있지만, 단순성을 위하여, 이하의 설명에서는 단지 하나의 송신자(130)만을 고려한다는 것을 다시 유념하여야 할 것이다.
송신자(130)는 통신 네트워크를 통해 게이트웨이(140)에 연결될 수도 있고 그렇지 않을 수도 있다. 게이트웨이(140)는, 하나의 통신 프로토콜 스택에 따른 패킷 스트림을 다른 통신 프로토콜 스택으로 번역(translation)하는 것, 데이터 스트림들을 병합하고 분기하는 것, 및 하향링크 및/또는 수신기 성능에 따라 데이터 스트림을 조작하는 것, 예컨대 일반적인 하향링크 네트워크 조건들에 따라 포워딩된 스트림의 비트율을 제어하는 것과 같은 여러가지 유형의 기능들을 수행할 수도 있다. 게이트웨이(140)의 예들은 다지점 회의 제어 유닛(multipoint conference control unit; MCU), 회선교환방식(circuit-switched) 및 패킷교환방식(packet-switched) 비디오 전화 간 게이트웨이, 푸쉬-투-토크 오버 셀룰러(Push-to-talk over Cellular; PoC) 서버, 휴대용 디지털 비디오 방송(digital video broadcasting-handheld; DVB-H) 시스템 내 IP 캡슐화기, 또는 홈 무선 네트워크에 로컬로 방송 전송을 포워딩하는 셋톱 박스(set-top box)를 포함한다. RTP가 이용될 때, 게이트웨이(140)는 RTP 믹서(mixer)로 불리우고 RTP 연결의 말단으로서 행동한다.
시스템은, 전형적으로, 전송된 신호를 수신하고, 복조하며, 그리고 코드화 미디어 비트스트림으로 역캡슐화할 수 있는 하나 이상의 수신기들(150)을 포함한다. 더 나아가 그 코드화 미디어 비트스트림은 전형적으로 디코더(160)에 의해 프 로세싱되고, 그 디코더(160)의 출력은 하나 이상의 비압축 미디어 스트림들이다. 최종적으로, 렌더러(renderer, 170)는, 예를 들어 확성기(loudspeaker) 또는 디스플레이로 그 비압축 미디어 스트림들을 재현할 수도 있다. 수신기(150), 디코더(160) 및 렌더러(170)는 동일한 물리적 기기에 있을 수도 있고 또는 그들은 개별 기기들에 포함될 수도 있다.
비트율, 디코딩 복잡성 및 화면 크기에 있어서의 확장성(scalability)은 이종의 그리고 에러발생이 쉬운 환경들에 있어서 바람직한 특성이다. 이 특성은, 비트율, 디스플레이 해상도(resolution), 네트워크 처리량(throughput) 및 수신 기기에서의 계산 능력 상에서의 제약들과 같은 제한사항들에 맞서기 위해 바람직한 특성이다.
본 발명의 통신 기기들은, 코드 분할 다중 접속(Code Division Multiple Access; CDMA), 이동 통신용 글로벌 시스템(Global System for Mobile Communications; GSM), 범용 이동 통신 시스템(Universal Mobile Telecommunications System; UMTS), 시분할 다중 접속(Time Division Multiple Access; TDMA), 주파수 분할 다중 접속(Frequency Division Multiple Access; FDMA), 전송 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol; TCP/IP), 단문 메시징 서비스(Short Messaging Service; SMS), 멀티미디어 메시징 서비스(Multimedia Messaging Service; MMS), 이메일, 인스턴트 메시징 서비스(Instant Messaging Service; IMS), 블루투스(Bluetooth), IEEE 802.11 등을 포함하지만 이에 제한되지 않는 다양한 전송 기 술들을 이용하여 통신할 수도 있다. 통신 기기는, 무선, 적외선, 레이저, 케이블 연결, 및 그와 동종의 것을 포함하지만 이에 제한되지 않는 다양한 메체들을 사용하여 통신할 수도 있다. 통신 기기들은, 자동차, 트럭, 택시, 버스, 보트, 비행기, 자전거, 오토바이 등을 포함하지만 이에 제한되지 않는 운송 형태에 위치할 수도 있다.
본 발명의 다양한 실시예들의 구현에 있어서, 도 3에 묘사된 표현을 고려하는 것이 도움이 된다. 도 3에서, View-0 및 View-1에서의 2개 프레임들이 디코딩될 것이고, View-1은 View-0 프레임을 참조로서 사용한다. 기존에, View-1의 디코딩은 View-0의 디코딩이 완료되고 그것의 재구성이 이용가능한 후에만 시작할 수 있었다. View-0 및 View-1에 대한 디코딩 시간이 각각 τ0 및 τ1이면, 비록 2개의 디코더들을 구비하기 위한 리소스들이 존재할지라도, 순차적인 프로세스 때문에 총 디코딩 시간은 τ0 + τ1일 것이다.
뷰들에 관한 병렬 디코딩은 View-1에서의 각 매크로블록이 사용할 수 있는 참조 영역을 제한함에 의해 이루어진다. 이 예에서, View-1 내 매크로블록들은 단지 공동위치된(lo-located) 매크로블록 및 그 공동위치된 매크로블록에 선행하여 발생하는 매크로블록들에 의해 커버되는 View-0 내 영역만을 참조할 수 있다. 예를 들면, View-1 내 위치 (2,2)의 매크로블록은 View-0 내 가려진(shaded) 영역을 참조할 수 없다. 이 특정 예에서, 각 뷰에 대한 2개의 디코더들은, 그 디코더들 간에서 하나의 매크로블록 지연을 가지며, 병렬로 동작할 수 있다.
도 4는 도 3에 묘사된 그 두 뷰들에 대한 디코딩 프로세스를 상세하게 나타내고 있다. 제1 뷰 및 제2 뷰에 대한 디코딩 프로세스는, 400 (View-0에 대한 것) 및 405 (View-1에 대한 것)에 묘사된 바와 같이, 동시에 시작한다. View-1 디코더에서의 MB(0,0)의 디코딩은, View-0 디코더가 View-1 디코더에게 View-1의 MB(0,0)에 대한 이용가능한 참조 영역이 참조 메모리에서 이용가능하다는 것을 통지하기 전에는 시작하지 않는다. View-0의 MB(0,0)의 디코딩이 수행되어지고 있는 동안, View-1 디코더는 기다림(WAIT) 상태(415)로 진입하거나, 아니면 비트스트림을 파싱(parsing)하는 것과 같이 참조 영역을 액세스할 것을 요구하지 않는 디코딩 동작을 수행할 수 있다. 일단 View-0 디코더가 단계(410)에서 MB(0,0)을 디코딩하고 단계(412)에서 재구성된 매크로블록을 준비하게 하면, View-1 디코더가 통지받는다(425). 일단 통지받으면, View-1 디코더는 MB(0,0)을 디코딩할 수 있는데, 왜냐하면 그것은 아직 이용가능하지 않은 view-0 내 어떠한 영역도 참조하지 않기 때문이다 (만일 View-1의 MB(0,0)이 인트라 코딩되면(intra coded), View-1 디코더가 View-0의 MB(0,0)이 재구성되고 이용가능하다는 통지를 수신하기 전에 디코딩 동작이 시작될 수 있다는 것이 유념되어야 할 것이다). 이 시스템으로써, View-0 내 MB(0,1) 및 View-1 내 MB(0,0)은, 도 4의 단계(430)에서 나타난 바와 같이, 병렬로 디코딩될 수 있다. View-0 디코더는 View-1 디코더가 MB(0,0)의 디코딩을 완료한 후에만 MB(0,1)로부터 재구성값들로 메모리를 업데이트한다. View-0 디코더는 단계(435)에서 묘사된 바와 같이 View-1 디코더에 의해 통지되기를 기다릴 수 있거나, 아니면 그것은 참조 영역을 업데이트함이 없이, 계속 다음의 매크로블록들을 디코딩하고 그 참조를 임시 버퍼에 저장할 수 있다. MB(0,0)에 대한 디코딩 프로세스가 완료되었다는 View-1 디코더의 통지가 화살표(440)에 나타나 있다. 그리고 나서 이 프로세스는 필요한 만큼의 다음 매크로블록 및 그 후의 매크로블록들에 대하여 반복된다.
도 4에 묘사된 프로세스를 이용하여, 두 디코더들의 병렬 구현이 가능하다. 이러한 병렬 구현에서, 총 디코딩 시간은 다음과 같다:
τ0 + 지연_오버헤드(delay_overhead) + 동기화_오버헤드(synchronization_overhead).
이 식에서, 지연_오버헤드는 초기 매크로블록(들)이 디코딩되기 위해 기다리는데 쓰여지는 시간이다. 동기화_오버헤드는 양쪽 모두의 디코더들에 대한 기다림(WAIT) 상태들에서 쓰여지는 시간이다. 만약 서로 다른 뷰들에서의 각 매크로블록의 디코딩이 서로 다른 시간량들만큼 걸린다면, 그때 양쪽 디코더들 모두는 매우 자주 서로를 기다려야 할 필요가 있어서, 이는 동기화 오버헤드의 상당량을 유발하게 된다. 덧붙여서, 디코더들 간에 동기화하는 것은 어떤 구조들에 대해서는 단순할 수도 있음에도 불구하고, 어떤 구조들에서는 그것은 아주 문제가 될 수 있다. 그러므로 프레임당 더 적은 동기화 지점들을 갖는 것이 유리할 것이지만, 이것은 또한 병렬화를 감소시킬 수 있다. 다른 유념사항으로, 만약 뷰들 간에 초기 지연이 크면 (지연_오버헤드가 크면), 참조하는데에 이용가능한 영역이 증가하기 때문에 시스템의 코딩 효율성이 증가할 것이다.
도 4에서 묘사된 프로세스에서, 두 뷰들 간에 오직 한 MB 지연만이 논의된다. View-1 내 각 매크로블록에 대해 이용가능한 더 큰 참조 영역이 있을 것이기 때문에, 더 큰 지연을 가지는 것이, 이것이 코딩 효율성을 증가시키지만 동시에 병렬화를 방해할 것임에도 불구하고, 가능하다는 것이 유념되어야 할 것이다. 따라서, 두 뷰들 간의 매크로블록 지연은 기정의된 것을 가지고 있는 것보다 오히려 비트스트림에서 시그널링될 수 있다.
상기에서 논의된 설계상 제약들에 비추어 볼 때, 각 매크로블록에 대해 이용가능 참조 영역을 정의하도록 문법 요소(syntax element)들이 정의될 수 있다. 특히, PDS_블록_크기(pds_block_size) 및 PDS_초기_지연(pds_initial_delay)이 각각 블록 크기 및 초기 지연을 가리키기 위해 사용될 수 있다. 이용가능 참조 영역은 다음의 식을 사용하여 주어지는 매크로블록들의 리스트로부터 재구성 샘플들을 포함한다:
(-1,j], 여기서 j = (pds_initial_delay + (mbAddr / pds_block_size)) * pds_block_size - 1.
병렬 디코더 구현은, 뷰들 간에 동기화하는 것을 얼마나 자주 필요로 하는지를 결정하기 위해 PDS_블록_크기 정보를 사용할 수 있다. 예를 들면, 도 4에서 예시된 샘플 디코딩 프로세스는 매 매크로블록마다 2개의 뷰들을 동기화하는데, 이는PDS_블록_크기가 1임을 의미한다. PDS_초기_지연은, 디코딩이 시작될 수 있기 전에 얼마나 많은 PDS_블록(pds_block)들(PDS_블록은 PDS_블록_크기에 의해 주어지는 그것의 크기를 갖는 매크로블록들의 수이다)이 참조 뷰에 의해 이용가능하게 되어질 필요가 있는지를 디코더가 결정하는데 사용된다. 도 4에 예시된 예에 대하여, PDS_초기_지연은 1이다.
다음의 구문(syntax)이 본 발명의 하나의 실시예를 구현하기 위해 사용될 수도 있다:
Figure 112009029038162-PCT00001
Figure 112009029038162-PCT00002
이 구문에서, 1인 pds_parameters_present_flag는 i인 view_id를 가진 슬라이스들이 pds_parameters를 활용한다는 것을 나타낸다. 만약 pds_parameters_present_flag가 0이면, i인 view_id에 속하는 슬라이스들은 병렬_디코딩가능_슬라이스(parallelly_decodable_slice)가 아니다. 1인 fixed_pds_for_all_sequence_flag[i]는 i인 view_id에 속하는 모든 슬라이스들이 같은 pds_parameters를 공유한다는 것을 나타낸다. parallelly_decodable_slice_flag는 디블록킹되지 않은(un-deblocked) 참조가 현재 슬라이스에 대한 뷰간 예측(interview prediction)에 사용되도록 사이예측(interprediction)이 제한되고, 매크로블록들은 그것들에 대응되는 이용가능_참조_영역(available_reference_area)에 속하는 멀티뷰 참조로부터의 샘플들만을 포함한다는 것을 나타내고, 여기서 이용가능_참조_영역은 단지 다음의 식을 사용하여 매크로블록들의 각각에 대하여 정의되는 매크로블록 그룹으로부터의 샘플들만을 포함한다:
(-1,j], 여기서 j = (pds_initial_delay + ( mbAddr / pds_block_size ) ) * pds_block_size - 1.
pds_block_size_minus1_for_list_0[i] 더하기 1은 리스트-0 내 멀티뷰 참조 i에 대하여 pds_block_size를 매크로블록들의 수로 정의한다. pds_initial_delay_for_list_0[i]는 리스트-0 내 멀티뷰 참조 i에 대한 pds_initial_delay를 정의한다. pds_block_size_minus1_for_list_1[i] 더하기 1은 리스트-1 내 멀티뷰 참조 i에 대한 pds_block_size를 정의한다. pds_initial_delay_for_list_1[i]는 리스트-1 내 멀티뷰 참조 i에 대한 pds_initial_delay를 정의한다.
비록 병렬 디코딩 동작이 어떻게 이루어질 수 있는지에 관한 기본적인 개념이 일정 인코딩 제약들과 관련되지만, 본 발명의 다양한 실시예들에서의 시스템은 적응적 디블록킹(adaptive deblocking) 및 서브픽셀 보간(sub-pixel interpolation) 동작에 영향을 미치는 것이 유념되어야 할 것이다. 적응적 디블록킹과 관련하여, H.264/AVC(진보한 비디오 코딩) 표준에서, 적응적 디블록킹 필터가 변환 및 양자화에 의해 야기되는 블록킹 현상(blocking artifact)들을 제거하기 위해 활용된다. 그 디블록킹 필터는 경계들을 가로지르는 가장자리(edge)들 상에서 동작한다. 만약 경계가 2개의 매크로블록들 간에 있게 되면, 이웃 매크로블록들로부터의 역코드화 정보는 그 가장자리들을 필터링할 것이 요구된다. 이 필터링 프로세스는 본 발명의 다양한 실시예들과 관련하여 그것이 사용될 때 수정되어야 한다. 이는 매크로블록이 다른 뷰들에 의한 참조하기에 있어 이용가능하게 되는 때에 모든 그것의 이웃 매크로블록들이 아직 디코딩되지 않았을 수도 있다는 사실에 기인한다. 이러한 경우에, 아직 디코딩되지 않은 매크로블록들과 이웃하는 경계들은 필터링될 수 없다. 이 문제점을 다루기 위한 다수의 대안들이 존재한다.
아직 디코딩되지 않은 매크로블록들에 관한 문제점들을 다루기 위한 첫 번째 옵션은 뷰간 예측(inter-view prediction)에 대해 필터링되지 않은 재구성을 사용하는 것을 수반한다. 이 접근법에서 , 디코더는, 뷰간 예측을 수행시에는 필터링되지 않은 참조를 사용하지만, 시간적 예측(temporal prediction)에 있어서는 정기적 참조하기를 사용한다. 이것은 이웃하는 매크로블록들을 액세스하기 위한 필요성을 제거한다. 이 접근법은 도 3에 예시되어 있다.
아직 디코딩되지 않은 매크로블록들에 관한 문제점을 다루기 위한 두 번째 옵션은 슬라이딩 디블록킹을 사용하는 것을 수반한다. 이 접근법에서, 매크로블록이 다른 뷰들에 대해 참조로서 이용가능하게 되기 전에, 우측 및 하부 매크로블록 경계들을 제외한 모든 경계들은 필터링된다. 이 프로세스는 대체로 도 5에 묘사되어 있다. 도 6은 이러한 유형의 디코딩 동작에 관한 상세 구현을 보여주고 있는 도면이다. 도 4에 묘사된 실시예처럼, 제1 뷰 및 제2 뷰에 대한 디코딩 프로세스는 단계(600)(View-0에 대한 것) 및 단계(605)(View-1에 대한 것)에 묘사된 바와 같이 동시에 시작한다. 시작 이후에, View-1 디코더는 즉시 단계(615)에서 기다림(WAIT) 상태에 진입한다. View-1 디코더가 단계(615)에서 기다림 상태에 있는 동안, View-0 디코더는 MB(0,0)을 디코딩하고(610) 그리고 재구성된 매크로블록을 메모리 내에 준비되게 한다(612). 단계(614)에서, View-0 디코더는 전체 MB(0,0)을 그것의 하부 및 우측 경계들에 대해서는 제외하고 필터링한다. 일단 이것이 완료되면, View-1 디코더가 통지받는다(620). 단계(630)에서, View-1 디코더는 MB(0,0)을 디코딩하고, 반면에 View-0 디코더는 다음의 매크로블록 - 이 경우에서는 MB(0,1) - 을 디코딩한다. View-0 디코더가 MB(0,1)로부터 재구성 값들로 메모리를 업데이트하기 전에, 그것은 View-1 디코더가 MB(0,0)의 디코딩을 완료하기를 기다린다. 이 기다림은 단계(635)에 나타나 있고, View-1 디코더가 이 프로세스가 완료되었음을 통지하는 것은 단계(640)에 나타나 있다. 그리고 나서 이 프로세스는 필요한 만큼의 다음 매크로블록 및 그 후의 매크로블록들에 대하여 반복된다. 상기에 더하여, 인코더는 재구성된 샘플들과 다른 이웃 매크로블록들로부터 임의의 디코드화 정보를 사용함이 없이 매크로블록 경계들이 필터링되는 수정된 디블록킹 동작을 활용할 수 있다. 이것은 디코더에 비트스트림으로 시그널링될 수 있다.
아직 디코딩되지 않은 매크로블록들에 관한 문제점을 다루기 위한 세 번째 옵션은 참조 영역을 더 제한하는 것을 수반한다. 이 접근법과 관련하여, 매크로블록이 다른 뷰에서 참조할 수 있는 영역은 필터링 후 변할 수도 있는 픽셀들 중 어 느 것도 참조에 허용되지 않도록 더 제한된다. 이 접근법은 또한 상기에서 논의된 슬라이딩 디블록킹 접근법과 관련하여 사용될 수 있다.
서브픽셀 보간(sub-pixel interpolation)은 단편(fractional) 픽셀 정확도를 가지는 움직임 벡터를 갖는 블록들에 대하여 수행된다. H.264/AVC 표준에서, 움직임 벡터들은 정수, 1/2-픽셀 또는 1/4-픽셀 정확도들을 가질 수도 있다. 1/2-픽셀 샘플들은 6-tap FIR 필터를 사용하여 얻어지고, 1/4-픽셀 샘플들은 1/2 또는 정수 픽셀 위치들에서 가장 근접한 두 개의 샘플들을 사용하여 바이리니어(bilinear) 필터링함으로써 얻어진다. 본 발명의 여러가지 실시예들에 있어서 서브픽셀 보간의 효과는 도 3의 묘사에 비추어 이해될 수 있다. 도 3에서, 위치(2,2)의 매크로블록은 View-1 내 영역을 참조할 수도 있고, 여기서 그것은 이용가능 영역(흰색으로 표시됨) 내에 놓이지만, 여전히 참조 프레임(참조 메모리에서 음영진 것으로 표시됨)의 이용불가능 영역로부터의 픽셀들을 요구한다. 도 7은 View-1에서의 위치(2,2)의 매크로블록에 대하여 움직임 벡터가 (-0.25,-0.25)인 경우를 예시한다. 도 7에서 보여지는 바와 같이, 참조를 얻기 위해 요구되는 어떤 픽셀들은 아직 이용가능하지 않다 (즉, 음영 영역 내 픽셀들). 이 문제를 해결하기 위해, 다수의 여러가지 접근법들이 사용될 수도 있다. 첫 번째 이러한 접근법은 패딩(padding)을 수반한다. 이 접근법에서, 매크로블록이 참조 메모리 내에 넣어진 후에, 하부 및 우측 경계들이 패딩에 의해 확장된다. 패딩될 필요가 있는 픽셀들의 수는 보간 필터의 상세(details), 예를 들어 필터 길이(filter length)에 의존한다. 예를 들어, H.264/AVC에서, 3개의 픽셀들의 패딩이 필요로 될 것이다. 도 8은 일반적 시나리오 에서의 패딩된 영역을 보여준다.
아직 이용가능하지 않은 픽셀들에 관한 문제점을 다루기 위한 두 번째 접근법은 참조 영역을 더 제한하는 것을 수반한다. 이 접근법에 관련하여, 매크로블록이 다른 뷰 내에서 참조할 수 있는 영역은 단편 픽셀들에 대하여 더 제한된다. 그 결과로서, 이용불가능 영역으로부터의 픽셀들 중 어느 것도 서브픽셀 보간에 사용되지 않는다.
뷰간 예측을 위한 참조 영역이 제약되기 때문에, 본 발명의 다양한 실시예들을 활용하는 것은 또한 일정 정도의 코딩 효율성 하락이라는 결과를 가져올 수도 있다. 이러한 불이익은 소정의 카메라 배열들에서 더 명백할 수도 있다. 예를 들면, 도 9에 예시된 바와 같이 수직으로 정렬되지만 수평으로는 일정 간격이 두어진(spaced) 3개의 카메라들을 포함하는 카메라 시스템을 고려하는 것이 유용하다. View-0이 기본 뷰(base view)로서 코딩된다는 것을 가정할 때, View-1 프레임은 View-0 프레임을 참조하고 View-2 프레임은 View-1 프레임을 참조하며, 만약 본 발명의 다양한 실시예들이 뷰들 간에 하나의 MB 지연을 가지고 이용된다면, 그때는 View-2 및 View-1에 대한 최적의 매칭(matching) 블록들은 통상적으로 이용불가능 참조 영역들에 속할 것이고, 그에 의해 코딩 효율성을 감소시킨다. 이러한 현상은 많은 방식들로 다루어질 수 있다. 첫 번째 접근법은 뷰 의존성(view dependency)들을 정하는 것을 수반한다. 이 접근법에서, 인코더는 뷰들을 캡쳐하는데 사용되는 카메라 배열에 따라 뷰들 간의 참조 구조를 정할 수 있다. 이 구성에 관련하여, 각 뷰 내 최선의 매칭 블록들은 이용가능 참조 영역에 있을 가능성이 더 크다. 도 9에 묘사된 예에서, 참조들의 순서를 역으로 하는 것은 (즉, View-2가 기본 뷰이고, View-1이 View-2를 참조하고 그리고 View-0이 View-1을 참조함) 코딩 효율성을 증가시킬 것이다.
코딩 효율성을 향상시키기 위한 두 번째 옵션은 인코딩에 앞서 원래 화면을 수정하는 것을 수반한다. 이 접근법에서, 인코더는 일정한 뷰들에 대하여 수정된 원래 화면들을 사용하고 디코더에게 수정 상세들을 시그널링한다. 예를 들면, 전술한 예에서의 View-2가 수평으로 비추어진다면(mirrored), View-2 내 블록들은 다른 뷰들에서 그것들에 대응되는 최선의 매치들을 발견할 가능성이 더 높을 것이고, 그에 의해 코딩 효율성을 향상시킬 것이다. 이러한 접근법을 사용하여, 여러가지 수정들이 여러가지 카메라 배열들에 요구될 것임이 유념되어야 할 것이다.
코딩 효율성을 향상시키기 위한 세 번째 옵션은 슬라이스 그룹들의 활용을 수반한다. 이 접근법에서, 각 뷰 내 프레임들은 카메라 배열에 따라 여러가지 슬라이스 그룹들로 분할된다. 결과적으로, 다른 뷰들에서 최적의 매칭 블록을 발견할 가능성이 최대화된다. 도 9에 예시된 예에 관하여, 우리는 코딩 효율성을 향상시키기 위하여 하나 이상의 매크로블록들로써 서로로부터 수평으로 쉬프트(shift)되는 슬라이스 그룹(slice group)들을 형성할 수 있다.
코딩 효율성을 향상시키기 위한 네 번째 옵션은 수정된 래스터 스캔(raster scan)을 활용하는 것을 수반한다. 이 접근법에 있어서, 매크로블록들의 인코딩/디코딩 순서는 변한다. 이전 예에 대하여, View-2 매크로블록들이 상부-왼쪽 코너 대신에 상부-오른쪽 코너로부터 인코딩/디코딩되기 시작하면, 최선 매치를 발견할 가 능성이 증가할 것이고, 따라서 코딩 효율성을 증가시킬 것이다. 이 접근법에 있어서, 서로 다른 스캔 순서들이 서로 다른 카메라 배열들에 대하여 요구될 것임이 유념되어야 할 것이다.
상기에 더하여, 부가 강화 정보(supplemental enhancement information; SEI) 메시지 구문의 사용을 통하여 시그널링이 또한 허용될 수 있다. H.264/AVC-MVC 인코더의 출력 및 H.264/AVC-MVC 디코더의 입력에 대한 기초 유닛은 네트워크 추상층(Network Abstraction Layer; NAL) 유닛이다. 패킷지향 네트워크들을 통한 전송 또는 구조화된 파일들로의 저장에 관하여, NAL 유닛들은 전형적으로 패킷들 또는 유사한 구조들로 캡슐화된다. 프레이밍 구조(framing structure)들을 제공하지 않는 전송 또는 저장 환경들에서, 바이트스트림 포맷이 H.264/AVC 표준에 상술되었다. 바이트스트림 포맷은 각 NAL 유닛 앞에 시작 코드(start code)를 덧붙임으로써 NAL 유닛들을 서로로부터 분리시킨다. NAL 유닛 경계들을 잘못 탐지하는 것을 회피하기 위해, 인코더들은 바이트-지향(byte-oriented) 시작 코드 에뮬레이션 방지 알고리즘을 실행시켜야 하고, 이것은 만약 시작 코드가 다른 식으로 발생하였다면 NAL 유닛 페이로드에 에뮬레이션 방지 바이트(emulation prevention byte)를 부가한다. 패킷-지향(packet-oriented) 시스템과 스트림-지향(stream-oriented) 시스템 간에 직접적인 게이트웨이 동작을 가능하게 하기 위해, 시작 코드 에뮬레이션 방지는 바이트스트림 포맷이 사용되는지 여부에 관계없이 항상 수행된다.
SEI NAL 유닛은 하나 이상의 SEI 메시지들을 포함하고, 이것들은 출력 화면들의 디코딩에 요구되지는 않지만 화면 출력 타이밍, 렌더링, 에러 검출, 에러 은 폐(concealment) 및 리소스 예약과 같은 관련 프로세스들에 일조한다. 약 20개의 SEI 메시지들이 현재 H.264/AVC-MVC 표준에 상술되어 있다. 사용자 데이터 SEI 메시지들은 조직 및 회사가 그들 자신의 사용을 위한 SEI 메시지들을 상술할 수 있게 해 준다. H.264/AVC 표준은 상술된 SEI 메시지들에 대한 문법 및 의미론(semantics)을 포함하고 있지만, 수신자에서의 그 메시지들을 다루기 위한 어떠한 프로세스도 기존에는 정의되지 않았다. 그 결과, 인코더들은 그것들이 SEI 메시지들을 생성할 때 H.264/AVC 표준을 따를 것이 요구되고, H.264/AV -MVC 표준에 따르는 디코더들은 출력 순서 적합(conformance)을 위해 SEI 메시지들을 프로세싱할 것이 요구되지 않는다.
H.264/AVC에서 SEI 메시지들의 문법 및 의미론을 포함하는 이유들 중 하나는 3GPP 멀티미디어 명세(specifications) 및 DVB 명세와 같은 시스템 명세가 동일하게 따라서 공동으로 사용되어(interoperate) 그 부가 정보를 해석할 수 있게 해 주기 위함이다. 시스템 명세는 인코딩 및 디코딩 모두에서 특정 SEI 메시지들의 사용을 요구할 수 있고, 수신자에서의 SEI 메시지들을 다루기 위한 프로세스는 그 응용예에 대해 시스템 명세에서 상술될 수도 있다는 것이 의도된다. 상기에 비추어, 병렬 디코딩가능 슬라이스 파라미터들의 시그널링은 SEI 메시지들을 활용하여 이루어질 수 있다. 이러한 경우에, 인코더는 뷰간 예측이 수행되는 화면들에 대해 디블록킹 필터의 기능을 억제하길 원할 수도 있다.
상기에 더하여, 코딩 효율성을 증가시키기 위해 사용될 수 있는 다른 도구들도 있다. 이는 (1) PDS 배열 내 움직임 벡터들이 참조 영역의 한정에 기인하여 모 든 가능한 값들을 취할 수 없고, 그리고 (2) 움직임 벡터들의 수평 및 수직 성분들의 통계적 특성들이 PDS에서 상호관련된다는 사실을 이용하여 이루어진다. H.264/AVC 비디오 코딩 표준은 2개의 서로 다른 엔트로피 코딩 기법들을 지원한다 -- 콘텍스트 적응적 가변 길이 코딩(Context Adaptive Variable Length Coding; CAVLC) 및 콘텍스트 적응적 이진 산술 코딩(Context Adaptive Binary Arithmetic Coding; CABAC). CAVLC에 관한 바람직한 구현들은 다음과 같이 다양한 실시예들에 따라 제공되지만, 관련 기술분야에서 숙련된 자는 그 다양한 실시예들이 CABAC에도 또한 적용가능함을 이해할 것이다.
H.264/AVC에서, 움직임 벡터들은 2개의 성분들, 즉 수평 성분(MVX) 및 수직 성분(MVY)을 가진다. 움직임 벡터의 각 성분은 개별적으로 예측 움직임 벡터를 이용하여 코딩된다. 환언하면, 예측이 먼저 이루어지고, 그리고 나서 그 예측 및 원래 움직임 벡터 간의 차가 그 움직임 벡터의 수평 성분 및 수직 성분 각각에 대하여 코딩된다. 이 차는 그들의 발생 확률에 따라 이진 Exp-Golomb 코드워드(codeword)들로 맵핑되고, 이는 표준에 의해 정의된다. 예를 들면, 다음의 표는 움직임 벡터 차(motion vector difference; mvd) 및 관련 Exp-Golomb 코드워드들을 나타낸다.
코드 워드 MVD
1 0
010 0.25
011 -0.25
00100 0.5
00101 -0.5
00110 1.0
00111 -1.0
상기에서 제시된 기법은 PDS 시스템과 사용될 때 2가지 약점들을 가진다. 첫 번째로, 이 기법은 움직임 벡터들이 (H.264/AVC 표준에서 정의된 범위 내에서) 참조 영역 내 어느 곳이라도 가리킬 수 있음을 가정한다. 그러나, PDS에서, 참조 영역은 한정된다. 두 번째로, H.264/AVC 표준은 움직임 벡터들의 수평 성분 및 수직 성분의 통계적 특성들이, 그들이 개별적으로 코딩되기 때문에, 독립적임을 가정한다. 그러나, PDS 시스템에서의 움직임 벡터들의 경우에, 이들 두 성분들이 상호관련된다. 이 점은 도 12에서 실제로 보여지고 있는데, 이는 도 12에서의 표현에 비추어서 움직임 벡터들의 수평 성분 및 수직 성분에 대한 범위들을 보여주고 있다. 도 12에서, 어떻게 움직임 벡터의 수직 성분이 그 움직임 벡터의 수평 성분에 따라 다른 범위들을 가지는지를 보여준다. 특히, 도 12는 제1 수직 움직임 벡터 범위(1200), 제2 수직 움직임 벡터 범위(1210), 제1 수평 움직임 벡터 범위(1220) 및 제2 수평 움직임 벡터 범위(1230)를 보여주고 있다. 수직 움직임 벡터가 수평 움직임 벡터 이후에 적용될 때, 제1 수직 움직임 벡터 범위(1200)는 수평 움직임 벡터 범위가 0보다 작거나 같을 때 적용되고, 제2 수직 움직임 벡터 범위(1210)는 수평 움직임 벡터 범위가 0보다 클 때 적용된다. 유사하게, 수직 움직임 벡터가 코딩된 수평 움직임 벡터일 때, 그때는 제1 수평 움직임 벡터 범위(1220)는 수직 움직임 벡터 범위가 0보다 작거나 -16보다 클 때 적용되고, 제2 수평 움직임 벡터 범위는 수직 움직임 벡터 범위가 -16보다 작거나 같을 때 적용된다.
다양한 기법들이 H.264/AVC 표준에 관한 상기의 결점들을 처리하는데 사용될 수도 있다. 제1 기법에서, 단일의 코드워드가 각 움직임 벡터의 양쪽 성분들 모두를 코딩하는데 사용될 수 있다. 게다가, 움직임 벡터들로부터의 코드워드들로의 맵핑은 참조 영역에 따라 각 매크로블록에서 적응될 수도 있다. 참조 영역이 한정됨에 따라 움직임 벡터들의 통계적 특성들이 변할 경우 뷰들 (또는 부등 벡터(disparity vector)들) 간의 움직임 벡터들을 코딩한다. 이는 최적의 코딩 효율성을 제공하나, 각 매크로블록에 대해 수행되는 업데이트 프로세스 때문에 고도의 복잡성을 지닌다.
또 하나의 예에서, 또한 움직임 벡터 성분을 이진 코드워드로 맵핑시 각 성분에 대하여 이용가능 참조 영역을 고려하여, 움직임 벡터들의 수평 성분 및 수직 성분은 개별적으로 코딩될 수 있다. 예를 들면, 도 12의 지정된 매크로블록(1250)에 대한 움직임 백터가 코딩될 상황을 고려하는 것이 유용하다. 이 상황에서, 우리는 움직임 벡터의 수평 성분이 먼저 코딩되고 그 이후에 수직 성분이 코딩되는 것을 가정할 수 있다 (다만 어떤 상황들에서는 이 순서를 반대로 하는 것이 바람직할 수도 있다). MVY가 비트스트림에서 MVx를 뒤따르기 때문에, MVY 정보는 MVX를 코딩하는데 활용될 수 없다. 이러한 이유로, MVX에 대해 가능한 최대 범위는 MVX를 이진 코드워드로 맵핑하는데 활용되어야 할 것이다. MVX가 코딩된 후에, 수직 성분 벡터가 취할 수 있는 범위가 알려진다. 예를 들어, 만약 MVX가 양의 값이라면, 그때 MVY는 [-16,0] 사이의 값들을 취할 수 없다. 이 범위를 이용하여, 수직 성분은 이진 코드워드로 맵핑된다. 움직임 벡터 성분들의 이진 코드워드들로의 맵핑은 본질적으로, 참조 영역 제약으로 인해 유용하지 않은 값들을 제거하는 것, 및 코드워드 리스트에서 나머지 가능한 값들을 상향으로 쉬프트(shift)시키는 것을 수반한다.
다음은 CABAC 환경에서 가변 길이 코드들이 상기의 실시예들에 따라 어떻게 적응될 수 있는지를 실제로 보여주는 예이다. 이 예에서, 다음의 가변 길이 코드들은 움직임 벡터 차들의 집합을 나타내는 것이 가정되고, 이때 아래의 표는 유일한 후보(candidate) 가변 길이 코드들이다.
Figure 112009029038162-PCT00003
이 예에서, 또한, 병렬 디코딩 제한 때문에, 움직임 벡터 (즉, 움직임 벡터 예측과 움직임 벡터 차의 합)는 단지 일정한 값들만을 취할 수 있다는 것이 가정된다. 그 예측은 인코더 및 디코더에 알려져 있고, 그래서 그 인코더 및 그 디코더 양자 모두는 어떤 값들이 움직임 벡터 차를 구성할 수 없는지를 안다. 만약 이 제한이 움직임 벡터들 A, B 및 C가 사용될 수 없다는 것을 의미한다면, 그때 가변 길이 코드들은 다음과 같이 변경될 수 있다:
Figure 112009029038162-PCT00004
상기 변경의 결과로, D, E, F 및 G의 코딩 값들은 더 적은 비트들을 포함한다.
도 10 및 도 11은 그 내부에서 본 발명이 구현될 수도 있는 하나의 대표적인 전자 기기(12)를 보여준다. 그러나, 본 발명은 하나의 특정 유형의 전자 기기에 제한되도록 의도된 것은 아님을 이해하여야 할 것이다. 도 2 및 도 3의 전자 기기(12)는 하우징(housing, 30), 액정 표시 장치 형태의 디스플레이(32), 키패드(34), 마이크로폰(36), 이어폰(ear-piece, 38), 배터리(40), 적외선 포트(42), 안테나(44), 본 발명의 하나의 실시예에 따른 UICC(Universal IC card) 형태의 스마트 카드(46), 카드 리더(48), 무선 인터페이스 회로(52), 코덱(codec) 회로(54), 콘트롤러(56) 및 메모리(58)를 포함한다. 개개의 회로들 및 구성요소들은 모두 관련 기술분야에서 잘 알려진 유형이다. 이들 다양한 콤포넌트들은 이 문서에서 논의된 기기들 중 사실상 어느 기기에 관하여서도 기기들 내로 통합될 수 있다.
본 발명은 방법 단계들로 구성된 일반적인 맥락으로 기술되고, 이는 하나의 실시예에서, 컴퓨터-판독가능 매체 상에 구현되고 그리고 네트워킹된 환경들에서 컴퓨터들에 의해 실행되는, 컴퓨터-실행가능 명령들, 예컨대 프로그램 코드를 포함하는 프로그램 제품으로써 구현될 수도 있다. 컴퓨터 판독가능 매체들의 예들은, 전자 기기 메모리 유닛들, 랜덤 액세스 메모리(random access memory; RAM), 읽기 전용 메모리(read only memory; ROM), CD(compact disc), DVD(digital versatile disc; DVD) 및 내부 또는 외부의 다른 저장 기기들을 포함하지만 이에 제한되지 않는 다양한 유형의 저장 매체들을 포함할 수 있다. 일반적으로, 프로그램 모듈들은, 특정 작업들을 수행하거나 특정한 추상적 데이터 유형들을 구현하는, 루틴(routine)들, 프로그램들, 객체(object)들, 콤포넌트들, 데이터 구조들 등을 포함한다. 컴퓨터-실행가능 명령들, 관련 데이터 구조들 및 프로그램 모듈들은 이 문서에서 논의된 방법들의 단계들을 실행시키기 위한 프로그램 코드의 예들을 나타낸다. 이러한 실행가능 명령들 또는 관련 데이터 구조들의 특정 시퀀스는 이러한 단계들에서 기술된 기능들을 구현하기 위한 해당 작업들의 예들을 나타낸다.
본 발명의 소프트웨어 및 웹 구현들은, 다양한 데이터베이스 탐색 단계들, 상관 단계들, 비교 단계들 및 결정 단계들을 완수하기 위한 규칙 기반 로직 및 다른 로직을 이용한 표준 프로그래밍 기술들로써 이루어질 수 있다. 또한 이 문서에서 그리고 청구항들에서 사용된 "콤포넌트" 및 "모듈"과 같은 단어들은 하나 이상의 소프트웨어 코드 라인들을 이용한 구현들, 및/또는 하드웨어 구현들, 및/또는 수동 입력을 수신하기 위한 장비를 포함하도록 의도됨을 유념하여야 할 것이다.
본 발명의 실시예들에 관한 전술한 설명은 예시 및 설명을 위하여 제공되었다. 속속들이 규명하는 것 또는 본 발명을 개시된 정확한 형태로 제한시키는 것이 의도되지는 않고, 상기의 교시내용들에 비추어 변경예 및 변동예가 가능하고 또는 본 발명의 실행으로부터 얻을 수도 있다. 그 실시예들은, 관련 기술분야에서 숙련된 자가 다양한 실시예들로 그리고 고려된 특정 용도에 적합된 다양한 변경예들로 본 발명을 활용하는 것을 가능하게 하도록 본 발명 및 그것의 실제 응용에서의 원리들을 설명하기 위해 선택되고 기술되었다. 이 문서에서 설명된 실시예들의 특징들은 방법들, 장치, 모듈들, 시스템들 및 컴퓨터 프로그램 제품들의 모든 가능한 조합들로 결합될 수도 있다.

Claims (82)

  1. 뷰간 예측(inter-view prediction) 관계를 가진 다수의 뷰(view)들로부터의 프레임들을 디코딩하는 방법에 있어서,
    디코딩을 위해 제1 뷰로부터 획득된 화면의 제1 프레임의 특정 매크로블록(macroblock)을 수신하고;
    제2 뷰로부터 획득된 상기 화면의 대응되는 제2 프레임 내 어느 매크로블록들이 상기 특정 매크로블록에 의해 참조될 수 있는지에 관한 정보를 디코딩하며; 그리고
    상기 특정 매크로블록에 의해 참조되도록 허용된 매크로블록들이 참조 메모리(reference memory)에 재구성되었다면, 상기 특정 매크로블록을 디코딩하는 것을 포함하는 방법.
  2. 제1항에 있어서,
    상기 특정 매크로블록에 의해 참조되도록 허용된 상기 매크로블록들이 상기 참조 메모리에 재구성되었음을 알리는 통지(notification)가 별개의 디코더로부터 수신되는, 방법.
  3. 제1항에 있어서,
    상기 특정 매크로블록의 상기 디코딩이 완료된 후에 별개의 디코더에게 통지 하는 것을 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 특정 매크로블록을 디코딩하기 전에, 상기 특정 매크로블록이 디코딩되기 전에 상기 특정 매크로블록에 대응되는 상기 제2 프레임의 매크로블록에서 블록킹 아티팩트(blocking artifact)들을 제거하기 위해 적응적 디블록킹 필터(adaptive deblocking filter)가 사용되는 것을 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 제2 프레임 내 상기 필터링된 매크로블록의 우측 및 하부 경계들은 필터링되지 않는, 방법.
  6. 제4항에 있어서,
    상기 제2 프레임의 상기 대응되는 매크로블록은, 뷰간 예측을 위해, 필터링되지 않고 사용되며,
    상기 제2 프레임의 상기 대응되는 매크로블록은, 시간적 예측(temporal prediction)을 위해, 후필터링(post-filtering)하여 사용되는, 방법.
  7. 제4항에 있어서,
    상기 특정 매크로블록에 의해 참조될 수 있는 상기 제2 프레임의 상기 대응 되는 매크로블록의 영역은 제한되는, 방법.
  8. 제1항에 있어서,
    상기 특정 매크로블록에 대응되는 상기 제2 프레임의 매크로블록의 하부 및 우측 가장자리들은, 상기 대응되는 매크로블록이 재구성된 후에, 기결정된 개수의 픽셀들에 의해 패딩(padding)되는, 방법.
  9. 제1항에 있어서,
    상기 특정 매크로블록에 의해 참조될 수 있는 상기 대응되는 제2 프레임 내 상기 매크로블록들은 단편 픽셀(fractional pixel)들에 대해 제한되는, 방법.
  10. 제1항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 각 프레임의 상부-좌측 코너로부터 하부-우측 코너 쪽으로 진행되는, 방법.
  11. 제1항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 각 프레임의 상부-우측 코너로부터 하부-좌측 코너 쪽으로 진행되는, 방법.
  12. 제1항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 임의의 방향을 따르는, 방법.
  13. 제12항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 비트스트림으로 시그널링되는, 방법.
  14. 제1항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임은 상기 제1 뷰 및 상기 제2 뷰를 담당하는 제1 카메라 및 제2 카메라의 배치에 기초하여 슬라이스 그룹(slice group)들로 분할되는, 방법.
  15. 제1항에 있어서,
    상기 특정 매크로블록에 의해 참조될 수 있는 상기 대응되는 제2 프레임 내 상기 매크로블록들은 상기 제1 뷰 및 상기 제2 뷰를 담당하는 제1 카메라 및 제2 카메라의 배치에 적어도 부분적으로 기초하는, 방법.
  16. 제1항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 중 적어도 하나는 인코더에 의해 이전에 변경되었던 화면으로부터 획득되는, 방법.
  17. 제1항에 있어서,
    상기 정보는, 별개의 디코더로부터 통지를 수신하기 전에 상기 참조 메모리에 재구성된 매크로블록들의 수를 포함하는, 방법.
  18. 제1항에 있어서,
    상기 정보는, 디코딩 절차를 시작하기 전에 기다릴 통지들의 수를 포함하는, 방법.
  19. 제1항에 있어서,
    수신된 정보는 시퀀스 파라미터 집합 레벨(sequence parameter set level)로 시그널링되는, 방법.
  20. 제1항에 있어서,
    수신된 정보는 화면 파라미터 집합 레벨(picture parameter set level)로 시그널링되는, 방법.
  21. 제1항에 있어서,
    수신된 정보는 슬라이스 헤더 레벨(slice header level)로 시그널링되는, 방법.
  22. 제1항에 있어서,
    수신된 정보는 매크로블록 헤더 레벨(macroblock header level)로 시그널링되는, 방법.
  23. 제1항에 있어서,
    코딩된 움직임 벡터(motion vector) 정보도 수신되고 디코딩되며,
    참조 영역(reference area)이 한정됨에 따라 움직임 벡터들의 통계적 특성들이 변할 때 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 코딩이 변경되는, 방법.
  24. 제23항에 있어서,
    단일의 코드워드(codeword)가 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 양쪽 성분들 모두를 코딩하는데 사용되고,
    움직임 벡터들로부터의 코드워드들로의 맵핑은 각 매크로블록에서, 참조 영역에 따라, 적응되는, 방법.
  25. 제23항에 있어서,
    각 움직임 벡터의 수평 성분 및 수직 성분은 개별적으로 코딩되고,
    상기 수평 성분 및 상기 수직 성분에 대한 이용가능 참조 영역은 각 움직임 벡터 성분을 이진 코드워드로 맵핑시 고려되는, 방법.
  26. 컴퓨터-판독가능 매체에 구현되어, 뷰간 예측(inter-view prediction) 관계를 가진 다수의 뷰(view)들로부터의 프레임들을 디코딩하기 위한 컴퓨터 프로그램 제품에 있어서,
    디코딩을 위해 제1 뷰로부터 획득된 화면의 제1 프레임의 특정 매크로블록(macroblock)을 수신하기 위한 컴퓨터 코드;
    제2 뷰로부터 획득된 상기 화면의 대응되는 제2 프레임 내 어느 매크로블록들이 상기 특정 매크로블록에 의해 참조될 수 있는지에 관한 정보를 디코딩하기 위한 컴퓨터 코드; 및
    상기 특정 매크로블록에 의해 참조되도록 허용된 상기 매크로블록들이 참조 메모리(reference memory)에 재구성되었다면, 상기 특정 매크로블록을 디코딩하기 위한 컴퓨터 코드를 포함하는 컴퓨터 프로그램 제품.
  27. 프로세서; 및
    상기 프로세서에 통신가능하게 연결된 메모리 유닛을 포함한 장치로서,
    상기 메모리 유닛은,
    디코딩을 위해 제1 뷰로부터 획득된 화면의 제1 프레임의 특정 매크로블록(macroblock)을 수신하기 위한 컴퓨터 코드;
    제2 뷰로부터 획득된 상기 화면의 대응되는 제2 프레임 내 어느 매크로블록 들이 상기 특정 매크로블록에 의해 참조될 수 있는지에 관한 정보를 디코딩하기 위한 컴퓨터 코드; 및
    상기 특정 매크로블록에 의해 참조되도록 허용된 상기 매크로블록들이 참조 메모리(reference memory)에 재구성되었다면, 상기 특정 매크로블록을 디코딩하기 위한 컴퓨터 코드를 포함하는, 장치.
  28. 제27항에 있어서,
    상기 특정 매크로블록에 의해 참조되도록 허용된 상기 매크로블록들이 상기 참조 메모리에 재구성되었음을 알리는 통지(notification)가 별개의 디코더로부터 수신되는, 장치.
  29. 제27항에 있어서,
    상기 특정 매크로블록의 상기 디코딩이 완료된 후에 별개의 디코더에게 통지하는 것을 더 포함하는 장치.
  30. 제27항에 있어서,
    상기 특정 매크로블록을 디코딩하기 전에, 상기 특정 매크로블록이 디코딩되기 전에 상기 특정 매크로블록에 대응되는 상기 제2 프레임의 매크로블록에서 블록킹 아티팩트(blocking artifact)들을 제거하기 위해 적응적 디블록킹 필터(adaptive deblocking filter)가 사용되는 것을 더 포함하는 장치.
  31. 제30항에 있어서,
    상기 제2 프레임 내 상기 필터링된 매크로블록의 우측 및 하부 경계들은 필터링되지 않는, 장치.
  32. 제30항에 있어서,
    상기 제2 프레임의 상기 대응되는 매크로블록은, 뷰간 예측을 위해, 필터링되지 않고 사용되며,
    상기 제2 프레임의 상기 대응되는 매크로블록은, 시간적 예측(temporal prediction)을 위해, 후필터링(post-filtering)하여 사용되는, 장치.
  33. 제30항에 있어서,
    상기 특정 매크로블록에 의해 참조될 수 있는 상기 제2 프레임의 상기 대응되는 매크로블록의 영역은 제한되는, 장치.
  34. 제27항에 있어서,
    상기 특정 매크로블록에 대응되는 상기 제2 프레임의 매크로블록의 하부 및 우측 가장자리들은, 상기 대응되는 매크로블록이 재구성된 후에, 기결정된 개수의 픽셀들에 의해 패딩(padding)되는, 장치.
  35. 제27항에 있어서,
    상기 특정 매크로블록에 의해 참조될 수 있는 상기 대응되는 제2 프레임 내 상기 매크로블록들은 단편 픽셀(fractional pixel)들에 대해 제한되는, 장치.
  36. 제27항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 각 프레임의 상부-좌측 코너로부터 하부-우측 코너 쪽으로 진행되는, 장치.
  37. 제27항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 각 프레임의 상부-우측 코너로부터 하부-좌측 코너 쪽으로 진행되는, 장치.
  38. 제27항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 임의의 방향을 따르는, 장치.
  39. 제38항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 비트스트림으로 시그널링되는, 장치.
  40. 제27항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임은 상기 제1 뷰 및 상기 제2 뷰를 담당하는 제1 카메라 및 제2 카메라의 배치에 기초하여 슬라이스 그룹(slice group)들로 분할되는, 장치.
  41. 제27항에 있어서,
    상기 특정 매크로블록에 의해 참조될 수 있는 상기 대응되는 제2 프레임 내 상기 매크로블록들은 상기 제1 뷰 및 상기 제2 뷰를 담당하는 제1 카메라 및 제2 카메라의 배치에 적어도 부분적으로 기초하는, 장치.
  42. 제27항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 중 적어도 하나는 인코더에 의해 이전에 변경되었던 화면으로부터 획득되는, 장치.
  43. 제27항에 있어서,
    상기 정보는, 별개의 디코더로부터 통지를 수신하기 전에 상기 참조 메모리에 재구성된 매크로블록들의 수를 포함하는, 장치.
  44. 제27항에 있어서,
    상기 정보는, 디코딩 절차를 시작하기 전에 기다릴 통지들의 수를 포함하는, 장치.
  45. 제27항에 있어서,
    수신된 정보는 시퀀스 파라미터 집합 레벨(sequence parameter set level)로 시그널링되는, 장치.
  46. 제27항에 있어서,
    수신된 정보는 화면 파라미터 집합 레벨(picture parameter set level)로 시그널링되는, 장치.
  47. 제27항에 있어서,
    수신된 정보는 슬라이스 헤더 레벨(slice header level)로 시그널링되는, 장치.
  48. 제27항에 있어서,
    수신된 정보는 매크로블록 헤더 레벨(macroblock header level)로 시그널링되는, 장치.
  49. 제27항에 있어서,
    코딩된 움직임 벡터(motion vector) 정보도 수신되고 디코딩되며,
    참조 영역(reference area)이 한정됨에 따라 움직임 벡터들의 통계적 특성들이 변할 때 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 코딩이 변경되는, 장치.
  50. 제49항에 있어서,
    단일의 코드워드(codeword)가 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 양쪽 성분들 모두를 코딩하는데 사용되고,
    움직임 벡터들로부터의 코드워드들로의 맵핑은 참조 영역에 따라 각 매크로블록에서 적응되는, 장치.
  51. 제49항에 있어서,
    각 움직임 벡터의 수평 성분 및 수직 성분은 개별적으로 코딩되고,
    상기 수평 성분 및 상기 수직 성분에 대한 이용가능 참조 영역은 각 움직임 벡터 성분을 이진 코드워드로 맵핑시 고려되는, 장치.
  52. 뷰간 예측(inter-view prediction) 관계를 가진 다수의 뷰(view)들로부터의 프레임들을 인코딩하는 방법에 있어서,
    제1 뷰로부터 획득된 화면의 제1 프레임의 제1 복수의 매크로블록(macroblock)들을 비트스트림 내로 인코딩하고;
    제2 뷰로부터 획득된 상기 화면의 제2 프레임의 제2 복수의 매크로블록들을 비트스트림 내로 인코딩하며 [상기 제2 프레임의 적어도 일부는 상기 제1 프레임의 적어도 일부를 참조함]; 그리고
    상기 제2 프레임 내 각 매크로블록에 대하여, 상기 제1 프레임 내 상기 복수의 매크로블록들 중 어느 것이 참조될 수 있는지에 관한 표시(indication)를 상기 비트스트림으로 시그널링하는 것을 포함하는 방법.
  53. 제52항에 있어서,
    상기 시그널링은 시퀀스 파라미터 집합 레벨(sequence parameter set level)로 일어나는, 방법.
  54. 제52항에 있어서,
    상기 시그널링은 화면 파라미터 집합 레벨(picture parameter set level)로 일어나는, 방법.
  55. 제52항에 있어서,
    상기 시그널링은 슬라이스 헤더 레벨(slice header level)로 일어나는, 방법.
  56. 제52항에 있어서,
    상기 시그널링은 매크로블록 헤더 레벨(macroblock header level)로 일어나 는, 방법.
  57. 제52항에 있어서,
    상기 제2 프레임 내의 특정 매크로블록에 의해 참조될 수 있는 상기 제1 프레임 내 상기 매크로블록들은 상기 제1 뷰 및 상기 제2 뷰를 담당하고 있는 제1 카메라 및 제2 카메라의 배치에 적어도 부분적으로 기초하는, 방법.
  58. 제52항에 있어서,
    상기 제2 프레임 내의 특정 매크로블록에 의해 참조될 수 있는 상기 제1 프레임 내 매크로블록들의 영역은 단편 픽셀(fractional pixel)들에 대해 제한되는, 방법.
  59. 제52항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 인코딩 순서는 각 프레임의 상부-좌측 코너로부터 하부-우측 코너 쪽으로 진행되는, 방법.
  60. 제52항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 인코딩 순서는 각 프레임의 상부-우측 코너로부터 하부-좌측 코너 쪽으로 진행되는, 방법.
  61. 제52항에 있어서,
    상기 표시는, 상기 제2 복수의 매크로블록들 중 적어도 하나의 디코딩이 시작될 수 있음을 나타내는 통지가 전송되기 전에 참조 메모리(reference memory)에 재구성될 매크로블록들의 수를 포함하는, 방법.
  62. 제52항에 있어서,
    상기 표시는 상기 제2 복수의 매크로블록들 중 적어도 하나의 디코딩이 시작될 수 있기 전에 기다릴 통지들의 수를 포함하는, 방법.
  63. 제52항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 비트스트림으로 시그널링되는, 방법.
  64. 제52항에 있어서,
    코딩된 움직임 벡터(motion vector) 정보도 비트스트림 내로 인코딩되고,
    참조 영역(reference area)이 한정됨에 따라 움직임 벡터들의 통계적 특성들이 변할 때 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 코딩이 변경되는, 방법.
  65. 제64항에 있어서,
    단일의 코드워드(codeword)가 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 양쪽 성분들 모두를 코딩하는데 사용되고,
    움직임 벡터들로부터의 코드워드들로의 맵핑은 참조 영역에 따라 각 매크로블록에서 적응되는, 방법.
  66. 제64항에 있어서,
    각 움직임 벡터의 수평 성분 및 수직 성분은 개별적으로 코딩되고,
    상기 수평 성분 및 상기 수직 성분에 대한 이용가능 참조 영역은 각 움직임 벡터 성분을 이진 코드워드로 맵핑시 고려되는, 방법.
  67. 컴퓨터-판독가능 매체에 구현되어, 뷰간 예측(inter-view prediction) 관계를 가진 다수의 뷰(view)들로부터의 프레임들을 인코딩하기 위한 컴퓨터 프로그램 제품에 있어서,
    제1 뷰로부터 획득된 화면의 제1 프레임의 제1 복수의 매크로블록(macroblock)들을 비트스트림 내로 인코딩하기 위한 컴퓨터 코드;
    제2 뷰로부터 획득된 상기 화면의 제2 프레임의 제2 복수의 매크로블록들을 비트스트림 내로 인코딩하기 위한 컴퓨터 코드 [상기 제2 프레임의 적어도 일부는 상기 제1 프레임의 적어도 일부를 참조함]; 및
    상기 제2 프레임 내 각 매크로블록에 대하여, 상기 제1 프레임 내 상기 복수의 매크로블록들 중 어느 것이 참조될 수 있는지에 관한 표시(indication)를 상기 비트스트림으로 시그널링하기 위한 컴퓨터 코드를 포함하는, 컴퓨터 프로그램 제품.
  68. 프로세서; 및
    상기 프로세서에 통신가능하게 연결된 메모리를 포함하는 인코딩 장치로서,
    상기 메모리 유닛은,
    제1 뷰로부터 획득된 화면의 제1 프레임의 제1 복수의 매크로블록(macroblock)들을 비트스트림 내로 인코딩하기 위한 컴퓨터 코드;
    제2 뷰로부터 획득된 상기 화면의 제2 프레임의 제2 복수의 매크로블록들을 비트스트림 내로 인코딩하기 위한 컴퓨터 코드 [상기 제2 프레임의 적어도 일부는 상기 제1 프레임의 적어도 일부를 참조함]; 및
    상기 제2 프레임 내 각 매크로블록에 대하여, 상기 제1 프레임 내 상기 복수의 매크로블록들 중 어느 것이 참조될 수 있는지에 관한 표시(indication)를 상기 비트스트림으로 시그널링하기 위한 컴퓨터 코드를 포함하는, 장치.
  69. 제68항에 있어서,
    상기 시그널링은 시퀀스 파라미터 집합 레벨(sequence parameter set level)로 일어나는, 장치.
  70. 제68항에 있어서,
    상기 시그널링은 화면 파라미터 집합 레벨(picture parameter set level)로 일어나는, 장치.
  71. 제68항에 있어서,
    상기 시그널링은 슬라이스 헤더 레벨(slice header level)로 일어나는, 장치.
  72. 제68항에 있어서,
    상기 시그널링은 매크로블록 헤더 레벨(macroblock header level)로 일어나는, 장치.
  73. 제68항에 있어서,
    상기 제2 프레임 내의 특정 매크로블록에 의해 참조될 수 있는 상기 제1 프레임 내 상기 매크로블록들은 상기 제1 뷰 및 상기 제2 뷰를 담당하고 있는 제1 카메라 및 제2 카메라의 배치에 적어도 부분적으로 기초하는, 장치.
  74. 제68항에 있어서,
    상기 제2 프레임 내의 특정 매크로블록에 의해 참조될 수 있는 상기 제1 프레임 내 매크로블록들의 영역은 단편 픽셀(fractional pixel)들에 대해 제한되는, 장치.
  75. 제68항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 인코딩 순서는 각 프레임의 상부-좌측 코너로부터 하부-우측 코너 쪽으로 진행되는, 장치.
  76. 제68항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 인코딩 순서는 각 프레임의 상부-우측 코너로부터 하부-좌측 코너 쪽으로 진행되는, 장치.
  77. 제68항에 있어서,
    상기 표시는, 상기 제2 복수의 매크로블록들 중 적어도 하나의 디코딩이 시작될 수 있음을 나타내는 통지가 전송되기 전에 참조 메모리(reference memory)에 재구성될 매크로블록들의 수를 포함하는, 장치.
  78. 제68항에 있어서,
    상기 표시는 상기 제2 복수의 매크로블록들 중 적어도 하나의 디코딩이 시작될 수 있기 전에 기다릴 통지들의 수를 포함하는, 장치.
  79. 제68항에 있어서,
    상기 제1 프레임 및 상기 제2 프레임 내 매크로블록들의 디코딩 순서는 비트 스트림으로 시그널링되는, 장치.
  80. 제68항에 있어서,
    코딩된 움직임 벡터(motion vector) 정보도 비트스트림 내로 인코딩되고,
    참조 영역(reference area)이 한정됨에 따라 움직임 벡터들의 통계적 특성들이 변할 때 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 코딩이 변경되는, 장치.
  81. 제80항에 있어서,
    단일의 코드워드(codeword)가 상기 제1 뷰 및 상기 제2 뷰 간의 움직임 벡터들의 양쪽 성분들 모두를 코딩하는데 사용되고,
    움직임 벡터들로부터의 코드워드들로의 맵핑은 참조 영역에 따라 각 매크로블록에서 적응되는, 장치.
  82. 제80항에 있어서,
    각 움직임 벡터의 수평 성분 및 수직 성분은 개별적으로 코딩되고,
    상기 수평 성분 및 상기 수직 성분에 대한 이용가능 참조 영역은 각 움직임 벡터 성분을 이진 코드워드로 맵핑시 고려되는, 장치.
KR1020097009917A 2006-10-16 2007-10-15 멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법 KR101101965B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US85202906P 2006-10-16 2006-10-16
US60/852,029 2006-10-16
PCT/IB2007/054197 WO2008047300A2 (en) 2006-10-16 2007-10-15 System and method for using parallelly decodable slices for multi-view video coding

Publications (2)

Publication Number Publication Date
KR20090079952A true KR20090079952A (ko) 2009-07-22
KR101101965B1 KR101101965B1 (ko) 2012-01-02

Family

ID=39314433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097009917A KR101101965B1 (ko) 2006-10-16 2007-10-15 멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US8594203B2 (ko)
EP (1) EP2080379B1 (ko)
KR (1) KR101101965B1 (ko)
CN (1) CN101627634B (ko)
CA (1) CA2673494C (ko)
MX (1) MX2009003968A (ko)
TW (1) TWI449431B (ko)
WO (1) WO2008047300A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013039348A1 (ko) * 2011-09-16 2013-03-21 엘지전자 주식회사 영상 정보 시그널링 방법 및 이를 이용한 비디오 디코딩 방법
WO2014163464A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 현재 영상이 참조 영상이 되는지 여부를 결정하는 방법과 그 장치
US9020286B2 (en) 2010-07-27 2015-04-28 Samsung Electronics Co., Ltd. Apparatus for dividing image data and encoding and decoding image data in parallel, and operating method of the same

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US20100091845A1 (en) * 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
KR100959536B1 (ko) * 2006-03-30 2010-05-27 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
US8325814B2 (en) * 2006-06-19 2012-12-04 Lg Electronics Inc. Method and apparatus for processing a video signal
US8532178B2 (en) * 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
CN101675667A (zh) * 2007-01-04 2010-03-17 汤姆森特许公司 用于多视图编码的视频中的视频纠错的方法和装置
CN101669367A (zh) * 2007-03-02 2010-03-10 Lg电子株式会社 用于解码/编码视频信号的方法及设备
US8155461B2 (en) * 2007-03-27 2012-04-10 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding multi-view image
EP2149262A4 (en) 2007-04-25 2010-09-01 Lg Electronics Inc METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL
WO2008143747A2 (en) * 2007-05-16 2008-11-27 Thomson Licensing Methods and apparatus for the use of slice groups in decoding multi-view video coding (mvc) information
BRPI0814843A2 (pt) * 2007-08-15 2015-01-27 Thomson Licensing Método e aparelho para encobrimento de erro em vídeo codificado em multivista
CN101861735B (zh) * 2008-09-18 2013-08-21 松下电器产业株式会社 图像解码装置及方法、图像编码装置及方法
EP2338281A4 (en) 2008-10-17 2012-08-15 Nokia Corp SHARING THE MOTION VECTOR IN 3D VIDEO CODING
CN101836454B (zh) * 2008-12-03 2012-08-22 联发科技股份有限公司 对有序熵切片执行平行cabac码处理的方法及装置
US9467699B2 (en) * 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
KR101405019B1 (ko) * 2009-01-29 2014-06-11 돌비 레버러토리즈 라이쎈싱 코오포레이션 다중 이미지들,예를 들면 스테레오스코픽을 서브―샘플링 및 인터리빙하기 위한 방법들 및 디바이스들
WO2010117315A1 (en) * 2009-04-09 2010-10-14 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
US8948247B2 (en) * 2009-04-14 2015-02-03 Futurewei Technologies, Inc. System and method for processing video files
CN102450010A (zh) * 2009-04-20 2012-05-09 杜比实验室特许公司 定向内插和数据后处理
US8773505B2 (en) 2009-04-27 2014-07-08 Lg Electronics Inc. Broadcast receiver and 3D video data processing method thereof
KR101118091B1 (ko) * 2009-06-04 2012-03-09 주식회사 코아로직 비디오 데이터 처리 장치 및 방법
JP5698156B2 (ja) * 2009-06-09 2015-04-08 トムソン ライセンシングThomson Licensing 復号装置、復号方法、および編集装置
AU2010257534B2 (en) * 2009-06-11 2014-10-30 Interdigital Ce Patent Holdings A power saving method at an access point
KR101353115B1 (ko) 2009-08-03 2014-01-21 제너럴 인스트루먼트 코포레이션 비디오 컨텐트를 인코딩하는 방법
CA2777016C (en) 2009-10-13 2015-10-20 Lg Electronics Inc. Broadcast receiver and 3d video data processing method thereof
US8570361B2 (en) * 2010-01-11 2013-10-29 Mediatek Inc. Decoding method and decoding apparatus for using parallel processing scheme to decode pictures in different bitstreams after required decoded data derived from decoding preceding picture(s) is ready
CN102123280B (zh) * 2010-01-11 2016-03-02 联发科技股份有限公司 解码方法及解码装置
KR101457396B1 (ko) 2010-01-14 2014-11-03 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치
GB2477527B (en) * 2010-02-04 2015-12-23 Advanced Risc Mach Ltd Parallel parsing in a video decoder
EP2534643A4 (en) * 2010-02-11 2016-01-06 Nokia Technologies Oy METHOD AND APPARATUS FOR PROVIDING MULTIFIL VIDEO DECODING
US8971413B2 (en) * 2010-05-24 2015-03-03 Intel Corporation Techniques for storing and retrieving pixel data
US9635342B2 (en) 2010-10-05 2017-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Multi-view encoding and decoding technique based on single-view video codecs
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
CN102098516B (zh) * 2011-03-07 2012-10-31 上海大学 多视点视频解码端去块滤波方法
JP5729817B2 (ja) * 2011-06-29 2015-06-03 日本電信電話株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム及び動画像復号プログラム
US10237565B2 (en) * 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
WO2013032512A1 (en) * 2011-08-30 2013-03-07 Intel Corporation Multiview video coding schemes
WO2013076888A1 (ja) * 2011-11-21 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法
EP2798769B1 (en) * 2011-12-30 2017-06-14 Intel Corporation Preventing pattern recognition in electronic code book encryption
JP6046923B2 (ja) * 2012-06-07 2016-12-21 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
KR20140030473A (ko) * 2012-08-30 2014-03-12 삼성전자주식회사 멀티 뷰 영상 처리 방법 및 이를 수행하는 장치
ES2716579T3 (es) * 2012-09-26 2019-06-13 Velos Media Int Ltd Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes
SG10201601307SA (en) * 2012-09-28 2016-03-30 Sony Corp Image processing device and method
BR112015011914A2 (pt) * 2012-11-30 2017-07-11 Sony Corp dispositivo e método de processamento de imagem
US10021414B2 (en) 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
EP3809707B1 (en) 2013-01-04 2024-05-08 GE Video Compression, LLC Efficient scalable coding concept
JP6449241B2 (ja) 2013-04-08 2019-01-09 ジーイー ビデオ コンプレッション エルエルシー 効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプト
US10250897B2 (en) * 2013-07-14 2019-04-02 Sharp Kabushiki Kaisha Tile alignment signaling and conformance constraints
AU2014202682A1 (en) * 2014-05-16 2015-12-03 Canon Kabushiki Kaisha Method, apparatus and system for copying a block of video samples
KR102273670B1 (ko) * 2014-11-28 2021-07-05 삼성전자주식회사 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법
US20160173897A1 (en) * 2014-12-10 2016-06-16 Haihua Wu High Parallelism Dependency Pattern for GPU Based Deblock
CN107439015B (zh) * 2015-02-05 2020-08-14 弗劳恩霍夫应用研究促进协会 支持残差预测的多视图视频编解码器
WO2018225593A1 (ja) * 2017-06-05 2018-12-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
EP3646605A4 (en) * 2017-06-30 2020-11-25 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING INFORMATION ASSOCIATED WITH CONSTITUTIVE IMAGES IN VIRTUAL REALITY APPLICATIONS
US11736713B2 (en) * 2018-11-14 2023-08-22 Tencent America LLC Constraint on affine model motion vector
CN113366834A (zh) * 2018-11-26 2021-09-07 弗劳恩霍夫应用研究促进协会 使用切片独立约束的间预测概念
EP3745706B1 (en) * 2019-05-29 2021-06-30 Axis AB System and method for video processing with picture stabilization and predictive compression
JP2022548330A (ja) 2019-09-24 2022-11-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド レイヤベースのパラメータセットnalユニット制約
JP2021057767A (ja) * 2019-09-30 2021-04-08 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置および画像データ転送方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612735A (en) * 1995-05-26 1997-03-18 Luncent Technologies Inc. Digital 3D/stereoscopic video compression technique utilizing two disparity estimates
US6055012A (en) * 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
CA2526274C (en) * 2003-05-30 2015-12-01 Agensys, Inc. Prostate stem cell antigen (psca) variants and subsequences thereof
EP1578134A1 (en) * 2004-03-18 2005-09-21 STMicroelectronics S.r.l. Methods and systems for encoding/decoding signals, and computer program product therefor
EP1578131A1 (en) * 2004-03-18 2005-09-21 STMicroelectronics S.r.l. Encoding/decoding methods and systems, computer program products therefor
CN100584013C (zh) * 2005-01-07 2010-01-20 日本电信电话株式会社 视频编码方法及装置、视频解码方法及装置
CN100481963C (zh) * 2005-06-24 2009-04-22 清华大学 多视点系统中视频图像的视差计算方法
CN100463527C (zh) * 2005-10-18 2009-02-18 宁波大学 一种多视点视频图像视差估计的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020286B2 (en) 2010-07-27 2015-04-28 Samsung Electronics Co., Ltd. Apparatus for dividing image data and encoding and decoding image data in parallel, and operating method of the same
WO2013039348A1 (ko) * 2011-09-16 2013-03-21 엘지전자 주식회사 영상 정보 시그널링 방법 및 이를 이용한 비디오 디코딩 방법
WO2014163464A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 현재 영상이 참조 영상이 되는지 여부를 결정하는 방법과 그 장치

Also Published As

Publication number Publication date
MX2009003968A (es) 2009-06-01
TW200833118A (en) 2008-08-01
EP2080379A2 (en) 2009-07-22
WO2008047300A3 (en) 2008-07-03
WO2008047300A2 (en) 2008-04-24
CN101627634B (zh) 2014-01-01
CN101627634A (zh) 2010-01-13
KR101101965B1 (ko) 2012-01-02
US20080089412A1 (en) 2008-04-17
TWI449431B (zh) 2014-08-11
EP2080379A4 (en) 2012-10-31
US8594203B2 (en) 2013-11-26
CA2673494A1 (en) 2008-04-24
CA2673494C (en) 2014-07-08
EP2080379B1 (en) 2018-08-22

Similar Documents

Publication Publication Date Title
KR101101965B1 (ko) 멀티뷰 비디오 코딩에 대한 병렬 디코딩가능 슬라이스들을 이용하기 위한 시스템 및 방법
CN107409209B (zh) 用于线性模型预测模式的降取样处理
TWI781972B (zh) 具有用於視頻寫碼之樣本存取之線性模型預測模式
US9979975B2 (en) Bitstream restrictions on picture partitions across layers
CN107113436B (zh) 用于解码视频数据的方法和装置以及计算机可读存储媒体
US9648318B2 (en) Performing residual prediction in video coding
US9641851B2 (en) Conformance window information in multi-layer coding
US10158881B2 (en) Method and apparatus for multiview video coding and decoding
US9716900B2 (en) Extensible design of nesting supplemental enhancement information (SEI) messages
US11190758B2 (en) Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
US8929462B2 (en) System and method for implementing low-complexity multi-view video coding
EP3162057B1 (en) Multi-layer video coding
US20130272372A1 (en) Method and apparatus for video coding
EP2941876B1 (en) Multi-resolution decoded picture buffer management for multi-layer coding
KR20140043483A (ko) 내부 뷰 모션 예측 (ivmp) 모드를 지원하는 mvc 기반 3dvc 코덱
JP2022535847A (ja) ビデオコーディングおよびデコーディングのための装置、方法、およびコンピュータプログラム
US20130127987A1 (en) Signaling depth ranges for three-dimensional video coding
WO2024074753A1 (en) An apparatus, a method and a computer program for video coding and decoding

Legal Events

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

Payment date: 20141201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191127

Year of fee payment: 9