KR101828096B1 - 블록 기반 인터리빙 - Google Patents

블록 기반 인터리빙 Download PDF

Info

Publication number
KR101828096B1
KR101828096B1 KR1020127022539A KR20127022539A KR101828096B1 KR 101828096 B1 KR101828096 B1 KR 101828096B1 KR 1020127022539 A KR1020127022539 A KR 1020127022539A KR 20127022539 A KR20127022539 A KR 20127022539A KR 101828096 B1 KR101828096 B1 KR 101828096B1
Authority
KR
South Korea
Prior art keywords
image
blocks
block
image block
encoded
Prior art date
Application number
KR1020127022539A
Other languages
English (en)
Other versions
KR20120123492A (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 KR20120123492A publication Critical patent/KR20120123492A/ko
Application granted granted Critical
Publication of KR101828096B1 publication Critical patent/KR101828096B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

적어도 하나의 구현이 입체-이미지 쌍으로부터의 블록들을 인터리빙하고 대응하는 블록들을 참조로서 이용하여 인터리빙된 이미지의 인트라-코딩을 가능하게 한다. 하나의 특정 구현이 복수의 블록들을 포함하는 제1 이미지에 액세스하고, 복수의 블록들 중 하나는 제1 이미지 블록이다. 복수의 블록들을 포함하는 제2 이미지가 액세스되고, 복수의 블록들 중 하나는 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록이다. 제1 및 제2 이미지들의 복수의 블록들이 블록 기반으로 인터리빙되어 인터리빙된 이미지가 형성된다. 제2 이미지 블록을 참조로서 이용하여 제1 이미지 블록을 인코딩하는 것에 의해 인터리빙된 이미지의 적어도 일부가 인코딩된다. 다른 구현이 인코딩된 부분을 신호로 제공한다. 또 다른 구현이 인코딩된 이미지에 액세스하고 제2 이미지 블록을 참조로서 이용하여 그 부분을 디코딩한다.

Description

블록 기반 인터리빙{BLOCK-BASED INTERLEAVING}
<관련출원의 상호참조>
이 출원은 2010년 1월 29일자로 출원된, 발명의 명칭이 "Macroblock interleaving for improved 3D compression"인 미국 가출원 제61/337,060호의 출원 일자의 우선권을 주장하며, 이로써 사실상 그 전체 내용이 참조로 포함된다.
<기술분야>
이미지 압축에 관한 구현들이 기술된다. 다양한 특정 구현들이 인터리빙된 이미지들의 압축에 관한 것이고, 인터리빙된 이미지들은 겹치는 콘텐트를 갖는 이미지들로 형성될 수 있다.
입체 이미지들 및 멀티뷰 이미지들을 포함하는 이미지들을 압축하는 다양한 기법들이 공지되어 있다. 현존하는 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC(Advanced Video Coding) 표준/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 권고(이하 "H.264/MPEG-4 AVC 표준" 또는 그의 변형들, 예를 들어, "AVC 표준", "H.264 표준", 또는 간단히 "AVC" 또는 "H.264")가 그러한 이미지들을 개별적으로 압축하는 데 이용될 수 있다. "I" 프레임들은 전형적으로 인트라-코딩 기법들을 이용하여 AVC에서 압축된다.
일반적인 양태에 따르면, 복수의 블록들을 포함하는 제1 이미지가 액세스된다. 제1 이미지의 복수의 블록들은 제1 이미지 블록을 포함한다. 복수의 블록들을 포함하는 제2 이미지가 액세스된다. 제2 이미지의 복수의 블록들은 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함한다. 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들이 블록 기반으로 인터리빙되어 인터리빙된 이미지가 형성된다. 제2 이미지 블록을 참조로 이용하여 제1 이미지 블록을 인코딩하는 것에 의해 인터리빙된 이미지의 적어도 일부가 인코딩된다. 인코딩된 제1 이미지 블록은 송신 또는 저장을 위해 제공된다.
다른 일반적인 양태에 따르면, 비디오 신호 또는 비디오 신호 구조가 인코딩을 위한 하나 이상의 화상 부분을 포함한다. 인코딩은 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들의 블록 기반 인터리빙의 인코딩이다. 제1 이미지의 복수의 블록들은 제1 이미지 블록을 포함하고, 제2 이미지의 복수의 블록들은 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함한다. 제1 이미지 블록의 인코딩은 제2 이미지 블록을 참조로 이용한다.
다른 일반적인 양태에 따르면, 인코딩된 이미지가 액세스된다. 인코딩된 이미지는 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들의 블록 기반 인터리빙의 인코딩이다. 제1 이미지의 복수의 블록들은 제1 이미지 블록을 포함하고, 제2 이미지의 복수의 블록들은 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함한다. 인코딩된 이미지의 부분이 디코딩된다. 인코딩된 이미지 부분은 제2 이미지 블록을 참조로 이용하여 제1 이미지 블록을 인코딩한다. 디코딩된 부분은 프로세싱 또는 디스플레이를 위해 제공된다.
하나 이상의 구현의 세부 사항들이 첨부 도면들과 이하의 설명에서 설명된다. 하나의 특정한 방식으로 기술될지라도, 구현들은 다양한 방식으로 구성되거나 구현될 수 있다는 것은 명백할 것이다. 예를 들어, 구현은 방법으로서 수행되거나, 예를 들어, 동작들의 세트를 수행하도록 구성된 장치 또는 동작들의 세트를 수행하기 위한, 또는 신호로 구현된 명령어들을 저장하는 장치와 같은, 장치로서 구현될 수 있다. 첨부 도면들 및 청구항들에 관련하여 고찰되는 이하의 상세한 설명으로부터 다른 양태들 및 특징들이 명백해질 것이다.
도 1은 하나 이상의 구현에서 이용될 수 있는 이미지들을 인코딩 및 디코딩하기 위한 시스템 및 프로세스의 예를 도시하는 블록/흐름도이다.
도 2는 하나 이상의 구현에서 이용될 수 있는 이웃 블록들의 예들을 도시하는 블록도이다.
도 3은 하나 이상의 구현에서 이용될 수 있는 이웃 참조 블록들의 예들을 도시하는 블록도이다.
도 4는 하나 이상의 구현에서 이용될 수 있는 수직 인터리빙 및 수평 인터리빙의 예들을 도시하는 블록/흐름도이다.
도 5는 하나 이상의 구현에서 이용될 수 있는 인코딩 프로세스의 예를 도시하는 흐름도이다.
도 6은 하나 이상의 구현에서 이용될 수 있는 디코딩 프로세스의 예를 도시하는 흐름도이다.
도 7은 하나 이상의 구현에서 이용될 수 있는 인코딩 시스템의 예를 도시하는 블록/흐름도이다.
도 8은 하나 이상의 구현에서 이용될 수 있는 디코딩 시스템의 예를 도시하는 블록/흐름도이다.
도 9는 하나 이상의 구현에서 이용될 수 있는 비디오 송신 시스템의 예를 도시하는 블록/흐름도이다.
도 10은 하나 이상의 구현에서 이용될 수 있는 비디오 수신 시스템의 예를 도시하는 블록/흐름도이다.
이 출원서에서 설명된 적어도 하나의 구현은 단일 이미지로 병합된 입체 이미지 쌍을 압축하는 효율을 개선하려고 한다. 그 구현은 H.264 압축 알고리즘이 인트라 블록 예측을 더 잘 이용하도록 허용하는 방식으로 입체 이미지 쌍을 재배열한다. 입체 이미지 쌍의 왼쪽 뷰 및 오른쪽 뷰 화상들이 매크로블록 레벨에서 인터리빙된다. 왼쪽 뷰 및 오른쪽 뷰 화상들은 단일 화상으로서 함께 인코딩되고, 전형적으로 인터리빙된 화상 배열은 전형적인 수평 또는 수직 분할 스크린 배열들에 비해 인트라 예측 효율을 개선한다.
블록 기반 압축 알고리즘들(예를 들어 MPEG2, MPEG4)에서, 본 발명자들은 압축된 스트림에 할당된 총 비트 예산의 불균형 비율이 I-화상 압축시에 소비된다는 것을 알아냈다. I 화상들은 종종 참조 화상들로서 이용된다는 것에 유의한다. 가까운 시일에, 브로드캐스트 3D 비디오는 왼쪽/오른쪽 입체 이미지 쌍을 전달하기 위해 분할 스크린 방법(split screen approach)에 의존할 가능성이 있다. 전형적인 배열은 왼쪽 및 오른쪽 화상으로, 각각은 수평으로 절반으로 서브-샘블링되고, 연쇄되어 단일의 풀 사이즈 복합 왼쪽+오른쪽 화상을 형성한다.
현세대의 하프 해상도(half resolution) 3D 인코더들에서는 수평 서브-샘플링 및 수직 서브-샘플링 양쪽 모두가 사용된다. 전형적으로, 1920×1080 원자료에 대해서는 수평 서브-샘블링이 사용되고, 1280×720p 원자료에 대해서는 수직 서브-샘블링이 사용된다.
이들 서브-샘블링 방법들의 이점은 복합 화상이 왼쪽 및 오른쪽 이미지들을 분리하는 것을 담당하는 디스플레이 디바이스를 갖는 레거시 장비에 의해 인코딩 및 디코딩될 수 있다는 것이다. 편리하기는 하지만, 이 방법은 왼쪽 이미지와 오른쪽 이미지 사이의 중복성을 잘 이용하지 못한다. 압축 알고리즘이 이러한 중복성을 잘 이용하도록 허용하는 방식으로 왼쪽 및 오른쪽 이미지들을 재배열하는 것에 의해, 결과의 압축된 이미지 스트림은 여전히 레거시 인코드/디코드 도구들과 크게 호환되게 유지되면서 코딩된 I(또는 참조) 화상들의 압축 효율을 증가시킬 수 있다.
상기 방법은 MVC(multi-view coding)의 대안으로서 사용될 수 있다. 대안들이기는 하지만, 상기 방법 및 MVC는 이 2개의 방법들이 상이한 결과들을 생성할 수 있다는 점에서 반드시 동등한 것은 아니다. MVC는 더 구체적으로는 H.264/MPEG-4 AVC, MVC 확장("MVC 확장" 또는 간단히 "MVC")이라고 불리는, AVC 표준의 MVC(multi-view video coding) 확장(부록 H)을 나타낸다. MVC는 역호환되지 않는 압축 알고리즘(non-backward compatible compression algorithm)으로, 이것은 예를 들어 입체 이미지 쌍에서 왼쪽 뷰와 오른쪽 뷰 사이의 중복성을 이용하도록 개발된 H.264/MPEG-4 AVC 표준의 확장이다.
도 1을 참조하면, 인트라 코딩된 화상들(즉, I 화상들)을 프로세싱하기 위한 구현을 제공하는 시스템(100)이 도시되어 있다. 인트라 코딩된 화상들은 도 1에 예시되고, 아래에 기술되는 프로세스를 따른다. 시스템(100)은 인코딩 블록(110), 디코딩 블록(120), 및 인코딩 블록(110)과 디코딩 블록(120)을 링크하는 송신 동작(130)을 포함한다.
입체 이미지 쌍에 대한 풀 해상도 입력 화상들이 인코딩 블록(110)에 입력으로서 제공된다. 풀 해상도 입체 이미지들은 왼쪽 뷰 화상(140) 및 오른쪽 뷰 화상(142)을 포함한다. 풀 해상도 이미지들은 수평 치수(horizontal dimension)에서 1/2로 다운-샘플링되어 최초 수평 사이즈가 1/2로 감소된다. 이 결과 최초 수평 사이즈의 1/2로 수평 샘플 레이트 변환(SRC; sample rate conversion)이 이루어진다. 다운-샘플링은 서브-샘플링, 레이트 변환, 또는 다운-스케일링이라고도 불린다. 인코딩 블록(110)은 왼쪽 뷰 화상(140)을 다운-샘플링하는 샘플러(144) 및 오른쪽 뷰 화상(142)을 다운-샘플링하는 샘플러(146)를 포함한다. 샘플러(144)는 수평 치수에서 왼쪽 뷰 화상(140)의 사이즈의 1/2인 샘플링된 왼쪽 뷰 화상(148)을 생성한다. 유사하게, 샘플러(146)는 수평 치수에서 오른쪽 뷰 화상(142)의 사이즈의 1/2인 샘플링된 오른쪽 뷰 화상(150)을 생성한다.
샘플링된 왼쪽 뷰 화상(148) 및 샘플링된 오른쪽 뷰 화상(150)은 인터리빙되어 인터리빙된 복합 화상(152)이 형성된다. 복합 화상(152)은 샘플링된 왼쪽 뷰 화상(148)을 16×16 매크로블록들로 분해(파티셔닝 또는 분할이라고도 불림)하는 것, 샘플링된 오른쪽 뷰 화상(150)을 16×16 매크로블록들로 분해하는 것, 및 왼쪽 뷰 화상(148) 및 오른쪽 뷰 화상(150)으로부터의 매크로블록들을 인터리빙하여 복합 화상(152)을 형성하는 것에 의해 형성된다.
도 1에 도시된 구현에서, 매크로블록들은, 아래 도 4에 관하여 더 설명되는 바와 같이, 칼럼마다의 포맷(column-by-column format)으로 교대로 인터리빙된다. 이 결과 샘플링된 왼쪽 뷰 화상(148) 및 샘플링된 오른쪽 뷰 화상(150)과 동일한 수직 치수(vertical dimension), 및 샘플링된 왼쪽 뷰 화상(148) 및 샘플링된 오른쪽 뷰 화상(150) 중 어느 한쪽의 수평 치수의 2배를 갖는 복합 화상(152)이 생성된다.
인코딩 블록(110)은 복합 화상(152)을 인코딩하는 H.264 인코더(154)를 포함한다. 인코딩 블록(110)에서, 복합 화상(152)은 HP@L4.x를 이용하여 인코딩되어 인코딩된 화상(도시되지 않음)이 형성된다. HP@L4.x는 High Profile, 레벨 4.x(4.0, 4.1, 및 4.2를 포함함)를 나타낸다. 그러나, 다른 구현들은 예를 들어 Baseline Profile의 모든 레벨들, Main Profile의 모든 레벨들, 및 High Profile의 모든 레벨들과 같은, 몇몇의 H.264 코딩 프로파일들 중 어떤 것이라도 이용한다.
인코더(154)는 복합 화상(152)을 I 화상으로서 인코딩하고, H.264 인트라 코딩 모드들을 이용한다. 따라서, 복합 화상(152)의 블록들은 복합 화상(152)으로부터의 하나 이상의 다른 블록들을 참조로 이용하여 인코딩된다. 예를 들어, 이웃 블록들의 조합으로부터 소정 블록에 대한 예측기가 형성될 수 있다. 소정 블록의 이웃 블록은 통상적으로 그 소정 블록과 코너 또는 에지에서 접촉하는 8개의 블록들 중 하나로 정의된다. 도 2를 참조하면, 중간 블록 M의 8개의 이웃 블록들이 블록들 1-8로서 도시되어 있다. H.264 인트라 예측 모드들의 목적으로, 블록들 1,2,3,4 및 6은 일반적으로 예측기들로서 허용된다는 것에 유의한다.
도 3을 참조하면, 다양한 구현들이 소정 블록(블록 G)에 대한 예측기를, 수평으로 왼쪽(블록 A), 수직으로 위쪽(블록 B), 및 대각선으로 오른쪽 및 위쪽(블록 C)의 블록들의 조합으로부터 형성한다. 복합 화상(152)은 칼럼마다의 인터리빙을 이용하기 때문에, 블록 G는 샘플링된 왼쪽 뷰 화상(148) 또는 샘플링된 오른쪽 뷰 화상(150) 중 하나로부터 유래할 것이고, 블록들 A 및 C는 양쪽 모두 나머지 샘플링된 화상으로부터 유래할 것이라는 것이 명백할 것이다. 다양한 구현들이 블록들 A, B, 또는 C 중 하나의 블록에만(조합이 아니라) 기초하여, 또는 이웃하지 않은 블록들을 포함하는 다른 블록들에 기초하여 예측기를 형성할 수 있다. 특히, 다양한 구현들이 블록 G가 블록 A에 관해서만, 또는 블록 C에 관해서만 인코딩되도록 허용하는 인코딩 모드들을 제공한다.
블록 G를 블록 A 또는 블록 C만을 이용하여 코딩하는 그러한 모드들은, 인터리빙되지 않은 분할 스크린 포맷을 이용하는 것과 비교하여, 인터리빙된 복합 화상(152)을 이용하는 것에 의해 증가된 코딩 효율을 가질 것으로 예상된다(아래 설명된 수평 분할 스크린 화상(160) 참조). 증가된 효율은, 적어도 부분적으로, 하나의 뷰(왼쪽 또는 오른쪽)로부터의 블록을 다른 하나의 뷰로부터의 대응 블록을 이용하여 인코딩할 수 있는 것에서 비롯되는 것으로 예상된다. 대응 블록들이 잘 정렬되어 있다면, 나머지는 작을 것이고 인코딩하는 데 보다 소수의 비트를 필요로 할 것이다. 그러나, 나머지를 감소시키고 코딩 이득을 제공하기 위해 정렬이 완벽하지 않아도 된다는 것에 유의한다.
전술한 바와 같이, 도 2에 도시된 것과 같은 블록들 1,2,3,4, 및 6은 H.264 인트라 예측에서 블록 M에 대한 예측기들로서 이용될 수 있다. 그러나, 다양한 구현들은 입체적 뷰에서는 2개의 화상에서 수평 변위는 있지만 수직 변위는 없을 것으로 예상된다는 사실을 이용하기 위해 인터리빙을 수행한다. 그러한 경우에 최선의 예측기는 다른 하나의 입체적 뷰로부터의 대응 블록일 것으로 예상된다. 그 대응 블록은 칼럼 방식의 인터리빙(column-wise interleaving) 후에는 종종 코딩되는 블록의 왼쪽에 있을 것이고, 로우 방식의 인터리빙(row-wise interleaving) 후에는 종종 그 블록의 위에 있을 것이다.
다양한 구현들은 최선의 참조 블록을 찾아서 복합 화상(152) 내에서 검색하는 것에 의해 복합 화상(152)의 인트라-코딩을 수행한다. 더 구체적으로는, 몇몇의 그러한 구현들은 이미 인코딩된 현재 화상의 부분들의 재구성 내에서 검색한다. 그 검색 때문에, 종종 그러한 모드는 단순히 소정의 이웃 블록들을 참조들로서 이용하는 것보다 더 시간 집중적이고 프로세서 집중적이다. 그러나, 그러한 모드는 전형적으로 주어진 블록의 더 나은 예측을 찾는 이점을 제공한다. 그러한 모드는 또한 전형적으로 차이(disparity)를 알 필요 없이 대응하는 입체 이미지 블록을 찾는 이점을 제공한다.
인코딩 블록(110)은 인코딩된 화상을 디코딩하여 디코딩된 화상(158)을 생성하는 H.264 디코더(156)를 포함한다. 인코딩 블록(110)의 구현에서, 인코딩된 화상은 HP@L4.x를 이용하여 디코딩된다. 디코딩된 화상(158)은 복합 화상(152)의 재구성이다.
인코딩 블록(110)은 디코딩된 화상(158)을 디인터리빙하여 수평 분할 스크린 화상(160)을 형성한다. 수평 분할 스크린 화상(160)은 샘플링된 왼쪽 뷰 화상(148)의 왼쪽 화상 재구성(162)을 포함하고, 샘플링된 오른쪽 뷰 화상(150)의 오른쪽 화상 재구성(164)을 포함한다. 수평 분할 스크린 화상(160)은 참조 화상 저장소(도시되지 않음)에 참조 화상으로서 저장되고, 인코딩 블록(110)에 의해 참조 화상으로서 이용될 수 있다.
P 및 B 화상들은 수평 분할 스크린 화상들로서 코딩된다. 즉, P 및 B 화상들에 대해, 샘플링된 왼쪽 뷰 화상(148) 및 샘플링된 오른쪽 뷰 화상(150)은 인터리빙된 복합 화상보다는 수평 분할 스크린 화상으로 형성되고, 인코더(154)에 의해 인코딩된다. 참조 화상들은 또한 전술한 바와 같이 수평 분할 스크린 화상들로서 저장된다. P 또는 B 코딩된 블록들이 I 화상을 가리키는 모션 참조들을 포함할 경우, 모션 추정은 수평 분할 스크린 재구성된 화상(160)으로부터 추출된다.
따라서 인코딩 블록(110)은 P 및 B 블록들과 비교하여 I 블록들에 대해 상이한 동작들을 수행한다. 예를 들어, I 블록들에 대해 인코딩 블록(110)은 (i) 인코딩 전에 인터리빙 및 (ii) 수평 분할 스크린 재구성 화상을 형성하기 전에 디인터리빙을 수행한다. 다른 예로서, P 및 B 블록들에 대해, 인코딩 블록(110)은 인코딩 전에 분할 스크린 화상을 형성한다.
인코더(154)는 또한 인코딩된 블록(도시되지 않음)을 송신을 위해 송신 동작(130)에 제공한다. 송신된 블록은 디코딩 블록(120)에 의해 수신된다.
디코딩 블록(120)은 수신된 화상의 HP@L4.x 디코드를 수행하는 H.264 디코더(170)를 포함한다. 디코더(170)는 복합 화상(152)의 재구성인 재구성된 화상(172)을 생성한다. 따라서, 재구성된 화상(172)은 왼쪽 이미지(샘플링된 왼쪽 뷰 화상(148)) 및 오른쪽 이미지(샘플링된 오른쪽 뷰 화상(150))로부터 인터리빙된 매크로블록들을 갖는다. 전형적인 구현에서, 디코더(170)는 디코더(156)와 동일할 것이다.
디코딩 블록(120)은 재구성된 화상(172)을 디인터리빙하여 왼쪽 화상 재구성(176) 및 오른쪽 화상 재구성(178)을 포함하는 수평 분할 스크린 화상(174)을 형성한다. 송신 또는 디코딩에서 오류가 없다면, (i) 재구성된 화상(172)은 인코딩 블록(110)으로부터의 디코딩된 화상(158)과 일치할 것이고, (ii) 수평 분할 스크린 화상(174)은 수평 분할 스크린 화상(160)과 일치할 것이고, (iii) 왼쪽 화상 재구성(176)은 왼쪽 화상 재구성(162)과 일치할 것이고, (iv) 오른쪽 화상 재구성(178)은 오른쪽 화상 재구성(164)과 일치할 것이다.
디코딩 블록(120)은 최초 수평 사이즈를 복구하기 위해 수평 샘플 레이트 변환을 수행하는 샘플러(180)를 포함한다. 샘플러(180)는 왼쪽 뷰 화상(140)의 최초 수평 사이즈를 복구하기 위해 왼쪽 화상 재구성(176)을 업샘플링하는 것에 의해 그 변환을 수행한다. 샘플러(180)는 왼쪽 뷰 화상(140)의 재구성인 재구성된 왼쪽 뷰 화상(184)을 생성한다. 업샘플링은 레이트 변환 또는 업-스케일링이라고도 한다.
유사하게, 디코딩 블록(120)은 최초 수평 사이즈를 복구하기 위해 수평 샘플 레이트 변환을 수행하는 샘플러(182)를 포함한다. 샘플러(182)는 오른쪽 뷰 화상(142)의 최초 수평 사이즈를 복구하기 위해 오른쪽 화상 재구성(178)을 업샘플링하는 것에 의해 그 변환을 수행한다. 샘플러(182)는 오른쪽 뷰 화상(142)의 재구성인 재구성된 오른쪽 뷰 화상(186)을 생성한다.
재구성된 왼쪽 뷰 화상(184), 및 재구성된 오른쪽 뷰 화상(186)은 디스플레이에 출력할 준비가 된 풀 해상도 화상들이다. 다른 구현들은 또한, 또는 대안적으로, 재구성된 왼쪽 뷰 화상(184) 및/또는 재구성된 오른쪽 뷰 화상(186)을 프로세싱을 위해 제공한다. 그러한 프로세싱은, 예를 들어, 필터링, 추가 이미지들의 렌더링, 아티팩트 감소, 컬러 수정, 에지 선명화, 및/또는 객체 검출을 포함하고, 디스플레이에 앞서 또는 디스플레이 대신에 수행될 수 있다. 또한, 다른 구현들은 프로세싱 및/또는 디스플레이를 위해 출력으로서 수평 분할 스크린 화상(174)을 제공한다.
인코딩 블록(110)과 마찬가지로, 디코딩 블록(120)은 또한 P 및 B 블록들과 비교하여 I 블록들에 대해 상이한 동작들을 수행한다. 예를 들어, I 블록들에 대해 디코딩 블록(120)은 수평 분할 스크린 화상(174)을 형성하기 전에 디인터리빙을 수행한다. 그에 반해서, P 및 B 블록들에 대해, 디코더(170)의 출력은 수평 분할 스크린 화상일 것이다.
도 1의 프로세스는 현존하는 프로세스들과 적어도 대부분 역호환된다. 또한, 레거시 H.264 인코더들 및 디코더들이 사용될 수 있다. 그러나, 도 1의 프로세스는 현존하는 모든 디코드 프로세스들과 완전히 역호환되지 않을 수 있다. 그럼에도 불구하고, 통합된 Blit(예를 들어, 프로그램 가능한 비트맵 그래픽 디바이스; 또는 예를 들어 다수의 비트맵을 결합하기 위해 비트-블록 이미지 전송을 수행하는 비트 블릿(bit blit) 디바이스) 또는 DMA 능력을 사용하여 매크로블록 인터리빙된 I 화상 이미지를 왼쪽/오른쪽 분할 스크린 이미지로 변환하는 것은 다수의 디코더들의 능력 범위 내에 있다. 즉, 현존하는 H.264 디코더는 디코딩된 것(인터리빙된 화상)(158)을 수평 분할 스크린 화상(160)으로 변환하거나, 재구성된 화상(172)을 수평 분할 스크린 화상(174)으로 변환하도록 구성되어 있지 않을 수 있다. 그러나, 이 변환을 수행하기 위한 기법들은 통상의 당업자라면, 예를 들어, 통합된 Blit 또는 DMA와 같은 기술들을 이용하여 충분히 실행 가능하다. 또한, 그러한 기술들은 H.264 인코더에 대한 입력으로서 사용되도록 인터리빙된 이미지(예를 들어, 복합 화상(152)) 또는 분할 스크린 연쇄된 이미지를 선택적으로 생성하는 데 이용될 수 있다.
다른 구현들은 전술한 시스템(100)의 다양한 양태들을 수정한다. 특정 구현들 및 수정들이 아래 기술되지만, 다른 수정들도 고려된다.
- 예를 들어, 2개의 입력 이미지들이 입체 이미지 쌍을 형성하지 않아도 된다. 다양한 구현들에서, 입력 이미지들은 멀티뷰 시스템으로부터의 이미지들이다.
- 또한, 입력 이미지들은 정확히 1/2로 다운샘플링되지 않아도 되고, 전혀 다운샘플링되지 않아도 된다. 다양한 구현들에서, 입력 이미지들은 (i) 그들의 최초 샘플링 레이트에 계속 있거나, (ii) 1/2 이외의 다른 값들로 다운샘플링되거나, (iii) 업샘플링된다.
- 또한, 입력 이미지들은 동일한 레이트로 샘플링되지 않아도 된다. 다양한 구현들에서, 제1 입력 이미지는 제1 레이트로 샘플링되고 제2 입력 이미지는 제1 레이트와 다른 제2 레이트로 샘플링된다.
- 구현들은 2개보다 많은 이미지들을 이용할 수 있다. 다양한 구현들은 3개 이상의 이미지들을 이용하고, 그 입력 이미지들 모두를 인터리빙한다. 하나의 그러한 구현은 멀티뷰 시스템으로부터의 3개 이상의 입력 이미지들을 인터리빙한다. 다른 그러한 구현은 제1 시점에 입체 카메라로부터 촬영한 제1 입체 이미지 쌍 및 제2 시점에 그 입체 카메라로부터 촬영한 제2 입체 이미지 쌍을 포함하는 4개의 이미지들을 인터리빙한다.
- 다양한 구현들은 입력 이미지들을 샘플링하는 것에 더하여, 또는 그 대신에 입력 이미지들을 프로세싱한다. 다양한 구현들에 의해 수행되는 프로세싱은, 예를 들어, 입력 이미지들의 픽셀 값들을 필터링하는 것, 이미지들의 픽셀 값들을 클리핑하는 것, 이미지 경계들 주위에 이미지들에 블록들을 추가하는 것, 또는 겹치는 콘텐트를 갖지 않는 블록들을 제거하는 것을 포함한다.
- 인터리빙을 위해 사용되는 블록들은 16×16이 아니어도 되고, 심지어 매크로블록들이 아니어도 된다. 다양한 구현들은 16×16과 다른 사이즈를 갖는 블록들을 이용하고 및/또는 인코딩에서 사용되는 매크로블록들의 사이즈와 다른 블록 사이즈를 이용한다. 다양한 구현들은 또한 블록 사이즈를 변경하거나 선택 가능한 블록 사이즈를 이용한다. H.264 표준은 4×4 블록들, 8×8 블록들, 및 16×16 매크로블록들에 대한 인트라 예측을 허용한다. 상기 구현은 매크로블록들을 이용한 개념을 예시하고 기술하고 있지만, 다른 구현들은, 예를 들어, 4×4 블록 레벨, 8×8 블록 레벨, 및 4×4 블록들 및 8×8 블록들을 모두 사용하는 다양한 레벨을 포함하는, 블록 레벨에서 인터리빙을 구현한다.
- 인터리빙된 이미지는 HP@L4.x를 이용하여 인코딩되지 않아도 되고, 심지어 H.264를 이용하여 인코딩되지 않아도 된다. 다양한 구현들은 상이한 H.264 프로파일들 또는 상이한 코딩 방식들을 이용한다. 예를 들어, H.264에 대해 하이 프로파일(High Profile)의 모든 레벨들, 메인 프로파일(Main Profile)의 모든 레벨들, 및 베이스라인 프로파일(Baseline Profile)의 모든 레벨들이 이용될 수 있고, 다양한 구현들이 이들 레벨들 및 프로파일들 각각에 관련된다.
- 인코딩 블록(110)에 의해 제공된 인코딩된 인터리빙된 이미지는 송신되지 않아도 된다. 다양한 구현들은, 예를 들어, 인코딩된 이미지를 저장한다.
- 참조 이미지들은 수평 분할 스크린 이미지들이 아니어도 되고, 심지어 전혀 분할 스크린 이미지들이 아니어도 된다. 다양한 구현들은, 예를 들어, 수직 분할 스크린 이미지들을 참조로서, 또는 인터리빙된 이미지들을 참조로서, 또는 개별 이미지들을 참조로서 이용한다.
- P 및 B 이미지들은 수평 분할 스크린 화상들로서 코딩되지 않아도 된다. 다양한 구현들은 위에서 I 화상들에 대해 행해진 것처럼, P 및/또는 B 입체 이미지 쌍들의 인터리빙을 수행한다. 이들 구현들 중 하나 이상은 참조로서 이용되는 다른 화상들에 관하여 인터-코딩을 이용하여 인터리빙된 P 및/또는 B 화상들을 코딩한다. 몇몇의 그러한 구현들에 대한 참조들도 인터리빙된 화상들이지만, 다른 구현들에서 참조들은 인터리빙되어 있지 않다. 또한, 이들 구현들 중 일부는 인터리빙된 P 또는 B 화상에서 주어진 블록을 코딩하기 위해 인터-예측 모드들 및 인트라-예측 모드들 양쪽 모두를 고려한다. 따라서, 이들 구현들 중 일부는 인터리빙된 P 또는 B 화상으로부터의 주어진 블록의 최적의 인코딩을 수행한다.
도 4를 참조하면, 매크로블록 레벨 인터리빙의 2개의 구현들에 대한 보다 상세도가 도시되어 있다. 도 4는 입체-이미지 쌍의 왼쪽 화상(410) 및 오른쪽 화상(420)을 도시한다. 이 구현에서, 왼쪽 화상(410) 및 오른쪽 화상(420)은 수평 방향으로 2배로 다운샘플링된 것으로 가정된다. 이들 2개의 화상들(410 및 420)이 화살표(425)로 나타낸 바와 같이 결합되어 인터리빙된 화상(430)이 형성된다. 인터리빙된 화상(430)은 사실상 화상들(410 및 420)의 칼럼 방식의 인터리빙이다.
이 구현에서는, 인코더가 인터리빙된 화상(430)을 왼쪽에서 오른쪽으로 로우마다(row-by-row) 인코딩한다고 가정된다. 따라서, 인코더가 인터리빙된 화상(430)을 인코딩함에 따라, 인코더가 R22로 표시된 블록(인터리빙된 화상(430)에서 동그라미가 그려짐)에 도달할 때, 인코더는 이미 왼쪽 화상으로부터의 대응하는 블록 L22(역시 인터리빙된 화상(430)에서 동그라미가 그려짐)를 인코딩하였으며, R22를 인코딩하는 데 이용 가능한 L22의 인코딩을 갖고 있다는 것을 알 수 있다. L22는 인터리빙된 화상(430)에서 R22의 바로 왼쪽에 있다.
L22 및 R22는 입체-이미지 쌍에서 대응하는 블록들로서 대응하고, 따라서 그들의 콘텐트는 상당히 겹친다고 가정된다. 콘텐트는 양쪽 블록들이 일부 공통의 콘텐트를 가질 때 겹친다. 블록들은, 예를 들어, 양쪽 블록들이 특정 객체 또는 배경을 포함하는 경우, 그 객체 또는 배경이 블록들 각각에서 정확히 동일한 상대적 위치에 있지 않더라도, 공통의 콘텐트를 공유한다.
이들 대응하는 블록들의 식별은 단순히 L22 및 R22가 2개의 화상들(410 및 420)에서 대응하는 위치들을 갖는다는 사실에 기초한다. 즉, L22 및 R22는 그들 각각의 화상들(410 및 420)에서 동일한 (x,y) 좌표들을 갖는다고 가정된다.
다른 구현들은, 예를 들어, 차이에 기초하여 대응하는 블록들을 결정한다. 그러한 차이 기반의 구현들에서는, 예를 들어, 입체-이미지 쌍에 대한 평균 차이와 같은, 각종 차이 기반의 메트릭들이 사용될 수 있다. 하나의 그러한 구현에서, 화상(410)의 평균 차이는 단일 블록의 수평 사이즈와 같은 것으로 결정된다. 따라서, 화상(410)의 블록 L12는 화상(420)의 블록 R11에 대응하는 것으로 결정된다. 그러한 구현에서, 인터리빙은 여전히 인터리빙된 화상(430)에서와 같이 수행될 수 있고, 또는 인터리빙은 인터리빙된 차이에 기초할 수 있다는 것에 유의한다.
하나의 차이 기반의 구현에서, 블록들은 인터리빙된 화상(430)에서와 같이 인터리빙된다. 그러나, 대응하는 블록들은 이웃들일 수도 있고 아닐 수도 있다. L12가 R11에 대응하는 예에서, 그 블록들은, 인터리빙된 화상(430)에 도시된 바와 같이, 여전히 이웃들일 것이다. 그러나, 차이가 블록들의 수평 사이즈의 2배와 같다면, L13가 R11에 대응할 것이고, 그 블록들은 인터리빙된 화상(430)에서 이웃들이 아닐 것이다.
다른 차이 기반의 구현에서, 블록들은 차이에 기초하여 인터리빙된다. 따라서, L13가 R11에 대응한다면, 그 블록들은 그것들이 이웃들이도록 인터리빙된다. 하나의 그러한 구현에서, 화상(410)의 처음 2개의 칼럼이 인터리빙된 화상에 직접 삽입되고, 그 후 화상(410)의 나머지 칼럼들은 화상(420)으로부터의 칼럼들과 칼럼-인터리빙된다. 마지막으로, 화상(420)의 마지막 나머지 칼럼들이 인터리빙된 화상에 직접 삽입된다.
다양한 구현들에서, 블록들 사이의 대응은 완벽하지 않다. 즉, 공통의 콘텐트는 대응하는 블록들 각각에서 동일한 상대적 위치에 있지 않다. 예를 들어, 차이는 블록들의 수평 사이즈와 같지 않다. 그럼에도 불구하고, 여전히 코딩 이득들이 달성된다.
다른 차이 기반의 구현들에서, 다양한 입력 이미지들로부터의 블록들은 그 입력 이미지들에서의 그들의 상대적 위치들에 기초하여 인터리빙된다. 예를 들어, 화상(410)의 제1 칼럼 다음에 화상(420)의 제1 컬럼이 온다. 그러나, 양호한 참조를 찾기 위해 인터리빙된 화상 내에서 검색하는 것에 의해 인터리빙된 화상의 개별 블록이 인트라-코딩된다. 그러한 검색은 구현이 검색에 앞서 차이를 알지 않고도 대응하는 블록을 식별할 수 있다.
다른 다운샘플링 및 인터리빙 옵션들이 가능하다. 계속 도 4를 참조하면, 왼쪽 화상(410) 및 오른쪽 화상(420)이 상기 도 4의 논의에서 전술한 바와 같이 수평 방향으로보다는, 2배로 수직 방향으로 다운샘플링되었다고 가정되는 구현이 도시되어 있다. 또한, 수직으로 다운샘플링된 화상들(410 및 420)은 그 후 화살표(435)로 도시된 바와 같이 로우 방식으로 인터리빙되어 인터리빙된 화상(440)이 형성된다. 인터리빙된 화상(430)의 인코딩과 마찬가지로, 인코더가 R22로 표시된 블록(인터리빙된 화상(440)에서 동그라미가 그려짐)에 도달할 때, 인코더는 이미 왼쪽 화상으로부터의 대응하는 블록 L22(역시 인터리빙된 화상(440)에서 동그라미가 그려짐)를 인코딩하였으며, R22를 인코딩하는 데 이용 가능한 L22의 인코딩을 갖고 있다는 것을 알 수 있다. L22는 인터리빙된 화상(440)에서 R22의 바로 위쪽에 있다.
또 다른 구현에서, 왼쪽 및 오른쪽 화상들은 결합된 2배로 그들의 사이즈를 감소시키기 위해 수평 및 수직 방향의 조합으로 다운샘플링된다. 통상의 당업자라면 알 수 있는 바와 같이, 결합된 2배 감소를 달성하기 위하여 수평 및 수직 방향에서의 다운샘플링의 다양한 조합들이 가능하다. 이들 다운샘플링된 화상들은 그 후, 로우 방식 및 칼럼 방식의 인터리빙의 조합을 포함하여, 통상의 당업자에게 알려진 다양한 방법으로 인터리빙될 수 있다.
다른 구현은 전혀 다운샘플링하지 않고, 화상들(410 및 420)은 그들의 최초 사이즈에 있다고 가정된다. 이 구현은 단순히 이 기술분야에 공지된 다양한 인터리빙 옵션들 중 임의의 것을 이용하여 왼쪽 및 오른쪽 화상들을 결합하여 큰 인터리빙된 화상을 생성한다. 그 후 H.264 인코더가 이 큰 인터리빙된 화상을 인코딩한다.
도 4의 인터리빙 옵션의 전형적인 구현에서는, 인코더 및 디코더가 인터리빙된 화상들(430 및 440)을 디인터리빙하여, 도 1의 수평 분할 스크린 화상(174)에 의해 제공된 것과 같은, 전형적인 왼쪽/오른쪽 수평 분할 스크린 뷰의 재구성을 형성한다. 그러나, 다른 구현들에서는, 인코더 및 디코더가 이 동작을 수행하지 않는다. 오히려, 인코더 및 디코더는 단순히 인터리빙된 왼쪽 및 오른쪽 뷰들을 여전히 갖는 재구성된 인터리빙된 화상을 생성한다. 인코더는 이 인터리빙된 재구성을 이용하여 후속 화상들의 인코딩을 수행한다. 예를 들어, P 화상이 인터리빙된 I 화상을 참조로 이용하여 인코딩된 모션이라면, 인코더는 인터리빙된 I 화상을 이용하여 통상의 방식으로 적절한 모션 벡터에 대한 검색을 수행한다. 이런 식으로, 인코더는 왼쪽 또는 오른쪽 뷰에 대응하는 블록이 P 화상에서 인코딩되고 있는 현재 블록에 대한 최선의 "일치"라고 결정할 수 있다. 다른 구현들은 인터리빙이 인터리빙된 참조 화상에서 성분 왼쪽 및 오른쪽 화상들의 블록들을 더 떨어져 확산시켰다는 사실로 인해 참조 화상에서 최선의 "일치"를 찾는 데 이용되는 검색창을 확장시킨다.
도 5를 참조하면, 2개의 이미지들을 인코딩하는 데 사용되는 구현이 도시되어 있다. 도 5는 2개의 이미지들, 또는 그의 부분들을 인코딩하는 데 사용되는 프로세스(500)를 도시한다.
프로세스(500)는 제1 이미지 블록에 액세스하는 것(510)을 포함한다. 제1 이미지는, 예를 들어, 도 1의 샘플링된 왼쪽 뷰 화상(148)일 수 있고, 제1 이미지 블록은, 예를 들어, 샘플링된 왼쪽 뷰 화상(148)으로부터의 왼쪽 위 블록일 수 있다.
프로세스(500)는 제1 이미지 블록과 콘텐트가 겹치는 제2 이미지 블록에 액세스하는 것(520)을 포함한다. 제2 이미지 블록은, 예를 들어, 도 1의 샘플링된 오른쪽 뷰 화상(150)일 수 있다. 샘플링된 왼쪽 뷰 화상(148) 및 샘플링된 오른쪽 뷰 화상(150) 양쪽 모두는 입체-이미지 쌍으로부터 생성되고, 따라서 콘텐트가 겹친다고 가정된다. 제2 이미지 블록은, 예를 들어, 샘플링된 오른쪽 뷰 화상(150)으로부터의 왼쪽 위 블록일 수 있다.
샘플링된 왼쪽 뷰 화상(148)의 왼쪽 위 블록에 대한 차이가 그 왼쪽 위 블록이 수평 블록 사이즈보다 크다면, 콘텐트는 샘플링된 오른쪽 뷰 화상(150)의 왼쪽 위 블록의 콘텐트와 겹치지 않는 것이 가능하다. 전술한 바와 같이, 콘텐트는, 예를 들어, 2개의 블록이 공통의 특징을 포함하는 경우, 그 특징이 2개의 블록 각각에서 동일한 상대적 위치에 정렬되지 않는다 하더라도, 겹칠 수 있다. 그러한 겹침은 전형적으로 입체-이미지 쌍들에서뿐만 아니라, 멀티뷰 시스템의 개별 뷰들에서도 발생한다. 콘텐트는 또한 이미지들 중 하나가 플립되거나, 회전되거나, 필터링되거나, 다르게 프로세싱되거나 관계없이 겹칠 수 있다.
프로세스(500)는 제1 이미지 블록을 포함하는 제1 이미지로부터의 부분, 및 제2 이미지 블록을 포함하는 제2 이미지로부터의 부분을 블록 인터리빙하는 것(530)을 포함한다. 그 2개의 부분들은 전체 제1 및 제2 이미지들을 포함할 수 있다. 대안적으로, 그 2개의 부분들은 제1 및 제2 이미지들의 전체보다는 적은 것을 포함할 수 있다. 블록 인터리빙은, 예를 들어, 도 1의 복합 화상(152)을 형성하기 위해 전술한 바와 같을 수 있다.
프로세스(500)는 인터리빙된 제2 이미지 블록을 참조로서 이용하여 인터리빙된 제1 이미지 블록을 인코딩하는 것(540)을 포함한다. 인코딩은, 예를 들어, 도 1의 인코더(154)를 이용하여 복합 화상(152)으로부터의 블록들을 인코딩하기 위해 전술한 바와 같이 수행될 수 있다. 예를 들어, 칼럼 방식의 인터리빙을 가정하여, 블록 A를 예측기로서(예를 들어, 참조로서) 이용하여 도 1B의 블록 G를 인코딩하면 제2 이미지 블록(블록 A)을 참조로 이용하여 제1 이미지 블록(블록 G)이 인코딩될 것이다.
도 6을 참조하면, 2개의 이미지들을 디코딩하는 데 이용되는 구현이 도시되어 있다. 도 6은 2개의 이미지들, 또는 그의 부분들을 디코딩하는 데 이용되는 프로세스(600)를 도시한다.
프로세스(600)는 이미지의 인코딩에 액세스하는 것(610)을 포함한다. 이미지는 2개의 이미지들이 블록 기반으로 인터리빙된 인터리빙된 이미지이다. 2개의 이미지들은 복수의 제1 이미지 블록들을 포함하는 제1 이미지, 및 복수의 제2 이미지 블록들을 포함하는 제2 이미지이다. 인코딩은, 예를 들어, 전술한 도 1의 디코딩 블록(120)에 의해 수신되어 디코딩되는 수신된 화상일 수 있다.
프로세스(600)는 액세스된 인코딩의 부분을 디코딩하는 것(620)을 포함한다. 그 부분은 제2 이미지 블록을 참조로서 이용하여 인코딩된 제1 이미지 블록의 인코딩을 포함한다. 제1 이미지 블록은, 전술한 바와 같이, 샘플링된 왼쪽 뷰 화상(148)으로부터의 왼쪽 위 블록일 수 있다. 제2 이미지 블록은, 전술한 바와 같이, 샘플링된 오른쪽 뷰 화상(150)으로부터의 왼쪽 위 블록일 수 있고, 이것은 이 설명에서 샘플링된 왼쪽 뷰 화상(148)로부터의 왼쪽 위 블록과 겹치는 콘텐트를 갖고 있다고 가정된다. 디코딩은, 예를 들어, 전술한 도 1의 H.264 디코더(170)에 의해 수행될 수 있다.
도 7을 참조하면, 인코더(700)는, 예를 들어, 비디오 이미지들 또는 깊이 이미지들과 같은 이미지들을 인코딩하는 데 사용될 수 있는 인코더의 구현을 도시한다. 일 구현에서, 인코더(700)는 도 1의 시스템(100)에서 인코더(154)로서 사용된다. 인코더(700)는 또한, 예를 들어, 인코딩된 비트스트림에 관한 정보를 제공하는 메타데이터와 같은, 데이터를 인코딩하는 데 사용될 수 있다. 인코더(700)는, 예를 들어, 도 9에 관하여 아래 기술되는 것과 같은 비디오 송신 시스템의 일부로서 구현될 수 있다. 또한 도 7의 블록들은 인코더의 블록도를 제공하는 것에 더하여, 인코딩 프로세스의 흐름도를 제공한다는 것이 명백할 것이다.
입력 이미지 시퀀스가 가산기(701)에 도달할 뿐만 아니라, 변위 보상 블록(720) 및 변위 추정 블록(718)에도 도달한다. 변위는, 예를 들어, 모션 또는 차이를 나타낸다는 것에 유의한다. 가산기(701)에의 다른 입력은 스위치(723)를 통하여 수신된 각종의 가능한 참조 화상 정보 중 하나이다.
예를 들어, 스위치(723)와 신호 통신하는 모드 판정 블록(724)이 인코딩 모드가 현재 인코딩되고 있는 샘플 화상으로부터의 블록에 관하여 인트라-예측이어야 한다고 결정하면, 가산기(701)는 그의 입력을 인트라-예측 모듈(722)로부터 수신한다. 대안적으로, 모드 판정 모듈(724)이 인코딩 모드가 현재 인코딩되고 있는 화상과 다른 화상에 관하여 변위 보상 및 추정이어야 한다고 결정하면, 가산기(701)는 그의 입력을 변위 보상 모듈(720)로부터 수신한다.
다양한 구현들에서, 인트라-예측 모듈(722)은 인코딩되고 있는 블록의 이웃 블록들인 하나 이상의 블록들에 기초하여 소정의 예측기를 제공한다. 그러한 이웃 블록들은, 예를 들어, 인코딩되고 있는 화상과 입체-이미지 쌍을 형성하는 화상과 같은, 다른 입력 이미지로부터의 인터리빙된 블록들일 수 있다. 다양한 구현들에서, 인터리빙은 (x,y) 좌표들에 기초하고, 따라서 블록들은 그것들이 구성 화상들에서 나타나는 순으로 인터리빙된다. 그러나, 다른 구현들에서는 인터리빙이 차이에 기초하고, 따라서 콘텐트가 대응하는 블록들은, 그 블록들이 그들의 구성 화상들에서 어디에 위치하는지에 관계없이, 가능한 정도까지 서로에 인접하여 인터리빙된다.
하나의 특정 구현은 인터리빙 전에 왼쪽 및 오른쪽 화상들 사이의 이동(shift)의 정수의 블록들을 특정하는 단일 값을 코딩하는 것에 의해 이 개념의 실제적인 사용을 제공한다. 이것은 인코더에서의 평균 차이 측정이 인터리빙을 유도하도록 허용하고, 스트림에서 코딩하는 데 비용이 매우 적게 들고, 디스플레이에 앞서 디코더에서 블록들의 용이한 디스크램블링을 허용한다.
다양한 구현들에서, 인트라-예측 모듈(722)은 최선의 참조 블록을 찾아서 인코딩되고 있는 화상 내에서 검색하는 것에 의해 예측기(참조)를 제공한다. 더 구체적으로는, 몇몇의 그러한 구현들은 이미 인코딩된 현재 화상의 부분들의 재구성 내에서 검색한다. 일부 구현들에서, 그 검색은 현존하는 블록 경계들에 있는 블록들에 제한된다. 그러나, 다른 구현들에서, 그 검색은 블록들이 현존하는 블록 경계들을 가로지르는지에 관계없이 블록들을 검색하도록 허용된다. 그 검색 때문에, 종종 그러한 구현들은 단순히 소정의 이웃 블록들을 참조로서 이용하는 것보다 더 시간 집중적이고 프로세서 집중적이다. 그러나, 그러한 구현들은 전형적으로 주어진 블록의 더 나은 예측을 찾는 이점을 제공한다. 그러한 구현들은 또한 전형적으로 차이를 알 필요 없이 대응하는 입체-이미지 블록, 또는 대응하는 멀티뷰-이미지 블록을 찾는 이점을 제공한다.
그러한 구현들은 최선의 추정 인트라 예측 블록에 이를 수 있다. 또한, 다양한 구현들에서, 참조 블록의 경계들은 서브-픽셀 경계에 있을 수 있고, 참조의 복구는 디코딩 동안에 참조로서 이용될 실제 블록을 복구하는 보간 단계를 수반한다. 화상들의 콘텐트에 따라서, 그러한 서브-픽셀 보간 구현들은 이웃 블록들을 참조로서 이용하는 것과 비교하여 압축 효율을 개선할 수 있다.
가산기(701)는 신호를 변환 모듈(702)에 제공하고, 변환 모듈(702)은 그의 입력 신호를 변환하고 변환된 신호를 양자화 모듈(704)에 제공하도록 구성되어 있다. 양자화 모듈(704)은 그의 수신된 신호에 양자화를 수행하고 양자화된 정보를 엔트로피 인코더(705)에 출력하도록 구성되어 있다. 엔트로피 인코더(705)는 그의 입력 신호에 엔트로피 인코딩을 수행하여 비트스트림을 생성하도록 구성되어 있다. 역양자화 모듈(706)은 양자화 모듈(704)로부터 양자화된 신호를 수신하여 양자화된 신호에 역양자화를 수행하도록 구성되어 있다. 그리고, 역변환 모듈(708)은 역양자화 모듈(706)로부터 역양자화된 신호를 수신하여 그의 수신된 신호에 역변환을 수행하도록 구성되어 있다. 역변환 모듈(708)의 출력은 가산기(701)로부터 출력되는 신호의 재구성이다.
가산기(더 일반적으로는 결합기라고 함)(709)가 역변환 모듈(708) 및 스위치(723)로부터 수신된 신호들을 가산(결합)하여 그 결과의 신호를 인트라 예측 모듈(722) 및 인-루프 필터(710)에 출력한다. 그 결과의 신호는 인코더(700)에 입력되는 이미지 시퀀스 신호의 재구성이다.
인트라 예측 모듈(722)은 그의 수신된 신호들을 이용하여, 전술한 바와 같이, 인트라-예측을 수행한다. 유사하게, 인-루프 필터(710)는 가산기(709)로부터 수신된 신호들을 필터링하고 필터링된 신호들을 참조 버퍼(712)에 제공한다. 참조 버퍼(712)는 이미지 정보를 변위 추정 및 보상 모듈들(718 및 720)에 제공한다.
메타데이터가 인코딩된 메타데이터로서 인코더(700)에 추가되고 엔트로피 인코더(705)로부터의 출력 비트스트림과 결합된다. 대안적으로, 예를 들어, 인코딩되지 않은 메타데이터가 양자화된 이미지 시퀀스들과 함께 엔트로피 인코딩을 위해 엔트로피 코더(705)에 입력될 수 있다.
또한 모듈 판정 모듈(724)에 의해 출력 비트스트림에 데이터가 제공된다. 모드 판정 모듈(724)은 주어진 블록을 인코딩하는 데 사용되는 모드를 지시하는 정보를 비트스트림에 제공한다. 그러한 정보는 종종 참조 블록의 위치에 대한 지시를 포함한다. 예를 들어, 인트라-예측을 이용하는 그리고 참조 블록을 찾기 위해 현재 화상의 검색을 수행하는 다양한 구현들에서, 모드 판정 모듈(724)은 차이 벡터를 이용하여 참조의 위치를 지시한다. 차이 벡터 정보는 인트라 예측 모듈(722)에 의해 모드 판정 모듈(724)에 제공될 수 있다.
아래 더 기술되는 바와 같이, 차이 벡터 정보는 이웃 매크로블록의 차이 벡터를 참조로 이용하여 차분 코딩될 수 있다. 또한, 차이 벡터들에 공간 유사성이 있을 수 있으므로 엔트로피를 제거하기 위해 화상에 대한 차이 벡터들이 모아져서 추가로 인코딩될 수 있다.
도 8을 참조하면, 디코더(800)는 이미지들을 디코딩하고 그것들을, 예를 들어, 디스플레이 디바이스에 제공하는 데 사용될 수 있는 디코더의 구현을 도시한다. 디코더(800)는 또한, 예를 들어, 디코딩된 비트스트림에 관한 정보를 제공하는 메타데이터를 디코딩하는 데 사용될 수 있다. 일 구현에서, 디코더(800)는 도 1의 시스템(100)에서 디코더(156) 및/또는 디코더(170)로서 사용된다. 또한, 디코더(800)는, 예를 들어, 도 10에 관하여 아래 기술되는 것과 같은 비디오 수신 시스템의 일부로서 구현될 수 있다. 또한 도 8의 블록들은 디코더의 블록도를 제공하는 것에 더하여, 디코딩 프로세스의 흐름도를 제공한다는 것이 명백할 것이다.
디코더(800)는 비트스트림 수신기(802)를 이용하여 비트스트림을 수신하도록 구성되어 있다. 비트스트림 수신기(802)는 비트스트림 파서(804)와 신호 통신하고 비트스트림을 비트스트림 파서(804)에 제공한다.
비트스트림 파서(804)는 나머지 비트스트림을 엔트로피 디코더(806)에 송신하고, 제어 신택스(control syntax) 요소들을 모드 선택 모듈(816)에 송신하고, 변위(모션/차이) 벡터 정보를 변위 보상 모듈(826)에 및 인트라 예측 모듈(818)에 송신하도록 구성되어 있다.
변위 벡터 정보는, 예를 들어, 모션 벡터 정보 또는 차이 벡터 정보일 수 있다. 모션 벡터 정보는 전형적으로 인터-예측에서 이전의 이미지로부터의 상대적 움직임을 지시하기 위해 사용된다. 차이 벡터 정보는 전형적으로 (i) 인터-예측에서 개별 이미지에 관한 차이를 지시하기 위해 또는 (ii) 인트라-예측에서 동일한 이미지의 부분에 관한 차이를 지시하기 위해 사용된다. 이 기술분야에 공지된 바와 같이, 차이는 전형적으로 2개의 이미지들 사이의 상대적 오프셋, 또는 변위를 나타낸다. 차이는 또한 이미지의 2개의 부분들 사이의 상대적 오프셋, 또는 변위를 나타내기 위해 사용될 수 있다.
역양자화 모듈(808)은 엔트로피 디코더(806)로부터 수신된 엔트로피 디코딩된 신호에 역양자화를 수행한다. 또한, 역변환 모듈(810)은 역양자화 모듈(808)로부터 수신된 역양자화된 신호에 역변환을 수행하고 그 역변환된 신호를 가산기(결합기라고도 함)(812)에 출력하도록 구성되어 있다.
가산기(812)는 사용되는 디코딩 모드에 따라 각종의 다른 신호들 중 하나를 수신할 수 있다. 예를 들어, 모드 판정 모듈(816)은 제어 신택스 요소들을 파싱하고 분석하는 것에 의해 인코더에 의해 현재 프로세싱되는 블록에 변위 보상 또는 인트라 예측 인코딩이 수행되었는지를 판정할 수 있다. 판정된 모드에 따라, 모드 선택 제어 모듈(816)은, 가산기(812)가 변위 보상 모듈(826) 또는 인트라 예측 모듈(818)로부터 신호들을 수신할 수 있도록, 제어 신택스 요소들에 기초하여, 스위치(817)에 액세스하여 그것을 제어할 수 있다.
여기서, 인트라 예측 모듈(818)은 현재 디코딩되고 있는 동일한 화상에 대한 참조들을 이용하여 블록을 디코딩하기 위해 인트라 예측을 수행하도록 구성되어 있다. 그리고, 변위 보상 모듈(826)은 현재 디코딩되고 있는 화상과 다른 또 하나의 이전에 프로세싱된 화상의 블록에 대한 참조들을 이용하여 블록을 디코딩하기 위해 변위 보상을 수행하도록 구성되어 있다.
또한, 다양한 구현들의 인트라 예측 모듈(818)은 비트스트림 파서(804)로부터 인트라-예측에서 사용되는 참조 블록의 위치를 식별하는 차이 벡터 정보를 수신한다. 그러한 구현들에서, 블록은 전형적으로 참조를 찾기 위해 코딩되고 있는 화상을 검색하는 인트라-코딩 모드에서 인코딩되었다. 이것은, 예를 들어, 예측기를 생성하기 위해 인코딩되고 있는 화상으로부터의 하나 이상의 소정의 블록들을 이용하는 것과 대비된다.
예측 또는 보상 정보 신호들을 수신한 후에, 가산기(812)는, 예를 들어, 블로킹 아티팩트들을 필터링하여 제거하는 디블로킹 필터와 같은 인-루프 필터(814)에 송신하기 위해 예측 또는 보상 정보 신호들을 역변환된 신호와 가산한다. 가산기(812)는 또한 가산된 신호를 인트라 예측에 사용하기 위해 인트라 예측 모듈(818)에 출력한다.
인-루프 필터(814)는 그의 입력 신호를 필터링하고 디코딩된 화상들을 출력하도록 구성되어 있다. 또한, 인-루프 필터(814)는 필터링된 신호를 참조 버퍼(820)에 제공한다. 참조 버퍼(820)는 변위 보상 모듈(826)에 의한 변위 보상 디코딩을 허용하고 돕기 위해 그의 수신된 신호를 파싱하도록 구성되어 있고, 참조 버퍼(820)는 파싱된 신호들을 변위 보상 모듈(826)에 제공한다. 그러한 파싱된 신호들은, 예를 들어, 참조로서 사용되었을 수 있는 다양한 화상들의 전부 또는 일부일 수 있다.
비트스트림 수신기(802)에 제공되는 비트스트림에 메타데이터가 포함될 수 있다. 메타데이터는 비트스트림 파서(804)에 의해 파싱되고, 엔트로피 디코더(806)에 의해 디코딩될 수 있다. 디코딩된 메타데이터는 출력(도시되지 않음)을 이용한 엔트로피 디코딩 후에 디코더(800)로부터 추출될 수 있다.
이제 도 9를 참조하면, 전술한 특징들 및 원리들이 적용될 수 있는, 비디오 송신 시스템/장치(900)가 도시되어 있다. 예를 들어, 비디오 송신 시스템(900)은, 예를 들어, 위성, 케이블, 전화 회선, 또는 지상파 방송과 같은 각종의 매체 중 임의의 것을 이용하여 신호를 송신하기 위한 헤드-엔드 또는 송신 시스템일 수 있다. 송신은 인터넷 또는 어떤 다른 네트워크를 통해 제공될 수 있다. 비디오 송신 시스템(900)은, 예를 들어, 비디오 콘텐트 및 예를 들어 깊이 및/또는 차이 값들을 포함하는 깊이의 지시자들과 같은 다른 콘텐트를 생성하고 전달할 수 있다. 또한 도 9의 블록들은 비디오 송신 시스템/장치의 블록도를 제공하는 것에 더하여, 비디오 송신 프로세스의 흐름도를 제공한다는 것이 명백할 것이다.
비디오 송신 시스템(900)은 프로세싱 디바이스(901)로부터 입력 비디오를 수신한다. 일 구현에서, 프로세싱 디바이스(901)는 단순히 왼쪽 뷰 화상(140) 및 오른쪽 뷰 화상(142)과 같은 최초 사이즈의 이미지들을 비디오 송신 시스템(900)에 제공한다. 그러나, 다른 구현에서, 프로세싱 디바이스(901)는 샘플러(144) 및 샘플러(146)의 동작들뿐만 아니라 복합 화상(152)을 생성하는 인터리빙에 관하여 시스템(100)에 대하여 전술한 바와 같은 다운샘플링 및 인터리빙을 수행하도록 구성된 프로세서이다. 프로세싱 디바이스(901)의 다양한 구현들은, 예를 들어, 도 5의 프로세스(500)의 동작들(510, 520, 및 530)을 구현하는 프로세싱 디바이스들을 포함한다. 프로세싱 디바이스(901)는 또한 입력 화상이 인터리빙되어 있는지를 지시하고 및/또는 인터리빙을 기술하는 다양한 파라미터들을 제공하는 메타데이터를 비디오 송신 시스템(900)에 제공할 수 있다. 그러한 파라미터들은, 예를 들어, 인터리빙된 화상들의 수, 각 화상에 대한 변환 레이트, 각 화상에 대한 변환 타입(예를 들어, 수평 샘플링 또는 수직 샘플링), 또는 인터리빙 모드(예를 들어, 로우 방식의 인터리빙 또는 칼럼 방식의 인터리빙)를 포함한다.
비디오 송신 시스템(900)은 인코더(902) 및 인코딩된 신호를 송신할 수 있는 송신기(904)를 포함한다. 인코더(902)는 프로세서(901)로부터 비디오 정보를 수신한다. 비디오 정보는, 예를 들어, 이미지들 및 깊이 지시자들을 포함할 수 있다. 인코더(902)는 비디오 정보에 기초하여 인코딩된 신호(들)를 생성한다. 인코더(902)는, 예를 들어, 인코딩 블록(110), 인코더(154), 또는 인코더(700)일 수 있다. 인코더(902)는, 예를 들어 다양한 정보들을 수신하고 저장 및 송신을 위해 구조화된 포맷으로 어셈블링하기 위한 어셈블리 유닛을 포함하는, 서브-모듈들을 포함할 수 있다. 다양한 정보들은, 예를 들어, 코딩된 또는 코딩되지 않은 비디오, 코딩된 또는 코딩되지 않은 깊이 지시자들 및/또는 정보, 및 예를 들어 모션 벡터들, 코딩 모드 지시자들, 및 신택스 요소들과 같은 코딩된 또는 코딩되지 않은 요소들을 포함할 수 있다. 일부 구현들에서, 인코더(902)는 프로세서(901)를 포함하고 따라서 프로세서(901)의 동작들을 수행한다.
송신기(904)는 인코더(902)로부터 인코딩된 신호(들)를 수신하고 인코딩된 신호(들)를 하나 이상의 출력 비트스트림에서 송신한다. 송신기(904)는, 예를 들어, 인코딩된 화상들을 나타내는 하나 이상의 비트스트림을 갖는 프로그램 신호 및/또는 그에 관한 정보를 송신하도록 구성될 수 있다. 전형적인 송신기들은, 예를 들어, 오류 정정 코딩을 제공하는 것, 신호 내의 데이터를 인터리빙하는 것, 신호 내의 에너지를 무작위화(randomize)하는 것, 및 변조기(906)를 이용하여 하나 이상의 반송파들에 신호를 변조하는 것 중 하나 이상의 기능과 같은 기능들을 수행한다. 송신기(904)는 안테나(도시되지 않음)를 포함하거나, 그것과 인터페이싱할 수 있다. 또한, 송신기(904)의 구현들은 변조기(906)에 제한될 수 있다.
이제 도 10을 참조하면, 전술한 특징들 및 원리들이 적용될 수 있는 비디오 수신 시스템/장치(1000)가 도시되어 있다. 비디오 수신 시스템(1000)은, 예를 들어, 위성, 케이블, 전화 회선, 또는 지상파 방송과 같은 각종의 매체를 통해 신호들을 수신하도록 구성될 수 있다. 신호들은 인터넷 또는 어떤 다른 네트워크를 통해 수신될 수 있다. 또한 도 10의 블록들은 비디오 수신 시스템/장치의 블록도를 제공하는 것에 더하여, 비디오 수신 프로세스의 흐름도를 제공한다는 것이 명백할 것이다.
비디오 수신 시스템(1000)은, 인코딩된 비디오를 수신하고, 예를 들어, 사용자에게 디스플레이하기 위해, 프로세싱을 위해, 또는 저장을 위해 디코딩된 비디오를 제공하는, 예를 들어, 휴대폰, 컴퓨터, 셋톱 박스, 텔레비전, 또는 다른 디바이스일 수 있다. 따라서, 비디오 수신 시스템(1000)은 그의 출력을, 예를 들어, 텔레비전의 스크린, 컴퓨터 모니터, 컴퓨터(저장, 프로세싱, 또는 디스플레이를 위해), 또는 어떤 다른 저장, 프로세싱, 또는 디스플레이 디바이스에 제공할 수 있다.
비디오 수신 시스템(1000)은 비디오 정보를 포함하는 비디오 콘텐트를 수신하고 프로세싱할 수 있다. 비디오 수신 시스템(1000)은, 예를 들어, 이 출원의 구현들에서 기술된 신호들과 같은, 인코딩된 신호를 수신하기 위한 수신기(1002)를 포함한다. 수신기(1002)는, 예를 들어, 수신된 화상을 도 1의 디코딩 블록(120)에 제공하는 신호, 도 7의 인코더(700)로부터의 비트스트림을 반송하는 신호, 또는 도 9의 비디오 송신 시스템(900)으로부터 출력된 신호를 수신할 수 있다.
수신기(1002)는, 예를 들어, 인코딩된 화상들을 나타내는 복수의 비트스트림을 가진 프로그램 신호를 수신하도록 적응될 수 있다. 전형적인 수신기들은, 예를 들어, 변조되고 인코딩된 데이터 신호를 수신하는 것, 복조기(1004)를 이용하여 하나 이상의 반송파로부터의 데이터 신호를 복조하는 것, 신호 내의 에너지를 역무작위화(de-randomize)하는 것, 신호 내의 데이터를 디인터리빙하는 것, 및 신호를 오류 정정 디코딩하는 것 중 하나 이상과 같은 기능들을 수행한다. 수신기(1002)는 안테나(도시되지 않음)를 포함하거나, 그것과 인터페이싱할 수 있다. 수신기(1002)의 구현들은 복조기(1004)에 제한될 수 있다.
비디오 수신 시스템(1000)은 디코더(1006)를 포함한다. 수신기(1002)는 수신된 신호를 디코더(1006)에 제공한다. 디코더(1006)는, 예를 들어, 비디오 정보를 포함하는 디코딩된 비디오 신호들과 같은 디코딩된 신호를 출력한다. 디코더(1006)는, 예를 들어, 도 1의 시스템(100)의 디코더(156) 또는 디코더(170), 또는 도 8의 디코더(800)일 수 있다.
디코더(1006)로부터의 출력 비디오는, 일 구현에서, 프로세싱 디바이스(1008)에 제공된다. 프로세싱 디바이스(1008)는, 일 구현에서, 수평 분할 스크린 화상(174)을 생성하는 디인터리빙뿐만 아니라 샘플러(180) 및 샘플러(182)의 동작들에 관하여 시스템(100)에 대하여 전술한 바와 같은 디인터리빙 및 업샘플링을 수행하도록 구성된 프로세서이다. 일부 구현들에서, 디코더(1006)는 프로세서(1008)를 포함하고 따라서 프로세서(1008)의 동작들을 수행한다. 다른 구현들에서, 프로세서(1008)는, 예를 들어, 셋톱 박스 또는 텔레비전과 같은 다운스트림 디바이스의 일부이다.
이렇게 하여 특정한 특징들 및 양태들을 가진 하나 이상의 구현들을 제공하였다. 그러나, 기술된 구현들의 특징들 및 양태들은 또한 다른 구현들을 위해 적응될 수 있다.
- 예를 들어, 상기 특징들, 양태들, 및 구현들은 왼쪽/오른쪽 스테레오 시스템에 제한되지 않는 다른 시스템들에 적용되거나 적응될 수 있다. 하나의 그러한 구현은 비디오 화상 및 그의 대응하는 깊이 화상을 인터리빙한다. 다른 그러한 구현은 반드시 왼쪽 및 오른쪽 뷰들로서 관련되는 것은 아닌 멀티뷰 시스템으로부터의 둘 이상의 상이한 뷰들을 인터리빙한다.
- 또 다른 예로서, 상기 구현들은 일반적으로 매크로블록 레벨에서의 인터리빙을 기술한다. 그러나, 인터리빙은 다른 구현들에서는 다른 레벨들에서 수행된다. 그러한 다른 레벨들은, 예를 들어, 필드 레벨, 슬라이스 레벨, 및 파티션 레벨을 포함한다.
- 또 다른 예로서, 이들 구현들 및 특징들은 비디오를 코딩하고 및/또는 다른 데이터 유형들을 코딩하는 것에 관련해서 사용될 수 있다. 또한, 이들 구현들 및 특징들은 표준에 관련해서 사용되거나, 표준에 관련해서 사용되도록 적응될 수 있다. 그러한 표준들은, 예를 들어, AVC, 멀티뷰 코딩(MVC)을 위한 AVC의 확장, 스케일러블 비디오 코딩(SVC)을 위한 AVC의 확장, 및 3-D 비디오 코딩(3DV)을 위한 그리고 고성능 비디오 코딩(HVC)을 위한 임의의 제안된 MPEG/JVT 표준들을 포함하지만, 다른 표준들(현존하는 또는 미래의)이 사용될 수 있다. 물론, 그 구현들 및 특징들은 표준에서 사용되지 않아도 된다.
다양한 구현들은 "이미지들" 및/또는 "화상들"을 언급한다. "이미지" 및 "화상"이라는 용어들은 이 문서의 전반에 걸쳐 교환 가능하게 사용되고, 광의의 용어들이도록 의도되어 있다. "이미지" 또는 "화상"은, 예를 들어, 프레임의 또는 필드의 전부 또는 일부일 수 있다. "비디오"라는 용어는 이미지들(또는 화상들)의 시퀀스를 나타낸다. 이미지, 또는 화상은, 예를 들어, 다양한 비디오 성분들 또는 그들의 조합들 중 임의의 것을 포함할 수 있다. 그러한 성분들, 또는 그들의 조합들은, 예를 들어, 휘도, 색차, (YUV 또는 YCbCr 또는 YPbPr의) Y, (YUV의) U, (YUV의) V, (YCbCr의) Cb, (YCbCr의) Cr, (YPbPr의) Pb, (YPbPr의) Pr, (RGB)의 적색, (RGB의) 녹색, (RGB의) 청색, S-비디오, 및 이들 성분들 중 임의의 것의 마이너스 성분들 및 플러스 성분들을 포함한다. "이미지" 또는 "화상"은 또한, 또는 대안적으로, 예를 들어, 전형적인 2차원 비디오, 2D 비디오 화상에 대한 차이 맵, 2D 비디오 화상에 대응하는 깊이 맵, 또는 에지 맵을 포함하는, 다양한 상이한 콘텐트 유형들을 나타낼 수 있다.
또한, 이 출원 또는 그의 청구항들은 다양한 정보들을 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 정보를 식별하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
예를 들어, "A/B", "A 및/또는 B" 및 "A와 B 중 적어도 하나"의 경우에 "/", "및/또는", 및 "중 적어도 하나" 중 임의의 것의 사용은 제2의 열거된 옵션(B) 없이 제1의 열거된 옵션(A)의 선택, 또는 제1의 열거된 옵션(A) 없이 제2의 열거된 옵션(B)의 선택, 또는 양쪽 옵션들(A 및 B)의 선택을 포함하도록 의도되어 있다는 것을 알아야 한다. 또 다른 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"의 경우에, 그러한 문구는 제2의 열거된 옵션(B) 및 제3의 열거된 옵션(C) 없이 제1의 열거된 옵션(A)의 선택, 또는 제1의 열거된 옵션(A) 및 제3의 열거된 옵션(C)의 선택 없이 제2의 열거된 옵션(B)의 선택, 또는 제1의 열거된 옵션(A) 및 제2의 열거된 옵션(B)의 선택 없이 제3의 열거된 옵션(C)의 선택, 또는 제3의 열거된 옵션(C)의 선택 없이 제1 및 제2 열거된 옵션들(A 및 B)의 선택, 또는 제2의 열거된 옵션(B)의 선택 없이 제1 및 제3 열거된 옵션들(A 및 C)의 선택, 또는 제1의 열거된 옵션(A)의 선택 없이 제2 및 제3 열거된 옵션들(B 및 C)의 선택, 또는 모든 3개의 옵션들(A 및 B 및 C)의 선택을 포함하도록 의도되어 있다. 이것은 이 기술분야 및 관련 기술분야의 통상의 당업자라면 곧 알 수 있는 바와 같이, 임의의 사이즈의 목록들에 대해 확장될 수 있다. 이 단락에서 논의된 문구 중 어느 것도 열거되지 않은 요소들을 포함하지 않도록 선택을 제한하도록 의도되어 있지 않다는 것에 유의한다. 예를 들어, "A 및/또는 B"는 "A" 및 "C"의 선택을 배제하지 않는다.
본 원리들의 "일 실시예", "실시예" 또는 "일 구현" 또는 "구현"뿐만 아니라, 그의 다른 변형들에 대한 언급은 그 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 본 원리들의 적어도 일 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서의 전반에 걸쳐서 여러 곳에서 나타나는, "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"라는 문구뿐만 아니라, 임의의 다른 변형들의 출현들은 반드시 모두가 동일한 실시예를 언급하는 것은 아니다. 또한, 이들 문구들(예를 들어, "일 실시예에서")은 하나의 가능한 실시예만이 존재하는 것을 나타내려고 하는 것이 아니라 특정 실시예가 논의되고 있다는 사실에 주의를 끌려는 것이다.
여기에 기술된 구현들은, 예를 들어, 방법 또는 프로세서, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 단 하나의 형태의 구현에 관련해서만 논의(예를 들어, 방법으로서만 논의)되었다 하더라도, 논의된 특징들의 구현은 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수도 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및/또는 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 PLD(programmable logic device)를 포함하는, 일반적으로 프로세싱 디바이스들을 나타내는, 예를 들어, 프로세서와 같은, 예를 들어, 장치에서 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터, 휴대폰, 휴대용/개인 정보 단말기("PDA"), 및 최종 사용자들 또는 디바이스들 사이에 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
여기에 기술된 다양한 프로세스들 및 특징들의 구현들은 각종 상이한 장비 또는 응용들, 특히, 예를 들어, 데이터 인코딩 및 디코딩과 관련된 장비 또는 응용들에서 구현될 수 있다. 그러한 장비의 예들은 인코더, 디코더, 디코더로부터의 출력을 프로세싱하는 포스트-프로세서, 인코더에 입력을 제공하는 프리-프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋톱 박스, 랩톱, 퍼스널 컴퓨터, 휴대폰, PDA, 및 다른 통신 디바이스들을 포함한다. 명백한 바와 같이, 장비는 이동식일 수 있고 심지어 이동 차량에 설치될 수도 있다.
또한, 방법들은 프로세서에 의해 수행되는 명령어들에 의해 구현될 수 있고, 그러한 명령어들(및/또는 구현에 의해 생성된 데이터 값들)은, 예를 들어, 집적 회로, 소프트웨어 캐리어와 같은 프로세서-판독 가능한 매체 또는 예를 들어 하드 디스크, 콤팩트 디스켓, 랜덤 액세스 메모리("RAM"), 또는 판독 전용 메모리("ROM")와 같은 다른 저장 디바이스 상에 저장될 수 있다. 명령어들은 프로세서-판독 가능한 매체 상에 실체적으로 구현된 응용 프로그램을 형성할 수 있다. 명령어들은, 예를 들어, 하드웨어, 펌웨어, 소프트웨어, 또는 조합으로 이루어질 수 있다. 명령어들은, 예를 들어, 운영 체제, 개별 애플리케이션, 또는 이 둘의 조합에서 발견될 수 있다. 따라서, 프로세서는, 예를 들어, 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하기 위한 명령어들을 갖는 프로세서-판독 가능한 매체를 포함하는 디바이스(예를 들어 저장 디바이스) 둘 다로서 특징지어질 수 있다. 또한, 프로세서-판독 가능한 매체는, 명령어들에 더하여 또는 그 대신에, 구현에 의해 생성된 데이터 값들을 저장할 수 있다.
당업자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수 있는 정보를 반송하도록 포맷된 각종 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 기술된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 이용하여) 또는 기저대 신호로서 포맷될 수 있다. 그 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림으로 반송파를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 바와 같이 각종 상이한 유선 또는 무선 링크들을 통하여 송신될 수 있다. 신호는 프로세서-판독 가능한 매체 상에 저장될 수 있다.
다수의 구현들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 이루어질 수 있다는 것을 이해할 것이다. 예를 들어, 상이한 구현들의 요소들이 조합되거나, 보충되거나, 수정되거나, 제거되어 다른 구현들을 생성할 수 있다. 또한, 통상의 당업자라면 다른 구조들 및 프로세스들이 개시된 것들을 대체할 수 있고 그 결과의 구현들은 적어도 실질적으로 동일한 기능(들)을, 적어도 실질적으로 동일한 방식(들)으로 수행하여, 개시된 구현들과 적어도 실질적으로 동일한 결과(들)를 달성할 것이다. 따라서, 이들 및 다른 구현들이 이 개시 내용에 의해 고려되고 이 개시 내용의 범위 내에 있다.

Claims (48)

  1. 복수의 블록들을 포함하는 제1 이미지에 액세스하는 단계 - 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함함 -;
    복수의 블록들을 포함하는 제2 이미지에 액세스하는 단계 - 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -;
    상기 제1 이미지의 상기 복수의 블록들 및 상기 제2 이미지의 상기 복수의 블록들을 블록 기반으로 인터리빙하여 인터리빙된 이미지를 형성하는 단계;
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 것에 의해 상기 인터리빙된 이미지의 적어도 일부를 인코딩하는 단계; 및
    상기 인코딩된 제1 이미지 블록을 송신 또는 저장을 위해 제공하는 단계
    를 포함하고,
    상기 인터리빙하는 것은 상기 제1 이미지 내의 상기 복수의 블록들에 대한 차이의 값에 기초하여 블록들을 인터리빙하는 것을 포함하는 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 제1 이미지 블록은 매크로블록인 방법.
  5. 제1항 또는 제4항에 있어서, 상기 인코딩하는 단계는 H.264의 인트라-코딩 모드를 이용하여 H.264 인코딩하는 단계를 포함하는 방법.
  6. 삭제
  7. 제1항 또는 제4항에 있어서, 상기 제1 이미지 블록을 인코딩하는 것은 상기 제1 이미지 블록에 대한 차이(disparity)의 값에 기초하여 상기 제2 이미지 블록을 식별하는 것을 포함하는 방법.
  8. 제1항 또는 제4항에 있어서, 인터리빙하는 단계는 상기 제1 이미지 및 상기 제2 이미지 내의 상대적 위치들에 기초하여 블록들을 인터리빙하는 단계를 포함하는 방법.
  9. 삭제
  10. 제1항 또는 제4항에 있어서, 상기 제1 이미지 블록 및 상기 제2 이미지 블록은 상기 인터리빙된 이미지 내의 이웃 블록들인 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 복수의 블록들을 포함하는 제1 이미지에 액세스하는 수단 - 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함함 -;
    복수의 블록들을 포함하는 제2 이미지에 액세스하는 수단 - 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -;
    상기 제1 이미지 내의 상기 복수의 블록들에 대한 차이의 값에 기초하여 상기 제1 이미지의 상기 복수의 블록들 및 상기 제2 이미지의 상기 복수의 블록들을 블록 기반으로 인터리빙하여 인터리빙된 이미지를 형성하는 수단;
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 것에 의해 상기 인터리빙된 이미지의 적어도 일부를 인코딩하는 수단; 및
    상기 인코딩된 제1 이미지 블록을 송신 또는 저장을 위해 제공하는 수단
    을 포함하는 장치.
  18. 하나 이상의 프로세서로 하여금,
    복수의 블록들을 포함하는 제1 이미지에 액세스하는 단계 - 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함함 -;
    복수의 블록들을 포함하는 제2 이미지에 액세스하는 단계 - 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -;
    상기 제1 이미지의 상기 복수의 블록들 및 상기 제2 이미지의 상기 복수의 블록들을 블록 기반으로 인터리빙하여 인터리빙된 이미지를 형성하는 단계 - 상기 인터리빙하는 것은 상기 제1 이미지 내의 상기 복수의 블록들에 대한 차이의 값에 기초하여 블록들을 인터리빙하는 것을 포함함 - ;
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 것에 의해 상기 인터리빙된 이미지의 적어도 일부를 인코딩하는 단계; 및
    상기 인코딩된 제1 이미지 블록을 송신 또는 저장을 위해 제공하는 단계
    를 집합적으로 수행하게 하는 명령어들이 저장되어 있는 프로세서 판독 가능한 매체.
  19. 복수의 블록들을 포함하는 제1 이미지에 액세스하고 - 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함함 -,
    복수의 블록들을 포함하는 제2 이미지에 액세스하고 - 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -,
    상기 제1 이미지의 상기 복수의 블록들 및 상기 제2 이미지의 상기 복수의 블록들을 블록 기반으로 인터리빙하여 인터리빙된 이미지를 형성하도록 집합적으로 구성된 하나 이상의 프로세서 - 상기 인터리빙하는 것은 상기 제1 이미지 내의 상기 복수의 블록들에 대한 차이의 값에 기초하여 블록들을 인터리빙하는 것을 포함함 - ; 및
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 것에 의해 상기 인터리빙된 이미지의 적어도 일부를 인코딩하고,
    상기 인코딩된 제1 이미지 블록을 송신 또는 저장을 위해 제공하는 인코더
    포함하는 장치.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 인코딩된 이미지에 액세스하는 단계 - 상기 인코딩된 이미지는 제1 이미지 내의 복수의 블록들에 대한 차이의 값에 기초하는, 상기 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들의 블록 기반 인터리빙의 인코딩이고, 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함하고, 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -;
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩한 상기 인코딩된 이미지의 부분을 디코딩하는 단계; 및
    상기 디코딩된 부분을 프로세싱 또는 디스플레이를 위해 제공하는 단계
    를 포함하는 방법.
  25. 제24항에 있어서,
    상기 인코딩된 이미지를 디코딩하여 상기 디코딩된 부분을 포함하는 디코딩된 이미지를 생성하는 단계; 및
    상기 디코딩된 이미지를 디인터리빙하여 적어도 상기 제1 이미지의 재구성 및 상기 제2 이미지의 재구성을 포함하는 디인터리빙된 이미지를 생성하는 단계
    를 더 포함하는 방법.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 제24항 또는 제25항에 있어서, 상기 제1 이미지 블록은 매크로블록인 방법.
  31. 제24항 또는 제25항에 있어서, 상기 디코딩하는 단계는 H.264의 인트라-코딩 모드를 이용하여 H.264 디코딩하는 단계를 포함하는 방법.
  32. 삭제
  33. 제24항 또는 제25항에 있어서, 상기 제1 이미지 블록을 디코딩하는 것은 상기 제1 이미지 블록에 대한 차이의 값에 기초하여 상기 제2 이미지 블록을 식별하는 것을 포함하는 방법.
  34. 제24항 또는 제25항에 있어서, 상기 블록 기반 인터리빙은 상기 제1 이미지 및 상기 제2 이미지 내의 상대적 위치들에 기초하여 블록들을 인터리빙하는 단계를 포함하는 방법.
  35. 제24항 또는 제25항에 있어서, 상기 블록 기반 인터리빙은 상기 제1 이미지 내의 상기 복수의 블록들에 대한 차이의 값에 기초하여 블록들을 인터리빙하는 단계를 포함하는 방법.
  36. 제24항 또는 제25항에 있어서, 상기 제1 이미지 블록 및 상기 제2 이미지 블록은 상기 인터리빙된 이미지 내의 이웃 블록들인 방법.
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 인코딩된 이미지에 액세스하는 수단 - 상기 인코딩된 이미지는 제1 이미지 내의 복수의 블록들에 대한 차이의 값에 기초하는, 상기 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들의 블록 기반 인터리빙의 인코딩이고, 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함하고, 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -;
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 상기 인코딩된 이미지의 부분을 디코딩하는 수단; 및
    상기 디코딩된 부분을 프로세싱 또는 디스플레이를 위해 제공하는 수단
    을 포함하는 장치.
  43. 하나 이상의 프로세서로 하여금,
    인코딩된 이미지에 액세스하는 단계 - 상기 인코딩된 이미지는 제1 이미지 내의 복수의 블록들에 대한 차이의 값에 기초하는, 상기 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들의 블록 기반 인터리빙의 인코딩이고, 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함하고, 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -,
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 상기 인코딩된 이미지의 부분을 디코딩하는 단계, 및
    상기 디코딩된 부분을 프로세싱 또는 디스플레이를 위해 제공하는 단계
    를 집합적으로 수행하게 하는 명령어들이 저장되어 있는 프로세서 판독 가능한 매체.
  44. 인코딩된 이미지에 액세스하는 단계 - 상기 인코딩된 이미지는 제1 이미지 내의 복수의 블록들에 대한 차이의 값에 기초하는, 상기 제1 이미지의 복수의 블록들 및 제2 이미지의 복수의 블록들의 블록 기반 인터리빙의 인코딩이고, 상기 제1 이미지의 상기 복수의 블록들은 제1 이미지 블록을 포함하고, 상기 제2 이미지의 상기 복수의 블록들은 상기 제1 이미지 블록과 겹치는 콘텐트를 갖는 제2 이미지 블록을 포함함 -,
    상기 제2 이미지 블록을 참조로 이용하여 상기 제1 이미지 블록을 인코딩하는 상기 인코딩된 이미지의 부분을 디코딩하는 단계, 및
    상기 디코딩된 부분을 프로세싱 또는 디스플레이를 위해 제공하는 단계
    를 수행하도록 구성된 디코더를 포함하는 장치.
  45. 제44항에 있어서, 상기 디코더는 인코더의 일부인 장치.
  46. 삭제
  47. 제1항 또는 제4항에 있어서, 상기 인터리빙하는 단계는,
    차이에 기초하여 상기 제1 이미지 블록과 상기 제2 이미지 블록이 서로 대응한다는 것을 결정하는 단계; 및
    상기 인터리빙된 이미지 내에서 이웃이 되도록 상기 제1 이미지 블록과 상기 제2 이미지 블록을 인터리빙하는 단계를 포함하는 방법.
  48. 제24항 또는 제25항에 있어서,
    상기 인터리빙은,
    차이에 기초하여 상기 제1 이미지 블록과 상기 제2 이미지 블록이 서로 대응한다는 것을 결정하는 것; 및
    상기 인터리빙된 이미지 내에서 이웃이 되도록 상기 제1 이미지 블록과 상기 제2 이미지 블록을 인터리빙하는 것을 포함하는 방법.
KR1020127022539A 2010-01-29 2011-01-28 블록 기반 인터리빙 KR101828096B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33706010P 2010-01-29 2010-01-29
US61/337,060 2010-01-29
PCT/US2011/000168 WO2011094019A1 (en) 2010-01-29 2011-01-28 Block-based interleaving

Publications (2)

Publication Number Publication Date
KR20120123492A KR20120123492A (ko) 2012-11-08
KR101828096B1 true KR101828096B1 (ko) 2018-02-09

Family

ID=43836663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127022539A KR101828096B1 (ko) 2010-01-29 2011-01-28 블록 기반 인터리빙

Country Status (7)

Country Link
US (1) US9215445B2 (ko)
EP (1) EP2529557A1 (ko)
JP (1) JP5722349B2 (ko)
KR (1) KR101828096B1 (ko)
CN (1) CN102742282B (ko)
BR (1) BR112012018976A2 (ko)
WO (1) WO2011094019A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376549B (zh) 2009-01-29 2017-08-11 杜比实验室特许公司 视频编码方法及解码视频信号的方法
JP5562408B2 (ja) 2009-04-20 2014-07-30 ドルビー ラボラトリーズ ライセンシング コーポレイション 指揮された補間およびデータの後処理
KR20120129996A (ko) * 2010-02-24 2012-11-28 톰슨 라이센싱 3d용 분할 스크린
KR101885341B1 (ko) * 2011-10-20 2018-08-07 삼성전자 주식회사 디스플레이 드라이버와 이미지 데이터 처리 장치의 동작 방법
US9609336B2 (en) * 2013-04-16 2017-03-28 Fastvdo Llc Adaptive coding, transmission and efficient display of multimedia (acted)
CA2909550C (en) * 2013-07-15 2018-04-24 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3d video coding
US10057593B2 (en) * 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US10055850B2 (en) 2014-09-19 2018-08-21 Brain Corporation Salient features tracking apparatus and methods using visual initialization
IL236606B (en) * 2015-01-11 2020-09-30 Gornik Amihay Standards and methods for agricultural monitoring
EP3979644A1 (en) * 2020-10-02 2022-04-06 Koninklijke Philips N.V. A method and apparatus for encoding and decoding one or more views of a scene

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008034892A (ja) * 2006-03-28 2008-02-14 Victor Co Of Japan Ltd 多視点画像符号化装置

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193000A (en) 1991-08-28 1993-03-09 Stereographics Corporation Multiplexing technique for stereoscopic video system
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US5748786A (en) 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6055012A (en) 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
DE19619598A1 (de) 1996-05-15 1997-11-20 Deutsche Telekom Ag Verfahren zur Speicherung oder Übertragung von stereoskopischen Videosignalen
US6075905A (en) 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6173087B1 (en) 1996-11-13 2001-01-09 Sarnoff Corporation Multi-view image registration with application to mosaicing and lens distortion correction
US6157396A (en) 1999-02-16 2000-12-05 Pixonics Llc System and method for using bitstream information to process images for use in digital display systems
US6390980B1 (en) 1998-12-07 2002-05-21 Atl Ultrasound, Inc. Spatial compounding with ultrasonic doppler signal information
US6223183B1 (en) 1999-01-29 2001-04-24 International Business Machines Corporation System and method for describing views in space, time, frequency, and resolution
US7254265B2 (en) 2000-04-01 2007-08-07 Newsight Corporation Methods and systems for 2D/3D image conversion and optimization
DE10016074B4 (de) 2000-04-01 2004-09-30 Tdv Technologies Corp. Verfahren und Vorrichtung zur Erzeugung von 3D-Bildern
AU2001276544A1 (en) 2000-09-18 2002-04-02 International Business Machines Corporation Method, system and computer program for managing views at a computer display
CA2472272A1 (en) 2001-11-24 2003-06-05 Tdv Technologies Corp. Generation of a stereo image sequence from a 2d image sequence
US7263240B2 (en) 2002-01-14 2007-08-28 Eastman Kodak Company Method, system, and software for improving signal quality using pyramidal decomposition
CA2380105A1 (en) 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
US7529400B2 (en) 2002-04-25 2009-05-05 Sharp Kabushiki Kaisha Image encoder, image decoder, record medium, and image recorder
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
US7489342B2 (en) 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
US20040260827A1 (en) 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
US7496234B2 (en) 2003-06-20 2009-02-24 Microsoft Corporation System and method for seamless multiplexing of embedded bitstreams
KR100519776B1 (ko) 2003-11-24 2005-10-07 삼성전자주식회사 영상 신호의 해상도 변환 방법 및 장치
KR100587952B1 (ko) 2003-12-05 2006-06-08 한국전자통신연구원 좌우영상의 비대칭적 크기로의 축소에 의한 보상을 수행하는 영상 부호화/복호화 장치 및 그 방법
GB2412519B (en) 2004-03-23 2010-11-03 British Broadcasting Corp Monitoring system
JP4542447B2 (ja) 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
KR100679740B1 (ko) 2004-06-25 2007-02-07 학교법인연세대학교 시점 선택이 가능한 다시점 동영상 부호화/복호화 방법
RU2402811C2 (ru) 2004-07-29 2010-10-27 Майкрософт Корпорейшн Обработка изображений с помощью линейных параметров светоустановки и других усовершенствований обработки изображений
KR100714068B1 (ko) 2004-10-16 2007-05-02 한국전자통신연구원 계층적 깊이 영상을 이용한 다시점 동영상 부호화/복호화방법 및 장치
EP1667448A1 (en) 2004-12-02 2006-06-07 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding and for decoding a main video signal and one or more auxiliary video signals
US7728878B2 (en) 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
US20060176318A1 (en) 2005-02-09 2006-08-10 Martin Virginia L Method for manipulating artwork to form decorative pieces
US8228994B2 (en) 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
JP5020947B2 (ja) 2005-06-23 2012-09-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像及び関連する深さデータの結合されたやり取り
US9661376B2 (en) * 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
US7668366B2 (en) 2005-08-09 2010-02-23 Seiko Epson Corporation Mosaic image data processing
WO2007046957A1 (en) 2005-10-12 2007-04-26 Thomson Licensing Method and apparatus for using high-level syntax in scalable video encoding and decoding
CN101292538B (zh) * 2005-10-19 2012-11-28 汤姆森特许公司 使用可缩放的视频编码的多视图视频编码
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
US8457219B2 (en) 2005-12-30 2013-06-04 Ikanos Communications, Inc. Self-protection against non-stationary disturbances
ZA200805337B (en) 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
US7817865B2 (en) 2006-01-12 2010-10-19 Lg Electronics Inc. Processing multiview video
US20070205367A1 (en) 2006-03-01 2007-09-06 General Electric Company Apparatus and method for hybrid computed tomography imaging
KR101245251B1 (ko) 2006-03-09 2013-03-19 삼성전자주식회사 균일한 화질을 제공하는 다시점 영상 부호화 및 복호화방법 및 장치
CN101416518B (zh) 2006-03-29 2013-07-10 汤姆森特许公司 多视图视频编码方法和装置
US7609906B2 (en) 2006-04-04 2009-10-27 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring and displaying 3D light fields
US8139142B2 (en) 2006-06-01 2012-03-20 Microsoft Corporation Video manipulation of red, green, blue, distance (RGB-Z) data including segmentation, up-sampling, and background substitution techniques
WO2008024345A1 (en) 2006-08-24 2008-02-28 Thomson Licensing Adaptive region-based flipping video coding
PL2103136T3 (pl) 2006-12-21 2018-02-28 Thomson Licensing Sposoby i urządzenie dla ulepszonej sygnalizacji przy użyciu składni wysokiego poziomu dla kodowania i dekodowania wielo-widokowego wideo
US8515194B2 (en) 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
DK2512136T3 (en) 2007-04-12 2016-08-22 Thomson Licensing Tiling in video coding and decoding
WO2008140190A1 (en) 2007-05-14 2008-11-20 Samsung Electronics Co, . Ltd. Method and apparatus for encoding and decoding multi-view image
JP4418827B2 (ja) 2007-05-16 2010-02-24 三菱電機株式会社 画像表示装置及び方法、並びに画像発生装置及び方法
US8373744B2 (en) 2007-06-07 2013-02-12 Reald Inc. Stereoplexing for video and film applications
KR100962696B1 (ko) 2007-06-07 2010-06-11 주식회사 이시티 부호화된 스테레오스코픽 영상 데이터 파일의 구성방법
JP2010530702A (ja) 2007-06-19 2010-09-09 韓國電子通信研究院 ステレオスコピックデータの保存および再生のためのメタデータ構造、およびこれを用いるステレオスコピックコンテンツファイルの保存方法
US8471893B2 (en) * 2007-06-26 2013-06-25 Samsung Electronics Co., Ltd. Method and apparatus for generating stereoscopic image bitstream using block interleaved method
KR20090004661A (ko) * 2007-07-04 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
JP5068598B2 (ja) 2007-08-01 2012-11-07 富士通コンポーネント株式会社 プリンタ装置
MY162861A (en) * 2007-09-24 2017-07-31 Koninl Philips Electronics Nv Method and system for encoding a video data signal, encoded video data signal, method and system for decoding a video data signal
US8218855B2 (en) 2007-10-04 2012-07-10 Samsung Electronics Co., Ltd. Method and apparatus for receiving multiview camera parameters for stereoscopic image, and method and apparatus for transmitting multiview camera parameters for stereoscopic image
KR100918862B1 (ko) 2007-10-19 2009-09-28 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
KR101545009B1 (ko) 2007-12-20 2015-08-18 코닌클리케 필립스 엔.브이. 스트레오스코픽 렌더링을 위한 이미지 인코딩 방법
KR101506217B1 (ko) 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
US20090219985A1 (en) * 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US8878836B2 (en) 2008-02-29 2014-11-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding datastream including additional information on multiview image and method and apparatus for decoding datastream by using the same
KR101506219B1 (ko) 2008-03-25 2015-03-27 삼성전자주식회사 3차원 영상 컨텐츠 제공 방법, 재생 방법, 그 장치 및 그기록매체
RU2518435C2 (ru) * 2008-07-20 2014-06-10 Долби Лэборетериз Лайсенсинг Корпорейшн Оптимизация кодера в системах доставки стереоскопического видео
US8106924B2 (en) 2008-07-31 2012-01-31 Stmicroelectronics S.R.L. Method and system for video rendering, computer program product therefor
JP5235035B2 (ja) * 2008-09-23 2013-07-10 ドルビー ラボラトリーズ ライセンシング コーポレイション チェッカーボード多重化したイメージデータのエンコーディング構造及びデコーディング構造
EP2197217A1 (en) 2008-12-15 2010-06-16 Koninklijke Philips Electronics N.V. Image based 3D video format
CN105376549B (zh) * 2009-01-29 2017-08-11 杜比实验室特许公司 视频编码方法及解码视频信号的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008034892A (ja) * 2006-03-28 2008-02-14 Victor Co Of Japan Ltd 多視点画像符号化装置

Also Published As

Publication number Publication date
CN102742282A (zh) 2012-10-17
US20120300843A1 (en) 2012-11-29
US9215445B2 (en) 2015-12-15
KR20120123492A (ko) 2012-11-08
EP2529557A1 (en) 2012-12-05
BR112012018976A2 (pt) 2018-03-27
JP2013518515A (ja) 2013-05-20
CN102742282B (zh) 2017-09-08
JP5722349B2 (ja) 2015-05-20
WO2011094019A1 (en) 2011-08-04

Similar Documents

Publication Publication Date Title
KR101828096B1 (ko) 블록 기반 인터리빙
US9552633B2 (en) Depth aware enhancement for stereo video
US9420310B2 (en) Frame packing for video coding
WO2019006209A1 (en) REDUCTION OF WELDING ARTIFACTS IN A 360 DEGREE VIDEO
CN112369027A (zh) 具有用于帧内预测的多条参考线的位置相关帧内预测组合
US20120236934A1 (en) Signaling of multiview video plus depth content with a block-level 4-component structure
KR20140043037A (ko) 인터 레이어 예측 오차를 부호화하기 위한 sao 오프셋 보상 방법 및 그 장치
JP2014524707A (ja) 非対称な空間解像度を持つ3次元ビデオ
CN111819854A (zh) 用于协调多符号位隐藏和残差符号预测的方法和装置
US10798417B2 (en) Deblock filtering for 360-degree video coding
CN111837389A (zh) 适用于多符号位隐藏的块检测方法及装置
WO2016040255A1 (en) Self-adaptive prediction method for multi-layer codec
WO2019010305A1 (en) REMOVING COLOR FOR VIDEO CONTENT OF FORMAT NO 4: 4: 4
WO2019172800A1 (en) Loop filter apparatus and method for video coding
CN113243106B (zh) 一种用于视频图像的预测块的帧内预测的设备和方法
CN115988202B (zh) 一种用于帧内预测的设备和方法
WO2013105946A1 (en) Motion compensating transformation for video coding
Mallik et al. HEVC based mixed-resolution stereo video coding for low bitrate transmission
KR20230170448A (ko) 비디오 신호 처리 방법 및 장치
CN112352435A (zh) 用于视频编解码的环内去块滤波器设备和方法

Legal Events

Date Code Title Description
AMND Amendment
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant