KR20120093442A - 인코딩된 비트스트림들의 병합 - Google Patents
인코딩된 비트스트림들의 병합 Download PDFInfo
- Publication number
- KR20120093442A KR20120093442A KR1020127018447A KR20127018447A KR20120093442A KR 20120093442 A KR20120093442 A KR 20120093442A KR 1020127018447 A KR1020127018447 A KR 1020127018447A KR 20127018447 A KR20127018447 A KR 20127018447A KR 20120093442 A KR20120093442 A KR 20120093442A
- Authority
- KR
- South Korea
- Prior art keywords
- avc
- encoding
- layer
- avc encoding
- coding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
적어도 한 구현은 2개의 AVC(예를 들어, SVC 부가물을 포함) 비트스트림들을 병합하기 위한 트랜스코더를 제공한다. 각종 구현들은, 예를 들어, 적어도 하나의 비트스트림의 완전한 디코딩을 방지함 및/또는 강화 층 블록의 코딩 중의 모션 보상을 방지함 등의 장점들을 제공한다. 한 특정 구현은 데이터의 시퀀스의 제1 및 제2 AVC 인코딩에 액세스하는 단계를 포함한다. 제2 AVC 인코딩은 제1 AVC 인코딩과 품질 상 상이하다. 특정 구현은 또한 제1 AVC 인코딩 및 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하는 단계를 더 포함한다. 제1 및 제2 AVC 인코딩들이 상이한 층들을 차지하도록 병합이 실행되고, 제1 층은 제2 층에 대한 기준 층이다.
Description
<관련 출원에 대한 상호 참조>
본 출원은, 모든 목적을 위해 그 전체가 참조용으로 본 명세서에 인용된, 이하의 미국 임시 출원: "2개의 AVC/SVC 인코딩된 비트스트림들의 병합(Merging Two AVC/SVC Encoded Bitstreams)"이라는 제목으로 2009년 12월 14일에 출원된, 일련 번호 제61/284,150호의 출원일의 이익을 주장한다.
코딩과 관련된 구현들이 기술된다. 각종 특정 구현들은 다수의 코딩된 스트림들의 병합에 관한 것이다.
사용자는 인코딩되어 하드 디스크에 저장된 특정 비디오 콘텐츠를 가질 수 있다. 차후에, 사용자는 동일한 비디오 콘텐츠의 다른 인코딩된 버전을 획득할 수 있다. 그러나, 새로운 버전이 향상된 품질을 가질 수 있다. 따라서, 동일한 콘텐츠의 2개의 상이한 버전들을 가능한 대로 저장하는 상황이 사용자에게 제시된다.
일반적인 양상에 따라, 데이터의 시퀀스의 제1 AVC 인코딩이 액세스된다. 데이터의 시퀀스의 제2 AVC 인코딩이 액세스된다. 제2 AVC 인코딩은 제1 AVC 인코딩과 질적으로 상이하다. 제1 AVC 인코딩은 제2 AVC 인코딩과 병합되어, AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 된다. 제1 AVC 인코딩이 제3 AVC 인코딩의 적어도 제1 층을 차지하고, 제2 AVC 인코딩이 제3 AVC 인코딩의 적어도 제2 층을 차지하도록, 병합이 실행된다. 제1 층 및 제2 층 중 적어도 하나는 제1 층 또는 제2 층 중 다른 하나에 대한 기준 층이다.
하나의 또는 그 이상의 구현들의 세부 사항들은 첨부 도면들 및 이하의 설명에 기재된다. 한 특정 방식으로 기술되더라도, 구현들은 다양한 방식들로 구성 또는 구현될 수 있음이 명백하다. 예를 들어, 구현은 한 방법으로서 실행될 수 있으며, 또는 한 장치, 예를 들어, 한 집합의 동작들을 실행하도록 구성된 장치 또는 한 집합의 동작들을 실행하기 위한 명령들을 저장하는 장치로서 구현되거나, 또는 한 신호 내에 구현될 수 있다. 다른 양상들 및 특징들은 첨부 도면들 및 청구항들과 관련해서 고려된 이하의 상세한 설명으로부터 명백해질 것이다.
도 1은 트랜스코딩 시스템의 제1 구현의 일례를 도시한 블록도/흐름도이다.
도 2는 트랜스코딩 시스템의 제2 구현의 일례를 도시한 블록도/흐름도이다.
도 3은 트랜스코딩 시스템의 제3 구현의 일례를 도시한 블록도/흐름도이다.
도 4는 트랜스코딩 시스템의 제4 구현의 일례를 도시한 블록도/흐름도이다.
도 5는 트랜스코딩 시스템의 제5 구현의 일례를 도시한 블록도/흐름도이다.
도 6은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 인코딩 시스템의 일례를 도시한 블록도/흐름도이다.
도 7은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 콘텐츠 분배 시스템의 일례를 도시한 블록도/흐름도이다.
도 8은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 디코딩 시스템의 일례를 도시한 블록도/흐름도이다.
도 9는 하나의 또는 그 이상의 구현들에서 사용될 수 있는 비디오 송신 시스템의 일례를 도시한 블록도/흐름도이다.
도 10은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 비디오 수신 시스템의 일례를 도시한 블록도/흐름도이다.
도 11은 트랜스코딩 비트스트림들에 대한 한 프로세스의 일례를 도시한 블록도/흐름도이다.
도 2는 트랜스코딩 시스템의 제2 구현의 일례를 도시한 블록도/흐름도이다.
도 3은 트랜스코딩 시스템의 제3 구현의 일례를 도시한 블록도/흐름도이다.
도 4는 트랜스코딩 시스템의 제4 구현의 일례를 도시한 블록도/흐름도이다.
도 5는 트랜스코딩 시스템의 제5 구현의 일례를 도시한 블록도/흐름도이다.
도 6은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 인코딩 시스템의 일례를 도시한 블록도/흐름도이다.
도 7은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 콘텐츠 분배 시스템의 일례를 도시한 블록도/흐름도이다.
도 8은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 디코딩 시스템의 일례를 도시한 블록도/흐름도이다.
도 9는 하나의 또는 그 이상의 구현들에서 사용될 수 있는 비디오 송신 시스템의 일례를 도시한 블록도/흐름도이다.
도 10은 하나의 또는 그 이상의 구현들에서 사용될 수 있는 비디오 수신 시스템의 일례를 도시한 블록도/흐름도이다.
도 11은 트랜스코딩 비트스트림들에 대한 한 프로세스의 일례를 도시한 블록도/흐름도이다.
본 출원에 기술된 적어도 한 구현은 2개의 인코딩된 비디오 비트스트림들을 (하나는 AVC로 인코딩되고, 다른 하나는 AVC 또는 SVC로 인코딩됨) 새로운 SVC 비트스트림으로 병합한다. 전자의 AVC 비트스트림은 후자의 AVC 또는 SVC 비트스트림보다 강화된 비디오 정보를 포함한다. 가능한 경우 후자의 AVC 또는 SVC 비트스트림과 동일한 서브-비트스트림을 포함하도록 새로운 SVC 비트스트림이 생성되고, 전자의 AVC 비트스트림으로부터의 강화된 정보는 새로운 SVC 비트스트림의 강화 층(들)으로서 인코딩된다. 본 구현은 이 병합 프로세스에 대한 트랜스코딩 다이어그램을 기술한다. 이 특정 구현의 장점들은 (i) AVC 또는 SVC 비트스트림의 디코딩, (ii) AVC 또는 SVC 비트스트림에 대한 모션 보상, (iii) 전자의 AVC 비트스트림의 디코딩, 또는 (iv) 전자의 AVC 비트스트림에 대한 모션 보상 중 하나 또는 그 이상을 방지하는 기능을 포함한다.
AVC는 더 구체적으로 말해서 기존 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) 파트 10 AVC(Advanced Video Coding) 표준/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 추천(이후부터 "H.264/MPEG-4 AVC 표준" 또는 그 변형, 예를 들어, "AVC 표준" 또는 간단히 "AVC"라고 함)과 관련된다. SVC는 더 구체적으로 말해서 H.264/MPEG-4 AVC, SVC 확장("SVC 확장" 또는 간단히 "SVC")이라고 하는, AVC 표준의 "SVC(scalable video coding)" 확장(부록 G)과 관련된다.
도 7을 참조하면, 또한 계속해서 배경 기술에 기술된 일례를 참조하면, 도 7은 가정에서의 구현에 적합한 콘텐츠 분배 시스템(700)을 도시한다. 분배 시스템(700)은 콘텐츠를 저장하기 위한 미디어 볼트(media vault)(710)를 포함한다. 미디어 볼트는, 예를 들어, 하드 디스크일 수 있다. 분배 시스템(700)은 미디어 볼트(710)로부터 콘텐츠를 디스플레이하기 위한 미디어 볼트(710)에 연결된 다수의 디스플레이 디바이스들을 포함한다. 디스플레이 디바이스들은 퍼스널 디지털 어시스턴트("PDA")(720), 휴대폰(730), 및 텔레비젼("TV")(740)을 포함한다. 사용자는 AVC 또는 SVC에 의해 인코딩된 특정 비디오 콘텐츠를 미디어 볼트(710)에 저장했다. 차후에, 사용자는 AVC에 의해 인코딩된 동일한 비디오 콘텐츠의 다른 버전을 획득한다. 이 버전은 향상된 품질, 예를 들어, 더 높은 해상도, 더 높은 비트 전송률, 및/또는 더 높은 프레임률을 가진다. 다른 일례로서, 이 버전은 더 양호한 품질을 제공하는 가로세로비를 가질 수 있다. 사용자는, 예를 들어, 휴대폰(730) 또는 PDA(720)에 더 낮은 품질 버전(이전에 저장된 AVC/SVC 버전)을 디스플레이하는 옵션을 보존하면서, TV(740)에 새로운 AVC 버전을 디스플레이하기를 희망할 수 있다. 실로, 저장 공간 관점에서 볼 때, 장치의 해상도에 따라, 상이한 포맷들이 사용자의 상이한 디스플레이 디바이스들(720-740)에 제공되도록 허용하기 때문에, 사용자는 다수의 포맷들을 포함하는 SVC 인코딩들을 저장하기를 통상 선호한다.
그 결과, 사용자는 기존 AVC 또는 SVC 비트스트림에 새로운 AVC 비트스트림을 추가하기를 원하고, 결합된 비트스트림이 SVC-인코딩 되기를 원한다. SVC에 따라, 사용자는 예를 들어, 동일한 비디오 콘텐츠의 상이한 버전들의 쉬운 검색, 더 적은 디스크 공간 비용, 및 더 쉬운 미디어 라이브러리 관리 등의 이익을 즐길 수 있다. 프로세스는 한정된 양의 메모리/디스크 공간을 요구한다는 점에서 가벼울 것이며, 신속하다는 점에서 효율적일 것을 사용자는 희망한다. 이러한 목표 달성을 돕기 위해, 시스템(700)은, 각종 구현들에서, 도 2-5와 관련해서 후술된 트랜스코더들 중 하나인 트랜스코더(750)를 또한 포함한다. 트랜스코더(750)는, 예를 들어, 트랜스코딩 프로세스의 입력으로서 저장된 인코딩들에 액세스하고 트랜스코딩된 출력을 저장하기 위해 미디어 볼트(710)에 연결된다.
새로운 AVC 비트스트림이 기존 (AVC 또는 SVC) 비디오 비트스트림이 가진 모든 비디오 콘텐츠 정보를 포함한다고 가정하라. 또한, 새로운 비트스트림이 추가의 품질 향상 정보, 예를 들어, 더 높은 해상도, 더 높은 프레임률, 더 높은 비트 전송률 또는 그 임의의 조합들을 또한 포함한다. 더욱이, 2개의 비트스트림들 간의 각각의 대응 액세스 유닛(코딩된 픽처들)은 일시적으로 서로 정렬된다. 이러한 문맥에서, 일시적인 정렬은, 상이한 일시적인 해상도들을 가진 비트스트림들에 걸쳐, 동일한 비디오 장면에 대응하는 코딩된 픽처들은 동일한 프레젠테이션 시간을 가져야만 함을 의미한다. 이 요구 사항은, 더 높은 일시적인 해상도를 가진 비트스트림이 더 낮은 일시적인 해상도를 가진 비트스트림에 의해 코딩된 모든 장면들을 포함함을 보장한다. 따라서, 상이한 비트스트림들로부터이지만 동일한 장면에 대응하는 코딩된 픽처들 간의 상관 관계를 이제 활용할 수 있다.
새로운 비트스트림을 생성하기 위한 제1 구현은 새로운 AVC 비트스트림을 픽셀-도메인(예를 들어, YUV) 비디오 시퀀스로 완전히 디코딩하는 단계를 포함한다. 그 후, 본 구현은 완전한 SVC 인코딩(full SVC encoding)을 적용해서 희망 SVC 비트스트림을 생성하고, 기존 AVC/SVC 비트스트림의 동일한 코딩 파라미터들은 완전한 SVC 인코딩 동안에 시행된다.
새로운 비트스트림을 생성하기 위한 제2 구현은 새로운 AVC 비트스트림에 트랜스코딩 프로세스를 적용하는 단계를 포함한다. 즉, AVC-SVC 트랜스코딩 프로세스가 적용된다. 본 프로세스를 통해, 새로운 SVC 출력 비트스트림이 생성된다. 새로운 SVC 출력 비트스트림은 기존 AVC/SVC 비트스트림에 가능한 대로 동일한 서브-비트스트림을 포함한다. AVC/SVC 비트스트림이 이미 존재하더라도, 서브-비트스트림을 생성하는데 사용되지 않음을 주목하라.
도 1을 참조하면, 시스템(100)은 제2 구현의 일례를 도시한다. 시스템(100)은 1080p 포맷을 가진 새로운 AVC 비트스트림(110) 및 720p 및 480p 포맷들을 가진 기존 SVC 비트스트림 둘 다를 입력으로서 수신한다. 2개의 포맷들은 각각 상이한 SVC 공간 층들에 있다. 시스템(100)은 1080p, 720p, 및 480p 3개의 모든 포맷들을 가진 새로운 SVC 비트스트림(130)을 출력으로서 생성한다. 3개의 포맷들 각각은 상이한 공간 층을 차지한다. 새로운 SVC 비트스트림(130)에 비트스트림 추출 프로세스를 적용함으로써, 720p 및 480p의 포맷들을 가지며, 본 일례에서, 입력 SVC 비트스트림(120)과 동일한 SVC 서브-비트스트림(150)이 추출된다. AVC 비트스트림을 완전히 디코딩하는 제1 구현에 비해, 시스템(100)은 트랜스코딩을 실행하기 때문에, 도 1의 시스템(100)은 디코딩 및 인코딩 비용들을 절약한다.
제3 구현이 이제부터 기술된다. 제1 및 제2 구현들이 둘 다 효율적이더라도, 제3 구현은 통상 더 효율적이다. 제1 및 제2 구현들 보다 제3 구현이 통상 계산적으로 덜 집중적이고 덜 시간 소모적이기 때문에 효율성이 증가된다. 또한, 제3 구현이, 예를 들어, 일시적인 코딩 결과들을 저장하는데 메모리/디스크 공간을 통상 덜 요구하기 때문에 효율성이 증가된다.
도 2 및 도 3을 참조하면, 제3 구현의 2개의 일례들이 도시되어 있다. 도 2는 기존 비트스트림이 SVC 비트스트림인 일례를 제공한다. 도 3은 기존 비트스트림이 AVC 비트스트림인 일례를 제공한다.
도 2를 참조하면, 시스템(200)은 새로운 AVC 비트스트림(110), 및 기존 SVC 비트스트림(120) 둘 다를 입력으로서 수신한다. 시스템(200)은 도 1의 SVC 비트스트림(130)과 동일할 수도 있는 새로운 SVC 비트스트림(230)을 출력으로서 생성한다. 출력 비트스트림(230)의 서브-스트림은 입력 기존 SVC 비트스트림(120)과 동일하다. 출력 비트스트림(230)의 인코딩된 강화 층(들)은 새로운 AVC 비트스트림(110)으로부터의 추가의 비디오 콘텐츠 정보를 포함한다. 출력 비트스트림(230)은 트랜스코더(240)를 사용해서 생성된다. 트랜스코더(240)는 2개의 입력 비트스트림들을 수신하는 반면, 도 1의 트랜스코더(140)는 오직 하나의 단일 비트스트림을 입력으로서 수신한다.
도 3을 참조하면, 시스템(300)은 새로운 AVC 비트스트림(110), 및 기존 AVC 비트스트림(320) 둘 다를 입력으로서 수신한다. 시스템(300)은 새로운 SVC 비트스트림(330)을 출력으로서 생성한다. 출력 비트스트림(330)의 서브-스트림은 입력 기존 AVC 비트스트림(320)과 동일하다. 출력 비트스트림(330)의 인코딩된 강화 층(들)은 새로운 AVC 비트스트림(110)으로부터의 추가의 비디오 콘텐츠 정보를 포함한다. 출력 비트스트림(330)은 트랜스코더(340)를 사용해서 생성된다. 트랜스코더(340)는, 트랜스코더(240)와 같이, 2개의 입력 비트스트림들을 수신하는 반면, 도 1의 트랜스코더(140)는 오직 하나의 단일 비트스트림을 입력으로서 수신한다.
트랜스코더들(240, 340)의 한 양상은, 트랜스코더들(240, 340)이 새로운 AVC 비트스트림(110) 및 기존 AVC/SVC 비트스트림들(120, 320) 둘 다로부터의 코딩된 정보를 다시 사용할 수 있다는 것이다. 이 재사용은 새로운 출력 SVC 비트스트림들(230, 330)의 강화 층(들)을 유도하기 위해 실행된다. 앞서 제안된 바와 같이, 도 1에 도시된 바와 같이, 전형적인 트랜스코더는 대개 오직 하나의 코딩된 비트스트림을 주요 입력으로서 가지기 때문에, 트랜스코더들(240, 340)은 전형적인 트랜스코더와 통상 상이하다.
트랜스코더들(240, 340)의 구현은 다양한 방식들로 입력 비트스트림들에 포함된 정보를 재사용할 수 있다. 다양한 방식들은, 예를 들어, 구현 복잡성 및 성능 간의 트레이드오프들을 수반한다.
도 4를 참조하면, 입력 비트스트림들로부터의 정보를 재사용하기 위한 제1 구현이 도시되어 있다. 도 4를 포함하지만 이에 한정되지 않는 도면들의 점선 경계 모듈들은 선택적인 동작들이다. 도 4는 새로운 AVC 비트스트림(110) 및 기존 AVC/SVC 비트스트림(420) 둘 다를 입력으로서 수신하는 시스템(400)을 포함한다. 비트스트림(420)은 AVC 비트스트림이거나 또는 SVC 비트스트림일 수 있으며, 예를 들어, 기존 SVC 비트스트림(120) 또는 기존 AVC 비트스트림(320)일 수 있다. 시스템(400)은 출력 SVC 비트스트림(430)을 출력으로서 생성한다. SVC 비트스트림(430)은, 예를 들어, SVC 비트스트림들(130, 230 또는 330) 중 임의의 비트스트림일 수 있다. 시스템(400)은 트랜스코더들(240, 340) 중 임의의 트랜스코더의 구현을 제공한다.
시스템(400)은 입력의 새로운 AVC 비트스트림(110)을 YUV 비디오 시퀀스로 완전히 디코딩하는 AVC 디코더(445)를 포함한다. 출력은, 도 1에서, 디코딩된 YUV 비디오(448)라고 한다.
시스템(400)은 선택적인 AVC/SVC 리인코더(re-encoder)(450)를 또한 포함한다. 리인코더(450)는 입력 기존 AVC/SVC 비트스트림(420)에 대해 동작하고 기준 층으로서 코딩 요구 사항(들)에 순응하지 않는 기존 비트스트림의 임의의 픽처/슬라이스/매크로블록("MB")을 리인코딩한다. 이 일례는, 싱글-루프 디코딩 요구 사항을 만족시키기 위해, 최고 강화 층의 인트라-코딩된 MB가 기준 층에 의해 요구된 바와 같이 "제약된 인트라(constrained intra)" 모드로 인코딩되어야만 한다는 것일 수 있다.
코딩 파라미터들, 또는 요구 사항들이 기준 층이 아닌 층에 비해 기준 층에 대해 상이하기 때문에, 리인코더(450)가 필요할 수 있다. 또한, AVC/SVC 비트스트림(420)으로부터의 한 층은 비트스트림(420)의 기준 층이 아닐 수 있지만, 해당 층은 병합된 출력 SVC 비트스트림(430)의 기준 층으로서 사용될 수 있다. 따라서, 해당 층은 리인코더(450)에 의해 리인코딩된다. 예를 들어, 입력 AVC/SVC 비트스트림(420)의 층들이 AVC/SVC 비트스트림(420)의 기준 층들로서 이미 사용되었을 수 있기 때문에, 리인코더(450)는 선택적이다. 얼마나 많은 층들 또는 픽처들이, 또한, 어떤 층들 또는 픽처들이 AVC/SVC 비트스트림(420)으로부터 리인코딩될 것인지를 결정하는 것은 일반적으로 구현 문제이다. 새로운 비트스트림이 선택할 기준 후보들을 더 많이 갖도록, AVC/SVC 비트스트림(420)의 더 많은 층들 또는 픽처들을 "리인코딩"할 것을 선택할 수 있으며, 그 반대도 마찬가지이다. "리인코딩"은, 적어도 일 구현에서, 만약에 있다면, AVC/SVC 비트스트림(420)의 인트라-코딩된 매크로블록들을 제약된 인트라-코딩된 매크로블록들로 변경하는 한 타입의 트랜스코딩임을 주지하라. 리인코더(450)의 출력은 기준 층 비트스트림(452)이라고 한다. 예를 들어, 기존 AVC/SVC 비트스트림(420)에 대해 리인코딩이 필요하지 않으면, 기준 층 비트스트림(452)은 기존 AVC/SVC 비트스트림(420)과 동일할 수 있음을 알 것이다.
시스템(400)은 기준 층 비트스트림(452)을 수신하는 AVC/SVC 구문 파서(455)를 포함한다. AVC/SVC 구문 파서(455)는 인트라-코딩된 MB들, 모션, 및 잔여 신호들에 대한 관련 정보를 기준 층 비트스트림(452)으로부터 추출한다. 기준 층들로부터의 관련 정보는 표준 SVC 강화 층 인코더에 대한 입력으로서 널리 공지되어 있다.
시스템(400)은 강화 층 인코더(460)를 포함한다. 강화 층 인코더(460)는 AVC/SVC 구문 파서(455)로부터 추출된 정보를 수신한다. 강화 층 인코더(460)는 완전히 디코딩된 YUV 비디오 시퀀스(448)를 또한 수신한다. 강화 층 인코더(460)는 정상 SVC 인코더의 전형적인 강화 층 인코더와 동일하다. 특히, 강화 층 인코더(460)는 층들에 걸친 상관 관계를 활용하는 인터-층 예측 변수(inter-layer predictor)(463) 및 층들 내의 상관 관계를 활용하는 인트라-층 예측 변수(intra-layer predictor)(464)를 포함하는 예측 모듈(462)을 포함한다. 또한, 강화 층 인코더(460)는 예측 모듈(462)로부터의 출력을 수신하고 예측들(인터-층, 및 인트라-층 둘 다)로부터 야기된 예측 잔여들을 처리하는 변환/스케일링/양자화 모듈(466)을 포함한다. 변환/스케일링/양자화 모듈(466)은 소수의 계수들에 잔여 픽처 에너지를 집중하기 위한 변환을 적용함으로써 예측 잔여들을 처리하고, 그 후, 스케이링 및 양자화를 실행해서 희망 비트 전송률을 생성한다. 또한, 강화 층 인코더(460)는 변환/스케일링/양자화 모듈(466)로부터의 출력을 수신하고, 인코딩된 모션 정보 및 양자화된 잔여 신호들 내에서 다음 통계 리던던시들을 제거하는 엔트로피 인코더(468)를 포함한다. 엔트로피 인코더(468)는 강화 층 인코더(460)로부터의 출력인 강화 층 비트스트림(469)을 생성한다.
시스템(400)은 강화 층 비트스트림(469) 및 기준 층 비트스트림(452)을 수신하는 층 결합기(layer combiner)(475)를 또한 포함한다. 층 결합기(475)는 인코딩된 강화 층 비트스트림(469)을 기준 층 비트스트림(452)과 병합한다. 층 결합기(475)는 희망의 새로운 SVC 비트스트림(430)을 출력한다.
상술된 바와 같이, 또한 도 4에 도시된 바와 같이, 시스템(400)은 SVC 강화 층 인코더에 대한 임의의 변경 없이 SVC 강화 층 인코더를 사용한다. 이는 구현 복잡성을 매우 감소시킨다. 시스템(400)은 효과적이고 효율적이다. 그러나, 시스템(400)은 새로운 입력 AVC 비트스트림(110)의 완전한 디코딩, 및 강화 층의 인코딩을 실행한다. 이와 같이, 시스템(400)은 새로운 입력 AVC 비트스트림(110)으로부터의 코딩된 정보를 활용하지 않는다.
도 5를 참조하면, 입력 비트스트림들로부터의 정보를 재사용하기 위한 제2 구현이 도시되어 있다. 도 5는, 시스템(400)에서와 같이, 새로운 AVC 비트스트림(110) 및 기존 AVC/SVC 비트스트림(420) 둘 다를 입력으로서 수신하는 시스템(500)을 포함한다. 시스템(500)은 출력 SVC 비트스트림(430)을 출력으로서 생성한다. 시스템(500)은 트랜스코더들(240, 340) 중 임의의 트랜스코더의 구현을 제공한다. 후술되는 바와 같이, 시스템(500)은, 시스템(400)과 달리, 입력 AVC 비트스트림(110)으로부터의 코딩된 정보를 활용한다. 또한, 도 5에서 알 수 있는 바와 같이, 시스템(500)은 공간 도메인에서 동작하는 것에 비해 복잡성을 감소시키는 압축 도메인에서 동작한다.
시스템(500)의 하부(도 5에 도시됨)는 일반적으로 기존 AVC/SVC 비트스트림(430)에 대한 동작에 대응하고 시스템(400)과 동일하다. 즉, 시스템(500)은 AVC/SVC 비트스트림(420)을 리인코더(450)에 제공한다. 리인코더(450)는 기준 층 비트스트림(452)을 생성하고, 기준 층 비트스트림(452)을 AVC/SVC 구문 파서(455) 및 층 결합기(475) 둘 다에 제공한다.
그러나, 시스템(500)의 상부 절반(도 5에 도시됨)은 시스템(400)과 상이하다. 상부 절반은 일반적으로 새로운 AVC 비트스트림(110)에 대한 동작에 대응한다.
상부 절반에서, 시스템(500)은 입력 새로운 AVC 비트스트림(110)을 수신하는 AVC 구문 파서(545)를 포함한다. AVC 구문 파서(545)는 각각의 MB에 대한 압축 도메인에서 코딩 정보를 추출한다. 코딩 정보는, 예를 들어, 코딩 모드, 모션(예를 들어, 모션 벡터들), 및 잔여 신호(예를 들어, 잔여 신호를 코딩하는 DCT 계수들)를 나타내는 정보를 포함한다. (더 충분히 후술되는 바와 같이) 추출된 코딩 정보는, 시스템(500)이 원래의 코딩 모드의 코딩 비용을 계산할 수 있게 한다. (더 충분히 후술되는 바와 같이) 추출된 코딩 정보는, 또한, 인터-층 예측 모드가 원래의 코딩 모드 보다 더 나은 코딩 비용을 가지면, 시스템(500)이 인터-층 예측 모드로 MB를 리인코딩할 수 있게 한다.
시스템(500)은 AVC 구문 파서(545)로부터 추출된 코딩 정보를 수신하는 모드 결정 모듈(560)을 포함한다. 모드 결정 모듈(560)은 기준 층의 공동 위치한 MB로부터 추출된 대응 정보를 AVC/SVC 구문 파서(455)로부터 수신한다. 기준 층은 기존 AVC/SVC 비트스트림(420)으로부터이다.
모드 결정 모듈(560)은 새로운 AVC 비트스트림(110) 내에서 각각의 MB에 대한 코딩 모드들을 평가한다. 모드 결정 모듈(560)은, MB가 SVC로부터 사용되기에 유용한 인터-층 예측 모드들 중 하나의 또는 그 이상의 모드들에서 코딩되는 경우 야기되는 코딩 비용 뿐만 아니라, AVC 비트스트림(110)의 MB의 원래의 코딩 모드와 연관된 코딩 비용을 계산 및 비교한다.
시스템(500)은 선택적인 인터-층 예측 모드 리인코더(570)를 포함한다. SVC 인터-층 예측 모드들 중 하나가 최저 코딩 비용을 가진다고 모드 결정 모듈(560)이 결정하면, AVC 비트스트림(110)으로부터 평가되는 특정 MB는 선택된 인터-층 예측 모드에서 리인코딩된다. 인터-층 예측 모드 리인코더(570)는 해당 리인코딩을 실행한다.
소정의 MB에 대해, AVC 비트스트림(110)으로부터의 원래의 코딩 모드가 최저 코딩 비용을 가진다고 모드 결정 모듈(560)이 결정하면, 해당 MB의 리인코딩은 필요하지 않다. 따라서, 인터-층 예측 모드 리인코더(570)는 우회(bypass)되거나, 또는 통과(pass-through)로서 처리된다. 이러한 경우에, 소정의 MB는 새로운 AVC 비트스트림(110)으로부터의 코딩을 보유하며, 기존 AVC/SVC 비트스트림(420)에 좌우되지 않는다(즉, 기준으로서 사용하지 않는다).
시스템(500)은 선택적인 잔여 리인코더(580)를 포함한다. 잔여 리인코더(580)는 특정 MB와 연관된 코딩된 잔여 신호들이 있는 지를 결정한다. 코딩된 잔여 신호들이 있으면, 잔여 리인코더(580)는 SVC 인터-층 잔여 예측 메커니즘을 사용해서 리던던시를 더 감소시키고자 시도한다. 이는 당업자들에게 널리 공지된 표준 SVC 인코딩 단계이다. 잔여 리인코더(580)는 (i) 인터-층 예측 모드 리인코더(570)로부터의 리인코딩된 출력을 수신 및 그에 대해 동작하거나, 또는 (ii) 인터-층 예측 모드 리인코더(570)가 우회되었으면, AVC 비트스트림(110)으로부터의 MB의 원래의 코딩을 수신 및 그에 대해 동작한다. 잔여 리인코더(580)의 출력은, 강화 층 비트스트림 층 비트스트림(469)과 동일할 수도 있는, 강화 층 비트스트림(585)이다. 코딩된 잔여 신호들이 없으면, 잔여 리인코더(580)는 우회되거나, 또는 통과로서 처리될 수 있음을 주지하라.
층 결합기(475)는 강화 층 비트스트림(585) 및 기준 층 비트스트림(452)을 결합(또한 병합이라고도 함)한다. 결합된 비트스트림은 출력 SVC 비트스트림(430)으로서 층 결합기(475)로부터 출력된다. 시스템(400)에 비해, 전체 복잡성 및 메모리/디스크 공간 요구 사항이 통상 감소되도록, 시스템(500)은 강화 층 인코딩을 보조하기 위해 새로운 AVC 비트스트림(110)으로부터의 코딩된 정보를 사용한다. 시스템(400)은 픽셀 도메인 트랜스코더라고 하는 반면, 시스템(500)은 구문 도메인 트랜스코더라고 한다.
상술된 바와 같이, 모드 결정 모듈(560)은 각종 모드들에 대한 비용 계산을 실행한다. 한 구현이 이제부터 기술되지만, 기술된 구현의 다른 세부 사항들 뿐만 아니라, 다른 구현들도, 당업자에게 널리 공지되어 있는 수준임이 명백하다. AVC 비트스트림(110)으로부터의 기존 코딩 모드의 코딩 비용은 고려중인 MB에 대한 잔여를 코딩하는데 필요한 비트들을 검사함으로써 결정될 수 있다. 다른 구현에서, 코딩 모드를 나타내고, 모션 벡터들을 제공하며, 기준 픽처들을 나타내는 등에 필요한 비트들을 포함하는, 모든 비트들이 비용을 계산하는데 고려된다. 그러나, 잔여에 대해 필요한 비트들은, 코딩 비용이 유효 모드들 중에서 최저인지의 여부를 종종 결정할 것이다. 구현들은 각종 상이한 코딩 모드들이 비교될 수 있게 하는 임의의 방식으로 코딩 비용을 결정할 수 있다. 압축된 도메인에서 동작하는 구현들의 경우, 다양한 모드들의 정확한 코딩 비용들을 계산하지 않고 이러한 코딩 모드들의 코딩 비용을 비교하는 것이 종종 충분하며 또한 가능하다.
다른 SVC 모드들에 대한 코딩 비용은 또한 모드 결정 모듈(560)에 의해 계산된다. 일 구현에서, 이하의 분석이 코딩 비용들을 계산하기 위해 실행된다. 3개의 상이한 타입들의 강화 층 코딩(기준으로서 기존 AVC/SVC 비트스트림(420)을 사용하는 기존 AVC 비트스트림(110)으로부터의 MB의 코딩)이 고려된다: 인터-코딩, 인트라-코딩, 및 잔여 리인코딩. 모든 가능한 코딩 모드들이 명확히 평가되지 않는다는 점에서, 이 구현은 반드시 최적은 아니다. 그러나, 다른 구현들은 모든 가능한 코딩 모드들을 평가하며, 따라서, 최적이다.
강화 층 원래의 코딩 모드가 인터-코딩 모드인 경우 또한 기초 층 코딩 모드(base layer coding mode)가 인터-코딩 모드인 경우 강화 층 MB를 코딩하기 위해 인터-코딩이 고려된다. 이러한 시나리오에서, 강화 층은, 모션 벡터들, 기준 프레임 인덱스들, 및 분할 크기들을 포함하는 모션 정보를 차용하고, 기초 층의 전체 재구성을 실행하지 않는다. 이는 감소된 계산 복잡성이라는 점에서 장점을 제공한다. 차용된 모션 벡터는 강화 층에 대한 예측 변수를 찾는데 사용된다. 그 결과, 기준 프레임에서의 탐색은 적합한 모션 벡터를 찾기 위해 실행되지 않는다. 모션 보상(모션 벡터에 대한 탐색)이 종종 계산적으로 집중적인 동작이기 때문에, 이는 감소된 계산 복잡성이라는 점에서 또 다른 장점을 제공한다. 기초 층 모션 정보에 의해 제공된 예측 변수가 사용되고, 잔여가 계산된다. 이 시나리오는 기초 층 예측 변수에 기초하여 잔여를 계산할 수 있기 위해 강화 층을 디코딩하는 단계를 수반한다. 잔여를 계산한 후에, 해당 인터-코딩 모드에 대한 코딩 비용이 평가될 수 있다.
강화 층 원래의 코딩 모드가 인트라-코딩 모드인 경우 또한 기초 층 코딩 모드가 인트라-코딩 모드인 경우 강화 층 MB를 코딩하기 위해 인트라-코딩이 고려된다. 이러한 시나리오에서, 강화 층에 대한 예측 변수(기준)로서 사용될 수 있도록, 공동 위치한 기초 층 MB는 디코딩(재구성)된다. 분할 크기들은 기초 층으로부터 차용된다. 또한, 강화 층 MB가 또한 디코딩된다. 그러나, 모션 보상은 필요하지 않다. 잔여가 계산되면, 기초 층 예측 변수에 대하여, 해당 인트라-코딩 모드에 대한 코딩 비용이 결정될 수 있다.
잔여를 야기하는 모든 모드들에 대한 잔여 리인코딩이 고려된다. 구체적으로 말해서, 공동 위치한 기초 층 MB로부터의 잔여가 강화 층 잔여의 예측 변수로서 사용된다. 기초 층에 대한 DCT 계수들이 검사되고, 기초 층 잔여가 강화 층의 해상도에 대해 재구성 및 업샘플링되며, 업샘플링된 재구성은 강화 층 잔여의 예측 변수로서 사용된다. 기초 층 잔여 예측 변수에 기초하여, 새로운 잔여가 그 후 계산된다. 새로운 잔여는 통상 코딩 이득들을 제공할 것이며, 따라서, 코딩 비용을 감소시킬 것이다. 물론, 코딩 비용이 감소되지 않으면, 잔여 리인코딩은 스킵될 수 있으며, 이전의 코딩 결과가 사용될 수 있다.
잔여 리인코딩에서, 강화 층으로부터의 각각의 매크로블록은 인트라-코딩 모드 또는 인터-코딩 모드(또는, 상술된 바와 같이, 새로운 AVC 비트스트림(110)으로부터의 원래의 코딩 모드)일 수 있는 선택된 코딩 모드로 먼저 코딩됨이 명백하다. 그러나, 잔여 리인코딩의 다른 동작이, 상술된 바와 같이, 실행된다. 상술된 바와 같이, "잔여 리인코딩"은 통상 코딩 이득들을 제공하며, 따라서, 코딩 비용을 낮춘다.
실제로, 잔여 리인코딩은 임의의 인트라-코딩 모드 또는 인터-코딩 모드에 적용될 수 있다. 일 구현에서, 모드 결정 모듈(560)은 (새로운 AVC 비트스트림(110)의 원래의 코딩 모드 뿐만 아니라) 임의의 인트라-코딩 모드 또는 인터-코딩 모드에 대한 2개의 비용 계산들을 실행한다. 제1 비용 계산은 추가 잔여 리인코딩 동작이 없다. 제2 비용은 추가의 잔여 리인코딩 동작이 있다. 또한, 잔여 리인코딩은 모션 보상을 요구하지 않음을 언급할 가치가 있다. 잔여 리인코딩은 기초 층 잔여의 디코딩을 (또한, 새로운 AVC 비트스트림(110)으로부터의 원래의 코딩 모드가 고려되면, 고유 강화 층 잔여의 디코딩을) 요구한다. 그러나, 잔여 리인코딩은 기초 층(또는 강화 층)의 전체 재구성을 요구하지 않는다. 전체 재구성은 또한 기초 층(또는 강화 층)에 대한 예측 변수의 결정 및 디코딩된 잔여의 기초 층(또는 강화 층) 예측 변수로의 추가를 통상 요구한다.
또한, 시스템(400)은 공동 위치한 기초 층 MB로부터 모션 정보를 차용하는 인터-코딩 모드들에 대한 모션 보상을 요구하지 않음을 언급할 가치가 있다. 또한, 인터-코딩 모드가 강화 층 MB를 코딩하는데 사용되면, 시스템(400)은 기초 층 MB의 디코딩을 요구하지 않는다.
도 11을 참조하면, 트랜스코딩 비트스트림들의 구현의 일례를 제공하는 프로세스(1200)가 도시되어 있다. 프로세스(1200)는 데이터의 시퀀스의 제1 AVC 인코딩에 액세스하는 단계(1210), 및 데이터의 시퀀스의 제2 AVC 인코딩에 액세스하는 단계(1220)를 포함한다. 제2 AVC 인코딩은 제1 AVC 인코딩과 질적으로 상이하다.
프로세스(1200)는 제1 AVC 인코딩 및 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하는 단계(1230)를 포함한다. (i) 제1 AVC 인코딩이 제3 AVC 인코딩의 적어도 제1 층을 차지하도록, (ii) 제2 AVC 인코딩이 제3 AVC 인코딩의 적어도 제2 층을 차지하도록, (iii) 제1 및 제2 층들 간의 적어도 일부 상관 관계가 제1 및 제2 층들 중 적어도 한 층을 제1 및 제2 층들 중 다른 한 층에 대한 기준 층으로서 사용함으로써 활용되도록, 병합이 실행된다.
프로세스(1200)는, 예를 들어, 시스템들(200, 300, 400, 500, 또는 700) 중 임의의 시스템의 트랜스코더들에 의해 사용될 수 있다. 또한, 프로세스(1200)는, 예를 들어, (i) 미디어 볼트(710)에 저장된, (ii) 도 10에서 후술되는 바와 같은 수신기에 의해 출력된, 및/또는 (iii) 도 6 또는 도 9에서 후술되는 바와 같은 인코더에 의해 인코딩된 비트스트림들을 병합하는데 사용될 수 있다. 또한, 프로세스(1200)는, 예를 들어, (i) 미디어 볼트(710)에 저장하기 위해, (ii) 도 9에서 후술되는 바와 같은 송신기에 의해 송신되기 위해, 및/또는 (iii) 도 8 또는 도 10에서 후술되는 바와 같은 디코더에 의해 디코딩되기 위해 병합된 비트스트림을 제공하는데 사용될 수 있다. 따라서, 각종 구현들에서, 트랜스코더, 또는 다른 적합하게 구성된 프로세싱 장치는, (i) 도 6의 인코더(600)의 출력에, (ii) 도 8의 디코더(1100)의 입력에, (iii) 도 9의 인코더(4302) 및 송신기(4304) 사이에, 및/또는 (iv) 도 10의 수신기(4402) 및 디코더(4406) 사이에 포함됨이 명백하다.
도 6을 참조하면, 인코더(600)는 예를 들어, 비디오 이미지들 또는 깊이 이미지들 등의 이미지들을 인코딩하는데 사용될 수 있는 인코더의 구현을 도시한다. 일 구현에서, 인코더(600)는 새로운 AVC 비트스트림(110)을 형성하는 이미지들을 인코딩한다. 인코더(600)는, 또한, 예를 들어, 인코딩된 비트스트림에 대한 정보를 제공하는 메타데이터 등의 데이터를 인코딩하는데 사용될 수 있다. 인코더(600)는, 예를 들어, 도 9와 관련해서 후술된 비디오 송신 시스템의 파트로서 구현될 수 있다. 입력 이미지 시퀀스는 변위 보상 블록(620) 및 변위 추정 블록(618) 뿐만 아니라 가산기(601)에 도달한다. 변위는, 예를 들어, 모션 또는 격차(disparity)를 나타냄을 주지하라. 가산기(601)로의 다른 입력은 스위치(623)를 통해 수신된 다양한 가능한 기준 픽처 정보 중 하나이다.
예를 들어, 인코딩 모드는 현재 인코딩중인 동일한 블록 또는 슬라이스를 참조하여 인트라-예측이어야만 한다고 스위치(623)와 신호 통신하는 모드 결정 모듈(624)이 결정하면, 가산기는 인트라-예측 모듈(622)로부터 입력을 수신한다. 대안으로, 인코딩 모드는 현재 인코딩중인 블록 또는 슬라이스와 상이한 블록 또는 슬라이스를 참조하여 변위 보상 및 추정이어야만 한다고 모드 결정 모듈(624)이 결정하면, 가산기는 변위 보상 모듈(620)로부터 입력을 수신한다.
가산기(601)는 입력 신호를 변환하고 변환된 신호를 양자화 모듈(604)에 제공하도록 구성된 변환 모듈(602)에 신호를 제공한다. 양자화 모듈(604)은 수신된 신호에 양자화를 실행하고 양자화된 정보를 엔트로피 인코더(605)에 출력하도록 구성된다. 엔트로피 인코더(605)는 입력 신호에 엔트로피 인코딩을 실행하여 비트스트림을 생성하도록 구성된다. 역 양자화 모듈(606)은 양자화 모듈(604)로부터 양자화된 신호를 수신하고 양자화된 신호에 역 양자화를 실행하도록 구성된다. 차례로, 역 변환 모듈(608)은 모듈(606)로부터 역 양자화된 신호를 수신하고 수신된 신호에 역 변환을 실행하도록 구성된다. 모듈들(606, 608)은 가산기(601)로부터 출력된 신호를 재생성 또는 재구성한다.
가산기 또는 결합기(609)는 역 변환 모듈(608) 및 스위치(623)로부터 수신된 신호들을 가산(결합)하고 결과 신호들을 인트라 예측 모듈(622) 및 인-루프 필터(610)에 출력한다. 또한, 인트라 예측 모듈(622)은, 상술된 바와 같이, 수신된 신호들을 사용해서, 인트라 예측을 실행한다. 유사하게, 인-루프 필터(610)는 가산기(609)로부터 수신된 신호들을 필터링하고, 필터링된 신호들을 기준 버퍼(612)에 제공하며, 기준 버퍼(612)는 변위 추정 및 보상 모듈들(618 및 620)에 이미지 정보를 제공한다.
메타데이터는 인코딩된 메타데이터로서 인코더(600)에 추가되어, 엔트로피 코더(605)로부터의 출력 비트스트림과 결합될 수 있다. 대안으로, 예를 들어, 인코딩되지 않은 메타데이터는 양자화된 이미지 시퀀스들과 함께 엔트로피 인코딩을 위해 엔트로피 코더(605)에 입력될 수 있다.
도 8을 참조하면, 디코더(1100)는 이미지들을 디코딩해서, 예를 들어, TV(740) 등의 디스플레이 디바이스에 제공하는데 사용될 수 있는 디코더의 일 구현을 도시한다. 디코더(1100)는, 또한, 예를 들어, 디코딩된 비트스트림에 대한 정보를 제공하는 메타데이터를 디코딩하는데 사용될 수 있다. 디코더(1100)는, 예를 들어, 도 10과 관련해서 후술된 비디오 수신 시스템의 파트로서 구현될 수 있다.
디코더(1100)는 비트스트림 수신기(1102)를 사용해서 비트스트림을 수신하도록 구성될 수 있으며, 비트스트림 수신기(1102)는 차례로 비트스트림 파서(1104)와 신호 통신하고 비트스트림을 파서(1104)에 제공한다. 비트스트림 파서(1104)는 잔여 비트스트림을 엔트로피 디코더(1106)에 송신하고, 제어 구문 요소들을 모드 선택 모듈(1116)에 송신하며, 변위 (모션/격차) 벡터 정보를 변위 보상 모듈(1126)에 송신하도록 구성될 수 있다. 역 양자화 모듈(1108)은 엔트로피 디코더(1106)로부터 수신된 엔트로피 디코딩된 신호에 역 양자화를 실행하도록 구성될 수 있다. 또한, 역 변환 모듈(1110)은 역 양자화 모듈(1108)로부터 수신된 역 양자화된 신호에 역 변환을 실행하고 역 변환된 신호를 가산기 또는 결합기(1112)에 출력하도록 구성될 수 있다.
가산기(1112)는 사용된 디코딩 모드에 따라 다양한 다른 신호들 중 하나를 수신할 수 있다. 예를 들어, 모드 결정 모듈(1116)은 제어 구문 요소들을 파싱 및 분석함으로써 인코더에 의해 현재 처리된 블록에 대해 변위 보상 또는 인트라 예측 인코딩이 실행되었는 지를 결정할 수 있다. 결정된 모드에 따라, 가산기(1112)가 변위 보상 모듈(1126) 또는 인트라 예측 모듈(1118)로부터 신호들을 수신할 수 있도록, 제어 구문 요소들에 기초하여, 모드 선택 제어 모듈(1116)은 스위치(1117)에 액세스하여 그것을 제어할 수 있다.
여기서, 인트라 예측 모듈(1118)은, 예를 들어, 현재 디코딩중인 동일한 블록 또는 슬라이스를 참조하여 블록 또는 슬라이스를 디코딩하기 위해 인트라 예측을 실행하도록 구성될 수 있다. 차례로, 변위 보상 모듈(1126)은, 예를 들어, 현재 처리중인 동일한 프레임 또는 현재 디코딩중인 블록 또는 슬라이스와 상이한 이전에 처리된 다른 프레임의 블록 또는 슬라이스를 참조하여 블록 또는 슬라이스를 디코딩하기 위해 변위 보상을 실행하도록 구성될 수 있다.
예측 또는 보상 정보 신호들을 수신한 후에, 가산기(1112)는, 예를 들어, 디블록킹 필터 등의 인-루프 필터(1114)에 송신하기 위해 예측 또는 보상 정보 신호들을 역 변환된 신호와 가산할 수 있다. 인-루프 필터(1114)는 입력 신호를 필터링하고 디코딩된 픽처들을 출력하도록 구성될 수 있다. 가산기(1112)는 또한 인트라 예측에 사용되도록 가산된 신호를 인트라 예측 모듈(1118)에 출력할 수 있다. 또한, 인-루프 필터(1114)는 기준 버퍼(1120)에 필터링된 신호를 송신할 수 있다. 기준 버퍼(1120)는, 기준 버퍼(1120)가 파싱된 신호들을 제공하는 요소(1126)에 의한 변위 보상 디코딩을 허용 및 돕기 위해 수신된 신호를 파싱하도록 구성될 수 있다. 파싱된 신호들은, 예를 들어, 각종 이미지들의 전부 또는 일부일 수 있다.
메타데이터는 비트스트림 수신기(1102)에 제공된 비트스트림에 포함될 수 있다. 메타데이터는 비트스트림 파서(1104)에 의해 파싱되고, 엔트로피 디코더(1106)에 의해 디코딩될 수 있다. 디코딩된 메타데이터는 출력(도시되지 않음)을 사용한 엔트로피 디코딩 후에 디코더(1100)로부터 추출될 수 있다.
이제 도 9를 참조하면, 상술된 특징들 및 원리들이 적용될 수 있는 비디오 송신 시스템/장치(4300)가 도시되어 있다. 비디오 송신 시스템(4300)은, 예를 들어, 위성, 케이블, 전화선, 또는 지상 방송 등의 다양한 미디어 중 임의의 미디어를 사용해서 신호를 송신하기 위한 헤드 엔드 또는 송신 시스템일 수 있다. 송신은 인터넷 또는 일부 다른 네트워크를 통해 제공될 수 있다. 비디오 송신 시스템(4300)은, 예를 들어, 깊이 및/또는 격차 값들을 포함하는, 깊이의 지표들 등의 다른 콘텐츠 및 비디오 콘텐츠를 생성 및 전달할 수 있다.
비디오 송신 시스템(4300)은 인코더(4302) 및 인코딩된 신호를 송신할 수 있는 송신기(4304)를 포함한다. 인코더(4302)는, 예를 들어, 이미지들 및 깊이 지표들을 포함할 수 있는 비디오 정보를 수신하고, 비디오 정보에 기초하여 인코딩된 신호(들)를 생성한다. 인코더(4302)는, 예를 들어, 상세히 상술된 인코더들 중 하나일 수 있다. 인코더(4302)는, 예를 들어, 저장 또는 송신을 위해 구조화된 포맷으로 각종 정보 피스들을 수신 및 어셈블링하기 위한 어셈블리 유닛을 포함하는 서브-모듈들을 포함할 수 있다. 각종 정보 피스들은, 예를 들어, 코딩된 또는 코딩되지 않은 비디오, 코딩된 또는 코딩되지 않은 깊이 지표들 및/또는 정보, 및 코딩된 또는 코딩되지 않은 요소들, 예를 들어, 모션 벡터들, 코딩 모드 지표들, 및 구문 요소들을 포함할 수 있다.
송신기(4304)는, 예를 들어, 인코딩된 픽처들 및/또는 그와 관련된 정보를 나타내는 하나의 또는 그 이상의 비트스트림들을 가진 프로그램 신호를 송신하도록 적응될 수 있다. 전형적인 송신기들은, 예를 들어, 오류 정정 코딩 제공, 신호 내의 데이터의 인터리빙, 신호 내의 에너지의 랜덤화, 및 변조기(4306)를 사용한 신호의 하나의 또는 그 이상의 반송파들로의 변조 중 하나의 또는 그 이상의 기능들을 실행한다. 송신기(4304)는 안테나(도시되지 않음)를 포함하거나 또는 그와 인터페이스할 수 있다. 또한, 송신기(4304)의 구현은 변조기를 포함하지만, 이에 한정되지 않을 수 있다.
이제 도 10을 참조하면, 상술된 특징들 및 원리들이 적용될 수 있는 비디오 수신 시스템/장치(4400)가 도시되어 있다. 비디오 수신 시스템(4400)은, 예를 들어, 위성, 케이블, 전화선, 또는 지상 방송 등의 다양한 미디어를 통해 신호들을 수신하도록 구성될 수 있다. 신호들은 인터넷 또는 일부 다른 네트워크를 통해 수신될 수 있다.
비디오 수신 시스템(4400)은, 예를 들어, 휴대폰, 컴퓨터, 셋탑 박스, TV, 또는 인코딩된 비디오를 수신하고, 예를 들어, 사용자에게 디스플레이하기 위해 또는 저장을 위해 디코딩된 비디오를 제공하는 다른 디바이스일 수 있다. 따라서, 비디오 수신 시스템(4400)은, 예를 들어, TV(740) 등의 텔레비전의 스크린, 컴퓨터 모니터, 컴퓨터(저장, 처리, 또는 디스플레이를 위함), 미디어 볼트(710), 또는 일부 다른 저장, 처리, 또는 디스플레이 디바이스에 출력을 제공할 수 있다.
비디오 수신 시스템(4400)은 비디오 정보를 포함하는 비디오 콘텐츠를 수신 및 처리할 수 있다. 비디오 수신 시스템(4400)은, 예를 들어, 본 출원의 구현들에서 기술된 신호들 등의 인코딩된 신호를 수신할 수 있는 수신기(4402), 및 수신된 신호를 디코딩할 수 있는 디코더(4406)를 포함한다.
수신기(4402)는, 예를 들어, 인코딩된 픽처들을 나타내는 복수의 비트스트림들을 가진 프로그램 신호를 수신하도록 적응될 수 있다. 전형적인 수신기들은, 예를 들어, 변조 및 인코딩된 데이터 신호의 수신, 복조기(4404)를 사용한 하나의 또는 그 이상의 반송파들로부터의 데이터 신호의 복조, 신호 내의 에너지의 디-랜덤마이징(de-randomizing), 신호 내의 데이터의 디인터리빙, 및 신호의 오류 정정 디코딩 중 하나의 또는 그 이상의 기능들을 실행한다. 수신기(4402)는 안테나(도시되지 않음)를 포함하거나 또는 그와 인터페이스할 수 있다. 또한, 수신기(4402)의 구현들은 복조기를 포함하지만, 이에 한정되지 않을 수 있다.
디코더(4406)는, 예를 들어, 비디오 정보를 포함하는 비디오 신호들을 출력한다. 디코더(4406)는, 예를 들어, 상세히 상술된 디코더(1100)일 수 있다.
각종 구현들은 "이미지들", "비디오", 또는 "프레임들"과 관련된다. 이러한 구현들은, 더 일반적으로, 예를 들어, 각종 비디오 성분들 또는 그 조합들 중 임의의 것을 포함할 수 있는 "픽처들"에 적용될 수 있다. 이러한 성분들 또는 그 조합들은, 예를 들어, 휘도, 색차, (YUV 또는 YCbCr 또는 YPbPr의) Y, (YUV의) U, (YUV의) V, (YCbCr의) Cb, (YCbCr의) Cr, (YPbPr의) Pb, (YPbPr의) Pr, (RGB의) 레드, (RGB의) 그린, (RGB의) 블루, S-비디오, 및 이 성분들 중 임의의 성분들의 네가티브들 또는 포지티브들을 포함한다. "픽처"는, 또한, 예를 들어, 프레임, 필드, 또는 이미지와 관련될 수 있다. 용어 "픽처들"은, 또한, 또는 대안으로, 예를 들어, 전형적인 2차원 비디오, 2D 비디오 픽처의 격차 맵, 또는 2D 비디오 픽처에 대응하는 깊이 맵을 포함하는, 각종 상이한 타입들의 콘텐츠와 관련될 수 있다.
본 원리들의 "일 실시예(one embodiment)" 또는 "실시예(an embodiment)" 또는 "일 구현(one implementation)" 또는 "구현(an implementation)" 뿐만 아니라 그 다른 변형들에 대한 언급은, 본 실시예와 관련해서 기술된 특정 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 명세서에 걸쳐 각종 장소들에 나타나는 구절 "일 실시예에서(in one embodiment)" 또는 "실시예에서(in an embodiment)" 또는 "일 구현에서(in one implementation)" 또는 "구현에서(in an implementation)" 뿐만 아니라 임의의 다른 변형들의 출현들은 반드시 모두 동일한 실시예를 나타내는 것은 아니다.
또한, 본 출원 또는 그 청구항들은 각종 정보 피스들을 "결정"하는 것과 관련될 수 있다. 정보의 결정은, 예를 들어, 정보의 추정, 정보의 계산, 정보의 예측, 정보의 식별, 또는 메모리로부터의 정보의 검색 중 하나 또는 그 이상을 포함할 수 있다.
예를 들어, "A/B", "A 및/또는 B(A and/or B)" 및 "A 및 B 중 적어도 하나(at least one of A and B)"의 경우들에서, 이하의 "/", "및/또는(and/or)", 및 "~ 중 적어도 하나(at least one of)" 중 임의의 것의 사용은, 처음 열거된 옵션 (A) 만을 선택함, 또는 2번째로 열거된 옵션 (B) 만을 선택함, 또는 옵션들 둘 다(A 및 B)를 선택함을 망라하려는 의도임을 알 것이다. 다른 일례로서, "A, B, 및/또는 C(A, B, and/or C)" 및 "A, B, 및 C 중 적어도 하나(at least one of A, B, and C)" 및 "A, B, 및 C 중 적어도 하나(at least one of A, B, or C)"의 경우들에서, 이러한 표현은 처음 열거된 옵션 (A) 만을 선택함, 또는 2번째로 열거된 옵션 (B) 만을 선택함, 또는 3번째로 열거된 옵션 (C) 만을 선택함, 또는 처음과 2번째로 열거된 옵션들(A 및 B) 만을 선택함, 또는 처음과 3번째로 열거된 옵션들(A 및 C) 만을 선택함, 또는 2번째와 3번째로 열거된 옵션들(B 및 C) 만을 선택함, 또는 모든 3개의 옵션들(A 및 B 및 C)을 선택함을 망라하려는 의도이다. 이는, 열거된 다수의 아이템들에 대해, 당업자에 의해 쉽게 명백해지는 바와 같이, 확장될 수 있다.
따라서, 특정 특징들 및 양상들을 가진 하나의 또는 그 이상의 구현들이 제공된다. 그러나, 이러한 구현들의 변형들 및 추가 응용들이 본 설명 내에서 숙고되며, 기술된 구현들의 특징들 및 양상들은 다른 구현들에도 적응될 수 있다.
예를 들어, 이러한 구현들은 3개의 또는 그 이상의 비트스트림들의 그룹들을 병합하도록 확장될 수 있다. 이러한 구현들은, 또한, 예를 들어, 멀티-뷰 코딩(MVC)을 위한 H.264/MPEG-4 AVC(AVC)의 확장(AVC 표준의 부록 H), MPEG-2, 3D 비디오 코딩(3DV)을 위한 및 고성능 비디오 코딩(HVC)을 위한 제안된 MPEG/JVT 표준들, 및 MPEG-C 파트 3(ISO(International Organization for Standardization/IEC(International Electrotechnical Commission) 23002-3) 등의 AVC 및 SVC를 능가하는 상이한 표준들에도 적용되도록 확장될 수 있다. 또한, 다른 표준들(기존 또는 차후)이 사용될 수 있다. 물론, 구현들 및 특징들은 표준에서 사용될 필요는 없다. 또한, 본 원리들은, 또한, 비디오 코딩 및/또는 예를 들어, 깊이 데이터 또는 격차 데이터 등의 다른 타입들의 데이터의 코딩의 상황에서 사용될 수 있다.
다른 일례로서, 다른 구현은 새로운 AVC 비트스트림(110) 대신 새로운 SVC 비트스트림을 사용한다. 이 구현은 2개의 SVC 비트스트림들이 병합되게 하거나, 또는 새로운 SVC 비트스트림 및 기존 AVC 비트스트림이 병합되게 할 수 있다.
또 다른 구현에서, 새로운 비트스트림(AVC이든 또는 SVC이든)은 기존 비트스트림(AVC이든 또는 SVC이든)보다 더 낮은 품질이다. 이러한 일 구현에서, 새로운 비트스트림은 병합된 비트스트림의 기초 층으로서 사용된다.
상기 구현들의 다른 변형에서, 제1 비트스트림은 AVC 비트스트림이고, 제2 비트스트림은 2개의 품질 포맷들을 가진 SVC 비트스트림이다. 2개의 품질 포맷들 중 제1 품질 포맷은 AVC 비트스트림보다 더 낮은 품질이다. 2개의 품질 포맷들 중 제2 품질 포맷은 AVC 비트스트림보다 더 높은 품질이다. 병합된 비트스트림에서, (SVC 비트스트림의) 2개의 품질 포맷들 중 제1 품질 포맷은 제1 비트스트림의 기초 층으로서 사용된다.
본 명세서에 기술된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 형태의 구현의 문맥으로만 기술될지라도(예를 들어, 방법으로서만 기술되더라도), 기술된 특징들의 구현은 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는, 예를 들어, 적합한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍 가능 논리 디바이스를 포함하는, 일반적으로 처리 디바이스들이라고 하는, 예를 들어, 프로세서 등의 장치로 구현될 수 있다. 프로세서들은, 또한, 예를 들어, 컴퓨터들, 휴대폰들, 휴대형/퍼스널 디지털 어시스턴트들("PDAs"), 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 장치들 등의 통신 장치들을 포함한다.
본 명세서에 기술된 각종 프로세스들 및 특징들의 구현들은 다양한 상이한 장비 또는 애플리케이션들, 특히, 예를 들어, 데이터 인코딩 및 디코딩과 연관된 장비 또는 애플리케이션들로 구현될 수 있다. 이러한 장비의 일례들은 인코더, 디코더, 디코더로부터의 출력을 처리하는 포스트-프로세서, 인코더에 입력을 제공하는 프리-프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋탑 박스, 랩탑, 퍼스널 컴퓨터, 휴대폰, PDA, 및 다른 통신 장치들을 포함한다. 명백한 바와 같이, 장비는 이동형일 수 있으며, 심지어 이동 차량에 설치될 수도 있다.
또한, 방법들은 프로세서에 의해 실행되는 명령어들에 의해 구현될 수 있으며, 이러한 명령어들(및/또는 일 구현에 의해 생성된 데이터 값들)은, 프로세서-판독 가능 매체, 예를 들어, 집적 회로, 소프트웨어 캐리어 또는 다른 저장 장치, 예를 들어, 하드 디스크, 컴팩트 디스켓, 랜덤 액세스 메모리("RAM"), 또는 판독 전용 메모리("ROM")에 저장될 수 있다. 명령어들은 프로세서-판독 가능 매체에 실질적으로 구현된 애플리케이션 프로그램을 형성할 수 있다. 명령어들은, 예를 들어, 하드웨어, 펌웨어, 소프트웨어, 또는 그 조합으로 될 수 있다. 명령어들은, 예를 들어, 운영 체제, 개별 애플리케이션, 또는 그 2개의 조합에서 발견될 수 있다. 따라서, 프로세서는 예를 들어, 프로세스를 실행하도록 구성된 디바이스 및 프로세스를 실행하기 위한 명령어들을 가진 프로세서-판독 가능 매체(예를 들어, 저장 장치)를 포함하는 디바이스 둘 다로서 특징화될 수 있다. 또한, 프로세서-판독 가능 매체는, 명령어들 외에 또는 명령어들 대신에, 일 구현에 의해 생성된 데이터 값들을 저장할 수 있다.
당업자에게 분명한 바와 같이, 구현들은, 예를 들어, 저장 또는 송신될 수 있는 정보를 캐리하도록 포맷된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 한 방법을 실행하기 위한 명령어들, 또는 기술된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 이러한 신호는, 예를 들어, 전자파(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대 신호로서 포맷될 수 있다. 포맷은, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 반송파를 변조하는 단계를 포함할 수 있다. 신호가 캐리하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 공지된 바와 같이, 신호는 각종 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서-판독 가능 매체에 저장될 수 있다.
다수의 구현들이 기술되었다. 그럼에도 불구하고, 각종 변경들이 이루어질 수 있음을 알 것이다. 예를 들어, 상이한 구현들의 요소들은 조합, 보충, 변경, 또는 제거되어 다른 구현들을 생성할 수 있다. 또한, 다른 구조들 및 프로세스들이 기술된 바들을 대체할 수 있으며 결과 구현들이 적어도 실질적으로 동일한 기능(들)을 적어도 실질적으로 동일한 방법(들)으로 실행해서, 기술된 구현들과 적어도 실질적으로 동일한 결과(들)를 달성할 것임을 당업자는 알 것이다. 따라서, 여타 구현들은 본 설명에 의해 숙고되며 본 발명의 범위 내에 있다.
Claims (27)
- 데이터의 시퀀스의 제1 AVC 인코딩에 액세스하는 단계;
상기 데이터의 시퀀스의 제2 AVC 인코딩에 액세스하는 단계 - 상기 제2 AVC 인코딩은 상기 제1 AVC 인코딩과 품질 상 상이함 - ; 및
상기 제1 AVC 인코딩 및 상기 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하여, 상기 제1 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제1 층을 차지하고, 상기 제2 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제2 층을 차지하도록 하는 병합 단계
를 포함하고,
상기 제1 층 및 상기 제2 층 중 적어도 한 층은 상기 제1 층 및 상기 제2 층 중 다른 한 층에 대한 기준 층인 방법. - 제1항에 있어서,
상기 병합 단계는 상기 제1 AVC 인코딩에 대해 구문을 파싱하는 단계를 포함하는 방법. - 제2항에 있어서,
상기 병합 단계는 상기 파싱된 구문에 대응하는 상기 제1 AVC 인코딩의 매크로블록을 재구성하지 않고 상기 파싱된 구문에 기초하여 주어진 매크로블록에 대해 강화 층 코딩을 실행하는 단계를 더 포함하는 방법. - 제3항에 있어서,
상기 강화 층 코딩은 상기 제1 AVC 인코딩에 대해 실행되고,
상기 주어진 매크로블록의 강화 층 코딩은 상기 주어진 매크로블록을 재구성하지 않고 상기 주어진 매크로블록에 대한 상기 제1 AVC 인코딩의 코딩 모드를 사용하는 방법. - 제3항에 있어서,
상기 강화 층 코딩은 상기 제1 AVC 인코딩을 기초 층으로서 사용하여 상기 제2 AVC 인코딩에 대해 실행되고,
상기 주어진 매크로블록의 강화 층 코딩은 상기 주어진 매크로블록을 재구성하지 않고 상기 주어진 매크로블록과 공동 위치한(collocated) 매크로블록에 대한 상기 제1 AVC 인코딩으로부터의 모션 정보를 사용하는 방법. - 제2항에 있어서,
상기 병합 단계는 상기 제2 AVC 인코딩에 대해 구문을 파싱하는 단계를 더 포함하는 방법. - 제6항에 있어서,
상기 강화 층 코딩은 상기 제1 AVC 인코딩을 기초 층으로서 사용하여 상기 제2 AVC 인코딩에 대해 실행되고,
상기 주어진 매크로블록의 강화 층 코딩은 상기 주어진 매크로블록을 재구성하지 않고 상기 주어진 매크로블록에 대한 상기 제2 AVC 인코딩의 코딩 모드를 사용하는 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제3 AVC 인코딩에서 기초 층을 형성하는 단계 - 상기 기초 층은 상기 제1 AVC 인코딩의 적어도 일부에 의해 차지됨 - ; 및
상기 제3 AVC 인코딩에서 강화 층을 형성하는 단계 - 상기 강화 층은 상기 제2 AVC 인코딩의 적어도 일부에 의해 차지됨 -
를 포함하고,
상기 강화 층을 형성하는 단계는 주어진 매크로블록에 대해 모션 보상을 실행하지 않고 상기 기초 층의 공동 위치한 매크로블록으로부터의 모션 정보를 사용하여 상기 주어진 매크로블록을 상기 제2 AVC 인코딩으로 코딩하는 단계를 포함하는 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제3 AVC 인코딩에서 기초 층을 형성하는 단계; 및
상기 제3 AVC 인코딩에서 강화 층을 형성하는 단계
를 포함하고, 상기 강화 층은 상기 제1 AVC 인코딩의 적어도 일부분에 의해 차지되며, 상기 강화 층을 형성하는 단계는 상기 제1 AVC 인코딩의 상기 일부분에서 주어진 매크로블록을 코딩하여 강화 층 잔여를 생성하고, 상기 기초 층의 공동 위치한 매크로블록의 인코딩의 잔여에 기초하여 예측 변수(predictor)를 사용함으로써 상기 강화 층 잔여의 잔여 리인코딩을 실행하는 단계를 포함하는 방법. - 제9항에 있어서,
상기 잔여 리인코딩을 실행하는 단계는
DCT 계수들로부터 상기 기초 층 잔여를 재구성하는 단계; 및
필요한 경우, 상기 강화 층의 해상도에 대해 상기 재구성된 기초 층 잔여를 업샘플링하여 상기 예측 변수를 생성하는 단계를 포함하는 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제3 AVC 인코딩의 기초 층으로서 상기 제1 AVC 인코딩의 적어도 일부분을 사용하는 단계;
상기 제1 AVC 인코딩에 대해 구문을 파싱하는 단계;
상기 제2 AVC 인코딩에 대해 구문을 파싱하는 단계; 및
상기 제1 AVC 인코딩의 파싱된 구문 및 상기 제2 AVC 인코딩의 파싱된 구문을 사용하여 상기 제3 AVC 인코딩의 강화 층으로서 상기 제2 AVC 인코딩의 적어도 일부분을 인코딩하는 단계
를 포함하는 방법. - 제11항에 있어서,
상기 병합 단계는
상기 제2 AVC 인코딩의 상기 일부분의 주어진 매크로블록에 대한 파싱된 구문을 평가하는 단계;
상기 제1 AVC 인코딩의 상기 일부분의 공동 위치한 매크로블록에 대한 파싱된 구문을 평가하는 단계;
상기 주어진 매크로블록의 원래의 코딩 모드 및 상기 공동 위치한 매크로블록의 원래의 코딩 모드가 인트라-코딩 모드들이면, 상기 주어진 매크로블록에 대한 기준으로서 상기 공동 위치한 매크로블록의 재구성을 사용하는 단계;
상기 주어진 매크로블록의 원래의 코딩 모드 및 상기 공동 위치한 매크로블록의 원래의 코딩 모드가 인터-코딩 모드들이면, 상기 공동 위치한 매크로블록으로부터의 모션 정보를 사용하여 상기 주어진 매크로블록을 코딩하는 단계; 및
상기 주어진 매크로블록의 원래의 코딩 모드 및 상기 공동 위치한 매크로블록의 원래의 코딩 모드가 인트라-코딩 모드들도 아니고 인터-코딩 모드들도 아니면, 상기 주어진 매크로블록의 코딩 모드를 사용하여 상기 주어진 매크로블록을 코딩하는 단계
를 더 포함하는 방법. - 제12항에 있어서,
상기 병합 단계는 상기 주어진 매크로블록을 코딩해서 야기된 강화 층 잔여의 잔여 리인코딩을 실행하는 단계를 더 포함하는 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제3 AVC 인코딩의 기초 층으로서 상기 제1 AVC 인코딩의 적어도 일부분을 사용하는 단계;
상기 제3 AVC 인코딩의 강화 층으로서 상기 제2 AVC 인코딩의 적어도 일부분을 사용하는 단계;
상기 제2 AVC 인코딩의 상기 일부분의 주어진 매크로블록에 대해, 상기 기초 층을 기준으로서 사용하는 하나의 또는 그 이상의 코딩 모드들의 코딩 비용을 결정하는 단계; 및
상기 하나의 또는 그 이상의 코딩 모드들로부터, 상기 주어진 매크로블록의 코딩에 사용할 코딩 모드를 선택하는 단계를 포함하고,
상기 선택은 상기 평가에 기초하는 방법. - 제14항에 있어서,
상기 선택하는 단계는 상기 하나의 또는 그 이상의 코딩 모드들로부터, 결정된 최저 코딩 비용을 갖는 코딩 모드를 선택하는 단계를 포함하는 방법. - 제14항에 있어서,
상기 병합 단계는 상기 선택된 코딩 모드를 사용하여 상기 주어진 매크로블록을 리인코딩하는 단계를 더 포함하는 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제3 AVC 인코딩의 기초 층으로서 상기 제1 AVC 인코딩의 적어도 일부분을 사용하는 단계;
상기 제3 AVC 인코딩의 강화 층으로서 상기 제2 AVC 인코딩의 적어도 일부분을 사용하는 단계;
상기 제2 AVC 인코딩의 적어도 상기 일부분을 픽셀-도메인 데이터 시퀀스로 완전히 디코딩(fully decoding)하는 단계;
상기 제1 AVC 인코딩의 적어도 상기 일부분의 구문을 파싱하는 단계; 및
상기 픽셀-도메인 데이터 시퀀스 및 상기 파싱된 구문을 SVC 강화 층 인코더에 제공하여 상기 강화 층을 생성하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제3 AVC 인코딩의 기초 층으로서 상기 제1 AVC 인코딩의 적어도 일부분을 사용하는 단계; 및
SVC 비트스트림의 기준 층의 요구 사항들에 순응하도록 상기 제1 AVC 인코딩의 적어도 상기 일부분을 리인코딩하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 제1 AVC 인코딩 또는 상기 제2 AVC 인코딩 중 하나의 또는 그 이상의 인코딩은 적어도 기초 층 및 제1 강화 층을 가진 SVC 인코딩인 방법. - 제1항에 있어서,
상기 병합 단계는
상기 제1 AVC 인코딩을 디코딩하는 단계;
상기 디코딩된 제1 AVC 인코딩을 리인코딩하는 단계; 및
상기 리인코딩된 제1 AVC 인코딩으로 상기 제1 층을 차지하는 단계를 포함하고,
상기 제1 AVC 인코딩은 상기 리인코딩된 제1 AVC 인코딩의 형태로 상기 제1 층을 차지하는 방법. - 제1항에 있어서,
상기 제1 층 및 상기 제2 층 간의 적어도 일부 상관 관계는 상기 제1 층 또는 상기 제2 층 중 적어도 한 층을 상기 제1 층 또는 상기 제2 층 중 다른 한 층에 대한 기준 층으로서 사용함으로써 활용되는 방법. - 데이터의 시퀀스의 제1 AVC 인코딩에 액세스하는 수단;
상기 데이터의 시퀀스의 제2 AVC 인코딩에 액세스하는 수단 - 상기 제2 AVC 인코딩은 상기 제1 AVC 인코딩과 품질 상 상이함 - ; 및
상기 제1 AVC 인코딩 및 상기 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하여, 상기 제1 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제1 층을 차지하고, 상기 제2 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제2 층을 차지하도록 하는 수단
을 포함하고,
상기 제1 층 또는 상기 제2 층 중 적어도 한 층은 상기 제1 층 또는 상기 제2 층 중 다른 한 층에 대한 기준 층인 장치. - 데이터의 시퀀스의 제1 AVC 인코딩에 액세스하는 단계;
상기 데이터의 시퀀스의 제2 AVC 인코딩에 액세스하는 단계 - 상기 제2 AVC 인코딩은 상기 제1 AVC 인코딩과 품질 상 상이함 - ; 및
상기 제1 AVC 인코딩 및 상기 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하여, 상기 제1 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제1 층을 차지하고, 상기 제2 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제2 층을 차지하도록 하는 단계 - 상기 제1 층 또는 상기 제2 층 중 적어도 한 층은 상기 제1 층 또는 상기 제2 층들 중 다른 한 층에 대한 기준 층임 -
를 적어도 실행하도록 구성된 트랜스코더. - 제23항에 있어서,
상기 트랜스코더는
상기 제1 AVC 인코딩의 액세스;
상기 제2 AVC 인코딩의 액세스; 및
상기 제1 AVC 인코딩 및 상기 제2 AVC 인코딩의 상기 제3 AVC 인코딩으로의 병합
을 실행하도록 총체적으로 구성된 하나의 또는 그 이상의 프로세서들 또는 인코더들을 포함하는 트랜스코더. - 명령어들이 저장되어 있는 프로세서 판독 가능 매체로서,
상기 명령어들은 하나의 또는 그 이상의 프로세서들이 집합적으로 적어도
데이터의 시퀀스의 제1 AVC 인코딩에 액세스하는 단계;
상기 데이터의 시퀀스의 제2 AVC 인코딩에 액세스하는 단계 - 상기 제2 AVC 인코딩은 상기 제1 AVC 인코딩과 품질 상 상이함 - ; 및
상기 제1 AVC 인코딩 및 상기 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하여, 상기 제1 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제1 층을 차지하고, 상기 제2 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제2 층을 차지하도록 하는 단계 - 상기 제1 층 또는 상기 제2 층 중 적어도 한 층은 상기 제1 층 또는 상기 제2 층 중 다른 한 층에 대한 기준 층임 -
를 실행하도록 야기하는 프로세서 판독 가능 매체. - 데이터의 시퀀스의 제1 AVC 인코딩을 포함하는 신호를 수신하도록 구성된 수신기; 및
데이터의 시퀀스의 제1 AVC 인코딩에 액세스하는 단계;
상기 데이터의 시퀀스의 제2 AVC 인코딩에 액세스하는 단계 - 상기 제2 AVC 인코딩은 상기 제1 AVC 인코딩과 품질 상 상이함 - ; 및
상기 제1 AVC 인코딩 및 상기 제2 AVC 인코딩을 AVC의 SVC 확장을 사용하는 제3 AVC 인코딩으로 병합하여, 상기 제1 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제1 층을 차지하고, 상기 제2 AVC 인코딩이 상기 제3 AVC 인코딩의 적어도 제2 층을 차지하도록 하는 단계 - 상기 제1 층 또는 상기 제2 층 중 적어도 한 층은 상기 제1 층 또는 상기 제2 층 중 다른 한 층에 대한 기준 층임 -
를 적어도 실행하도록 구성된 트랜스코더
를 포함하는 장치. - 제26항에 있어서,
상기 제3 AVC 인코딩을 저장하기 위한 상기 트랜스코더에 연결된 저장 장치를 더 포함하는 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28415009P | 2009-12-14 | 2009-12-14 | |
US61/284,150 | 2009-12-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120093442A true KR20120093442A (ko) | 2012-08-22 |
Family
ID=44168359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127018447A KR20120093442A (ko) | 2009-12-14 | 2010-12-10 | 인코딩된 비트스트림들의 병합 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20130010863A1 (ko) |
EP (1) | EP2514208A2 (ko) |
JP (1) | JP5676637B2 (ko) |
KR (1) | KR20120093442A (ko) |
CN (1) | CN102656885B (ko) |
BR (1) | BR112012014182A2 (ko) |
WO (1) | WO2011081643A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180026683A (ko) * | 2018-02-23 | 2018-03-13 | 에스케이플래닛 주식회사 | 멀티트랙 비디오를 스케일러블 비디오로 인코딩하는 방법 및 장치 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9634690B2 (en) | 2010-09-30 | 2017-04-25 | Alcatel Lucent | Method and apparatus for arbitrary resolution video coding using compressive sampling measurements |
CN103155559B (zh) * | 2010-10-12 | 2016-01-06 | 杜比实验室特许公司 | 用于帧兼容视频传输的联合层优化 |
EP3021587A3 (en) | 2011-04-15 | 2016-12-28 | SK Planet Co., Ltd. | High speed scalable video coding device and method using multi-track video |
US9398310B2 (en) | 2011-07-14 | 2016-07-19 | Alcatel Lucent | Method and apparatus for super-resolution video coding using compressive sampling measurements |
US9860533B2 (en) * | 2012-06-26 | 2018-01-02 | Intel Corporation | Cross-layer cross-channel sample prediction |
CN105052132B (zh) | 2012-10-01 | 2019-12-24 | Ge视频压缩有限责任公司 | 利用增强层中变换系数区块的基于子区块编码的可伸缩视频编码 |
KR20140087971A (ko) | 2012-12-26 | 2014-07-09 | 한국전자통신연구원 | 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치 |
CA2908850C (en) | 2013-04-08 | 2018-03-27 | Arris Technology, Inc. | Individual buffer management in video coding |
US9563806B2 (en) | 2013-12-20 | 2017-02-07 | Alcatel Lucent | Methods and apparatuses for detecting anomalies using transform based compressed sensing matrices |
US9600899B2 (en) | 2013-12-20 | 2017-03-21 | Alcatel Lucent | Methods and apparatuses for detecting anomalies in the compressed sensing domain |
WO2015138979A2 (en) * | 2014-03-14 | 2015-09-17 | Sharp Laboratories Of America, Inc. | Dpb capacity limits |
US10034002B2 (en) * | 2014-05-21 | 2018-07-24 | Arris Enterprises Llc | Signaling and selection for the enhancement of layers in scalable video |
US10057582B2 (en) | 2014-05-21 | 2018-08-21 | Arris Enterprises Llc | Individual buffer management in transport of scalable video |
US9894324B2 (en) | 2014-07-15 | 2018-02-13 | Alcatel-Lucent Usa Inc. | Method and system for modifying compressive sensing block sizes for video monitoring using distance information |
JP6932116B2 (ja) * | 2014-08-01 | 2021-09-08 | 日本化薬株式会社 | エポキシ樹脂含有ワニス、エポキシ樹脂組成物含有ワニス、プリプレグ、樹脂シート、プリント配線板、半導体装置 |
US10805643B2 (en) * | 2016-03-30 | 2020-10-13 | Advanced Micro Devices, Inc. | Adaptive error-controlled dynamic voltage and frequency scaling for low power video codecs |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1354481A2 (en) * | 2001-01-12 | 2003-10-22 | Koninklijke Philips Electronics N.V. | Method and device for scalable video transcoding |
WO2003007619A1 (en) * | 2001-07-10 | 2003-01-23 | Koninklijke Philips Electronics N.V. | Method and device for generating a scalable coded video signal from a non-scalable coded video signal |
US20050226322A1 (en) * | 2002-05-31 | 2005-10-13 | Van Der Vleuten Renatus J | Non-scalable to scalable video conversion method, scalable to non-scalable video conversion method |
US7227894B2 (en) * | 2004-02-24 | 2007-06-05 | Industrial Technology Research Institute | Method and apparatus for MPEG-4 FGS performance enhancement |
US8436889B2 (en) * | 2005-12-22 | 2013-05-07 | Vidyo, Inc. | System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers |
US8320450B2 (en) * | 2006-03-29 | 2012-11-27 | Vidyo, Inc. | System and method for transcoding between scalable and non-scalable video codecs |
JP2009544176A (ja) * | 2006-03-29 | 2009-12-10 | ヴィドヨ,インコーポレーテッド | スケーラブルビデオコーデックと非スケーラブルビデオコーデックとの間でトランスコードを行うためのシステム及び方法 |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US8396134B2 (en) * | 2006-07-21 | 2013-03-12 | Vidyo, Inc. | System and method for scalable video coding using telescopic mode flags |
US8121191B1 (en) * | 2007-11-13 | 2012-02-21 | Harmonic Inc. | AVC to SVC transcoder |
JP2009182776A (ja) * | 2008-01-31 | 2009-08-13 | Hitachi Ltd | 符号化装置、復号化装置、および、動画像符号化方法、動画像復号化方法 |
FR2930702A1 (fr) * | 2008-04-23 | 2009-10-30 | Thomson Licensing Sas | Procede d'insertion, de suppression, support d'enregistrement et codeur |
IT1394245B1 (it) * | 2008-09-15 | 2012-06-01 | St Microelectronics Pvt Ltd | Convertitore per video da tipo non-scalabile a tipo scalabile |
JP5558481B2 (ja) * | 2008-11-26 | 2014-07-23 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 複数のメディアトラックを介してアクセス可能になるメディアコンテンツを扱う技術 |
WO2010079790A1 (ja) * | 2009-01-08 | 2010-07-15 | 日本電気株式会社 | 配信システムと方法並びに変換装置 |
US9197677B2 (en) * | 2009-03-09 | 2015-11-24 | Arris Canada, Inc. | Multi-tiered scalable media streaming systems and methods |
EP2428042B1 (en) * | 2009-05-05 | 2013-05-01 | Telefonaktiebolaget LM Ericsson (publ) | Scalable video coding method, encoder and computer program |
-
2010
- 2010-12-10 US US13/520,197 patent/US20130010863A1/en not_active Abandoned
- 2010-12-10 KR KR1020127018447A patent/KR20120093442A/ko not_active Application Discontinuation
- 2010-12-10 CN CN201080056675.8A patent/CN102656885B/zh not_active Expired - Fee Related
- 2010-12-10 EP EP10799138A patent/EP2514208A2/en not_active Withdrawn
- 2010-12-10 JP JP2012543085A patent/JP5676637B2/ja not_active Expired - Fee Related
- 2010-12-10 WO PCT/US2010/003141 patent/WO2011081643A2/en active Application Filing
- 2010-12-10 BR BR112012014182A patent/BR112012014182A2/pt not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180026683A (ko) * | 2018-02-23 | 2018-03-13 | 에스케이플래닛 주식회사 | 멀티트랙 비디오를 스케일러블 비디오로 인코딩하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
WO2011081643A2 (en) | 2011-07-07 |
WO2011081643A3 (en) | 2011-09-29 |
JP5676637B2 (ja) | 2015-02-25 |
CN102656885B (zh) | 2016-01-27 |
BR112012014182A2 (pt) | 2016-05-31 |
US20130010863A1 (en) | 2013-01-10 |
EP2514208A2 (en) | 2012-10-24 |
CN102656885A (zh) | 2012-09-05 |
JP2013513999A (ja) | 2013-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5676637B2 (ja) | 符号化ビットストリームのマージ | |
JP6768145B2 (ja) | ビデオの符号化および復号 | |
AU2015230740B2 (en) | Method and apparatus of scalable video coding | |
CA3073084C (en) | Quantization parameter derivation for cross-channel residual encoding and decoding | |
US20140003495A1 (en) | Method and Apparatus of Scalable Video Coding | |
KR20170023086A (ko) | 블록 벡터 도출을 이용하여 인트라 블록 복사 코딩을 위한 방법 및 시스템 | |
US20140092977A1 (en) | Apparatus, a Method and a Computer Program for Video Coding and Decoding | |
US20150381999A1 (en) | Inter-Layer Motion Vector Scaling for Scalable Video Coding | |
KR102160242B1 (ko) | 영상 복호화 방법 및 이를 이용하는 장치 | |
US20150117514A1 (en) | Three-dimensional video encoding method using slice header and method therefor, and three-dimensional video decoding method and device therefor | |
WO2013145021A1 (ja) | 画像復号方法及び画像復号装置 | |
EP2983362B1 (en) | Interlayer video decoding method and apparatus for compensating luminance difference | |
WO2018172609A2 (en) | Motion compensation in video encoding and decoding | |
GB2534591A (en) | Video encoding and decoding | |
KR20140048806A (ko) | 공간 해상도에 기반한 계층 간 예측 장치 및 방법 | |
WO2019211514A1 (en) | Video encoding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application |