KR20150140842A - 하이브리드 백워드-호환가능 신호 인코딩 및 디코딩 - Google Patents
하이브리드 백워드-호환가능 신호 인코딩 및 디코딩 Download PDFInfo
- Publication number
- KR20150140842A KR20150140842A KR1020157032775A KR20157032775A KR20150140842A KR 20150140842 A KR20150140842 A KR 20150140842A KR 1020157032775 A KR1020157032775 A KR 1020157032775A KR 20157032775 A KR20157032775 A KR 20157032775A KR 20150140842 A KR20150140842 A KR 20150140842A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- data
- rendition
- portions
- encoded data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal 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/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/46—Embedding additional information in the video signal during the compression process
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/88—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
컴퓨터 프로세서 하드웨어는 데이터 스트림을 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의제 2 부분들로 파스(parse)하고; 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션(rendition)으로 디코드하도록 제 1 디코더를 구현하고; 인코드된 데이터의 제 2 부분들을 재구성 데이터로 디코드하도록 제 2 디코더를 구현하고 ― 재구성 데이터는 신호의 제 1 렌디션을 수정하는 방법을 특정함 ―; 및 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용한다.
Description
다중차원 신호들 또는 시간에 따라 진화하는 신호들의 압축 및 압축 해제를 다루기 위하여 많은 기술들이 기술 분야에서 알려져 있다. 이것은 오디오 신호들, 비디오 신호들 및 과학 및 의학 영역들에 사용된 3차원 신호들 같은 다른 다중차원 신호들의 경우이다. 높은 압축 비율들을 달성하기 위하여, 이들 기술들은 신호 내의 공간 및 시간 상관을 이용한다. 종래의 방법들은 기준을 식별하고 현재 위치와 주어진 기준 사이의 신호 차를 결정하도록 시도한다. 이것은 기준이 이미 수신되고 디코드된 공간 평면의 부분(예를 들어, 블록, 또는 "매크로-블록")인 공간 도메인, 및 신호의 시간에서 단일 인스턴스(instance)(예를 들어, 프레임들의 시퀀스에서 비디오 프레임)가 특정 지속시간 동안 기준으로서 취해지는 시간 도메인 둘 다에서 행해진다. 이것은 예를 들어 MPEG-패밀리 압축 알고리즘의 경우이고, 여기서 이전에-디코드된 매크로 블록들은 공간 도메인에서 기준으로서 취해지고 I-프레임들 및 P-프레임들은 시간 도메인에서 추후 P-프레임들에 대한 기준으로서 사용된다.
알려진 기술들은 많은 방식들로 공간 상관 및 시간 상관을 이용하고, 이는 차들을 식별, 단순화, 인코드 및 전송하기 위하여 몇몇 상이한 기술들을 채택한다. 종래의 방법들에서, 블록 내의 나머지들의 공간 상관을 레버리지하기 위하여 도메인 변환이 수행되고(예를 들어 주파수 도메인으로) 그 다음 변환된 정보의 손실 제거 및 양자화가 수행되고, 이는 통상적으로 어느 정도의 블록 아티팩트들을 도입한다. 대신, 시간 도메인에서, 종래의 방법들은 현재 샘플과 움직임 보상 기준 샘플 사이의 양자화된 차를 전송한다. 샘플들 사이의 유사성을 최대화하기 위하여, 인코더들은 발생된 시간에 따른 수정들 대 기준 신호를 추정하도록 시도한다. 이것은 종래의 인코딩 방법들(예를 들어, MPEG 패밀리 기술들, VP8, VP9, 등)에서, 움직임 추정 및 보상이라 불린다.
몇몇 시도들 외에서 알려진 기술 분야에서 인코딩 방법들은 통상적으로 품질 스케일러빌러티(scalability) 요건을 무시한다. 스케일러블 인코딩 방법은 압축된 신호의 단일 버전을 인코드할 것이고 상이한 레벨들의 품질로의 전달, 대역폭 이용 가능성들, 및 디코더 복잡성을 인에이블할 것이다. 스케일러빌러티는 계산 복잡성으로 인해 어느 정도 비교적 빈약한 채택을 갖고, 일반적으로 말하면 비-스케일러블 기술들과 자신의 유사성을 가진 MPEG-SVC 및 JPEG2000 같은 알려진 방법들에서 고려되었다.
MPEG-기반 기술들(예를 들어, MPEG2, MPEG4, H.264, H.265)이 국제 표준들이기 때문에, 몇몇 전용 하드웨어 칩들은 전용 하드웨어 블록들로 신호 디코딩을 수행하기 위하여 개발되었다. 따라서 디코딩 디바이스 생태계의 부족으로 인해, 상이한 인코딩 기술들이 채택을 얻는 것이 어렵다.
예를 들어 HDMI 또는 디스플레이포트(DisplayPort) 같은 전송 방법들을 통해 디스플레이 디바이스들로의 케이블 전송 같은 다른 경우들의 비디오 전송들에서, 디코딩/디스플레이 디바이스들로 비디오 콘텐츠의 전송은 전송 케이블의 능력에 의해 제한된다. 이것은 전송 케이블의 제한들로 인해 주어진 품질 레벨(해상도 또는 프레임 레이트 중 어느 하나)을 초과하는 비디오 콘텐츠를 전송하는 것을 불가능하게 한다. 전송할 데이터 양이 시간에 걸쳐 점점 커지기 때문에(상업 디스플레이 디바이스들에 의해 지원되는 해상도들 및 프레임 레이트들의 연속적인 증가로 인해), 연결 케이블들에 의해 제기되는 제한들은 관련 문제들이 되어가고, 종종 이것은, 디코딩/디스플레이 디바이스들이 디스플레이할 품질 레벨들에 대처하기 위하여 전송 케이블의 불충분한 능력을 대처하도록 다양한 종류의 보간들(예를 들어 60 Hz 내지 240 Hz의 프레임 레이트 보간들)을 강제 수행하게 한다.
예를 들어 비디오 회의 같은 다른 경우들의 비디오 전송시, 디코더 디바이스들의 큰 설치된 베이스는 레거시 SD 및/또는 HD 비디오 콘텐츠만을 디코드할 수 있는 반면, 더 새롭고 더 강력한 텔레프레젠스(telepresence) 시스템들은 품질적으로 훨씬 더 높은 해상도들로 비디오 콘텐츠를 디코드할 수 있다. 현재 방법들은, 단일 인코드된 데이터 스트림이(즉, 다수의 별개의 비디오 스트림들로 인코딩/트랜스코딩 없이) 레거시 디코더 디바이스들 및 보다 새로운 디코더 디바이스들 둘 다를 서빙하게 하는 것을 불가능하게 한다.
예를 들어 불루-레이 디스크들 같은 다른 경우들의 비디오 분배에서, 디바이스들의 큰 생태계는 레거시 HD 비디오 인코딩 포맷들만을 디코드할 수 있는 반면, 새로운 디코딩 디바이스들은 울트라HD 비디오를 디코드 및 디스플레이할 수 있다. 현재 방법들은, 레거시 디바이스들의 넓게 설치된 베이스에 의해 HD 비디오로서 그리고 새로운 디코딩 디바이스들에 의해 울트라HD 비디오로서 판독될 수 있는 단일 레거시-호환가능 블루-레이 디스크를 분배하는 것을 불가능하게 한다.
종래 기술들과 대조하여, 본원의 방법들 및 실시예들은 효율적인 비트 스트림들 및 스케일러빌러티를 달성함과 동시에 알려진 디코딩 방법들에 대해 설계된 디코딩 및/또는 디스플레이 하드웨어와 백워드 호환성을 유지하도록 혁신적인 접근법을 나타낸다.
본원에 예시된 방법들 및 실시예들은 또한 레거시 디코더들에 의한 제 1 품질 레벨까지 및 특정하게 인에이블된 디코더들에 의한 하나 또는 그 초과의 상이한(보다 높은) 품질 레벨들까지 디코딩되도록 생성된, 백워드 호환가능 스트림을 생성하기 위한 방식들을 포함한다.
백워드 호환성을 사용하여 스케일러빌러티의 목적을 달성하는 것 외에, 보다 높은 품질 레벨들에 대해 상이한 인코딩/디코딩 기술들의 사용은 또한 전체 비트 스트림에 대해 보다 큰 효율성을 달성할 수 있다.
본원의 실시예들은 종래의 시스템들 및 방법들에 관하여 벗어나고, 주어진 품질 레벨까지 디코딩하기 위하여 레거시 디코딩 방법을 레버리징하는 신호를 디코드하기 위한 새로운 방법들, 및 주어진 품질 레벨에서 디코드된 신호에 기초하여, 최종(보다 높은) 품질 레벨에서 신호의 렌디션(rendition)을 재구성하기 위한 새로운 디코딩 방법을 제공한다.
자신의 가장 넓은 양상에 따라, 본 발명은 주어진 해상도 및/또는 프레임 레이트(제 1 품질 레벨)까지 기존 디코딩 하드웨어를 사용하고, 그리고 그 다음 계산적으로 간단한 또 다른 효과적인 방법에 의해 하나 또는 그 초과의 부가적인 품질 레벨들을 재구성하기 위한 방법이다. 제 1 품질 레벨보다 높은 품질 레벨의 디코딩을 수행하기 위하여 업데이트될 수 없는 레거시 디코딩 디바이스들은 단지 제 1 품질 레벨에서 신호를 디코딩하고 부가적인 강화 데이터를 무시할 것인데, 즉 여전히 신호의 렌디션을 디코드할 수 있을 것이다.
간략성을 위하여, 본원에 예시된 비제한적 실시예들은 샘플들의 시퀀스(즉, 2차원 이미지들, 비디오 프레임들, 비디오 필드들, 등)로서의 신호를 참조한다. 설명에서 용어들 "이미지", "픽처" 또는 "평면"("하이퍼평면"의 가장 넓은 의미를 갖게 의도되고, 즉 임의의 수의 차원들 및 주어진 샘플링 그리드를 갖는 엘리먼트들의 어레이)은 종종 샘플들의 시퀀스를 따라 신호의 샘플의 디지털 렌디션을 식별하기 위하여 사용될 것이고, 여기서 각각의 평면은 자신의 차원들(예를 들어, X 및 Y) 각각에 대해 주어진 해상도를 가지며, 하나 또는 그 초과의 "값들" 또는 "세팅들"(예를 들어, 비제한적인 예들에 의해, 적당한 컬러 공간의 컬러 세팅들, 밀도 레벨들을 가리키는 세팅들, 온도 레벨들을 가리키는 세팅들, 오디오 피치를 가리키는 세팅들, 진폭을 가리키는 세팅들, 등)에 의해 특징지어지는 평면 엘리먼트들(또는 2차원 이미지들에 대해 종종 "픽셀"로 불리고, 3차원 이미지들에 대해 종종 "복셀들로 불리는 "엘리먼트, 또는 "펠(pel)", 또는 디스플레이 엘리먼트, 등)의 세트를 포함한다. 각각의 평면 엘리먼트는 이미지의 샘플링 그리드에서 상기 엘리먼트의 정수 포지션들을 가리키는 적당한 좌표들의 세트에 의해 식별된다. 신호 차원들은 단지 공간 차원들(예를 들어, 이미지의 경우) 또는 또한 시간 차원(예를 들어, 시간에 걸쳐 진화하는 신호의 경우)을 포함할 수 있다.
비제한적 예들로서, 신호는 이미지, 오디오 신호, 다중-채널 오디오 신호, 비디오 신호, 다중-뷰 비디오 신호(예를 들어, 3D 비디오), 3차원 신호(예를 들어, 의학 이미징, 과학 이미징, 홀로그래픽 이미징, 등), 3차원 비디오 신호, 또는 심지어 4개보다 많은 차원들을 가진 신호들일 수 있다.
간략성을 위하여, 본원에 예시된 비제한적 예들은 종종 예를 들어 비디오 신호 같은 세팅들의 2D 평면들(예를 들어, 적당한 컬러 공간에서 2D 이미지들)로서 디스플레이되는 신호들을 참조한다. 용어 "프레임" 또는 "필드"는 비디오 신호의 시간 샘플을 가리키기 위하여 용어 "이미지"와 상호교환 가능하게 사용될 것이고: 프레임들로 이루어진 비디오 신호들(프로그레시브(progressive) 비디오 신호들)에 대해 예시된 임의의 개념들 및 방법들은 또한 필드들로 이루어진 비디오 신호들(인터레이스(interlace)된 비디오 신호들)에 쉽게 적용할 수 있고, 그 반대도 가능하다. 비디오 신호들에 대해 본원에 예시된 실시예들의 초점에도 불구하고, 당업자들은, 동일한 개념들 및 방법들이 또한 임의의 다른 타입들의 다중차원 신호(예를 들어, 3차원 신호들, 비디오 신호들, 3D 비디오 신호들, 플렌옵틱(plenoptic) 신호들, 등)에 적용 가능하다는 것을 이해할 수 있다.
본원에 설명된 비제한적 실시예에서, 신호 프로세서는 데이터 스트림을 수신하고 이를 2 또는 그 초과의 서브-스트림들로 분리하도록 구성된다. 제 1 서브-스트림은 제 1 디코딩 방법에 의해 디코드되고, 제 1 품질 레벨에서 신호의 렌디션을 생성한다. 제 2 서브-스트림은 제 2 디코딩 방법에 의해 디코드되고, 나머지들을 생성한다. 제 1 품질 레벨에서의 신호에 기초하여, 신호 프로세서는 제 2(보다 높은) 품질 레벨에서 신호의 예측된 렌디션을 생성한다. 신호 프로세서는 제 2 품질 레벨에서 신호의 예측된(또는 "예비") 렌디션을 나머지들과 결합하여, 제 2 품질 레벨에서 신호의 렌디션을 생성한다.
본원에 설명된 다른 비제한적 실시예들에서, 다른 컴퓨터 디바이스에 위치된 신호 프로세서는 데이터 스트림을 수신하고 제 2 서브-스트림을 디코드하도록 구성되지 않는다. 신호 프로세서는 제 2 서브-스트림을 무시하고 단지 제 1 서브-스트림을 디코드하여, 제 1 품질 레벨에서 신호의 렌디션을 생성한다. 이런 방식으로, 데이터 스트림에 데이터의 제 2 가입자-스트림의 포함은 제 2 서브-스트림을 디코드하도록 구성되지 않은 디코더들과 효과적으로 백워드 호환 가능한데, 그 이유는 레거시 디코드들이 단지 제 2 가입자-스트림을 무시하고 제 2 품질 레벨에서의 신호의 렌디션 대신 제 1 품질 레벨에서 신호의 렌디션을 생성하기 때문이다.
비제한적 실시예에서, 방법은 MPEG-기반 방법에 따라 디코드하도록 설계된 하드웨어의 펌웨어 상에 구현되고, 제 1 서브-스트림은 상기 MPEG-기반 방법에 따라 디코드된다.
본원에 설명된 다른 비제한적 실시예들에서, 제 2 서브-스트림은 제 1 품질 레벨에서의 신호에 기초하여, 제 2 품질 레벨에서 신호의 예측된 또는 예비 렌디션을 생성하도록 신호 프로세서에 의해 수행되는 동작들에 대응하는 파라미터들을 포함한다. 비제한적 실시예에서, 상기 파라미터들은 제 1 품질 레벨에서의 신호의 렌디션을 업샘플하기 위하여 사용된 업샘플링 커널(kernel)의 계수들을 포함한다.
본원에 설명된 다른 비제한적 실시예들에서, 디코드된 나머지들은 제 1 품질 레벨에서의 나머지들의 제 1 세트 및 제 2 품질 레벨에서의 나머지들의 제 2 세트를 포함한다.
본원에 설명된 다른 비제한적 실시예들에서, 제 2 품질 레벨에서 신호의 예측된 렌디션을 생성하는 것은 제 1 품질 레벨에서 신호의 렌디션을 나머지들의 제 1 세트와 결합하는 것; 수신된 파라미터들에 대응하는 업샘플링 동작들에 의해 제 1 품질 레벨에서 신호의 렌디션을 업샘플링하는 것을 포함한다.
본원에 설명된 다른 비제한적 실시예들에서, 나머지들의 세트를 디코딩하는 것은 변환된 양자화된 나머지들을 디코딩하는 것; 변환된 양자화된 나머지들을 그 자신들 및/또는 양자화된 나머지들을 생성하는 다른 적당한 파라미터들과 합산 및 감산하는 것; 나머지들을 생성하는 양자화된 나머지들을 역양자화하는 것을 포함한다.
비제한적 실시예에서, 상기 적당한 파라미터들은 제 1 품질 레벨에서 신호의 렌디션의 엘리먼트 값과 제 2 품질 레벨에서 신호의 예측된 렌디션의 대응하는 엘리먼트들 평균 사이의 차를 계산함으로써 얻어진 파라미터들을 포함한다.
본원에 설명된 다른 비제한적 실시예들에서, 나머지들의 세트를 디코딩하는 것은 양자화된 변환된 나머지들을 디코딩하는 것; 양자화된 변환된 나머지들을 역양자화하는 것, 변환된 나머지들을 생성하는 것, 변환된 나머지들을 자신들 및/또는 적당한 파라미터들과 합산 및 감산하는 것을 포함하여, 나머지들을 생성한다.
하나의 비제한적 실시예에서, 상기 적당한 파라미터들은 제 1 품질 레벨에서 신호의 렌디션의 엘리먼트 값과 제 2 품질 레벨에서 신호의 예측된 렌디션의 대응하는 엘리먼트들의 평균 사이의 차를 계산함으로써 얻어진 파라미터들을 포함한다.
비제한적 실시예에서, 역양자화 동작들은 주어진 파라미터들에 따라 각각의 양자화 범위의 포지션을 식별함으로써 수행된다.
비제한적 실시예에서, 역양자화 동작들은 주어진 파라미터들에 따라 각각의 양자화 범위에서 포지션을 식별함으로써 수행된다.
다른 비제한적 실시예들에서, 양자화된 변환된 나머지들을 디코딩하는 것은 엔트로피 인코드된 데이터를 수신하는 것 및 이를 적당한 엔트로피 디코딩 방법에 따라 디코딩하는 것을 포함한다. 비제한적 실시예에서, 상기 엔트로피 디코딩 방법은 허프만 디코딩 및 런 렝스(Run Length)("RLE") 디코딩의 결합이다. 다른 비제한적 실시예들에서, 상기 엔트로피 디코딩 방법은 정적 산술 인코더를 포함한다. 다른 비제한적 실시예들에서, 엔트로피 디코더는 디코드될 심볼들의 확률 분포에 대응하는 파라미터들을 수신한다.
추가 비제한적 실시예들에 따라, 동일한 시퀀스의 추후 이미지들에 대한 나머지들은 다수의 추후 이미지들 사이의 상관을 효율적으로 레버리지하기 위하여, 동일한 공통 레퍼런스(reference)(지원 버퍼)로부터 디코드된다.
추가 비제한적 실시예들에 따라, 동일한 시퀀스의 추후 이미지들에 대한 하나 또는 그 초과의 나머지들은 다수의 추후 이미지들 사이의 상관을 효과적으로 레버리지하기 위하여, 선행 이미지의 대응하는 나머지들에 기초하여 디코드된다.
본원에 설명된 다른 비제한적 실시예에서, 신호 프로세서는 데이터 스트림을 수신하고 이를 3 또는 그 초과의 서브-스트림들로 분리하도록 구성된다. 제 1 서브-스트림은 제 1 디코딩 방법에 의해 디코드되어, 제 1 품질 레벨에서 신호의 렌디션을 생성한다. 제 2 서브-스트림은 제 2 디코딩 방법에 의해 디코드되어, 디코더가, 제 1 품질 레벨에서 신호의 렌디션에 기초하여, 제 2(보다 높은) 품질 레벨에서 신호의 렌디션을 생성하게 하는 강화 데이터를 생성한다. 제 3 서브-스트림은 제 3 디코딩 방법에 의해 디코드되어, 디코더가, 제 2 품질 레벨에서 신호의 렌디션에 기초하여, 제 3(보다 높은) 품질 레벨에서 신호의 렌디션을 생성하게 하는 강화 데이터를 생성한다.
추가 비제한적 실시예들에 따라, 데이터 스트림은 MPEG 전송 스트림으로서 조직화되고, 상이한 서브-스트림들(상이한 품질 레벨들에 대응함)의 패킷들은 그들이 상이한 엘리멘터리 서브-스트림들에 속하는 것을 가리키는 상이한 패킷화된 식별자(PID)들을 가진다. 본원에 논의된 바와 같이, 제 1 PID를 사용한 데이터의 태깅(tagging)은 제 1 디코더에 의한 디코딩을 위한 데이터 부분들을 가리키고; 제 2 PID를 사용한 데이터의 태깅은 제 2 디코더에 의한 디코딩을 위한 데이터의 부분들을 가리키고; 제 3 PID를 사용한 데이터의 태깅은 제 3 디코더에 의한 디코딩에 대하 데이터의 부분들을 가리키고, 등등이 있다. 일 실시예에서, 강화 서브-스트림들에 대한 PID들(보다 높은 품질 레벨들을 재구성하도록 허용함)은, 레거시 디코더들에 의해 무시되도록 선택된다.
추가 비제한적 실시예들에 따라, 데이터 스트림은 HDMI 데이터 전송으로서 조직화되고, 제 1 품질 레벨에 대응하는 서브-스트림은 압축 해제된 비디오(HDMI 포맷에 따라 전송됨)이고 강화 서브-스트림 데이터는 메타데이터로서 전송된다. 몇몇 비제한적 실시예에서, 제 2 품질 레벨은 제 1 품질 레벨보다 높은 프레임 레이트를 가진다. 다른 비제한적 실시예에서, 제 2 품질 레벨은 제 1 품질 레벨보다 높은 공간 해상도를 가진다. 비제한적 실시예에서, 강화 데이터는 블랭킹 기간들 내(각각의 수평 블랭킹 기간 동안 아일랜드 패킷(Island Packet)들의 최대 데이터는 448 바이트들이고, 부가적인 데이터에 대해 총 대략 480 Mbps를 남기고; 오디오 데이터는 또한 블랭킹 기간들을 사용하지만, 이들 중 상당 부분은 강화 데이터에 이용 가능함)에서 전송된다. 다른 비제한적 실시예들에서, 강화 데이터의 전송은 VSI(Vendor-Specific InfoFrame)를 통해 메타데이터 전송을 레버리지한다. 추가 비제한적 실시예들에 따라, 데이터 스트림은 디스플레이포트 전송으로서 조직화되고, 제 1 품질 레벨에 대응하는 서브-스트림은 압축 해제된 비디오(디스플레이포트 포맷에 따라 전송됨)이고 강화 서브-스트림 데이터는 메타데이터로서 전송된다.
추가 비제한적 실시예들에 따라, 데이터 스트림은 블루-레이 디스크 파일로서 조직화되고, 제 1 품질 레벨에 대응하는 서브스트림은 종래의 블루-레이 디스크 비디오로서 인코드되고 강화 서브-스트림 데이터는 메타데이터로서 블루-레이 디스크에 포함된다.
제 1 실시예들의 상이한 순열들
다른 실시예들에 따라, 컴퓨터 프로세서 하드웨어는 데이터 스트림을 수신한다. 컴퓨터 프로세서 하드웨어는 수신된 데이터 스트림을 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의 제 2 부분들로 파스(parse)한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하기 위한 제 1 디코더를 구현한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분들을 재구성 데이터로 디코드하기 위한 제 2 디코더를 구현한다. 재구성 데이터는 신호의 제 1 렌디션을 수정하는 방법을 특정한다. 컴퓨터 프로세서 하드웨어는 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용한다.
상기 제 1 예시적 실시예는 하기 또 다른 실시예들을 생성하기 위하여 다음 피처들 중 하나 또는 그 초과 중 임의의 것과 함께 구현될 수 있다:
예를 들어, 일 실시예에서, 인코드된 데이터의 제 1 부분들은 비제한적 예들 MPEG2, h.264, VC1, VP8, VP9 또는 h.265에 의해서와 같이 MPEG(Moving Pictures Experts Group)에 따라 디코드(컴퓨터 프로세서 하드웨어의 제 1 디코더를 통해)된다. 인코드된 데이터의 제 2 부분들로부터 유도된 재구성 데이터는 계층 인코딩 포맷에 따라 디코드(컴퓨터 프로세서 하드웨어의 제 2 디코더를 통해)된다.
또 다른 실시예들에 따라, 인코드된 데이터의 제 1 부분들은 압축 해제된 비디오 데이터를 포함하고; 재구성 데이터는 인코드된 데이터의 제 2 부분들로부터 유도되고 계층 인코딩 포맷에 따라 디코드된다. 인코드된 데이터의 제 2 부분들이 압축된 데이터일 수 있다는 것이 주의된다. 제 2 디코더를 구현하는 것은 재구성 데이터를 생성하기 위하여 업샘플링 동작들을 압축된 데이터에 적용하는 것을 포함하고, 적용된 업샘플링 동작들은 보다 낮은 해상도 디스플레이 엘리먼트 세팅들을 보다 높은 해상도 디스플레이 엘리먼트 세팅들로 컨버팅한다.
또 다른 실시예들에서, 컴퓨터 프로세서 하드웨어는 제 1 컴퓨터 프로세서 하드웨어이다. 시스템은 제 2 컴퓨터 프로세서 하드웨어(제 1 디코더를 포함하지만 제 2 디코더를 포함하지 않는 레거시 디코더 같은)를 포함할 수 있다. 제 2 컴퓨터 프로세서 하드웨어는 또한 데이터 스트림을 수신한다. 제 2 컴퓨터 프로세서 하드웨어는 데이터 스트림에서 수신된 인코드된 데이터의 제 1 부분들만을 신호의 제 2 제 1 렌디션으로 디코딩하는 것을 개시하고; 그리고 디스플레이 스크린상에 신호의 제 2 제 1 렌디션의 디스플레이를 개시한다.
추가 예로서, 인코드된 데이터의 제 1 부분들은 레거시 디코더 컴퓨터 프로세서 하드웨어와 호환 가능한 디코딩 방법에 따라 (제 1 타입의 디코더를 사용하여) 디코드될 수 있고, 데이터 스트림은, 인코드된 데이터의 제 2 부분들이 레거시 디코더 컴퓨터 프로세서 하드웨어에 의해 사용되지 않도록(및/또는 무시됨) 조직화된다. 레거시 디코더 컴퓨터 프로세서 하드웨어는: ⅰ) 인코드된 데이터의 제 1 부분들만의 디코딩을 개시하고, 그리고 ⅱ) 개별 디스플레이 스크린상에 신호의 제 1 렌디션의 디스플레이를 개시한다.
컴퓨터 프로세서 하드웨어에 의해 수신된 데이터 스트림은, 인코드된 데이터의 제 1 부분들(제 1 디코더에 의해 프로세스되는 바와 같이)이 압축 해제된 비디오 데이터이고 인코드된 데이터의 제 2 부분들(제 2 디코더에 의해 프로세스되는 바와 같이)이 압축된 데이터인 HDMI(High-Definition Multimedia Interface) 신호일 수 있다. 대안적으로, 컴퓨터 프로세서 하드웨어에 의해 수신된 데이터 스트림은 디스플레이포트 인터페이스를 통해 수신될 수 있고, 여기서 인코드된 데이터의 제 1 부분들은 압축 해제된 비디오 데이터이고 인코드된 데이터의 제 2 부분들은 압축된 데이터이다.
추가로 비제한적 예시 실시예들에 의해, 데이터 스트림은 데이터의 제 1 부분들(MPEG 인코드된 데이터 같은) 및 데이터의 제 2 부분들을 포함하는 MPEG(Moving Pictures Experts Group) 전송 스트림일 수 있고, 여기서 제 1 부분들 및 제 2 부분들은 상이한 패킷 식별자(PID) 번호들에 의해 특징지어 진다.
비제한적 예시 실시예의 추가 방식에 의해, 데이터 스트림은 블루-레이 디스크상에 저장되고 블루-레이 디스크 디코더 디바이스들에 의해 디코드되도록 조직화된 파일일 수 있다. 데이터의 제 1 부분들은 종래의 HD 비디오 데이터로서 블루-레이 포맷으로 포함되고 제 1 인코딩 방법(예를 들어, h.264 또는 VC1 같은 HD 비디오 데이터에 대한 종래의 블루-레이 코덱)으로 인코드되는 반면, 데이터의 제 2 부분들은 레거시 HD 블루-레이 디스크 디코더 디바이스들에 의해 무시된 메타-데이터로서 블루-레이 포맷으로 포함되고, 제 2 인코딩 방법에 따라 인코드된다.
일 실시예에서, 신호(데이터 스트림의 인코드된 데이터의 수신된 부분들에 의해 캡처됨)는 다수의 디스플레이 엘리먼트들을 포함하고; 그리고 신호의 제 2 렌디션은 신호의 제 1 렌디션보다 높은 품질 레벨을 가진다.
또 다른 실시예들에서, 신호의 제 2 렌디션은 신호의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도를 가질 수 있다. 인코드된 데이터의 제 2 부분들을 디코드하도록 제 2 디코더를 구현하는 것은: 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 1 품질 레벨에서 나머지 데이터의 제 1 세트를 디코딩하는 것; 신호의 제 1 렌디션을 수정하고 신호의 제 2 렌디션을 생성하기 위하여 나머지 데이터의 제 1 세트를 활용하는 것; 신호의 제 2 렌디션에 적어도 부분적으로 기초하여, 신호의 제 3 렌디션을 생성하는 것 ― 신호의 제 3 렌디션은 신호의 제 2 렌디션의 해상도보다 높은 해상도를 가짐(몇몇 실시예들에서, 공간 해상도; 다른 실시예들에서, 시간 해상도; 또 다른 실시예들에서 공간 및 시간 해상도 둘 다) ―; 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 2 품질 레벨에서 나머지 데이터의 제 2 세트를 디코딩하는 것; 및 신호의 제 3 렌디션을 수정하고 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 제 2 세트를 활용하는 것을 포함한다.
부가적으로, 컴퓨터 프로세서 하드웨어는: 신호의 제 4 렌디션에 기초하여, 신호의 제 5 렌디션을 생성하고 ― 신호의 제 5 렌디션은 신호의 제 4 렌디션의 해상도보다 높은 해상도(다시, 특정 비제한적 실시예에 따라, 공간 및/또는 시간 중 어느 하나)를 가짐 ―; 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 3 품질 레벨에서 나머지 데이터의 제 3 세트를 디코딩하고; 및 신호의 제 5 렌디션을 수정하고 신호의 제 6 렌디션을 생성하기 위하여 나머지 데이터의 제 3 세트를 활용하는 동작들을 수행하도록 구성될 수 있다. 신호의 제 1 렌디션은 인터레이스된 비디오 신호일 수 있고; 신호의 제 6 렌디션은 프로그레시브 비디오 신호일 수 있다.
다른 비제한적 실시예들에서, 수신된 데이터 스트림은 2개보다 많은 별개의 디코딩 방법들에 따라 2개보다 많은 디코더들에 의해 디코드된, 인코드된 데이터의 2개보다 많은 별개의 부분들을 포함한다. 비제한적 실시예에서, 수신된 데이터 스트림은 인코드된 데이터의 3개의 부분들을 포함한다. 인코드된 데이터의 제 1 부분들은 제 1 디코더에 의해 디코드되어, 신호의 제 1 렌디션을 생성한다. 신호의 제 2 렌디션은 신호의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도를 가진다. 인코드된 데이터의 제 2 부분들을 디코드하도록 제 2 디코더를 구현하는 것은 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 1 레벨의 나머지 데이터의 제 1 세트를 디코딩하는 것; 신호의 제 1 렌디션을 수정하고 신호의 제 2 렌디션을 생성하도록 나머지 데이터의 제 1 세트를 활용하는 것; 신호의 제 2 렌디션에 적어도 부분적으로 기초하여, 신호의 제 3 렌디션을 생성하는 것 ― 신호의 제 3 렌디션은 신호의 제 2 렌디션의 해상도보다 높은 해상도를 가짐 ―; 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 2 품질 레벨에서 나머지 데이터의 제 2 세트를 디코딩하는 것; 및 신호의 제 3 렌디션을 수정하고 신호의 제 4 렌디션을 생성하도록 나머지 데이터의 제 2 세트를 활용하는 것을 포함한다. 부가적으로, 컴퓨터 프로세서 하드웨어는: 인코드된 데이터의 제 3 부분에 의해 특정된 바와 같이 나머지의 제 3 세트를 디코딩하고; 신호의 제 4 렌디션을 수정하고 신호의 제 5 렌디션을 생성하도록 나머지 데이터의 제 3 세트를 활용하고; 신호의 제 5 렌디션에 기초하여, 신호의 제 6 렌디션을 생성하고 ― 신호의 제 6 렌디션은 신호의 제 5 렌디션의 해상도보다 높은 해상도를 가짐 ―; 인코드된 데이터의 제 3 부분들에 의해 특정된 바와 같이 제 4 품질 레벨에서 나머지 데이터의 제 4 세트를 디코딩하고; 신호의 제 6 렌디션을 수정하고 신호의 제 7 렌디션을 생성하도록 나머지 데이터의 제 4 세트를 활용하고; 신호의 제 7 렌디션에 기초하여, 신호의 제 8 렌디션을 생성하고 ― 신호의 제 8 렌디션은 신호의 제 7 렌디션의 해상도보다 높은 해상도를 가짐 ―; 인코드된 데이터의 제 3 부분들에 의해 특정된 바와 같이 제 5 품질 레벨에서 나머지 데이터의 제 5 세트를 디코딩하고; 신호의 제 8 렌디션을 수정하고 신호의 제 9 렌디션을 생성하도록 나머지 데이터의 제 5 세트를 활용하는 동작들을 수행하도록 구성된다. 비제한적 실시예에서, 신호의 제 1 렌디션은 인터레이스된 SD 비디오 신호이고; 신호의 제 4 렌디션은 인터레이스된 HD 비디오 신호이고; 신호의 제 9 렌디션은 프로그레시브 울트라HD 비디오 신호이다.
인코드된 데이터의 제 2 부분들을 디코드하도록 제 2 디코더를 구현하는 것은: 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 업샘플링 동작들을 식별하고; 및 신호의 제 3 렌디션을 생성하기 위하여 업샘플링 동작들을 신호의 제 2 렌디션에 적용하는 동작들을 더 포함할 수 있고, 신호의 제 3 렌디션은 신호의 제 2 렌디션의 디스플레이 엘리먼트 해상도보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가진다. 몇몇 비제한적 실시예들에서 보다 높은 디스플레이 엘리먼트 해상도는 비디오 신호의 각각의 필드 또는 프레임에 대한 보다 높은 공간 해상도(수직, 수평 또는 수직 및 수평 둘 다)이고; 다른 비제한적 실시예들에서, 보다 높은 디스플레이 엘리먼트 해상도는 보다 높은 시간 해상도이고(즉, 보다 높은 프레임 레이트의 비디오 신호); 또 다른 비제한적 실시예들에서 보다 높은 디스플레이 엘리먼트 해상도는 신호의 보다 높은 공간 및 보다 높은 시간 해상도 둘 다이다.
추가 실시예들에 따라, 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같은 업샘플링 동작들을 식별하는 것은: 업샘플링 커널의 특정 계수들에 대응하는 파라미터들을 디코딩하는 것; 디코드된 파라미터들에 적어도 부분적으로 기초하여, 신호의 제 3 렌디션의 일부에 대응하는 업샘플링 커널을 생성하는 것; 및 신호의 제 3 렌디션의 부분을 생성하기 위하여 업샘플링 커널을 신호의 제 2 렌디션의 부분에 적용하는 것을 포함한다. 일 실시예에서, 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도의 신호의 예비(또는 예측된) 렌디션이다. 제 2 디코더를 구현하는 것은: 실질적으로 보다 높은 디스플레이 엘리먼트 해상도의 신호의 예비 렌디션을 수정하기 위하여 재구성 데이터를 활용하는 것을 더 포함할 수 있고, 신호의 수정된 예비 렌디션은 신호의 예비 렌디션과 동일한 해상도이지만 보다 높은 품질 레벨을 가진다. 따라서, 인코드된 데이터의 제 1 부분들에 의해 특정된 바와 같이 수신된 인코드된 데이터는 레거시 디코딩 방법(MPEG-2, MPEG-4, DivX, AVC/h.264, SVC, HEVC/h.265, VC1, VP8, VP9, 등., 간략성을 위해 "MPEG 데이터" 같은)에 따라 디코드될 수 있거나, 다른 비제한적 실시예에서 심지어 압축 해제된 비디오 데이터(예를 들어, HDMI, 디스플레이포트 또는 DVI 전송 포맷에 따라)로서 디코드될 수 있다. 데이터 스트림(인코드된 데이터의 제 2 부분들 같은)의 강화 데이터는 MPEG 데이터로부터 유도된 신호의 렌디션을 보다 높은 품질 레벨 재생 신호로 컨버트하기 위해 디코드 및 사용될 수 있다. 본원에 논의된 바와 같이, 강화 데이터는 비-MPEG 인코딩 포맷에 따라 인코드된다.
또 다른 실시예들에 따라, 수신된 데이터 스트림의 인코드된 데이터의 제 2 부분들로부터, 제 2 디코더는 계층 포맷에 따라 인코드된 재구성 데이터를 생성한다. 인코드된 데이터의 제 2 부분들로부터 얻어지거나 유도된 재구성 데이터는 나머지 데이터를 포함할 수 있다. 예를 들어, 일 실시예에서, 재구성 데이터는 적어도 나머지 데이터의 제 1 세트 및 나머지 데이터의 제 2 세트를 포함하고; 나머지 데이터의 제 1 세트는 제 1 디스플레이 엘리먼트 해상도의 신호의 렌디션을 수정하는 방법을 특정하고, 나머지 데이터의 제 2 세트는 제 2 디스플레이 엘리먼트 해상도의 신호의 렌디션을 수정하는 방법을 특정한다. 제 2 디스플레이 엘리먼트 해상도는 제 1 디스플레이 엘리먼트 해상도보다 크다. 비제한적 실시예에서, 나머지 데이터의 제 2 세트는 나머지 데이터의 제 1 세트에 적어도 부분적으로 기초하여 디코드된다.
컴퓨터 프로세서 하드웨어는: 신호의 제 1 렌디션을 수정하고 신호의 제 2 렌디션을 생성하도록 나머지 데이터의 제 1 세트를 활용하고; 신호의 제 2 렌디션에 기초하여, 신호의 제 3 렌디션을 생성하고 ― 신호의 제 3 렌디션은 제 2 디스플레이 엘리먼트 해상도의 신호의 예비 렌디션임 ―; 신호의 제 3 렌디션을 수정하고 제 2 디스플레이 엘리먼트 해상도의 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 제 2 세트를 활용하는 동작들을 추가로 수행하도록 구성될 수 있다.
컴퓨터 프로세서 하드웨어는 변환된 나머지 데이터로부터 나머지 데이터의 제 2 세트를 생성하도록 구성될 수 있다. 일 실시예에서, 컴퓨터 프로세서 하드웨어는: 인코드된 데이터의 제 2 부분들을 양자화된 변환된 나머지 데이터로 디코딩하고; 변환된 나머지 데이터를 생성하기 위하여 양자화된 나머지 데이터를 역양자화 하고; 나머지 데이터의 제 2 세트를 재생성하기 위하여 변환된 나머지 데이터, 신호의 제 2 렌디션, 및 신호의 제 3 렌디션을 프로세싱하고; 및 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 재생성된 제 2 세트를 신호의 제 3 렌디션에 적용하는 동작들을 추가로 수행한다.
몇몇 비제한적 실시예들에서, 양자화된 변환된 나머지 데이터는 인코드된 데이터의 제 2 부분들에 의해 특정된 심볼 확률 분포에 따라, 정적 범위 엔트로피 디코딩 방법에 따라 인코드된 데이터의 제 2 부분들로부터 디코드된다. 다른 비제한적 실시예들에서, 정적 범위 엔트로피 디코딩 방법에 따라 디코드된 양자화된 변환된 나머지 데이터는 나머지 데이터의 제 1 세트에 의해 특정된 바와 같이 신호의 보다 낮은 품질 레벨로부터 상속된 심볼들과 결합된다. 또 다른 비제한적 실시예들에서, 양자화된 변환된 나머지 데이터는 런-렝쓰(RLE) 디코딩 방법과 결합된 허프만 디코딩 방법에 따라 인코드된 데이터의 제 2 부분들로부터 디코드된다.
추가 실시예들에서, 컴퓨터 프로세서 하드웨어 및 개별 디코딩에 의해 재생성된 신호는 비디오 신호이다. 나머지 데이터의 세트는 신호의 다수의 이미지들(필드들 또는 프레임들)에 걸쳐 시간 상속에 따라 생성될 수 있고, 즉 주어진 이미지에 대한 하나 또는 그 초과의 나머지들은 상이한 이미지에 대해 디코드된 나머지 데이터에 의해 특정된 바와 같이 디코드될 수 있다. 그런 경우에서, 컴퓨터 프로세서 하드웨어는 추가로 상이한 필드/프레임에 대해 디코드된 나머지 데이터에 적어도 부분적으로 기초하여 필드/프레임에 대해 나머지 데이터를 디코딩하는 동작들을 추가로 수행한다.
인코드된 데이터의 제 1 부분들은 데이터 스트림의 인코드된 데이터의 제 2 부분들 사이에서 인터리브될 수 있다. 데이터 스트림은 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의 제 2 부분들로 파싱하는 것은 데이터의 제 1 부분들 및 데이터의 제 2 부분들을 식별하기 위하여 데이터 스트림의 태그들(하나 또는 그 초과의 PID들 또는 패킷 식별자들 같은)을 활용하는 것을 포함할 수 있다. 데이터 스트림은 MPEG 전송 스트림으로서 조직화될 수 있고 여기서 인코드된 데이터의 제 1 부분들(레거시 디코더 디바이스에 디코드 가능한 MPEG 코덱으로 인코드된 데이터 같은)은 제 1 패킷 식별자(PID)가 할당되고 인코드된 데이터의 제 2 부분들(티어(tier)-기반 계층 방법으로 인코드된 인코드된 데이터 같은)은 제 2 패킷 식별자(PID)가 할당된다. 이전에 논의된 바와 같이, 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더를 구현한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분들을 재구성 데이터로 디코드하도록 제 2 디코더를 구현한다.
인코드된 데이터의 제 1 부분들은 임의의 적당한 포맷으로, 즉 임의의 적당한 코덱으로 인코드될 수 있다. 비제한적 예시 실시예에 의해, 인코드된 데이터의 제 1 부분들은 MPEG(Moving Pictures Experts Group) h.264 인코딩 포맷에 따라 인코드될 수 있고; 인코드된 데이터의 제 1 부분들은 MPEG2(Moving Pictures Experts Group 2) 인코딩 포맷에 따라 인코드될 수 있고, 등등이 있다.
몇몇 비제한적 실시예들에 따라, 인코드되고 재생성된 신호는 디스플레이 엘리먼트들의 다수의 프레임들(또는 인터레이스된 비디오 신호들에 대해 필드들)을 포함하는 비디오 신호이다. 간략성을 위해, 용어들 "프레임" 및 "필드"는 비디오 신호의 시간 샘플들을 가리키기 위하여 상호 교환 가능하게 사용될 것이다.
몇몇 비제한적 실시예들에 따라, 신호를 렌더하기 위하여, 컴퓨터 프로세서 하드웨어는: 인코드된 데이터의 제 1 부분들과 인코드된 데이터의 제 2 부분들 사이의 타이밍 연관들을 식별하는 동작들을 추가로 수행하도록 구성될 수 있고, 타이밍 연관들은 재구성 데이터가 신호의 제 1 렌디션의 디스플레이 엘리먼트들의 다수의 프레임들 중 어느 프레임에 관련되는지를 가리킨다. 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용하는 것은: 타이밍 연관들에 따라, 신호의 제 1 렌디션을 신호의 제 2 렌디션에 시간적으로 업샘플하기 위하여 재구성 데이터를 활용하는 것을 포함할 수 있고, 신호의 제 2 렌디션은 신호의 제 1 렌디션보다 큰 수의 디스플레이 엘리먼트들의 프레임들을 포함한다. 따라서, 타이밍 연관들은, 컴퓨터 프로세서 하드웨어가 인코드된 데이터의 제 1 부분들과 인코드된 데이터의 제 2 부분들 사이의 관계를 식별하게 하고, 추가로 데이터 스트림의 인코드된 데이터의 제 2 부분들을 사용하여 인코드된 데이터의 제 1 부분들로부터 유도된 신호가 렌디션을 보다 높은 품질 신호 레벨로 컨버트하도록 데이터 스트림을 추가로 인에이블링한다.
또 다른 실시예들에 따라, 신호는, 신호의 제 1 렌디션이 제 1 프레임 레이트를 가지며; 신호의 제 2 렌디션이 제 2 프레임 레이트를 가지는 비디오 신호이고, 제 2 프레임 레이트는 제 1 프레임 레이트보다 크다. 컴퓨터 프로세서 하드웨어는, 제 1 프레임 레이트이고 재구성 데이터에 의해 특정되는 신호의 제 1 렌디션에 기초하여, 제 2 프레임 레이트에서 신호의 예비 렌디션을 생성하고; 재구성 데이터에 의해 특정된 바와 같이 나머지 데이터의 세트를 생성하고; 그리고 신호의 제 2 렌디션을 생성하기 위하여 제 2 프레임 레이트에서 나머지 데이터의 세트를 신호의 예비 렌디션에 적용하는 동작들을 추가로 수행한다.
추가 실시예들에서, 재구성 데이터를 적용하는 것은: 재구성 데이터에 의해 특정된 바와 같이, 신호의 제 2 렌디션을 신호의 제 3 렌디션에 공간적으로 업샘플링하는 것을 포함하고, 신호의 제 3 렌디션은 신호의 제 2 렌디션보다 높은 디스플레이 엘리먼트 해상도를 가진다.
또 다른 실시예들에서, 재구성 데이터는 다수의 디스플레이 엘리먼트 해상도들에 따라 인코드된 나머지 데이터의 계층을 포함한다. 제 2 디코더는 나머지 데이터의 계층을 재생성하기 위하여 인코드된 데이터의 제 2 부분들에 업샘플링 동작들을 적용한다. 나머지 데이터의 계층은 보다 높은 신호 품질 레벨들을 유도하기 위하여 사용된 데이터를 압축하는 유일한 방식이다.
이전에 논의된 바와 같이, 신호는 비디오 신호일 수 있다. 나머지 데이터의 계층은 신호의 디스플레이 엘리먼트들의 다수의 프레임들에 걸쳐 나머지들의 시간 상속에 따라 생성될 수 있다. 컴퓨터 프로세서 하드웨어는 나머지 데이터의 계층의 주어진 레벨에서, 제 2 프레임/필드에 대해 디코드된 나머지 데이터에 적어도 부분적으로 기초하여 제 1 프레임/필드에 대한 나머지 데이터를 디코드한다. 제 2 프레임/필드는, 제 1 프레임/필드가 관련되는 시점과 상이한 시점에 대응한다.
추가 비제한적 실시예들에서, 나머지 데이터의 계층은 신호의 디스플레이 엘리먼트들의 주어진 프레임/필드 내 나머지들의 공간 상속에 따라 생성된다. 컴퓨터 프로세서 하드웨어는 나머지 데이터의 계층의 주어진 품질 레벨에서, 나머지 데이터의 게층의 보다 낮은 품질 레벨에 대해 디코드된 재구성 데이터에만 기초하여 주어진 프레임/필드의 부분에 대해 나머지 데이터를 디코드한다. 추가 비제한적 실시예들에서, 나머지 데이터의 계층은 상이한 프레임들/필드들에 걸쳐 나머지 데이터의 시간 상속 및 신호의 디스플레이 엘리먼트들의 주어진 프레임/필드 내 나머지들의 공간 상속 둘 다에 따라 생성된다. 컴퓨터 프로세서 하드웨어는 나머지 데이터의 계층의 주어진 품질 레벨에서, 나머지 데이터의 계층의 보다 낮은 품질 레벨에 대해 디코드된 재구성 데이터 및 나머지 데이터의 기준 세트에만 기초하여 주어진 프레임/필드의 부분에 대해 나머지 데이터를 디코드한다.
또 다른 실시예들에서, 컴퓨터 프로세서 하드웨어는 추가로: 나머지 데이터의 베이스 세트로부터 나머지 데이터의 제 1 세트를 유도하고; 나머지 데이터의 베이스 세트로부터 나머지 데이터의 제 2 세트를 유도하고 ― 나머지 데이터의 제 1 세트는 나머지 데이터의 제 2 세트와 상이함 ―; 신호의 제 2 렌디션의 대응하는 제 1 시간 샘플을 생성하기 위하여 나머지 데이터의 제 1 세트를 신호의 제 1 렌디션의 제 1 시간 샘플에 적용하고; 그리고 신호의 제 2 렌디션의 대응하는 제 2 시간 샘플을 생성하기 위하여 나머지 데이터의 제 2 세트를 신호의 제 1 렌디션의 제 2 시간 샘플에 적용하는 동작들을 수행한다. 신호의 제 2 렌디션에 기초하여, 컴퓨터 프로세서 하드웨어는 신호의 제 3 렌디션을 생성하고, 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도의 신호의 예비 렌디션이다. 컴퓨터 프로세서 하드웨어는 추가로: 나머지 데이터의 제 2 베이스 세트를 디코드하고; 나머지 데이터의 제 2 베이스 세트로부터 나머지 데이터의 제 3 세트를 유도하고; 나머지 데이터의 제 2 베이스 세트로부터 나머지 데이터의 제 4 세트를 유도하고 ― 나머지 데이터의 제 3 세트는 나머지 데이터의 제 4 세트와 상이함 ―; 신호의 제 4 렌디션의 대응하는 제 1 시간 샘플을 생성하기 위하여 나머지 데이터의 제 3 세트를 신호의 제 3 렌디션의 제 1 시간 샘플에 적용하고; 그리고 신호의 제 4 렌디션의 대응하는 제 2 시간 샘플을 생성하기 위하여 나머지 데이터의 제 4 세트를 신호의 제 3 렌디션의 제 2 시간 샘플에 적용한다.
또 다른 추가 실시예들에 따라, 컴퓨터 프로세서 하드웨어는: 인코드된 데이터의 제 2 부분들을 변환된 나머지 데이터로 디코드하고; 양자화된 나머지 데이터를 생성하기 위하여 변환된 나머지 데이터를 프로세스하고; 나머지 데이터를 재생성하기 위하여 양자화된 나머지 데이터를 역양자화하고; 그리고 신호의 제 2 렌디션을 생성하기 위하여 재생성된 나머지 데이터를 신호의 제 1 렌디션에 적용한다.
추가로 비제한적 예에 의해, 컴퓨터 프로세서 하드웨어는: 제 1 품질 레벨에서 인코드된 데이터의 제 2 부분들을 나머지 데이터로 디코드하고; 제 1 품질 레벨에서 나머지 데이터에 기초하여, 제 2 품질 레벨에서 나머지 데이터의 예비 렌디션을 생성하고 ―제 2 품질 레벨은 제 1 품질 레벨보다 높음 ―; 인코드된 데이터의 제 2 부분들을 양자화된 변환된 나머지 데이터로 디코드하고; 변환된 나머지 데이터를 생성하기 위하여 양자화된 변환된 나머지 데이터를 역양자화하고; 제 2 품질 레벨에서 나머지 데이터를 생성하기 위하여 변환된 나머지 데이터, 제 1 품질 레벨에서 나머지 데이터, 및 제 2 품질 레벨에서 나머지 데이터의 예비 렌디션의 결합을 프로세스하고; 그리고 신호의 제 2 렌디션을 생성하기 위하여 제 2 품질 레벨에서 재생성된 나머지 데이터를 신호의 제 1 렌디션에 적용하도록 구성될 수 있다.
부가적으로, 컴퓨터 프로세서 하드웨어는: 신호의 제 2 렌디션에 기초하여, 신호의 제 3 렌디션을 생성하고 ― 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 신호의 예비 렌디션임 ―; 인코드된 데이터의 제 2 부분들을 변환된 나머지 데이터의 새로운 세트로 디코드하고; 나머지 데이터의 새로운 세트를 생성하기 위하여 변환된 나머지 데이터의 새로운 세트, 신호의 제 2 렌디션, 및 신호의 제 3 렌디션의 결합을 프로세스하고; 그리고 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 새로운 세트를 신호의 제 3 렌디션에 적용하도록 구성될 수 있다.
추가 실시예들에서, 컴퓨터 프로세서 하드웨어는: 신호의 제 3 렌디션을 생성하기 위하여 업샘플링 동작을 신호의 제 2 렌디션에 적용하도록 구성될 수 있고, 신호의 제 3 렌디션은 신호의 제 2 렌디션보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가진다. 업샘플링 동작의 적용은 신호의 제 2 렌디션의 다수의 디스플레이 엘리먼트들에 대한 세팅들에 기초하여 신호의 제 3 렌디션의 디스플레이 엘리먼트에 대한 세팅들을 유도하는 것을 포함할 수 있다.
일 실시예에서, 이전에 논의된 바와 같이, 재구성 데이터는 나머지 데이터를 포함한다. 컴퓨터 프로세서 하드웨어는 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터를 신호의 제 3 렌디션의 다수의 디스플레이 엘리먼트들에 적용한다. 적용된 나머지 데이터는 신호의 제 4 렌디션의 대응하는 디스플레이 엘리먼트들에 대한 세팅들을 생성하기 위하여 신호의 제 3 렌디션의 다수의 디스플레이 엘리먼트들의 세팅들을 수정한다. 부가적으로, 인코드된 데이터의 제 2 부분들을 나머지 데이터로 디코드하도록 제 2 디코더를 구현할 때, 제 2 디코더는 주어진 확률 분포에 따라 생성된 실질적으로 랜덤 수와 결과를 결합함으로써 나머지 데이터의 적어도 하나의 나머지를 디코드한다.
또 다른 실시예들에 따라, 컴퓨터 프로세서 하드웨어는 허프만 엔트로피 디코딩 및/또는 런 렝스(RLE) 디코딩 방법들을 통해 인코드된 데이터의 제 2 부분들 중 적어도 몇몇을 디코드한다.
또 다른 실시예들에서, 컴퓨터 프로세서 하드웨어는 재구성 데이터에서 특정된 심볼 확률 분포에 따라 정적 범위 엔트로피 디코더를 통해 인코드된 데이터를 디코드한다. 다른 실시예에 따라, 컴퓨터 프로세서 하드웨어는 재구성 데이터에서 특정된 심볼 확률 분포에 따라 정적 산술 엔트로피 디코더를 통해 인코드된 데이터를 디코드한다.
제 2 실시예들의 상이한 순열들
추가 실시예들에 따라, 컴퓨터 프로세서 하드웨어는 데이터 스트림을 수신한다. 컴퓨터 프로세서 하드웨어는 데이터 스트림을 인코드된 데이터의 제 1 부분들, 인코드된 데이터의 제 2 부분들, 및 인코드된 데이터의 제 3 부분들로 파스한다. 컴퓨터 프로세서 하드웨어는 제 1 품질 레벨에서 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더를 구현한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분들을 제 1 재구성 데이터로 디코드하도록 제 2 디코더를 구현하고, 제 1 재구성 데이터는 제 2 품질 레벨에서 신호의 제 1 렌디션을 신호의 제 2 렌디션으로 수정하는 방법을 특정하고, 제 2 품질 레벨은 제 1 품질 레벨보다 크다. 컴퓨터 프로세서 하드웨어는 제 2 품질 레벨에서 신호의 제 2 렌디션을 생성하기 위하여 신호의 제 1 렌디션 및 제 1 재구성 데이터를 프로세스한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 3 부분들을 제 2 재구성 데이터로 디코드하도록 제 3 디코더를 구현한다. 제 2 재구성 데이터는 제 3 품질 레벨에서 신호의 제 2 렌디션을 신호의 제 3 렌디션으로 수정하는 방법을 특정한다. 제 3 품질 레벨은 제 2 품질 레벨보다 크다. 컴퓨터 프로세서 하드웨어는 제 3 품질 레벨에서 신호의 제 3 렌디션을 생성하기 위하여 신호의 제 2 렌디션 및 제 2 재구성 데이터를 프로세스한다.
이런 제 2 예시 실시예는 하기 또 다른 실시예들 또는 본원에 설명된 바와 같은 다른 실시예들을 생성하기 위하여 다음 피처들 중 하나 또는 그 초과의 임의의 것과 함께 구현될 수 있다.
예를 들어, 비제한적 실시예에서, 인코드된 데이터의 제 1 부분들은 MPEG2, h.264, VC1 또는 h.265 같은 MPEG(Moving Pictures Experts Group) 포맷에 따라 디코드될 수 있다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분들로부터 제 1 재구성 데이터를 유도한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 3 부분들로부터 제 2 재구성 데이터를 유도한다. 인코드된 데이터의 제 2 부분들 및 인코드된 데이터의 제 3 부분들 둘 다는 하나 또는 그 초과의 계층 인코딩 포맷들에 따라 인코드된 압축된 비디오 데이터일 수 있다.
제 3 실시예들의 상이한 순열들
추가 실시예들에 따라, 컴퓨터 프로세서 하드웨어는 데이터 스트림을 수신한다. 컴퓨터 프로세서 하드웨어는 수신된 데이터 스트림을 이미 디코드된 데이터의 부분들 및 아직 디코드되지 않은 인코드된 데이터로 파스한다. 디코드된 데이터는 신호의 제 1 렌디션과 연관된 세팅들을 특정한다. 일 실시예에서, 컴퓨터 프로세서 하드웨어는 신호의 제 1 렌디션을 생성하기 위하여 디코드된 데이터(압축 해제된 데이터 같은)를 활용한다. 컴퓨터 프로세서 하드웨어는 인코드된 데이터(압축된 데이터 같은)를 재구성 데이터로 디코드하도록 디코더를 구현한다. 재구성 데이터는 신호의 제 1 렌디션을 수정하는 방법을 특정한다. 컴퓨터 프로세서 하드웨어는 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용한다.
이 예시적 실시예는 하기 또 다른 비제한적 실시예들을 생성하기 위하여 다음 피처들 중 하나 또는 그 초과 중 임의의 것과 함께 구현될 수 있다.
예를 들어, 다른 실시예들에 따라, 데이터 스트림의 인코드된 데이터는, 데이터가 개별 압축 계층에서 상이한 해상도들에 따라 인코드되는 계층 인코딩 포맷에 따라 인코드될 수 있다.
컴퓨터 프로세서 하드웨어는 계층의 보다 높은 레벨들에서 나머지 데이터를 생성하기 위하여 업샘플링 동작들을 적용한다. 일 실시예에서, 업샘플링 동작들은 보다 낮은 해상도 디스플레이 엘리먼트 세팅들을 신호의 예비 렌디션을 수정하기 위하여 추후 사용되는 보다 높은 해상도 디스플레이 엘리먼트 세팅들로 컨버트한다. 일 실시예에서, 업샘플된 엘리먼트 세팅들(즉, 보다 높은 품질 레벨에서 나머지 데이터의 예비 세트)은 신호의 예비 렌디션을 수정하기 위하여 추후 사용되는 보다 높은 해상도 나머지 데이터를 생성하기 위하여 재구성 데이터로부터 디코드된 상대적 나머지 데이터와 결합된다.
추가 실시예들에 따라: 신호는 다수의 디스플레이 엘리먼트들에 대한 세팅들을 특정하는 비디오 신호이고; 신호의 제 2 렌디션은 신호의 제 1 렌디션보다 높은 품질 레벨을 가지며; 그리고 신호의 제 2 렌디션은 신호의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도를 가진다.
인코드된 데이터를 디코드하도록 디코더를 구현하는 것은: 인코드된 데이터에 의해 특정된 바와 같이 업샘플링 동작들을 식별하는 것; 및 신호의 제 3 렌디션을 생성하기 위하여 신호의 제 2 렌디션에 업샘플링 동작들을 적용하는 것을 포함할 수 있고, 신호의 제 3 렌디션은 신호의 제 2 렌디션보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도(시간 및/또는 공간)를 가진다. 몇몇 비제한적 실시예들에서 신호의 제 3 렌디션은 신호의 제 2 렌디션과 동일한 시간 디스플레이 엘리먼트 해상도 및 실질적으로 보다 높은 공간 디스플레이 엘리먼트 해상도를 가진다. 다른 비제한적 실시예들에서 신호의 제 3 렌디션은 신호의 제 2 렌디션보다 실질적으로 보다 높은 시간 디스플레이 엘리먼트 해상도(즉, 보다 높은 프레임 레이트) 및 동일한 공간 디스플레이 엘리먼트 해상도를 가진다. 또 다른 비제한적 실시예들에서 신호의 제 3 렌디션은 신호의 제 2 렌디션보다 실질적으로 보다 높은 시간 및 공간 디스플레이 엘리먼트 해상도를 가진다.
또 다른 실시예들에 따라, 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서의 신호의 예비 렌디션일 수 있다. 디코더를 구현하는 것은: 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 신호의 예비 렌디션을 수정하기 위하여 재구성 데이터를 활용하는 것 ― 신호의 수정된 예비 렌디션은 신호의 예비 렌디션보다 높은 품질 레벨을 가짐 ―을 더 포함할 수 있다.
본원의 실시예들이 소프트웨어 또는 하드웨어로 구현될 수 있거나, 소프트웨어 및 하드웨어의 결합을 사용하여 구현될 수 있고, 본원에 개시된 방법 동작들 중 임의의 또는 모두를 수행 및/또는 지원하기 위하여 하나 또는 그 초과의 컴퓨터화된 디바이스들, 라우터들, 네트워크, 워크스테이션들, 핸드헬드 또는 랩톱 컴퓨터들, 테블릿들, 모바일 폰들, 게임 콘솔들, 셋-톱 박스들, 비디오 회의 장비, 비디오 플레이어들, 등의 구성을 포함할 수 있다는 것이 주의된다. 다른 말로, 하나 또는 그 초과의 컴퓨터화된 디바이스들 또는 프로세서들은 상이한 실시예들을 수행하기 위하여 본원에 설명된 바와 같이 동작하도록 프로그램 및/또는 구성될 수 있다.
상기 논의된 바와 같은 기술들에 더하여, 본원의 또 다른 실시예들은 상기 요약되고 하기 상세히 개시되는 단계들 및 동작들을 수행하기 위한 소프트웨어 프로그램들을 포함한다. 하나의 그런 실시예는, 프로세서 및 대응하는 메모리를 가진 컴퓨터화된 디바이스에서 수행될 때, 프로그램들 및/또는 프로세서가 본원에 개시된 동작들 중 임의의 동작을 수행하게 하는 인코드되어 있는 컴퓨터 프로그램 로직, 명령들 등을 포함하는 컴퓨터-판독가능 하드웨어 스토리지 리소스(즉, 비 일시적 컴퓨터 판독가능 미디어)를 포함한다. 그런 어레인지먼트들은 광학 매체(예를 들어, CD-ROM, DVD-ROM 또는 BLU-RAY), 플래시 메모리 카드, 플로피 또는 하드 디스크 또는 하나 또는 그 초과의 ROM 또는 RAM 또는 PROM 칩들의 펌웨어 또는 마이크로코드 같은 컴퓨터 판독가능 명령들을 저장할 수 있는 임의의 다른 매체 같은 컴퓨터 판독가능 매체상에 배열되거나 인코드된 소프트웨어, 코드, 및/또는 다른 데이터(예를 들어, 데이터 구조들)로서 또는 주문형 집적 회로(ASIC)로서 제공될 수 있다. 소프트웨어 또는 펌웨어 또는 다른 그런 구성들은 컴퓨터화된 디바이스가 본원에 설명된 기술들을 수행하게 하도록 컴퓨터화된 디바이스에 설치될 수 있다.
따라서, 본 개시의 하나의 특정 실시예는 신호 프로세싱 동작들을 지원하기 위하여 명령들이 저장되어 있는 컴퓨터 판독가능 하드웨어 스토리지 매체를 포함하는 컴퓨터 프로그램 물건에 관련된다. 명령들은, 컴퓨터 프로세서 하드웨어에 의해 실행될 때, 시스템의 컴퓨터 프로세서 하드웨어가 데이터 스트림을 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의 제 2 부분들로 파스하고; 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더를 구현하고; 인코드된 데이터의 제 2 부분들을 재구성 데이터로 디코드하도록 제 2 디코더를 구현하고 ― 상기 재구성 데이터는 신호의 제 1 렌디션을 수정하는 방법을 특정함 ―; 및 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용하게 한다.
본 개시의 다른 실시예는 신호 프로세싱 동작들을 지원하기 위하여 명령들이 저장되어 있는 컴퓨터 판독가능 하드웨어 스토리지 매체를 포함하는 컴퓨터 프로그램 물건에 관련된다. 명령들은, 컴퓨터 프로세서 하드웨어에 의해 실행될 때, 시스템의 컴퓨터프로세서 하드웨어로 하여금: 데이터 스트림을 인코드된 데이터의 제 1 부분들, 인코드된 데이터의 제 2 부분들 및 인코드된 데이터의 제 3 부분들로 파스하고; 제 1 품질 레벨에서 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더를 구현하고; 인코드된 데이터의 제 2 부분들을 제 1 재구성 데이터로 디코드하도록 제 2 디코더를 구현하고 ― 제 1 재구성 데이터는 제 2 품질 레벨에서 신호의 제 1 렌디션을 신호의 제 2 렌디션으로 수정하는 방법을 특정하고, 제 2 품질 레벨은 제 1 품질 레벨보다 큼 ―; 제 2 품질 레벨에서 신호의 제 2 렌디션을 생성하기 위하여 신호의 제 1 렌디션 및 제 2 재구성 데이터를 프로세스함 ―; 인코드된 데이터의 제 3 부분들을 제 2 재구성 데이터로 디코드하도록 제 3 디코더를 구현하고 ― 제 2 재구성 데이터는 제 3 품질 레벨에서 신호의 제 2 렌디션을 신호의 제 3 렌디션으로 수정하는 방법을 특정하고, 제 3 품질 레벨은 제 2 품질 레벨보다 큼 ―; 및 제 3 품질 레벨에서 신호의 제 3 렌디션을 생성하기 위하여 신호의 제 2 렌디션 및 제 2 재구성 데이터를 프로세스하게 한다.
본 개시의 다른 실시예는 신호 프로세싱 동작들을 지원하기 위하여 명령들이 저장되어 있는 컴퓨터 판독가능 하드웨어 스토리지 매체를 포함하는 컴퓨터 프로그램 물건에 관련된다. 명령들은 컴퓨터 프로세서 하드웨어에 의해 실행될 때, 시스템의 컴퓨터 프로세서 하드웨어로 하여금: 수신된 데이터 스트림을 인코드된 데이터로 파스하고 ― 디코드된 데이터는 신호의 제 1 렌디션과 연관된 세팅들을 특정함 ―; 신호의 제 1 렌디션을 생성하기 위하여 디코드된 데이터를 활용하고; 인코드된 데이터를 재구성 데이터로 디코드하도록 디코더를 구현하고 ― 재구성 데이터는 신호의 제 1 렌디션을 수정하는 방법을 특정함 ―; 및 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용하게 한다.
단계들의 순서화는 명확성 목적을 위하여 부가되었다. 이들 단계들은 임의의 적당한 순서로 수행될 수 있다.
본 개시의 다른 실시예들은 상기 요약되고 하기 상세히 개시되는 방법 실시예 단계들 및 동작들 중 임의의 것을 수행하도록 소프트웨어 프로그램들, 펌웨어, 및/또는 개별 하드웨어를 포함한다.
또한, 본원에 논의된 바와 같이 시스템, 방법, 장치, 컴퓨터 판독가능 스토리지 미디어 상의 명령들 등이 엄격하게 소프트웨어 프로그램, 소프트웨어, 펌웨어, 및/또는 하드웨어의 하이브리드, 또는 프로세서 내, 또는 오퍼레이팅 시스템 내 또는 소프트웨어 애플리케이션 내 같은 하드웨어 단독 등으로서 실현될 수 있다는 것이 이해될 것이다. 상기 논의된 바와 같이, 본원의 기술들은 또한 신호들을 프로세스하고 인코드된 데이터의 비트스트림들을 생성하거나, 인코드된 데이터의 비트스트림들을 프로세스하고 신호들의 렌디션들을 생성하는 소프트웨어, 펌웨어, 및/또는 하드웨어 애플리케이션들에 사용하기에 적당하다. 그러나, 본원의 실시예들이 그런 애플리케이션들에 사용하도록 제한되지 않고 본원에 논의된 기술들이 또한 다른 애플리케이션들에 매우 적당하다는 것이 주의되어야 한다.
부가적으로, 비록 본원의 상이한 피처들, 기술들, 구성들 등의 각각이 본 개시의 상이한 위치들에서 논의될 수 있지만, 개념들 각각이 서로 독립적으로 또는 서로 결합하여 실행될 수 있는 것이 의도되는 것이 주의된다. 따라서, 본원에 설명된 바와 같이 하나 또는 그 초과의 본 발명들, 실시예들 등은 많은 상이한 방식들로 실현 및 보여질 수 있다.
또한, 본원의 실시예들의 이런 예비 논의가 모든 실시예 및/또는 점점 본 개시 또는 청구된 발명(들)의 새로운 양상을 특정하지 않는 것이 주의된다. 대신, 이런 짧은 설명은 단지 일반적 실시예들 및 종래 기술들에 비해 신규성의 대응한 포인트들만을 제시한다. 본 발명(들)의 추가적인 상세들 및/또는 가능한 관점들(순열들)을 위해, 독자는 하기 추가 논의된 바와 같이 본 개시의 상세한 설명 부분 및 대응하는 도면들에 가르침을 받는다.
본 발명의 상기 및 다른 목적들, 피처들, 및 장점들은 동일한 참조 부호들이 상이한 도면들에 걸쳐 동일한 부분들을 참조하는 첨부된 도면들에 예시된 바와 같이, 본원의 바람직한 실시예들의 다음 보다 특정한 설명으로부터 명백할 것이다. 도면들은 반드시 실척이지 않고, 대신 실시예들, 원리들, 개념들, 등을 예시할 때 강조가 두어진다.
도 1a, 도 1b, 도 1c, 도 1d, 도 1e, 도 1f, 도 1g 및 도 1h는 본원의 실시예들에 따른 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 1e는 본원의 실시예들에 따른 개별 데이터 스트림을 프로세싱하는 컴퓨터 프로세서 하드웨어 프로세싱을 예시하는 예시도이다.
도 1f는 본원의 실시예들에 따른 개별 데이터 스트림을 프로세싱하는 컴퓨터 프로세서 하드웨어를 예시하는 예시도이다.
도 2는 본원의 실시예들에 따른 디코딩 시스템 및 방법을 예시하는 예시도이다.
도 3a, 도 3b 및 도 3c는 본원의 실시예들에 따른 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 4는 본원의 실시예들에 따른 디코딩 시스템 및 방법을 예시하는 예시도이다.
도 5a, 도 5b 및 도 5c는 본원의 실시예들에 따른 나머지 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 6a 및 도 6b는 본원의 실시예들에 따른 변환된 나머지 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 7a, 도 7b 및 도 7c는 본원의 실시예들에 따른 변환된 나머지 데이터의 사용을 예시하는 예시도들이다.
도 8은 본원의 실시예들에 따라 프로세싱하는 데이터를 지원하는 컴퓨터 시스템을 예시하는 예시 블록도이다.
도 9, 도 10 및 도 11은 본원의 실시예들에 따른 디코딩을 예시하는 예시 흐름 그래프들이다.
도 12a 및 도 12b는 본원의 실시예들에 따른 인코딩을 예시하는 예시 블록도들이다.
도 1a, 도 1b, 도 1c, 도 1d, 도 1e, 도 1f, 도 1g 및 도 1h는 본원의 실시예들에 따른 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 1e는 본원의 실시예들에 따른 개별 데이터 스트림을 프로세싱하는 컴퓨터 프로세서 하드웨어 프로세싱을 예시하는 예시도이다.
도 1f는 본원의 실시예들에 따른 개별 데이터 스트림을 프로세싱하는 컴퓨터 프로세서 하드웨어를 예시하는 예시도이다.
도 2는 본원의 실시예들에 따른 디코딩 시스템 및 방법을 예시하는 예시도이다.
도 3a, 도 3b 및 도 3c는 본원의 실시예들에 따른 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 4는 본원의 실시예들에 따른 디코딩 시스템 및 방법을 예시하는 예시도이다.
도 5a, 도 5b 및 도 5c는 본원의 실시예들에 따른 나머지 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 6a 및 도 6b는 본원의 실시예들에 따른 변환된 나머지 디코딩 시스템들 및 방법들을 예시하는 예시도들이다.
도 7a, 도 7b 및 도 7c는 본원의 실시예들에 따른 변환된 나머지 데이터의 사용을 예시하는 예시도들이다.
도 8은 본원의 실시예들에 따라 프로세싱하는 데이터를 지원하는 컴퓨터 시스템을 예시하는 예시 블록도이다.
도 9, 도 10 및 도 11은 본원의 실시예들에 따른 디코딩을 예시하는 예시 흐름 그래프들이다.
도 12a 및 도 12b는 본원의 실시예들에 따른 인코딩을 예시하는 예시 블록도들이다.
본원에 예시된 방법들은 제한 없이 사운드 신호들, 다중채널 사운드 신호들, 픽처들, 2차원 이미지들, 비디오 신호들, 다중-뷰 비디오 신호들, 3D 비디오 신호들, 3차원 신호들, 3차원 비디오 신호들, 의료 이미징 신호들, 4보다 많은 차원들을 가진 신호들, 등을 포함하는 임의의 타입의 다중-차원 신호들에 적당하다.
간략성을 위해, 설명을 따라 예시된 실시예들은 보통 비디오 시퀀스들의 인코딩 및 디코딩의 사용 경우를 채택하고, 즉 시간-기반 신호들은 2D 이미지들(보통 본 출원에서 실질적으로 상호교환 가능하게 사용되는 용어들인, 인터레이스된 비디오 신호의 경우 "프레임들", 또는 "필드들"이라 불림)의 시퀀스로 이루어지고, 각각의 엘리먼트(그런 비제한적 예시 경우에서 통상적으로 "픽셀"로서 지칭됨)는 적당한 컬러 공간(예를 들어, YUV, RGB, HSV, 등)에 컬러 세트에 의해 특징지어진다. U 및 V 평면들이 통상적으로 Y 평면에 대해 계산된 움직임 보상 정보를 레버리지하지만, 상이한 컬러 평면들(예를 들어, 휘도-Y 평면 및 2개의 색도 - U 및 V - 평면들)은 종종 별도로 인코드되고, 종종 상이한 해상도들(색도 정조에 대해 인간 눈의 보다 낮은 감도로 인해) 인코드된다. 본원에 예시된 방법들 및 실시예들은 서로 및/또는 다른 방법들과 결합하여 사용될 수 있다. 본원에 예시된 바람직한 실시예들 중 많은 실시예들은 멀티스케일 디코딩(예를 들어, 비제한적 예에 의해, 단일 데이터 스트림에서 동일한 TV(텔레비전) 채널의 SD(표준 선명도) 및 HD(높은 선명도) 버전의 포함) 및 상이한 압축(즉, 최소 비트 양들을 가진 신호의 적당한 렌디션 인코딩)을 달성하는 목적을 갖는 기술들 및 알고리즘을 설명한다. 이것은 또한 비제한적 예이고: 다른 비제한적 실시예들은 프로세싱 전력 소비의 감소, 에너지 효율성, CPU 열 감소, 병렬 프로세싱 아키텍처들의 사용, 등 같은 상이한 목적들을 달성한다.
도 1a는 본원의 실시예들에 따른 인코딩 및 디코딩 시스템을 예시하는 비제한적 예시도이다.
인코더(110)는 신호(100)를 수신하고 이를 데이터 스트림(115)으로 인코드한다. 디코더(120)는 데이터 스트림(115)을 수신하고 재구성된 신호(150)를 생성한다. 비제한적 실시예에서, 신호(100) 및 신호(150)는 이미지들(100-1, 100-2, ..., 100-n 및 150-1, 150-2, ..., 150-n)의 개별 시퀀스를 각각 포함하는 비디오 신호들이다. 신호(150)의 각각의 이미지(150-i)는 신호(100)의 개별 본래 이미지(100-i)의 재구성된 렌디션이다. 예를 들어, 이미지(150-1)는 이미지(100-1)의 재구성이고; 이미지(150-2)는 본래 이미지(100-2)의 재구성이고; 등등이 있다.
도 1b는 본원의 실시예들에 따른 멀티스케일 인코딩 및 디코딩 시스템들을 예시하는 비제한적 예시도이다.
이 예시적 실시예에서, 컴퓨터 프로세서 하드웨어(106)는 디코더(120) 및 레거시 디코더(130)를 포함한다.
인코더(110)는 신호(100)를 수신하고 이를 하이브리드 멀티스케일 데이터 스트림(115)으로 인코드한다. 레거시 디코더(130)는 데이터 스트림(115)을 수신하고 제 1 품질 레벨에서 재구성된 SD 신호(140)를 생성한다. 디코더(120)는 데이터 스트림(115)을 수신하고 제 2 품질 레벨에서 재구성된 HD 신호(150)를 생성하고, 제 2 품질 레벨은 제 1 품질 레벨보다 높다.
비제한적 실시예에서, 제 2 품질 레벨 신호(150)는 제 1 품질 레벨보다 높은 해상도(공간 및/또는 시간)를 가진다. 다른 비제한적 실시예에서, 레거시 디코더(130)는 데이터 스트림(115)의 일부를 디코드하기 위하여 MPEG-기반 디코딩 기술들(예를 들어, MPEG2, h.264 등)을 레버리지 한다. 다른 비제한적 실시예에서, 디코더(120)는 재구성된 HD 신호(150)를 생성하기 위하여 베이스라인으로서 재구성된 SD 신호(140)를 생성한다. 다른 말로, 컴퓨터 프로세서 하드웨어(106)는 재구성된 HD 신호(150)를 생성하기 위하여 베이스라인으로서 재구성된 SD 신호(140)를 사용하도록 구성될 수 있다.
일 실시예에서, 데이터 스트림(115)은 레거시 디코더(130)에 의해 무시되고 디코더(120)에 의해 디코드되는 정보를 포함하고, 이는 디코더(120)가 재구성된 SD 신호(140)에 기초하여 재구성된 HD 신호(150)를 생성하게 한다. 비제한적 실시예에서, 신호(150)의 제 2 품질 레벨은 제 1 품질 레벨에서 신호(140)의 하나 또는 그 초과의 공간 차원들을 주어진 스케일 팩터들을 사용하여 업샘플링함으로써 얻어진 해상도를 가진다.
비제한적 예시 실시예에서, TV 셋톱 박스의 디코딩 신호 프로세서는 도 1b에 예시된 바와 같은 방법을 구현하기 위하여 프로그램되고, 여기서 데이터 스트림(115)은 MPEG 전송 스트림의 형태의 수신된 브로드캐스트 신호에 대응한다. 이전에 논의되고, 하기 추가로 논의된 바와 같이, 데이터 스트림(115)은 재구성된 SD 신호(140)를 생성하기 위하여 레거시 디코더(130)에 의한 디코더를 위한 인코드된 데이터의 제 1 부분들 및 디코더(120)에 의한 디코딩을 위한 인코드된 데이터의 제 2 부분(강화 데이터)들을 포함한다. 일 실시예에서, 강화 데이터는 재구성된 SD 신호(140)에 기초하여, 재구성된 HD 신호(150)를 생성하기 위하여 디코더(120)에 의해 사용된 정보에 대응한다. 일 실시예에서, 재구성된 SD 신호(150)를 생성하기 위하여 사용된 데이터 스트림(115)의 데이터는 재구성된 SD 신호(140)에 대응하는 메인 엘리멘터리 스트림의 PID와 상이한 전송 스트림 패킷 식별자(PID)에 의해 특징 지어진다. 다른 말로, 일 실시예에서, 신호(140)를 재생성하기 위하여 레거시 디코더(130)에 의해 디코드된 인코드된 데이터의 제 1 부분들은 제 1 유일 식별자 값(제 1 PID 같은)이 태그되고; 디코더(120)에 의해 디코드되고 신호(150)를 생성하는 인코드된 데이터의 제 2 부분들은 제 2 유일 식별자 값(제 2 PID 같은)이 태그된다.
다수의 상이한 타입들의 디코더 디바이스들(예를 들어, 비제한적 예에 의해, 셋톱 박스들)은 데이터 스트림(115)을 수신하도록 구성될 수 있다. 네트워크 환경에서 디코더 디바이스들 중 하나 또는 그 초과의 제 1 세트는 레거시 디코더(130)만을 포함할 수 있다. 그런 경우에서, 데이터 스트림(115)을 수신하는 디코더 디바이스들은 개별 디스플레이 스크린상에 디스플레이하기 위하여 재구성된 SD 신호(140)를 생성하도록 인코드된 데이터의 제 1 부분들만을 디코드할 수 있다. 대응하는 컴퓨터 프로세서 하드웨어는 데이터 스트림의 수신된 인코드된 데이터의 제 1 부분들만을 신호의 제 1 렌디션으로 디코딩하는 것을 개시한다. 다른 말로, 인코드된 데이터의 제 2 부분들은 레거시 디코더(130)에 의해 사용되지 않는다. 그 다음 컴퓨터 프로세서 하드웨어(예를 들어, 셋톱 박스)는 디스플레이 스크린상에 신호의 제 1 렌디션의 디스플레이를 개시한다. 따라서, 레거시 디코더들은 데이터 스트림(115)을 수신할 수 있고 보다 높은 HD 품질 레벨보다 SD 같은 보다 낮은 품질 레벨에서도 신호의 렌디션을 여전히 디스플레이할 수 있다.
디코더(120)를 포함하는 업그레이드된 디코더 디바이스들은 재구성된 HD 신호(150)를 재생성하기 위하여 데이터 스트림(115)의 인코드된 데이터의 제 1 부분들뿐 아니라 인코드된 데이터의 제 2 부분들을 디코드할 능력을 가진다. 이런 방식으로, 레거시 셋톱 박스들 및 개별 디코더들은 동일한 데이터 스트림(115)을 수신하지만, 단지 강화 데이터(인코드된 데이터의 제 2 부분들)를 무시하고 제 1 품질 레벨(재구성된 SD 신호(140) 같은)까지 신호를 디코드한다. 다른 비제한적 실시예들에 따라, 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의 제 2 부분들을 포함하는 하이브리드 멀티스케일 데이터 스트림은 적당한 블루-레이 비디오 포맷에 따라 블루-레이 디스크상에 저장되고, 인코드된 데이터의 제 2 부분들(강화 데이터)은 메타-데이터로서 포함된다. 레거시 블루-레이 디코더들은 강화 데이터를 무시하고, 제 1 품질 레벨(풀 HD 같은)에서 인코드된 데이터의 제 1 부분들을 비디오 신호로 디코딩한다. 업그레이드된 울트라HD 블루-레이 디코더들은 제 2(보다 높은) 품질 레벨(울트라HD 같은)에서 비디오 신호를 디코드하기 위하여 베이스라인으로서 제 1 품질 레벨에서의 비디오 신호를 사용하여, 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의 제 2 부분들 둘 다를 디코드한다.
도 1c는 본원의 실시예들에 따른 다수의 강화 층들을 가진 멀티스케일 인코딩 및 디코딩 시스템들을 예시하는 비제한적 예시도이다.
도시된 바와 같이, 컴퓨터 프로세서 하드웨어(106)의 이런 예시적 구현은 디코더(130), 디코더(120), 및 디코더(125)를 포함한다.
이 비제한적 예시 실시예에서, 인코더(110)는 가장 높은 품질 레벨(울트라HPp60 같은)에서 본래의 신호(100)를 수신하고 이를 멀티스케일 데이터 스트림(115)으로 인코드한다. 레거시 디코더(130)는 데이터 스트림(115)을 수신하고 제 1 품질 레벨(인터레이스된 SD 576i60 같은)에서 재구성된 SD 신호(140)를 생성한다. 디코더(120)는 데이터 스트림(115)을 수신하고 제 2 품질 레벨(인터레이스된 풀 HD 1080i60 같은)에서 재구성된 HD 신호(150)를 생성하고, 제 2 품질 레벨은 제 1 품질 레벨보다 높다. 디코더(125)는 데이터 스트림(115)을 수신하고 제 3 품질 레벨(프로그레시브 울트라HDp60 같은)에서 재구성된 울트라HD 신호(160)를 생성하고, 제 3 품질 레벨은 제 2 품질 레벨보다 높다.
추가 비제한적 실시예에서, 레거시 디코더(130)는 데이터 스트림(115)을 디코드하기 위하여 MPEG 기반 디코딩 기술들(예를 들어, MPEG2, h.264, 등)을 레버리지한다. 다른 비제한적 실시예에서, 디코더(130)는 재구성된 SD 신호(140)를 생성하고, 디코더(120)는 재구성된 HD 신호(150)를 생성하기 위하여 베이스라인으로서 신호(140)를 사용하고; 그 다음 디코더(125)는 재구성된 울트라HD 신호(160)를 생성하기 위하여 베이스라인으로서 재구성된 HD 신호(150)를 사용한다.
데이터 스트림(115)은 레거시 디코더(130)에 의해 무시되고 디코더(120)에 의해 디코드되는 정보를 포함하고, 이는 디코더(120)가 재구성된 SD 신호(140)에 기초하여, 재구성된 HD 신호(150)를 생성하게 한다. 데이터 스트림(115)은 또한 디코더(120)에 의해 무시되고 디코더(125)에 의해 디코드되는 정보를 포함하고, 이는 디코더(125)가 재구성된 HD 신호(150)에 기초하여, 재구성된 울트라HD 신호(160)를 생성하게 한다.
이런 방식으로, 수신된 데이터 스트림(115)의 인코드된 데이터의 상이한 부분들은 보다 낮은 품질 신호 레벨을 재구성된 보다 높은 품질 신호 레벨로 컨버트하기 위하여 사용된다.
보다 구체적으로, 컴퓨터 프로세서 하드웨어(106)는 재구성된 SD 신호(140)를 생성하기 위하여 데이터 스트림(115)의 인코드된 데이터의 제 1 부분들을 활용한다. 디코더(120)는 데이터 스트림(115)의 인코드된 데이터의 제 2 부분들을 디코드한다. 컴퓨터 프로세서 하드웨어(106)는 재구성된 SD 신호(140)를 재구성된 HD 신호(150)로 컨버트하기 위하여 인코드된 데이터의 디코드된 제 2 부분들을 활용한다. 또한 추가로, 디코더(125)는 데이터 스트림(115)의 인코드된 데이터의 제 3 부분들을 디코드한다. 컴퓨터 프로세서 하드웨어(106)는 재구성된 HD 신호(150)를 재구성된 울트라HD 신호(160)로 컨버트하기 위하여 인코드된 데이터의 디코드된 제 3 부분들을 활용한다.
몇몇 비제한적 실시예들에 따라, 데이터 스트림(115)의 인코드된 데이터의 제 2 부분들은 재구성된 SD 신호(140)에 적어도 부분적으로 기초하여 컴퓨터 프로세서 하드웨어(106)에 의해 디코드되고, 데이터 스트림(115)의 인코드된 데이터의 제 3 부분들은 재구성된 HD 신호(150)에 적어도 부분적으로 기초하여 컴퓨터 프로세서 하드웨어(106)에 의해 디코드된다.
비제한적 실시예에서, 디코더(125)는 먼저 재구성된 HD 신호(150)를 나머지들의 제 1 세트와 결합하고, 그 다음 둘 또는 다른 적당한 값의 수직 팩터에 의해 신호를 업샘플링(인터레이스된 HD를 프로그레시브 HD로 변화함)함으로써, 그 다음 생성된 신호를 나머지들의 제 2 세트와 결합하고, 그 다음 양쪽 공간 차원들에 대해 2의 스케일 팩터로 업샘플링(제 3 품질 레벨에서 신호의 예측된 - 또는 예비 - 렌디션을 생성함)하고, 그리고 마지막으로 제 3 품질 레벨의 신호의 예측된 렌디션을 나머지들의 제 3 세트와 결합함으로써 제 3 품질 레벨을 생성한다.
비제한적 예시 실시예에서, TV 셋톱 박스의 디코딩 신호 프로세서는 도 1c에 예시된 바와 같은 디코딩의 방법을 구현하도록 프로그램되고, 데이터 스트림(115)은 ISO/IEC 13818-1 및 ETST EN 50083-9에 따른 MPEG 전송 스트림의 형태의 수신된 브로드캐스트 신호에 대응한다. 재구성된 SD 신호(140), 재구성된 HD 신호(150) 및 재구성된 울트라HD(160)에 기초하여, 생성할 디코더(120) 및 디코더(125)에 의해 사용된 정보에 대응하는 강화 데이터(인코드된 데이터의 제 2 부분들 및 인코드된 데이터의 제 3 부분들, 등 같은)는 개별적으로 재구성된 SD 신호(140)를 생성하기 위하여 사용된 메인 엘리멘터리 스트림(MPEG 인코드된 데이터 같은 인코드된 데이터의 제 1 부분들)의 PID와 상이한 유일한 전송 스트림 패킷 식별자(PID)들에 의해 개별적으로 특징지어 진다. 이런 방식으로, 레거시 셋톱 박스 디코더들(레거시 MPEG 포맷으로 인코드된 데이터를 디코드하기 위하여 레거시 디코더(130)만을 포함함)은 동일한 데이터 스트림(115)을 수신하지만, 단지 강화 데이터만을 무시하고 신호를 최대 제 1 품질 레벨(SD 품질 레벨)까지 디코드한다.
도 1c의 또 다른 부가적인 실시예들에 따라, 태그들을 통해, 컴퓨터 프로세서 하드웨어(106)는 데이터 스트림(115)을 인코드된 데이터의 제 1 부분들(제 1 태그 값이 태그된 데이터), 인코드된 데이터의 제 2 부분들(제 2 태그 값이 태그된 데이터), 및 인코드된 데이터의 제 3 부분들(제 3 태그 값이 태그된 데이터)로 파스한다. 컴퓨터 프로세서 하드웨어(106)는 제 1 품질 레벨에서 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션(재구성된 SD 신호(140) 같은)로 디코드하도록 제 1 디코더(130)를 구현한다. 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분들을 제 1 재구성 데이터로 디코드하도록 제 2 디코더(120)를 구현한다. 제 1 재구성 데이터는 제 2 품질 레벨에서 신호(140)의 제 1 렌디션을 신호(150)의 제 2 렌디션으로 수정하는 방법을 특정한다. 제 2 품질 레벨은 제 1 품질 레벨보다 크다. 다른 말로, 제 2 품질 신호 레벨은 신호의 렌디션들이 유도되는 본래의 신호에 더 가깝다. 컴퓨터 프로세서 하드웨어(106)는 제 2(보다 높은) 품질 레벨에서 신호(150)의 제 2 렌디션을 생성하기 위하여 제 1 재구성 데이터 및 신호(140)의 제 1 렌디션을 프로세스한다.
일 실시예에서, 컴퓨터 프로세서 하드웨어(106)는 데이터 스트림(115)의 인코드된 데이터의 제 3 부분들을 제 2 재구성 데이터로 디코드하도록 제 3 디코더(125)를 구현한다. 제 2 재구성 데이터는 제 3 품질 레벨에서 신호(150)의 제 2 렌디션을 신호(160)의 제 3 렌디션으로 수정하는 방법을 특정한다. 제 3 품질 레벨은 제 2 품질 레벨보다 크다. 컴퓨터 프로세서 하드웨어(106)는 제 3 품질 레벨에서 신호(160)의 제 3 렌디션을 생성하기 위하여 신호(150)의 제 2 렌디션 및 제 2 재구성 데이터를 프로세스한다. 추가 비제한적 예에 의해, 인코드된 데이터의 제 1 부분들은 MPEG(Moving Pictures Experts Group) 포맷에 따라 디코드될 수 있다. 제 1 재구성 데이터는 데이터 스트림(115)의 인코드된 데이터의 제 2 부분들로부터 유도될 수 있다. 제 2 재구성 데이터는 데이터 스트림(115)의 인코드된 데이터의 제 3 부분들로부터 유도될 수 있다. 데이터 스트림의 인코드된 데이터의 제 2 부분들 및 인코드된 데이터의 제 3 부분들 양쪽은 비제한적 예시 계층에 의해서, 압축된 데이터 인코딩 포맷들 같이 상이한 인코딩 포맷들에 따라 개별 재구성 데이터로 디코드될 수 있다.
도 1d는 본원의 실시예들에 따른 강화 메타데이터를 사용하여 디스플레이 디바이스에 멀티스케일 백워드-호환가능 전송을 예시하는 비제한적 예시도이다.
이 예시 실시예에서, 컴퓨터 프로세서 하드웨어(106)는 인에이블된 디코더 및 디스플레이 디바이스(121) 및 레거시 디코더 및 디스플레이 디바이스(131)를 포함한다.
송신기 디바이스(111)는 가장 높은 품질 레벨(울트라HDp120 같은)에서 본래의 신호(100)를 수신하고 주어진 전송 포맷(비제한적 예에 의해, HDMI 케이블 같은 링크를 통한 전송을 위한 HDMI 포맷 같은)에 따라 멀티스케일 데이터 스트림(115)을 생성한다. 레거시 디코더 및 디스플레이 디바이스(131)는 데이터 스트림(115)을 수신하고 제 1 품질 레벨(울트라HDp60 같은)에서 재구성된 신호(141)를 생성한다. 인에이블된 디코더 및 디스플레이 디바이스(121)는 데이터 스트림(115)을 수신하고 제 2 품질 레벨(울트라HDp120 같은)에서 재구성된 신호(151)를 생성하고, 제 2 품질 레벨은 제 1 품질 레벨보다 높다.
비제한적 실시예에서, 데이터(압축 해제된 데이터 같은)의 제 1 품질 레벨은 레거시 디바이스들(HDMI, 디스플레이포트 또는 DVI 같은)과 호환 가능한 표준 전송 포맷에 따라 압축 해제된 비디오 데이터로서 데이터 스트림(116)에서 전송된다. 데이터 스트림(116)에서 전송된 압축된 데이터 같은 강화 데이터는 인코드된 메타-데이터로서 전송되고, 제 1 품질 레벨에서 재구성된 신호(141)에 기초하여, 제 2 품질 레벨에서 재구성된 신호(151)를 생성하기 위하여 인에이블된 디코더 및 디스플레이 디바이스(121)에 의해 디코드된다.
비제한적 예시 실시예에서, TV 세트의 디코딩 신호 프로세서는 도 1d에 예시된 바와 같은 방법을 구현하도록 프로그램되고, 데이터 스트림(116)은 수신된 HDMI 신호에 대응한다. 압축된 데이터 같은 스트림(116)의 강화 데이터는 베이스라인으로서 재구성된 신호(141)를 사용하여 재구성된 신호(151)를 생성하도록 디코더(121)에 의해 사용된 정보이다. 하나의 비제한적 실시예에서, 강화 데이터는 HDMI 전송의 수평 블랭킹(blanking) 기간들(오디오 데이터가 또한 블랭킹 기간들을 사용하지만, 블랭킹 기간들의 상당 부분은 강화 데이터에 이용 가능함)에서 아일랜드 패킷들로서 전송된다. 다른 비제한적 실시예들에서, 강화 데이터(재구성된 신호(141)를 재구성된 신호(151)로 컨버트하기 위한 데이터 스트림(116)의 부가적인 압축된 데이터)는 VSI(Vendor-Specific InfoFrame)를 통해 HDMI 메타데이터 전송을 레버리지한다. 다른 비제한적 실시예들에서, 전송은 디스플레이포트 케이블을 레버리지하고, 강화 데이터는 디스플레이포트 포맷 내에서 메타-데이터로서 전송된다.
인코드된 메타-데이터로서 강화 데이터(계층, 압축 강화 데이터 같은)를 전송함으로써, 메타-데이터를 해석할 수 없는 레거시 디스플레이 디바이스들은 동일한 데이터 스트림(116)을 수신하지만, 제 1 품질 레벨에서 단지 강화 데이터를 무시하고 신호(141)를 디스플레이한다. 이런 방식에서, 예를 들어, 상기 방법을 채택하는 게임 콘솔은 HDMI(또는 디스플레이포트)를 통해 신호(141)(이미지(141-1), 이미지(141-2),...를 포함함)를 재생성하기 위하여 필요한 종래의(압축 해제된) 전송 포맷을 단지 채택함으로써 가능한 것보다 높은 해상도 및/또는 보다 높은 프레임 레이트로 비디오 신호를 전송할 수 있다. 수신 비-인에이블된 디스플레이 디바이스들은 단지 제 1 품질 레벨에서 신호(141)를 디코드하고 디스플레이하는 반면, 인에이블된 디스플레이 디바이스들 및 디코더들은 또한 부가적인 강화 데이터(압축된 데이터)를 디코드할 수 있고, 이는 하나 또는 그 초과의 보다 높은 품질 레벨들에서 신호의 렌디션을 구성시킨다.
도 1e는 본원의 실시예들에 따른 개별 데이터 스트림을 프로세싱하는 컴퓨터 프로세서 하드웨어를 예시하는 예시도이다.
도시된 바와 같이, 데이터 스트림(115)은 인코드된 데이터의 제 1 부분(181)들(제 1 압축된 데이터) 및 인코드된 데이터의 제 2 부분(182)들(제 2 압축된 데이터)을 포함한다. 일 실시예에서, 데이터 스트림(115)은 제 1 패킷 식별자(PID#1)이 태그된 데이터의 제 1 부분(181)들 및 제 2 패킷 식별자(PID#2)가 태그된 데이터의 제 2 부분(182)들을 포함하는 MPEG(Moving Pictures Experts Group) 전송 스트림으로서 수신된다.
도시된 바와 같이, 인코드된 데이터의 제 1 부분(181)들은 데이터 스트림(115)의 인코드된 데이터의 제 2 부분(182)들 사이에서 인터리브된다.
인코드된 데이터의 제 1 부분(181)들은 인코드된 데이터의 제 1 부분(181-1), 인코드된 데이터의 제 1 부분(181-2)들, 등을 포함한다. 이전에 논의된 바와 같이, 인코드된 데이터의 제 1 부분(181)들 각각에는 그런 데이터가 디코더(130)에 의해 디코드되는 것을 가리키는 대응하는 제 1 고유 태그 값(전송 스트림에서 PID 번호 같은)이 태그된다.
인코드된 데이터의 제 2 부분(182)들은 인코드된 데이터의 제 2 부분(182-1), 인코드된 데이터의 제 2 부분(182-2) 등을 포함한다. 인코드된 데이터의 제 2 부분(182)들 각각에는 그런 데이터가 디코더(120)에 의해 디코드되는 것을 가리키는 대응하는 제 2 고유 태그 값이 태그된다.
컴퓨터 프로세서 하드웨어(106)는 파서 로직(parser logic)(176)을 포함한다. 자신의 이름이 제안하는 바와 같이, 파서 로직(176)은 수신된 데이터 스트림(115)을 디코더(130)에 의해 디코드될 데이터(압축된 MPEG 데이터 같은) 부분들 및 디코더(120)에 의해 디코드될 데이터(압축된 계층 인코드된 데이터 같은) 부분들로 파스한다. 일 실시예에서, 파서 로직(176)은 데이터의 제 1 부분(181)들 및 데이터의 제 2 부분(182)들을 식별하기 위하여 데이터 스트림(115)의 태그들을 활용한다.
추가 실시예들에 따라, 데이터 스트림(115)은 인코드된 데이터의 제 1 부분들과 인코드된 데이터의 제 2 부분들 사이의 대응하는 재생 타이밍 연관들을 가리키는 타이밍 정보를 포함한다. 이 예시 실시예에서, 데이터 스트림(115)의 타이밍 정보는 인코드된 데이터의 부분(181-1)과 인코드된 데이터의 부분(182-1) 사이의 타이밍 연관(183-1)을 가리키고; 데이터 스트림(115)의 타이밍 정보는 인코드된 데이터 부분(181-2)과 인코드된 데이터의 부분(182-2) 사이의 타이밍 연관(183-2)을 가리키고; 기타 등등이 있다.
추가 비제한적 예시 실시예에 따라, 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 1 부분(181)들과 인코드된 데이터의 제 2 부분(182)들 사이의 타이밍 연관들을 식별한다. 타이밍 연관들 및 정보는 재구성 데이터(184)(나머지 데이터 같은)가 신호(146-1)의 제 1 렌디션에서 디스플레이 엘리먼트들의 다수의 프레임들 또는 이미지들 중 어디에 관련되는지를 가리킨다.
컴퓨터 프로세싱 하드웨어(106)는 인코드된 데이터의 제 1 부분(181)들을 신호(146-1)의 제 1 렌디션으로 디코드하도록 제 1 디코더(130)를 구현한다.
추가로 도시된 바와 같이, 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분(182)들을 개별 재구성 데이터(184)로 디코드하도록 제 2 디코더(120)를 구현한다. 비제한적 실시예에 따라, 재구성 데이터(184)의 일부는 또한 신호(146-1)의 제 1 렌디션에 적어도 부분적으로 기초하여 인코드된 데이터(192)로부터 디코드된다. 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분(182)들에 관하여 추가 디코딩 동작들을 수행하기 위하여 수정 로직(178-1), 업샘플 로직(179-1), 수정 로직(178-2) 등을 더 포함한다. 따라서, 수정 로직(178-1), 업샘플 로직(179-1), 수정 로직(178-2) 등은 제 2 디코더(120)의 부분인 것으로 고려될 수 있다. 수정 로직(178-1), 업샘플 로직(179-1), 수정 로직(170-2) 등에 의해 수행된 기능들은 하기에 추가로 논의된다.
일반적으로, 재구성 데이터(184)는 신호(146-1)(다수의 프레임들 또는 필드들을 포함하는 비디오 신호 같은)의 제 1 렌디션을 보다 높은 품질 신호 레벨(동일하거나 상이한 해상도의)로 수정하는 방법을 특정한다.
일 실시예에서, 디코더(130)는 MPEG(Moving Pictures Experts Group) 디코딩 방법에 따라 인코드된 데이터의 제 1 부분(181)들을 디코드한다. 디코더(120)는 재구성 데이터(184)를 생성하기 위하여 계층 인코딩 포맷에 따라 인코드된 데이터의 제 2 부분(182)들을 디코드(압축 해제)한다.
추가로 비제한적 예에 의해, 신호(146-1)의 렌디션은 인코드된 데이터의 제 1 부분(181)들로부터 유도된 표준 선명도 SD 신호일 수 있다. 본원에 설명된 바와 같이, 컴퓨터 프로세서 하드웨어(106)는 신호의 제 2 렌디션(동일하거나 상이한 해상도의 보다 높은 품질 레벨)을 생성하기 위하여 재구성 데이터(184)를 신호(146-1)의 제 1 렌디션에 적용한다. 이전에 논의된 바와 같이, 재구성된 신호들은 다수의 디스플레이 엘리먼트들을 각각 포함하는 비디오의 다수의 이미지들 또는 프레임들을 포함할 수 있다.
컴퓨터 프로세서 하드웨어(106)는 신호(146-1)의 렌디션을 신호(146-2)의 렌디션보다 높은 품질 레벨을 가짐)으로 컨버트하도록 수정 로직(178-1)을 구현한다. 일 실시예에서, 수정 로직(178-1)은 보다 높은 품질 레벨에서 신호(146-2)의 렌디션을 생성하기 위하여 재구성 데이터(184)의 일부를 활용한다. 재구성 데이터(184)(나머지 데이터 같은)는 신호(146-2)의 렌디션을 생성하기 위하여 신호(146-1)의 렌디션에서 하나 또는 그 초과의 디스플레이 엘리먼트들 또는 이미지들에 대해 이루어질 수정들(정정들 같은)을 가리킨다. 언급된 바와 같이, 신호(146-2)의 제 2 렌디션은 신호(146-1)의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도(동일한 공간 해상도 및 동일한 프레임 레이트 같은)를 가질 수 있다.
추가로 비제한적 예시 실시예에 의해, 신호(146-2)의 제 2 렌디션을 생성하기 위하여 신호(146-1)의 제 1 렌디션에(신호의 예비 렌디션 같은)에 재구성 데이터의 적용은: 상기 논의된 바와 같은 식별된 타이밍 연관들에 따라, 신호의 제 1 렌디션을 신호(146-2)의 제 2 렌디션에 시간적으로 업샘플하기 위하여 재구성 데이터(184)를 활용하는 것을 포함할 수 있고, 신호의 제 2 렌디션은 신호의 제 1 렌디션보다 큰 수의 디스플레이 엘리먼트들의 프레임들을 포함한다.
추가 예로서, 신호(146-1)의 제 1 렌디션은 샘플의 초당 60개의 프레임들을 포함할 수 있고, 신호(146-2)의 제 2 렌디션은 샘플들의 초당 120개의 프레임들을 포함할 수 있고; 신호(146-1)의 제 1 렌디션은 초당 120개의 프레임들을 포함할 수 있고, 신호(146-2)의 제 2 렌디션은 초당 240개의 프레임들을 포함할 수 있고; 등등이 있다. 그런 실시예에서, 시간 업샘플링을 달성하기 위하여, 컴퓨터 프로세서 하드웨어는: 신호(146-1)의 제 1 렌디션(제 1 프레임 레이트에서 같이)에 기초하여 재구성 데이터(184)에 의해 특정된 바와 같이, 제 2 프레임 레이트로 신호의 예비 렌디션을 생성하고; 재구성 데이터(184)에 의해 특정된 바와 같이 나머지 데이터의 세트를 생성하고; 그리고 신호(146-2)의 제 2 렌디션을 생성하기 위하여 제 2 프레임 레이트로 나머지 데이터의 세트를 신호의 예비 렌디션에 적용하도록 구성될 수 있다. 따라서, 수정 로직(178-1)은 재구성 데이터(184)에 의해 특정된 바와 같이 나머지 데이터를 사용한 수정들뿐 아니라 시간 업샘플링 동작들(신호를 보다 높은 프레임 레이트로 증가시키기 위해)을 수행하도록 구성될 수 있다.
추가 실시예들에 따라, 신호(146-2)의 렌디션이 신호(146-1)의 렌디션에서 초당 프레임들의 수와 동일한 수의 초당 프레임들을 가질 수 있다는 것이 주의된다. 예를 들어, 신호(146-1)의 제 1 렌디션은 초당 60개의 프레임들을 포함할 수 있고, 수정 로직(178-1)에 의해 생성된 신호(146-2)의 제 2 렌디션은 보다 높은 품질 레벨을 가질 수 있고 또한 초당 60개의 프레임들을 포함할 수 있고; 신호(146-1)의 제 1 렌디션은 초당 120개의 프레임들을 포함할 수 있고, 신호(146-2)의 제 2 렌디션은 보다 높은 품질 레벨을 가질 수 있고 초당 120개의 프레임들을 포함할 수 이Tr 등등이 있다.
컴퓨터 프로세싱 하드웨어(106)는 업샘플 로직(179-1)을 더 포함한다. 재구성 데이터(184)에 의해 특정된 바와 같은 세팅들에 따라, 업샘플 로직(179-1)은 신호(146-3)의 렌디션으로 신호(146-2)의 업샘플링을 수행한다. 일 실시예에서, 업샘플 로직(179-1)에 의해 수행된 업샘플링 동작들은 신호(146-3)의 보다 높은 해상도 렌디션으로 신호(146-2)의 렌디션의 컨버션(coversion)을 포함한다. 다른 말로, 신호(146-2)의 렌디션은 SD 신호일 수 있다. 업샘플 로직(179-1)에 의해 적용된 업샘플링 동작들은 신호(146-2)의 보다 낮은 해상도 디스플레이 엘리먼트 세팅들을 신호(146-3)의 대응하는 보다 높은 해상도 디스플레이 엘리먼트 세팅들로 컨버트하도록 구성될 수 있다. 이것은 하기 더 상세히 논의된다.
추가 실시예들에 따라, 인코드된 데이터의 제 2 부분(182)들을 디코드하기 위하여 제 2 디코더(120) 및 관련 로직을 구현하는 것은 업샘플링 동작들을 식별하기 위하여 재구성 데이터(184)를 활용하는 것; 및 업샘플 로직(179-1)을 통해, 신호(146-3)의 제 3 렌디션을 생성하기 위하여 식별된 업샘플링 동작들을 신호(146-2)의 제 2 렌디션에 적용하는 것을 포함할 수 있고, 신호(146-3)의 제 3 렌디션은 신호(146-2)의 제 2 렌디션의 디스플레이 엘리먼트 해상도보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가진다. 인코드된 데이터(재구성 데이터(184)를 생성하기 위하여 사용된)의 제 2 부분(182)들에 의해 특정된 바와 같은 업샘플링 동작들의 식별은 업샘플링 커널의 특정 계수들에 대응하는 파라미터들을 디코딩하는 것; 디코딩된 파라미터들에 적어도 부분적으로 기초하여, 신호(146-3)의 제 3 렌디션의 일부에 대응하는 업샘플링 커널을 생성하는 것; 및 신호(146-3)의 제 3 렌디션의 부분을 생성하기 위하여 업샘플링 커널을 신호(146-2)의 제 2 렌디션의 일부에 적용하는 것을 포함할 수 있다. 신호(146-3)의 렌디션은 수정을 요구하는 예비 HD 신호일 수 있다.
컴퓨터 프로세서 하드웨어(106)는 수정 로직(178-2)을 더 포함한다. 일 실시예에서, 수정 로직(178-2)은 신호(146-4)의 렌디션을 생성하기 위하여 재구성 데이터(184)의 일부를 활용한다. 예를 들어, 재구성 데이터(184)는 신호(146-4)의 렌디션을 생성하기 위하여 신호(146-3)의 렌디션에서 하나 또는 그 초과의 디스플레이 엘리먼트들에 대해 이루어질 수정들(정정들 같은)을 가리킨다. 수정 로직(178-2)은 적당한 디스플레이 엘리먼트 세팅들을 정정하기 위하여 재구성 데이터(184)를 신호(146-3)에 적용한다. 이전에 논의된 바와 유사한 방식으로, 수정 로직(178)은 또한 시간적 업 샘플링을 수행하도록 구성될 수 있다. 따라서 신호(146-4)는 신호(146-3)보다 단위 타임당 보다 높은 수의 재생 프레임들 이미지들을 포함할 수 있다.
업 샘플링(공간적으로 및/또는 시간적으로) 및 그 다음 수정의 이런 프로세스는 임의의 수의 레벨들에서 반복될 수 있다. 따라서, 이와 같은 HD 신호에 대한 신호(140)의 렌디션은 업 샘플링될 수 있고 개별 디스플레이 스크린상에서 재생하기 위하여 대응하는 울트라 HD 신호로 정정된다.
또 다른 실시예들에 따라, 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분(182)들을 디코드하기 위하여 제 2 디코더(120) 및 관련 컴포넌트들을 구현한다. 이것은 인코드된 데이터의 제 2 부분(182)들에 의해 특정된 바와 같이 제 1 품질 레벨에서 나머지 데이터의 제 1 세트를 디코딩하고; 신호(146-1)의 제 1 렌디션을 수정하고 신호(146-2)의 제 2 렌디션을 생성하기 위하여 나머지 데이터(재구성 데이터(184) 부분)의 제 1 세트를 활용하고; 신호(146-2)의 제 2 렌디션에 적어도 부분적으로 기초하여, 신호(146-3)의 제 3 렌디션을 생성하고 ― 신호(146-3)의 제 3 렌디션은 신호(146-2)의 제 2 렌디션의 해상도(SD 해상도) 보다 높은 해상도(HD 해상도 같은)를 가짐 ―; 인코드된 데이터의 제 2 부분(182)들에 의해 특정된 바와 같이 제 2 품질 레벨에서 나머지 데이터(재구성 데이터(184))의 제 2 세트를 디코딩하고; 신호(146-3)의 제 3 렌디션을 수정하고 신호(146-4)의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 제 2 세트를 활용하는 것을 포함할 수 있다. 추가로 원해지면, 컴퓨터 프로세서 하드웨어는 신호(146-4)의 제 4 렌디션에 기초하여, 신호의 제 5 렌디션을 생성하고 ― 신호의 제 5 렌디션은 신호(146-4)의 제 4 렌디션의 해상도보다 높은 해상도(프로그레시브 풀 HD 해상도, 울트라 HD, 등 같은)를 가짐 ―; 인코드된 데이터의 제 2 부분(182)들에 의해 특정된 바와 같은 제 3 품질 레벨에서 나머지 데이터(재구성 데이터(184))의 제 3 세트를 디코딩하고; 그리고 신호의제 5 렌디션을 수정하고 신호(정정된 울트라 HD 해상도 신호 같은)의 제 6 렌디션을 생성하기 위하여 나머지 데이터의 제 3 세트를 활용하도록 구성될 수 있다. 일 실시예에서, 신호의 제 1 렌디션은 인터레이스된 비디오 신호이고, 신호의 제 6 렌디션은 프로그레시브 비디오 신호이다. 이미 언급된 바와 같이, 보다 높은 품질 레벨로 수정, 신호의 예비 업샘플링된 렌디션으로 업샘플링 및 그 다음 다음 보다 높은 품질 레벨에서의 신호의 렌디션으로 수정하는 프로세스는 특정 비제한적 실시예에 기초하여, 임의의 횟수 반복될 수 있다.
도 1d에 관하여 이전에 논의된 바와 같이, 송신기 디바이스(111)는 개별 데이터 스트림(116)을 대응하는 컴퓨터 프로세서 하드웨어(107)에 전송하도록 구성될 수 있다. 도 1f는 본원의 실시예들에 따라 개별 데이터 스트림(116)을 프로세싱하는 컴퓨터 프로세서 하드웨어(107)를 예시하는 예시도이다.
도시된 바와 같이, 데이터 스트림(116)은 디코드된 데이터(191)(디코드된 데이터(191-1), 디코드된 데이터(191-2), ...)의 다수의 세그먼트들을 포함한다. 데이터 스트림(116)은 또한 인코드된 데이터(192)(인코드된 데이터(192-1), 인코드된 데이터(192-2),...)의 다수의 세그먼트들을 포함한다.
하나의 비제한적 실시예에서, 디코드된 데이터(191)는 압축 해제된 데이터이다. 인코드된 데이터(192)는 압축된 데이터(계층 인코딩 포맷에 따라 압축된 데이터 같은)이다. 데이터 스트림(116)은 , 인코드된 데이터(192)가 압축된 비디오 데이터이고; 디코드된 데이터가 압축 해제된 비디오 데이터인 HDMI 신호일 수 있다. 다른 실시예에 따라, 데이터 스트림(116)은, 인코드된 데이터(192)가 압축된 비디오 데이터이고; 디코드된 데이터가 압축 해제된 비디오 데이터인 디스플레이포트 인터페이스이다.
추가로 도시된 바와 같아, 컴퓨터 프로세싱 하드웨어(107)는 파서 로직(196)을 포함한다. 자신의 이름이 제안하는 바와 같이, 파서 로직(196)은 데이터 스트림(160)의 수신된 데이터를 디코드된 데이터(191) 및 인코드된 데이터(192)로 파스한다. 디코드된 데이터(HDMI 전송 포맷에 따라 포맷된 데이터 같은)는 신호(146-1)의 제 1 렌디션을 재구성하도록 세팅들을 특정한다. 디코드된 데이터(191)를 통해, 컴퓨터 프로세서 하드웨어(107)는 신호(146-1)의 제 1 렌디션을 생성한다. 일 실시예에서, 신호는 다수의 디스플레이 엘리먼트들에 대한 세팅들을 특정하는 비디오 신호이다.
컴퓨터 프로세서 하드웨어(107)는 디코더(120)를 포함한다. 컴퓨터 프로세서 하드웨어(107)는 수정 로직(198-1), 업샘플 로직(199-1), 수정 로직(198-2) 같은 부가적 로직 등을 포함하고, 이들 모두는 디코더(120)의 일부 또는 연관되는 것으로 고려될 수 있다.
컴퓨터 프로세서 하드웨어(107)는 인코드된 데이터(192)를 개별 재구성 데이터(184)로 디코드하도록 디코더(120-1)를 구현한다. 비제한적 실시예에 따라, 재구성 데이터(184)의 부분은 또한 신호(146-1)의 제 1 렌디션에 적어도 부분적으로 기초하여 인코드된 데이터(192)로부터 디코드된다. 재구성 데이터(184)는 신호(146-1)의 제 1 렌디션을 수정하는 방법을 특정한다. 일 실시예에서, 컴퓨터 프로세서 하드웨어(107)는 계층 인코딩 포맷에 따른 디코딩을 통해 인코드된 데이터(192)를 재구성 데이터(184)로 디코드한다. 본원에 추가로 설명된 바와 같이, 인코드된 데이터(192)는 데이터가 계층에서 상이한 해상도들(공간 및/또는 시간)에 따라 인코드된 계층 인코딩 포맷에 따라 인코드될 수 있다. 본원의 실시예들은 재구성 데이터(184)의 나머지 데이터를 생성하기 위하여 하나 또는 그 초과의 업샘플링 동작들을 추가로 적용하는 것을 포함할 수 있다. 업샘플링 동작들은 보다 낮은 해상도 디스플레이 엘리먼트 세팅들을 보다 높은 해상도 디스플레이 엘리먼트 세팅들로 컨버트한다.
수정 로직(198-1)을 통해, 컴퓨터 프로세서 하드웨어(107)는 신호(146-2)의 제 2 렌디션을 생성하기 위하여 재구성 데이터(184)의 일부(나머지 데이터의 일부 같은)를 신호(146-1)의 제 1 렌디션에 적용한다. 신호(146-2)의 제 2 렌디션은 신호(146-1)의 제 1 렌디션보다 높은 품질 레벨을 가진다. 일 실시예에서, 신호(146-2)의 제 2 렌디션은 신호(146-1)의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도(SD 같은)를 가진다. 추가로 비제한적 예에 의해, 재구성 데이터(184)를 사용하여, 수정 로직(198-1)은 신호(146-2)의 렌디션을 생성하기 위하여 신호(146-1)의 렌디션의 디스플레이 엘리먼트들의 특정 세팅들을 정정한다.
이전에 논의된 바와 같이, 컴퓨터 프로세서 하드웨어(107)는 추가로 업샘플링 로직(199-1)을 포함한다. 컴퓨터 프로세서 하드웨어(107)는 재구성 데이터(184)(인코드된 데이터(192)로부터 유도됨)에 의해 특정된 바와 같이 하나 또는 그 초과의 업샘플링 동작들을 식별한다. 업샘플링 로직(199-1)은 신호(146-3)의 제 3 렌디션을 생성하기 위하여 식별된 업샘플링 동작들을 신호(146-2)의 제 2 렌디션에 적용한다. 일 실시예에서, 신호(146-3)의 제 3 렌디션은 신호(146-2)의 제 2 렌디션보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가진다. 예로서, 신호(146-2)의 제 2 렌디션은 SD 해상도 비디오 신호일 수 있고; 신호(146-3)의 제 3 렌디션은 예비 HD 해상도 비디오 신호일 수 있다.
추가 실시예들에 따라, 신호(146-3)의 제 3 렌디션은 신호(146-2)의 렌디션보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서의 신호의 예비 렌디션이다. 컴퓨터 프로세서 하드웨어는 수정 로직(198-2)을 더 포함한다. 도시된 바와 같이, 수정 로직(198-2)은 신호(146-3)의 예비 렌디션을 신호(146-4)의 렌디션으로 수정하기 위하여 재구성 데이터(184)(나머지 데이터 같은)의 일부를 활용한다. 신호(146-4)의 렌디션(신호(146-3)의 수정된 예비 렌디션)은 HD 해상도에서의 신호(146-3)의 예비 렌디션보다 높은 품질 레벨을 가진다. 이전에 논의된 바와 유사한 방식으로, 컴퓨터 프로세서 하드웨어(107)는 임의의 바람직한 해상도 레벨(공간 및/또는 시간)로 업샘플링 및 수정의 프로세스를 반복할 수 있다.
다른 비제한적 실시예들에 따라, 신호의 제 4 렌디션은 신호의 제 1 렌디션보다 높은 프레임 레이트를 가지며, 업샘플링 동작들은 적당한 시간 업샘플링 동작들을 포함한다.
도 1g는 본원의 실시예들에 따른 프로세싱을 예시하는 예시도이다.
도시된 바와 같이, 컴퓨터 프로세서 하드웨어(106)는 이미지들 또는 프레임들(FR1, FR2, FR3, 등)을 포함하는 신호(146-1)의 렌디션을 생성하기 위하여 인코드된 데이터의 제 1 부분(181)들을 활용한다. 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분(182)들로부터 나머지 데이터(184-1, 184-2, 등)를 생성하도록 디코더(120)를 구현한다.
신호(146-1)의 제 1 렌디션에서 프레임들(FR1, FR2, FR3, 등)에 나머지 데이터(184-1)의 적용을 통하여, 컴퓨터 프로세서 하드웨어(106)는 이미지들 또는 프레임들(FR', FR1.5', FR2', FR2.5', FR3', 등)을 포함하는 신호의 예비 렌디션을 생성한다(제 2 프레임 레이트에서). 도시된 바와 같이, 신호의 이 예비 렌디션은 신호(146-1)의 렌디션을 수행하는 것 보다 많은 프레임들을 포함한다. 다른 비제한적 실시예들에서, 예비 렌디션은 신호(146-1)의 렌디션을 수행하는 것과 동일한 수의 프레임들을 포함한다.
컴퓨터 프로세서 하드웨어(106)는 프레임들(FR1', FR1.5', FR2', FR2.5', FR3', 등)의 예비 렌디션을 프레임들(FR1", FR1.5", FR2", FR2.5", FR3", 등)을 포함하는 신호(146-2)의 렌디션으로 수정하기 위하여 나머지 데이터(184-2)를 추가로 사용한다. 신호(146-2)의 렌디션은 프레임들(FR1', FR1.5', FR2', FR2.5', FR3', 등)을 포함하는 신호의 예비 렌디션보다 높은 품질 레벨을 가진다.
일 실시예에서, 나머지 데이터의 개별 세트는 신호의 다수의 프레임들에 걸쳐 시간 상속에 따라 생성된다. 예를 들어, 컴퓨터 프로세서 하드웨어는 상이한 프레임에 대해 디코드된 나머지 데이터(프레임(FR1)을 프레임(FR')로 컨버트하기 위하여 사용된 나머지 데이터 같은)에 적어도 부분적으로 기초하여 신호의 주어진 프레임에 대한 나머지 데이터(프레임(FR2)으로부터 프레임(FR2')을 생성하기 위한 나머지 데이터 같은)를 디코드하도록 구성될 수 있다. 몇몇 비제한적 실시예들에 따라, 시간 상속은 다음(도 1f의 시간 상속의 "방법 1")과 같이 주어진 프레임에 대한 나머지 데이터를 디코딩하고: 주어진 프레임에 대한 예비 나머지 데이터를 디코딩하고; 나머지 데이터의 부분에 대해(재구성 데이터(184)에 의해 표시됨), 주어진 프레임에 대한 예비 나머지 데이터를 기준 프레임의 나머지 데이터와 결합하여, 주어진 프레임에 대해 나머지 데이터를 생성함으로써 구현된다. 다른 비제한적 실시예들에 따라, 시간 상속은 다음(도 1f의 시간 상속의 "방법 2")과 같이 주어진 프레임에 대한 나머지 데이터를 디코딩하고: 프레임들의 시퀀스에 대한 제 1 베이스 나머지 데이터를 디코딩하고; 베이스 나머지 데이터를 상대적 나머지 데이터와 결합하여, 주어진 프레임에 대해 나머지 데이터를 생성함으로써 구현된다. 몇몇 실시예들에서, 제 1 베이스 나머지 데이터는 보다 높은 어그리게이션 레벨에서 상대적 나머지 데이터를 제 2 베이스 나머지 데이터와 결합함으로써 또한 생성된다.
도 1h는 본원의 실시예들에 따른 프로세싱을 예시하는 예시도이다.
도시된 바와 같이, 컴퓨터 프로세서 하드웨어(106)는 이미지들 또는 프레임들(FR1, FR2, FR3, FR4, 등)을 포함하는 신호(146-1)의 렌디션을 생성하기 위하여 인코드된 데이터의 제 1 부분(181)들을 활용한다. 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분(182)들로부터 베이스 나머지 데이터(184-B1, 184-B2 등)의 제 1 세트를 생성하도록 디코더(120)를 구현한다.
일 실시예에서, 재구성 데이터(184)는 다중 디스플레이 엘리먼트 해상도들에 따라 인코드된 나머지 데이터의 계층을 포함한다. 제 2 디코더(120)(또는 다른 적당한 리소스)는 베이스 나머지 데이터(184-B1)(다수 번 샘플들시 적용을 위하여 나머지 데이터를 재생성하기 위한 루트(root) 데이터)로부터 유도된 나머지 데이터의 계층(167-1)을 재생성하기 위하여 인코드된 데이터(또는 재구성 데이터(184))의 제 2 부분들에 업샘플링 동작들을 적용한다. 다른 말로, 재구성 데이터(184)는 다중 엘리먼트 해상도들(계층(167-1)의 보다 낮은 레벨들은 공간 및/또는 시간 해상도가 보다 낮고, 계층(167-1)의 보다 높은 레벨들은 보다 높은 공간 및/또는 시간 해상도를 가짐)에 따라 인코드된 나머지 데이터의 계층(167-1)이거나 포함할 수 있다. 일 실시예에서, 제 2 디코더(120)는 나머지 데이터의 계층(167-1)을 재생성하기 위하여 인코드된 데이터의 제 2 부분(182)들에 업샘플링 동작들을 적용한다. 추가 실시예들에 따라, 컴퓨터 프로세서 하드웨어는 신호의 디스플레이 엘리먼트들의 다수의 프레임들에 걸쳐 나머지들의 시간 상속에 따라 계층(167-1)을 생성한다. 도시된 바와 같이, 나머지 데이터의 계층의 주어진 보다 높은 레벨에서, 컴퓨터 프로세서 하드웨어는 나머지 데이터의 베이스 세트(계층(167-1)에서 보다 낮은 나머지 데이터 같은)에 적어도 부분적으로 기초하여 제 1 프레임(나머지 데이터(185-1) 같은)에 대한 나머지 데이터를 디코드하고, 나머지 데이터의 베이스 세트는 신호의 다수 번 샘플들 동안 나머지 데이터를 재생성하기 위한 베이스라인으로서 역할을 한다. 나머지 데이터의 베이스 세트는 시간적으로 업샘플되고 그 다음 보다 높은 시간 해상도에서 나머지 데이터를 생성하기 위하여 상대적 나머지 데이터(재구성 데이터(184)에 의해 특정된 바와 같이 재생성됨)와 결합된다. 시간 상속이 베이스 나머지 데이터의 주어진 부분에 대해 특정될 때(적당한 시간 상속 심볼을 사용하는 것과 같이), 나머지 데이터의 베이스 세트의 대응하는 부분은 임의의 부가적인 나머지 데이터와 결합함이 없이(즉, 재구성 데이터(184)로부터 임의의 부가적인 정보를 디코딩하지 않고) 신호의 다수 번 샘플 동안 나머지 데이터로 확장된다. 다른 말로, 베이스 재구성 데이터(184-B1)의 일부는 신호의 다수 번 샘플들(이미지들 또는 프레임들 같은) 동안 개별 나머지 데이터(185-1, 185-2, 등)의 일부를 생성하기 위하여 시간에 따라 확장된다.
시간 상속에 더하여 또는 대안으로서, 나머지 데이터(185)의 계층은 신호의 디스플레이 엘리먼트들의 주어진 프레임 내에서 나머지들의 공간 상속에 따라 생성될 수 있다. 그런 경우, 주어진 이미지 또는 프레임에 대한 나머지 데이터는 다음과 같은 동작들의 시퀀스를 사용하여, 상이한 공간 해상도들에서 나머지 데이터의 계층으로서 인코드된다: 계층 내의 주어진 품질 레벨에서 나머지 데이터 디코딩, 다음 보다 높은 해상도에서 예비 나머지 데이터를 생성하는 나머지 데이터 업샘플링, 상기 다음 보다 높은 해상도에 대해 상대적 나머지 데이터 디코딩, 상대적 나머지 데이터를 예비 나머지 데이터에 적용, 계층의 다음 보다 높은 품질 레벨에서 나머지 데이터 생성. 상대적 나머지 데이터는 어그리게이션의 레벨들의 시간 계층에 따라 또는 신호의 각각의 시간 샘플에 대해 무관하게 디코드될 수 있다. 나머지 데이터의 계층의 주어진 품질 레벨에서, 컴퓨터 프로세서 하드웨어는 나머지 데이터의 계층의 보다 낮은 품질 레벨에 대해 디코드된 재구성 데이터만을 기초하여 주어진 프레임의 일부에 대한 나머지 데이터를 디코드한다. 다른 말로, 나머지 데이터의 부분에 대해 재구성 데이터(184)는 공간 상속 심볼에 따라 낮은(공간) 품질 레벨에서 정보를 특정하고, 디코더는 재구성 데이터로부터 임의의 부가적인 정보 없이 보다 높은 품질에서 나머지 데이터의 대응 부분을 재구성할 수 있다. 다른 비제한적 실시예들에 따라, 나머지 데이터의 일부에 대해 재구성 데이터(184)는 시간 상속 심볼에 따라 낮은(공간) 품질 레벨에서 정보를 특정하고, 디코더는 베이스 라인으로서 기준 데이터를 사용하여 보다 높은 품질 레벨에서 나머지 데이터의 대응하는 부분을 재구성한다.
컴퓨터 프로세서 하드웨어(106)는 나머지 데이터(185-1)(시간 샘플 #1 동안), 나머지 데이터(185-2)(시간 샘플 #2 동안), 나머지 데이터(185-3)(시간 샘플 #3 동안), 등을 재생성하기 위하여 베이스 나머지 데이터(184-B1)의 제 1 세트를 활용한다.
추가로 도시된 바와 같이, 컴퓨터 프로세서 하드웨어는 프레임(FR1)을 프레임(FR1')으로 수정 및 컨버트하기 위하여 나머지 데이터(185-1)의 제 1 세트를 활용하고; 컴퓨터 프로세서 하드웨어는 프레임(FR2)을 프레임(FR2')으로 수정 및 컨버트하기 위하여 나머지 데이터(185-2)의 제 2 세트를 활용하고; 컴퓨터 프로세서 하드웨어는 프레임(FR3)을 프레임(FR3')으로 수정 및 컨버트하기 위하여 나머지 데이터(185-3)의 제 3 세트를 활용하고; 등등이 있다. 이 예시 실시예에서 신호(146-2)(해상도#1)의 렌디션은 신호(146-1)의 렌디션(해상도#1)의 프레임들로부터 유도된 프레임들(FR1', FR2', FR3', FR4', 등)을 포함한다.
컴퓨터 프로세서 하드웨어(106)는 신호(146-2)의 렌디션을 신호(146-3)의 렌디션으로 업샘플하기 위하여 재구성 데이터(184)에 의해 특정된 바와 같은 업샘플 동작들을 실행한다. 예를 들어, 업샘플 로직(188-1)은 프레임(FR1')의 디스플레이 엘리먼트들을 프레임(FR1")으로 공간적으로 업샘플하고; 업샘플 로직(188-2)은 프레임(FR2')의 디스플레이 엘리먼트들을 프레임(FR2")으로 공간적으로 업샘플하고; 업샘플 로직(188-3)은 프레임(FR3')의 디스플레이 엘리먼트들을 프레임(FR3")으로 공간적으로 업샘플하고; 등등이 있다. 업샘플링은 신호(146-2)의 보다 낮은 해상도 렌디션을 신호(146-3)의 보다 높은 해상도 렌디션으로 컨버팅하는 것을 포함할 수 있다.
따라서, 본원의 실시예들은 신호(146-4)의 제 4 렌디션을 생성하기 위하여 나머지 데이터(186)를 신호(146-3)의 제 3 렌디션의 다수의 디스플레이 엘리먼트들에 적용하는 것을 포함하고, 적용된 나머지 데이터(186)는 신호(146-4)의 제4 렌디션의 대응하는 디스플레이 엘리먼트들에 대한 세팅들을 생성하기 위하여 신호(146-3)의 제 3 렌디션의 다수의 디스플레이 엘리먼트들의 세팅들을 수정한다. 이 예시 실시예에서 신호(146-3)의 렌디션(해상도#2)은 프레임들(FR1", FR2", FR3", FR4", 등)을 포함한다.
추가로 도시된 바와 같이, 컴퓨터 프로세서 하드웨어(106)는 인코드된 데이터의 제 2 부분(182)들로부터 베이스 나머지 데이터(184-B2)의 제 2 세트를 생성하도록 디코더(120) 또는 관련 로직을 구현한다. 컴퓨터 프로세서 하드웨어(106)가 계층(167-2)의 업샘플링을 통하여 베이스 나머지 데이터(184-B1)로부터 나머지 데이터(185)의 세트들을 유도하는 것과 유사한 방식으로, 컴퓨터 프로세서 하드웨어(106)는 나머지 데이터(186-1)(시간 샘플#1 동안), 나머지 데이터(186-2)(시간 샘플#2 동안), 나머지 데이터(186-3)(시간 샘플#3 동안), 등을 재생성하기 위하여 베이스 나머지 데이터(184-B2)의 제 2 세트를 활용한다.
도시된 바와 같이, 컴퓨터 프로세서 하드웨어는 프레임(FR1")을 프레임(FR"')으로 컨버트하기 위하여 계층적으로 유도된 나머지 데이터(186-1)의 제 1 세트를 활용하고; 컴퓨터 프로세서 하드웨어는 프레임(FR2")을 프레임(FR2"')으로 컨버트하기 위하여 나머지 데이터(186-2)의 제 2 세트를 활용하고, 컴퓨터 프로세서 하드웨어는 프레임(FR3")를 프레임(FR3"')으로 컨버트하기 위하여 나머지 데이터(186-3)의 제 3 세트를 활용하고; 등등이 있다. 이 예시적 실시예에서 신호(146-4)의 렌디션(해상도 #2)은 신호(146-3)의 렌디션(해상도 #2)으로부터 유도된 프레임들(FR1"', FR2"', FR3"', RF4"', 등)을 포함한다.
도 2는 본원의 실시예들에 따른 디코딩 시스템을 예시하는 비제한적 예시 도이다.
데이터 스트림(115)은 블록(200)에 의해 수신되고 분리되어, 레거시 SD 데이터(210) 및 부가적인 데이터(220)를 생성한다. 레거시 SD 데이터는 블록(230) 레거시 SD 데이터로부터 SD 디코드에 의해 디코드하여, SL LOQ(품질 레벨)(140-1), 즉 제 1 품질 레벨(SD 품질 레벨)에서 신호의 렌디션을 생성한다. SD LOQ(140-1)는 블록(270)에 의해 업샘플되어, 예비 HD LOQ(280), 즉 제 2(보다 높은) 품질 레벨(HD 품질 레벨)에서 신호의 예측된 렌디션을 생성한다.
강화 데이터(220)는 블록(240) HD 나머지들 디코드에 의해 디코드되어, HD 나머지들(260)을 생성한다.
예비 HD LOQ(280) 및 HD 나머지들(260)은 결합되어, 최종 HD LOQ, 즉 재구성된 HD 신호(150-1)를 생성한다.
비제한적 실시예에서, SD LOQ(140-1)는 제 1 품질 레벨에서 엘리먼트들의 양차원 평면인 반면, 예비 HD LOQ(280), HD 나머지들(260) 및 재구성된 HD 신호(150-1)는 제 2(보다 높은) 품질 레벨에서 엘리먼트들의 양차원 평면들이다.
비제한적 실시예에서, 블록(230)은 시간 디코딩 방법(예를 들어, MPEG2, H.264, VP8, 등)을 레버리지하여, SD LOQ(140-2)(시각적 표현의 간략성을 위하여 도 2에 도시되지 않은 블록(230)에 의해 생성됨)는 이전에 디코드된 신호(140-1)에 적어도 부분적으로 의존한다. 다른 비제한적 실시예들에서, 또한 블록(240)은 시간 디코딩 방법을 구현한다: 비제한적 실시예에서, 신호(150-2)를 생성하기 위하여 블록(240)에 의해 디코드된 HD 나머지들은 신호(150-1)를 생성하기 위하여 디코드된 HD 나머지들에 적어도 부분적으로 기초하고; 다른 비제한적 실시예에서, 신호(150-2)를 생성하기 위하여 디코드된 HD 나머지들은 신호(150-1)를 생성하기 위하여 적용된 HD 나머지들을 디코드하도록 또한 블록(240)에 의해 사용된 공통 지원 평면에 적어도 부분적으로 기초한다.
비제한적 실시예에서, 강화 데이터(220)는 SD LOQ(140-1)를 정정 및 업샘플하기 위하여 블록(270)에 의해 프로세스되는 정보를 포함한다.
비제한적 실시예에서, 데이터 스트림(115)은 특정 레거시 디코더들에 의해 무시된 레버리징 패킷 식별자들에 의해 강화 데이터(220)를 포함하여, 상기 디코더들은 데이터 스트림(115)을 수신 및 디코드할 수 있고 단지 강화 데이터(220)를 무시하고 레거시 데이터(210)를 디코딩함으로써 SD LOQ(140-1)를 생성한다.
비제한적 실시예에서, 디코더(120)는 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 디더링을 구현한다. 실시예에서, 이것은 주어진 확률 분포에 따라 생성된 실질적으로 랜덤 수를 적용함으로써 나머지 데이터(260)의 적어도 하나의 나머지를 디코딩함으로써 구현된다.
도 3a는 도 2에 설명된 것과 유사한 디코딩 시스템을 설명하는 비제한적 예시도이고, 데이터 스트림(115)은 강화 데이터(310)에 대응하는 정보를 포함한다. 블록(320)은 SD LOQ(140-1)를 정정 층(SD 나머지 데이터)과 결합하고 그 다음 이를 업샘플하여, 예측된 HD LOQ(280)를 생성한다.
비제한적 실시예에서, 정정 층은 타이-기반 계층 디코드 방법에 따라 디코드된다.
비제한적 실시예에서, 예측된 HD LOQ(280)를 생성하기 위하여 사용된 업샘플링 및 이미지 프로세싱 동작들은 강화 데이터(310)에 의해 표시된 바와 같이 구현된다. 다른 비제한적 실시예들에서, 강화 데이터(310)는 블록(320)에 의해 사용된 업샘플링 동작들을 위해 커널 계수들을 포함한다. 비제한적 실시예에서, 업샘플링 동작들은 강화 데이터(310)에 의해 표시된 4×4 커널(보다 높은 품질 레벨의 각각의 픽처 엘리먼트를 생성하기 위하여 16 계수들, 또는 양쪽 공간 차원들에 대해 2개의 업샘플링 팩터의 비제한적 경우에서 보다 높은 품질 레벨에서 각각 2×2 픽처 엘리먼트 블록에 대해 64 계수들에 의해, 보다 낮은 품질 레벨의 16개의 엘리먼트들의 가중 평균)을 사용한다. 비제한적 실시예에서, 강화 데이터(310)는 SD LOQ(140-1)를 예측된 HD LOQ(280)로 업샘플하기 위하여 블록(320)에 의해 사용된 커널 계수들의 평면에 대응하는 정보를 포함한다. 비제한적 실시예에서, 블록(320)에 의해 사용된 업샘플링 및 이미지 프로세싱 동작들은 비선형 동작들을 포함한다. 비제한적 실시예에서, 채도 성분들(예를 들어, YUV 컬러 공간에서 U 및 V)의 업샘플링은 휘도(Y) 성분에 대한 최종 HD LOQ(150-1)를 생성한 후 수행되고, 최종 HD LOQ(150-1)의 재구성된 Y 평면에 적어도 부분적으로 기초한다(비제한적 실시예에서, 양방향 필터링 방법에 의해).
비제한적 실시예에서, 블록(320)에 의해 수행된 동작들은 이미지 프로세싱 동작들(예를 들어, 흐릿한 마스킹, 에지 재구성 필터들, 디더링, 등)을 포함한다. 다른 비제한적 실시예에서, 블록(240)에 의해 수행된 동작들은 디코드된 나머지들을 주어진 확률 분포에 따라 계산된 랜덤 값들과 결합하는 것을 포함한다.
도 3b는 도 2 및 도 3a에 설명된 것들과 유사한 디코딩 시스템을 설명하는 비제한적 예시도이고, 데이터 스트림(116)은 레거시 보다 낮은 프레임 레이트 데이터(330), 움직임 보상 강화 데이터(311) 및 부가적인 강화 데이터(312)에 대응하는 정보를 포함한다. 블록(321)은 낮은 프레임 레이트 신호(332)에 기초하여, 예측 높은 프레임 레이트 신호(360)를 생성한다. 비제한적 실시예에서, 신호(360) 대 신호(332)의 부가적인 프레임들/필드들을 생성하기 위하여 수행된 동작들은 시간적 업샘플링 동작들 및/또는 움직임 보상 동작들을 포함한다.
블록(340)은 부가적 강화 데이터(312)를 프로세스하고 부가적 프레임들/필드들에 대한 나머지들(350)을 디코드한다. 그 다음 나머지들(350)은 신호(360)의 새롭게 생성된 프레임들/필드들과 결합되어, 최종 재구성된 높은 프레임 레이트 신호(151-1)를 생성한다. 비제한적 실시예에서, 데이터 스트림(116)은 HDMI 표준 전송 가이드라인들 따라 HDMI 케이블을 통해 전송되고, 레거시 보다 낮은 프레임 레이트 데이터(330)는 HDMI 표준 전송 가이드라인들에 따라 압축 해제된 비디오 데이터를 포함하고; 강화 데이터(311 및 312)는 레거시 HDMI 디바이스들에 의해 무시된 메타-데이터로서 전송되는 반면(신호(332)를 단지 무시하고 디스플레이함), 상기 강화 데이터(311 및 312)는 적당히 인에이블된 디바이스들에 의해 프로세스 및 디코드된다(신호(151)를 디코드 및 디스플레이함).
도 3c는 보다 낮은 프레임 레이트(즉, 시간 해상도 측면에서 보다 낮은 품질 레벨)에서 비디오 신호 및 강화 정보에 기초하여, 보다 높은 프레임 레이트(즉, 시간 해상도 측면에서 보다 높은 품질 레벨)에서 비디오 신호를 생성하기 위하여 부가적인 프레임들을 생성하는 프로세스를 설명하는 도 3b에 설명된 것들과 유사한 디코딩 시스템을 추가로 예시하는 비제한적 예시도이다.
다른 비제한적 실시예들은 보다 낮은 품질 레벨에서 신호에 기초하여, 보다 높은 공간 해상도 및 보다 높은 프레임 레이트 둘 다에 의해 특징지어 지는 비디오 신호를 생성하기 위하여 강화 데이터를 프로세스한다.
도 4는 도 2 및 도 3에 설명된 시스템들과 유사한 디코딩 시스템을 본원의 실시예들에 따라 예시하는 비제한적인 예시도이고, 데이터 스트림(115)은 레거시 SD 데이터(210), 인코드된 데이터(410), 업샘플링 인코드된 데이터(415) 및 인코드된 데이터(420)에 대응하는 정보를 포함한다. 인코드된 데이터(410)는 블록(430) SD 나머지들 디코드에 의해 프로세스되어, 제 1 품질 레벨(비제한적 실시예에서, SD 해상도)에서 나머지들(435)의 평면을 생성한다. 비제한적 실시예에서, 블록(430)에 의해 수행된 동작들은 디코드된 데이터(410)를 엔트로피 디코딩하고 엔트로피 디코딩에 의해 생성된 심볼들을 역양자화하고, 나머지들(435)을 생성한다. 다른 비제한적 실시예에서, 블록(430)에 의해 수행된 동작들은 인코드된 데이터(410)를 엔트로피 디코딩하고, 엔트로피 디코딩에 의해 생성된 심볼들을 변환하고 변환된 심볼들을 역양자화하여, 나머지들(435)을 생성하는 것을 포함한다. 다른 비제한적 실시예에서, 블록(430)에 의해 수행된 동작들은 인코드된 데이터(410)를 엔트로피 디코딩하고, 엔트로피 디코딩에 의해 생성된 심볼들을 역양자화하고, 역양자화된 심볼들을 나머지들(435)로 변환하는 것을 포함한다. 비제한적 실시예에서, 역양자화 동작들은 양자화된 심볼을 수신하고 주어진 확률 분포에 따라, 대응하는 양자화 인터벌에서 포함된 값을 생성한다. 다른 비제한적 실시예들에서, 블록(430)에 의해 수행된 동작들은 티어-기반 계층 디코딩 방법에 기초하여 나머지들의 평면을 디코딩하는 것을 포함한다. 일 실시예에서, 방법은 제 1(보다 낮은) 품질 레벨에서 나머지들의 평면을 디코딩하고; 제 1 품질 레벨에서 나머지들의 평면에 기초하여, 제 2(보다 높은) 품질 레벨에서 나머지들의 예측된 평면을 생성하고; 제 2 품질 레벨에서 나머지들의 예측된 평면을 디코드된 데이터와 결합하여, 제 2 품질 레벨에서 나머지들의 평면을 생성하는 것을 포함한다.
나머지들(435)은 SD LOQ(140-1)와 결합되어, 정정된 SD LOQ(460)를 생성한다. 정정된 SD LOQ(460)는 블록(480)에 의해, 업샘플링 인코드된 데이터(415)에 대응하는 업샘플링 동작들을 레버리징함으로써 업샘플되어, 예측된 HD LOQ(280)를 생성한다. 인코드된 데이터(420)는 블록(440)에 의해 디코드되어, 변환된 나머지들(470)을 생성한다. 변환된 나머지들(470), 정정된 SD LOQ(460) 및 예측된 HD LOQ(280)는 블록(490) 변환 및 합에 의해 프로세스되어, 재구성된 HD 신호(150-1)를 생성한다. 비제한적 실시예에서, 재구성된 HD 신호(150-1)는 비디오 시퀀스의 개별 이미지(예를 들어, 프레임 또는 필드)이다. 비제한적 실시예에서, 인코드된 데이터(410), 업샘플링 인코드된 데이터(415) 및/또는 인코드된 데이터(420)는 이미지(150-1)에 대한 강화 데이터(예를 들어, SD 나머지들, 업샘플링 정보 및/또는 HD 변환된 나머지들) 및 비디오 시퀀스에서 다른 이미지들(예를 들어, 프레임들 또는 필드들)에 대한 강화 데이터 둘 다를 생성하기 위하여 사용된 정보를 포함한다. 비제한적 실시예에서, 상기 정보는 변환된 나머지들(470)(예를 들어, 비제한적 예에 의해, 인코드된 데이터(420)로부터 디코드된, 이미지(150-1)에 대응하는 상대적 나머지들을 합산함으로써) 및 비디오 시퀀스의 다른 이미지들에 대한 변환된 나머지들(예를 들어, 비디오 시퀀스의 다른 이미지들에 대응하는 상대적 나머지들을 합산함으로써) 양쪽을 재구성하기 위하여 사용된 나머지들의 "지원 버퍼" 평면을 포함한다. 다른 비제한적 실시예에서, 시퀀스의 이미지에 대한 강화 데이터 부분은 시퀀스의 다른 이미지에 대한 강화 데이터의 대응하는 부분에 적어도 부분적으로 기초하여 디코드된다.
도 5a는 본원의 실시예들에 따라 나머지 디코딩을 설명하는 비제한적 예시도이다.
인코드된 데이터(410)는 허프만 디코드(500)(허프만 엔트로피 디코딩 방법을 구현함), 그 다음 RLE 디코드(510(런 렝스 인코딩 디코딩 방법을 구현함) 및 그 다음 역양자화(520)(적당한 역양자화 방법을 구현함)에 의해 프로세스 되어, 나머지들(435)을 생성한다.
다른 비제한적 실시예들에서, 블록(520)의 입력은 역양자화되기 전에 변환(즉, 프로세스)된다. 비제한적 실시예에서, 블록(520)은 먼저 수신된 심볼들을 역양자화하고 그 다음 적당한 변환 방법(예를 들어, DCT, 하다마르(Hadamard), 지향성 분해 변환(Directional Decomposition Transform, 등)에 따라, 결과들을 나머지들(435)로 변환한다.
일 실시예에서, 디코더(430) 또는 다른 적당한 리소스를 통해, 컴퓨터 프로세서 하드웨어(106)(컴퓨터 프로세서 하드웨어(107)의)는 인코드된 데이터의 제 2 부분(182)들(도 5a의 인코드된 데이터(410) 같은)을 변환된 나머지 데이터로 디코드하고; 양자화된 나머지 데이터를 생성하기 위하여 변환된 나머지 데이터를 프로세스하고; 나머지 데이터를 재생성하기 위하여 양자화된 나머지 데이터를 역양자화하고; 그리고 신호의 제 2 렌디션을 생성하기 위하여 재생성된 나머지 데이터를 신호의 제 1 렌디션에 적용한다. 프로세싱이 임의의 적당한 방식으로 발생할 수 있다는 것이 주의된다. 다른 실시예에 따라, 나머지 데이터의 하나 또는 그 초과의 세트들 중 임의의 세트는 변환된 나머지 데이터로부터 생성될 수 있다. 예를 들어, 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분(182)들을 양자화된 변환된 나머지 데이터로 디코드하고; 변환된 나머지 데이터를 생성하기 위하여 양자화된 나머지 데이터를 역양자화하고; 나머지 데이터를 생성하기 위하여 변환된 나머지 데이터, 즉 신호의 개별 하나 또는 그 초과의 렌디션들(도 7a)을 프로세스하고; 그리고 재생성된 나머지 데이터를 신호의 렌디션에 적용하도록 구성될 수 있다.
도 5b는 본원의 실시예들에 따른 티어-기반 계층 디코딩 방법에 따른 나머지 디코딩을 설명하는 비제한적 예시도이다.
인코드된 데이터(410)는 나머지들(435)의 평면의 주어진 품질 레벨에 각각 대응하는 인코드된 데이터의 복수의 서브세트들로 분할된다.
나머지 데이터에 대한 품질의 가장 낮은(최하부) 레벨에 대응하는 인코드된 데이터 서브세트(410-B)는 나머지 디코더(530+B)에 의해 프로세스되어, 나머지 평면(YBOTTOM)(560+B)을 생성한다. 평면(560+B)은 예측 계산기(570+B)에 의해 프로세스되어, 예측된 렌디션(UB+1)(580+B+1)을 생성한다. 비제한적 실시예에서, 예측된 렌디션(UB+1)을 생성하기 위하여 수행된 동작들은 업샘플링 동작을 포함한다.
블록(430)은 추후(점진적으로 보다 높은) 품질 레벨에 대해 인코드된 데이터 서브세트들을 디코딩하고 이전(보다 낮은) 품질 레벨에 기초하여 상기 서브세트로부터 디코드된 나머지 데이터를 대응하는 예측된 렌디션(U)과 결합함으로써 게속된다.
예를 들어, 인코드된 데이터 서브세트(410-1)는 상속 정보(532-1)에 적어도 부분적으로 기초하여 나머지 디코더(531)에 의해 프로세스되어, 중간 데이터(541)를 생성한다. 비제한적 실시예에서, 상속 정보(532-1)는 중간 데이터(541)의 부분들에 관한 임의의 정보를 특정하기 위해 서브세트(410-1)에 대한 필요 없이, 보다 낮은 품질 레벨로부터 직접 상속된 중간 데이터(541)의 부분들을 특정한다. 중간 데이터(541) 및 예측된 렌디션(U-1)(581)은 재구성기(551)에 의해 프로세스 및 결합되어, 나머지들의 평면(Y-1)(561)을 생성한다. 평면(561)은 에측 계산기(571)에 의해 프로세스되어, 예측된 렌디션(U0)(580)을 생성한다.
인코드된 데이터 서브세트(410-0)는 상속 정보(532-0)에 적어도 부분적으로 기초하여 나머지 디코더(530)에 의해 프로세스되어, 중간 데이터(540)를 생성한다. 중간 데이터(540) 및 예측된 렌디션(U0)(580)은 재구성기(550)에 의해 프로세스 및 결합되어, 나머지들(435)에 대응하는 나머지들(Y0)(560)의 평면을 생성한다.
비제한적 실시예에서, 예측 계산기들(570, 571, ..., 570+B)은 블록(430)에 의해 수신된 인코드된 데이터의 대응하는 서브세트들에서 특정된 파라미터들에 따라 업샘플링 동작들 및/또는 이미지 프로세싱 동작들을 구현한다.
다른 비제한적 실시예들에서, 나머지 디코더들(530, 531, ..., 530+B)은 비디오 시퀀스에서 다수의 이미지들에 걸쳐 시간 상관을 효과적으로 고려하기 위하여, 또한 기준 데이터에 기초하여 중간 데이터를 생성한다. 몇몇 비제한적 실시예들에서, 기준 데이터는 비디오 시퀀스의 다수의 이미지들의 대응하는 인코드된 데이터 서브세트들에 특정된 데이터와 결합된 하나 또는 그 초과의 지운 평면들이다. 다른 비제한적 실시예들에서, 기준 데이터는 비디오 시퀀스의 기준 시퀀스에 대한 대응하는 나머지 데이터이고; 상기 실시예들 중 몇몇에서, 상속 정보(532-0, ..., 532-B)는 비디코드된 데이터를 비디오 시퀀스의 기준 이미지에 대한 Y-N의 대응하는 엘리먼트와 결합함으로써 계산될 것을 가리키고(즉, 평면(Y) 중 어떤 엘리먼트들이 기준 이미지에 기초하여야 하는지에 대한 정보는 티어드된 계층을 따라 상속되어, 시간 상관으로부터 이익일 수 있는 엘리먼트들을 효과적으로 식별하게 한다 - 예를 들어 이미지의 대부분에 대한 낮은 품질 레벨에서 상속을 특정 및 "마무리하는 것" -); 몇몇 비제한적 실시예들에서 Y-N의 대응하는 엘리먼트는 블록(430)에 의해 수신된 움직임에 대한 적당한 정보를 프로세싱함으로써, 움직임 보상 방법에 따라 계산된다.
도 5c는 본원의 실시예들에 따라 도 5b의 나머지 디코더(531)의 구현을 예시하는 비제한적인 예시도이다.
인코드된 데이터 서브세트(410-1)는 심볼 확률들(581)을 생성하기 위하여 확률 추정기(580-1)에 의해 프로세스된다. 비제한적 실시예에서, 확률 추정기(580-1)는 인코드된 데이터 서브세트(410-1)에 특정된 파라미터들에 적어도 부분적으로 기초하여, 효과적인 정적 엔트로피 디코딩을 허용하도록, 인코드된 데이터 서브세트(410-1)로 인코드된 엔트로피인 심볼들에 대한 확률 분포를 재구성한다.
그 다음 인코드된 데이터 서브세트(410-1) 및 심볼 확률들(581)은 정적 범위 디코더(580-2)에 의해 프로세스되어, 디코드된 심볼들(582)을 생성한다. 몇몇 비제한적 실시예들에서, 블록(580-1)은 블록(580-2)이 디코드된 심볼들(582)의 병렬 엔트로피 디코딩을 구현하게 하도록 심볼 확률들(581)(디코드하기 위하여 심볼들의 각각의 인접한 타일(tile)당 하나)의 다수의 세트들을 생성한다. 다른 비제한적 실시예에서, 블록(580-2)은 산술 디코딩 같은 상이한 정적 엔트로피 디코딩 방법들을 구현한다.
디코드된 심볼들(582)은 역양자화기(580-3)에 의해 프로세스되어, 역양자화된 심볼들(583)을 생성한다.
역양자화된 심볼들(583), 상속 정조(532-1), 및 기준 정보(584)는 결합기(580-3)에 의해 프로세스되어, 중간 데이터(541) 및 상속 정보(530-1)를 생성한다. 비제한적 실시예에서, 상속 정보(532-1)는 중간 데이터(541) 부분들에 관한 임의의 정보를 특정하기 위해 인코드된 데이터 서브세트(410-1)에 대한 필요 없이, 보다 낮은 품질 레벨로부터 직접 상속된 중간 데이터(541) 부분들을 특정한다. 이것은 데이터의 전송시 더 큰 효율성을 허용하는데, 그 이유는 인코드된 데이터가, 디코더가 이미 소유한 정보에 의해 디코더에 의해 효과적으로 예측될 수 있는 엘리먼트들에 관해 어떠한 정보도 특정할 필요가 없기 때문이다. 비제한적 실시예에서, 상속 정보(530-1)는 또한 중간 데이터(541) 중 어느 부분이 기준 정보(584)에 적어도 부분적으로 기초하여 생성되어야 하는지를 특정한다.
따라서, 인코드된 데이터는 재구성 데이터에서 특정된 심볼 확률 분포에 따라 정적 범위 엔트로피 디코더를 통해 디코드될 수 있다. 또 다른 실시예들에 따라, 인코드된 데이터는 재구성 데이터에서 특정된 심볼 확률 분포에 따라 정적 산술 엔트로피 디코더를 통해 디코드될 수 있다.
도 6a 및 도 6b는 본원의 실시예들에 따라 변환된 나머지 디코딩을 예시하는 비제한적 예시도들이다.
도 6a는 변환된 나머지들의 4개의 SD 평면들(즉, SD 해상도에서 4개의 평면들)(A 변환된 나머지들(640-1), B 변환된 나머지들(640-2), C 변환된 나머지들(640-3), D 변환된 나머지들(640-4))을 생성하기 위하여 비제한적 실시예에 사용된 동작들의 시퀀스를 설명한다. 도시된 바와 같이, 인코드된 데이터(420)의 상이한 부분들은 허프만 엔트로피 디코딩(허프만 디코더(610)) 및 렁 렝스(RLE) 디코딩 방법들(RLE 디코더(620)의 결합에 따라 디코드된다. 비제한적 실시예에서, 역양자화 블록들(630-1, 630-2, 630-3, 630-4)은 상이한 역양자화 방법들 및/또는 파라미터들(변환된 나머지들의 상이한 세트들이 상이한 양자화 파라미터들에 따라 인코더에 의해 양자화된다는 사실에 대응함)를 레버리지한다.
도 6b는 A 나머지들(640-1) 및 D 나머지들(640-4)이 인코드된 데이터(420)에 포함된 디코딩 정보에 의해서 보다 디코더 측에서 알려진 디폴트 평면들(예를 들어, 비제한적 실시예에서, 영으로 초기화된 엘리먼트들의 평면들)에 따라 재구성되는 비제한적 실시예를 설명한다.
다른 비제한적 실시예들(도 6a 및 도 6b에 도시되지 않음)은 도 5c에 예시된 방법과 유사한 정적 엔트로피 디코딩 방법에 따라 인코드된 데이터 세트들(420-1, ..., 420-4)을 디코드하고, 엔트로피 디코더는 인코드된 데이터 내에 표시된 하나 또는 그 초과의 파라미터들로부터 추론된 심볼 확률 분포에 따라 정적 엔트로피 디코딩 방법을 구현한다.
도 7a, 도 7b 및 도 7c는 블록(490)의 비제한적 실시예에 의해 수행된 동작들을 예시하는, 변환된 나머지들의 사용을 예시하는 비제한적 예시도들이다. 도 7a는 본원의 실시예들에 따른 예비 HD LOQ(280), 정정된 SD LOQ(460) 및 변환된 나머지들(640), 최종 HD LOQ(150-1)에 기초하여, 블록(490)이 재구성되는 방법을 예시한다.
최종 HD LOQ(150-1)의 엘리먼트들(150-1-i)의 각각 2×2 블록(도 7a는 150-1-1을 예시하지만, 유사한 동작들은 이미지의 다른 2×2 블록들을 위해 구현됨)은 예비 HD LOQ(280)의 대응하는 블록(280-i), 정정된 SD LOQ(460)의 대응하는 엘리먼트(460-i)(예를 들어, 또한 280-i 및 150-1-i의 "페어런트(parent) 엘리먼트"로서 정의된 이미지 내에서 280-i 및 150-1-i와 공동 위치된 엘리먼트) 및 4개의 대응하는 변환된 나머지들(640-1-i, 640-2-i, 640-3-i 및 64o-4-i)을 프로세싱함으로써 생성된다.
보다 구체적으로, 엘리먼트들(150-1-1)의 2×2 블록의 예시된 경우에 대해, 4개의 엘리먼트들(280-1)은 정정된 SD LOQ(460)의 자신의 대응하는 페어런트 엘리먼트(460-1)에 따라 블록 PA 생성(700)에 의해 프로세스되어, 값 PA(730-1)를 생성한다.
B 나머지(640-2-1)는 블록(280-1)의 값들 각각에 가산되거나 감산되는데, 예를 들어 비제한적 실시예에서 2×2 블록의 좌측 상에서 엘리먼트들에 가산되고 2×2 블록의 우측 상에서 엘리먼트들에 감산된다.
C 나머지(640-3-1)는 블록(280-1)의 값들 각각에 가산되거나 감산되는데, 예를 들어 비제한적 실시예에서 2× 블록의 상단부 상에서 엘리먼트들에 가산되고 2×2 블록의 하단부 상에서 엘리먼트들에 감산된다.
D 나머지(640-3-1)는 블록(280-1)의 값들 각각에 가산되거나 감산되는데, 예를 들어 비제한적 실시예에서 2×2 블록의 좌측 최상단 및 우측 하단부상에서 엘리먼트들에 가산되고 2×2 블록의 우측 최상단 및 좌측 하단부 상에서 엘리먼트들에 감산된다.
모든 이들 결합들의 결과는 최종 HD LOQ(150-1)의 엘리먼트들(150-1-1)의 2×2 블록이다.
그 다음 절차는 최종 HD LOQ(150-1)의 2×2 블록들 모두에 대해 반복된다. 비제한적 실시예에서, 최종 HD LOQ(150-1)의 차원들 중 하나가 홀수의 엘리먼트들을 가지면, 먼저 디코더는 가산 라인 또는 열로 이미지를 재구성하고, 그 다음 그런 가산 라인 또는 열을 버린다.
다른 말로, 설명된 비제한적 실시예는 다음과 같이 최종 HD LOQ(150-1)를 재구성한다: 신호의 제 2 렌디션에 기초하여(정정된 SD LOQ(460)), 신호의 제 3 렌디션(예비 HD LOQ(280))을 생성하고 ― 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 신호의 예비 렌디션임 ―; 인코드된 데이터의 제 2 부분들을 변환된 나머지 데이터(A 나머지들, B 나머지들, C 나머지들 및 D 나머지들(640))의 세트로 디코딩하고; 나머지 데이터의 새로운 세트(예비 HD LOQ(280)에 직접 적용되기 때문에 도면에 도시되지 않음)를 생성하기 위하여 변환된 나머지 데이터의 세트, 신호의 제 2 렌디션(정정된 SD LOQ(460), 및 신호의 제 3 렌디션(예비 HD LOQ(280)의 결합을 프로세싱하고; 그리고 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 새로운 세트를 신호의 제 3 렌디션에 적용함.
도 7b는 PA들의 SD 평면(730)의 각각의 값(730-i)이 엘리먼트(460-i)(예를 들어, yh,k)와 2×2 블록(280-i)(예를 들어, )의 대응하는 4개의 엘리먼트들의 값들의 평균 사이의 차를 계산함으로써 생성되는 블록(700)의 비제한적 실시예를 예시한다. 값(730-1)은 A 나머지(640-1-1)와 결합되고, 결과 값은 블록(280-1)의 4개의 엘리먼트들 각각에 가산된다.
도 7c는 계층 방법에 따른 나머지 데이터(신호의 제 1 렌디션을 신호의 제 2 렌디션으로 수정하기 위하여 적용될 나머지 데이터 같은)의 재구성 내에서 변환된 나머지들을 사용하는 비제한적 실시예를 예시한다.
실시예에 따라, 나머지 데이터는 보다 낮은 품질 레벨에서 나머지 데이터의 재구성; 다음 보다 높은 품질 레벨에서 나머지 데이터의 예비 렌디션의 생성(업샘플링 동작들을 통해서와 같이); 변환된 나머지들을 디코딩; 변환된 나머지들에 의해 특정된 바와 같이 다음 보다 높은 품질 레벨에서 상대적 나머지 데이터 생성; 상대적 나머지 데이터를 적용함으로써 다음 보다 높은 품질 레벨에서 나머지 데이터의 예비 렌디션의 수정, 다음 보다 높은 품질 레벨에서 나머지 데이터 생성의 시퀀스에 따라, 점진적으로 보다 높은 품질 레벨들에서 재구성된다. 그 다음 나머지 데이터의 계층에서 가장 높은 품질 레벨의 나머지 데이터는 신호의 제 2 렌디션을 생성하기 위하여, 신호의 제 1 렌디션에 적용된다.
다른 말로, 실시예는 다음과 같이 인코드되는 데이터를 프로세스한다: 제 1 품질 레벨에서 인코드된 데이터의 제 2 부분들을 나머지 데이터로 디코딩; 제 1 품질 레벨에서 나머지 데이터에 기초하여 제 2 품질 레벨에서 나머지 데이터의 예비 렌디션을 생성 ― 제 2 품질 레벨은 제 1 품질 레벨보다 높음 ―; 인코드된 데이터의 제 2 부분들을 양자화된 변환된 나머지 데이터로 디코딩; 변환된 나머지 데이터를 생성하기 위하여 양자화된 변환된 나머지 데이터를 역양자화; 제 2 품질 레벨에서 나머지 데이터를 재생성하기 위하여 제 1 품질 레벨에서의 변환된 나머지 데이터, 및 제 2 품질 레벨에서 나머지 데이터의 예비 렌디션의 결합을 프로세싱(도 7c에 설명된 바와 같이, 제 2 품질 레벨에서 나머지 데이터의 예비 렌디션을 상대적 나머지 데이터의 세트와 결합하는 것과 같음); 및 신호의 제 2 렌디션을 생성하기 위하여 제 2 품질 레벨에서 재생성된 나머지 데이터를 신호의 제 1 렌디션에 적용.
비제한적 실시예는 추가로: 신호의 제 2 렌디션에 기초하여, 신호의 제 3 렌디션을 생성 ― 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 신호의 예비 렌디션임 ―; 인코드된 데이터의 제 2 부분들을 변환된 나머지 데이터의 새로운 세트로 디코딩; 나머지 데이터의 새로운 세트를 생성하기 위하여 변환된 나머지 데이터의 새로운 세트, 신호의 제 2 렌디션, 및 나머지 데이터의 새로운 세트를 적용; 및 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터의 새로운 세트를 신호의 제 3 렌디션에 적용하는 것을 포함한다.
도 8은 본원의 실시예들에 따른 임의의 기능성을 실행할 예시적인 컴퓨터 아키텍처를 예시하는 도면이다. 하나 또는 그 초과의 상이한 프로세싱 기술들 중 임의의 기술은 컴퓨터 프로세서 하드웨어상에서 소프트웨어 코드의 실행을 통해 구현될 수 있다.
비제한적 실시예에서, 컴퓨터 시스템(850)은 셋톱 박스 또는 다른 적당한 리소스에 위치된다. 본원의 실시예들은 본원에 설명된 바와 같이 컴퓨터 시스템(850)이 인코드된 데이터를 디코드하고 하나 또는 그 초과의 상이한 보다 높은 품질 레벨들 중 임의의 레벨에서 신호를 재구성하게 한다. 비제한적 예에 의해, 컴퓨터 시스템(850)의 컴퓨터 프로세서 하드웨어는 다른 레거시 셋톱 박스들이 제 1 품질 레벨에서만 디코드하는(예를 들어, SD 비디오 생성) 동일한 데이터 스트림을 프로세싱함으로써 제 2 품질 레벨(예를 들어, HD 비디오)을 생성하도록 구성될 수 있다.
예를 들어, 보다 구체적으로 도시된 바와 같이, 본 예의 컴퓨터 시스템(850)(예를 들어, 컴퓨터 프로세서 하드웨어)은 디지털 정보가 저장되고 리트리브되는 비일시적 타입의 미디어(즉, 임의의 타입의 하드웨어 스토리지 매체) 같은 컴퓨터 판독가능 스토리지 미디어(812)를 커플링하는 상호연결부(811)를 포함할수 있다. 컴퓨터 시스템(850)은 프로세서(813)(즉, 추가로 공동 위치된 하나 또는 그 초과의 프로세서 또는 다르게 위치된 프로세서 디바이스들 같은 컴퓨터 프로세서 하드웨어(106, 107, 등), I/O 인터페이스(814), 통신 인터페이스(817), 등을 더 포함할 수 있다.
컴퓨터 프로세서 하드웨어(즉, 프로세서(813))는 단일 위치에 위치될 수 있거나 다수의 위치들 사이에 분배될 수 있다.
자신의 이름이 제안하는 바와 같이, I/O 인터페이스(814)는 저장소(880), 제어 디바이스들(제어기(892) 같은), 하나 또는 그 초과의 디스플레이 스크린들, 등 같은 리소스들에 연결을 제공한다. 컴퓨터 판독가능 스토리지 매체(812)는 메모리, 광학 스토리지, 하드 드라이브, 플로피 디스크, 등 같은 데이터를 저장하기 위한 임의의 하드웨어 스토리지 디바이스일 수 있다. 일 실시예서, 컴퓨터 판독가능 스토리지 매체(812)는 명령들 및/또는 데이터를 저장한다.
통신 인터페이스(817)는 컴퓨터 시스템(850) 및 프로세서 리소스(813)가 임의의 네트워크들(190) 같은 리소스를 통해 통신하게 한다. I/O 인터페이스(814)는 프로세서 리소스(813)가 로컬 또는 원격 위치로부터 데이터를 액세스하게 하고, 개별 디스플레이 스크린을 제어하게 하고, 입력을 수신하게 하고, 등등을 한다.
도시된 바와 같이, 컴퓨터 판독가능 스토리지 미디어(812)는 프로세서(813)에 의해 실행된 디코더 애플리케이션(840-1)(예를 들어, 소프트웨어, 펌웨어, 등)으로 인코드될 수 있다. 디코더 애플리케이션(840-1)은 본원에 논의된 바와 같은 동작들 중 임의의 동작을 구현할 명령들을 포함하도록 구성될 수 있다.
일 실시예의 동작 동안, 프로세서(813)는 컴퓨터 판독가능 스토리지 매체(812) 상에 저장된 디코더 애플리케이션(840-1)의 명령들을 시작, 동작, 실행, 해석 또는 그렇지 않으면 수행하도록 상호연결(811)의 사용을 통해 컴퓨터 판독가능 스토리지 미디어(812)에 액세스한다.
디코더 애플리케이션(840-1)의 실행은 프로세스 리소스(813)의 디코더 프로세서(840-2) 같은 프로세싱 기능을 생성한다. 다른 말로, 프로세서 리소스(813)와 연관된 디코더 프로세스(840-2)는 컴퓨터 시스템(850) 내의 프로세서 리소스(813) 내 또는 상에서 디코더 애플리케이션(840-1)을 실행하는 하나 또는 그 초과의 양상들을 나타낸다.
당업자들은, 컴퓨터 시스템(850)이 디코더 애플리케이션(840-1)을 실행하기 위하여 하드웨어 리소스들의 할당 및 사용을 제어하는 오퍼레이팅 시스템 같은 다른 프로세스들 및/또는 소프트웨어 및 하드웨어 컴포넌트들을 포함할 수 있다. 상이한 실시예들에 따라, 컴퓨터 시스템이 셋톱 박스, 액세스 포인트, 모바일 컴퓨터, 개인 컴퓨터 시스템, 무선 디바이스, 기지국, 폰 디바이스, 데스크톱 컴퓨터, 랩톱, 노트북, 넷북 컴퓨터, 메인프레임 컴퓨터 시스템, 핸드헬드 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 애플리케이션 서버, 스토리지 디바이스, 컴퓨터 전자장치 디바이스 이를테면, 카메라, 캠코더, 셋톱 박스, 모바일 디바이스, 비디오 게임 콘솔, 핸드헬드 비디오 게임 디바이스, 주변 디바이스, 이를테면 스위치, 모뎀, 라우터, 등, 또는 일반적으로 임의의 타입의 컴퓨팅 또는 전자 디바이스(이들로 제한되지 않음)을 포함하는 다양한 타입들의 디바이스들 중 임의의 것일 수 있다는 것이 주의된다.
컴퓨터 시스템(850)은 네트워크 환경의 임의의 위치 또는 다수의 위치들에 상주할 수 있다. 컴퓨터 시스템(850)은 본원에 논의된 바와 같은 기능성을 구현하기 위하여 네트워크 환경에서 임의의 적당한 리소스에 포함될 수 있다.
상이한 리소스들에 의해 지원되는 기능은 도 9, 도 10 및 도 11의 흐름도들을 통해 지금 논의될 것이다. 하기 흐름도들의 단계들이 임의의 적당한 순서로 실행될 수 있다는 것이 주의된다.
도 9는 실시예들에 따른 예시적 방법을 예시하는 흐름도(900)이다. 상기 논의된 바와 같은 개념들에 관하여 몇몇 오버랩이 있을 것이라는 것이 주의된다.
프로세싱 블록(910)에서, 컴퓨터 프로세서 하드웨어는 데이터 스트림을 인코드된 데이터의 제 1 부분(181)들 및 인코드된 데이터의 제 2 부분(182)들로 파스한다.
프로세싱 블록(920)에서, 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 1 부분들(181)을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더(130)를 구현한다.
프로세싱 블록(930)에서, 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분들(182)을 재구성 데이터(184)로 디코드하도록 제 2 디코더(120)를 구현하고, 재구성 데이터(184)는 신호의 제 1 렌디션을 수정하는 방법을 특정한다.
프로세싱 블록(940)에서, 컴퓨터 프로세서 하드웨어는 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터(184)를 신호의 제 1 렌디션에 적용한다.
도 10은 실시예들에 따른 예시적 방법을 예시하는 흐름도(1000)이다. 상기 논의된 바와 같은 개념들에 관하여 몇몇 오버랩이 있을 것이라는 것이 주의된다.
프로세싱 블록(1010)에서, 컴퓨터 프로세서 하드웨어는 데이터 스트림을 인코드된 데이터의 제 1 부분들, 인코드된 데이터의 제 2 부분들, 및 인코드된 데이터의 제 3 부분들로 파스한다.
프로세싱 블록(1020)에서, 컴퓨터 프로세서 하드웨어는 제 1 품질 레벨에서 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더를 구현한다.
프로세싱 블록(1030)에서, 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 2 부분들을 제 1 재구성 데이터로 디코드하도록 제 2 디코더를 구현하고, 제 1 재구성 데이터는 제 2 품질 레벨에서 신호의 제 1 렌디션을 신호의 제 2 렌디션으로 수정하는 방법을 특정하고, 품질의 제 2 레벨은 제 1 품질 레벨보다 크다.
프로세싱 블록(1040)에서, 컴퓨터 프로세서 하드웨어는 제 2 품질 레벨에서 신호의 제 2 렌디션을 생성하기 위하여 제 1 재구성 데이터 및 신호의 제 1 렌디션을 프로세스한다.
프로세싱 블록(1050)에서, 컴퓨터 프로세서 하드웨어는 인코드된 데이터의 제 3 부분들을 제 2 재구성 데이터로 디코드하도록 제 3 디코더를 구현하고, 제 2 재구성 데이터는 제 3 품질 레벨에서 신호의 제 2 렌디션을 신호의 제 3 렌디션으로 수정하는 방법을 특정하고, 제 3 품질 레벨은 제 2 품질 레벨보다 크다.
프로세싱 블록(106)에서, 컴퓨터 프로세서 하드웨어는 제 3 품질 레벨에서 신호의 제 3 렌디션을 생성하기 위하여 신호의 제 2 렌디션 및 제 2 재구성 데이터를 프로세스한다.
도 11은 실시예들에 따른 예시적 방법을 예시하는 흐름도(1100)이다. 상기 논의된 바와 같은 개념들에 관하여 몇몇 오버랩이 있을 것이 주의된다.
프로세싱 블록(1110)에서, 컴퓨터 프로세서 하드웨어는 수신된 데이터 스트림을 디코드된 데이터 및 인코드된 데이터로 파스하고, 디코드된 데이터는 신호의 제 1 렌디션과 연관된 세팅들을 특정한다.
프로세싱 블록(1120)에서, 컴퓨터 프로세서 하드웨어는 신호의 제 1 렌디션을 생성하기 위하여 디코드된 데이터를 활용한다.
프로세싱 블록(1130)에서, 컴퓨터 프로세서 하드웨어는 인코드된 데이터를 재구성 데이터로 디코드하도록 디코더를 구현하고, 재구성 데이터는 신호의 제 1 렌디션을 수정할 방법을 특정한다.
프로세싱 블록(1140)에서, 컴퓨터 프로세서 하드웨어는 신호의 제 2 렌디션을 생성하기 위하여 재구성 데이터를 신호의 제 1 렌디션에 적용한다.
도 12a는 본원의 실시예들에 따른 비제한적 예시 인코딩 방법을 예시한다.
본래 비디오 신호(100)는 다운-컨버터(1200)에 의해 프로세스되어, 다운-컨버트된 신호(1220)를 생성한다. 비제한적 실시예에서, 다운-컨버트된 신호(1220)는 보다 낮은 디스플레이 엘리먼트 해상도에서의 신호이다.
레거시 인코더(1240)는 다운-컨버트된 신호(1220)를 프로세스하여, 인코드된 데이터(1250)를 생성한다. 비제한적 실시예에서, 레거시 인코더(1240)는 MPEG(Motion Picture Expert Group) 인코딩 방법에 따라 다운-컨버트된 신호를 인코드한다.
재구성 데이터(1230)의 생성기는 본래의 신호(100) 및 레거시 인코더(1240)에 의해 인코드된 신호의 재구성된 렌디션(레거시 인코더(1240)로부터 재구성된 렌디션을 수신하거나, 도 12a에 예시된 바와 같이 인코드된 데이터(1250)를 수신 및 디코딩함으로써 얻어짐)을 프로세스하여, 인코드된 데이터(1260)(인코드된 강화 데이터 같은)를 생성한다.
결합기(1270)는 인코드된 데이터(1250)(인코드된 데이터의 제 1 부분들) 및 인코드된 데이터(1260)(인코드된 데이터의 제 2 부분들)를 수신하고, 이들을 데이터 스트림(115)으로 결합한다. 비제한적 실시예에서, 데이터 스트림(115)은 MPEG-2 전송 스트림으로서 조직화되고, 인코드된 데이터의 제 2 부분들은 인코드된 데이터의 제 1 부분들과 상이한 패킷 식별자(PID)에 연관된다.
도 12b는 본원의 실시예들에 따른 비제한적 예시 인코딩 방법을 예시한다.
본래의 비디오 신호(100)(울트라HD 비디오 신호 같은)는 다운-컨버터(1200)에 의해 프로세스되어, 다운-컨버트된 신호(1220)(본래 비디오 신호의 SD 렌디션 같은) 및 다운-컨버트된 신호(1225)(본래 비디오 신호의 HD 렌디션 같은)를 생성한다.
레거시 인코더(1240)는 다운-컨버트된 신호(1220)를 프로세스하여, 인코드된 데이터(1250)를 생성한다. 비제한적 실시예에서, 레거시 인코더(1240)는 MPEG(Motion Picture Expert Group) 인코딩 방법에 따라 다운-컨버트된 신호를 인코드한다.
HD 재구성 데이터(1230)의 생성기는 신호(1225)의 다운-컨버트된 HD 렌디션 및 레거시 인코더(1240)에 의해 인코드된 신호의 재구성된 렌디션(레거시 인코더(1240)로부터 재구성된 렌디션을 수신함으로써 또는 - 도 12b에 예시된 바와 같이 - 인코드된 데이터(1250)를 수신 및 디코딩함으로써 얻어짐)을 프로세스하여, 인코드된 데이터(1260)(인코드된 HD 강화 데이터 같은)를 생성한다.
울트라HD 재구성 데이터(1237)의 생성기는 본래의 신호(100) 및 1230으로부터 수신된 HD 신호(1235)의 재구성된 렌디션을 프로세스하여, 인코드된 데이터(1265)(인코드된 울트라HD 강화 데이터 같은)를 생성한다.
결합기(1271)는 인코드된 데이터(1250)(인코드된 데이터의 제 1 부분들), 인코드된 데이터(1260)(인코드된 데이터의 제 2 부분들) 및 인코드된 데이터(1265)(인코드된 데이터의 제 3 부분들)를 수신하고, 이들을 데이터 스트림(115)으로 결합한다. 비제한적 실시예에서, 데이터 스트림(115)은 MPEG-2 전송 스트림으로서 조직화되고, 인코드된 데이터의 제 2 부분들 및 인코드된 데이터의 제 3 부분들은 인코드된 데이터의 제 1 부분들과 PID와 상이한 특정 패킷 식별자(PID)들에 연관된다.
다시, 본원의 기술들이 수신된 데이터를 인코딩 및 디코딩하기에 매우 적합하다는 것이 주의된다. 그러나, 본원의 실시예들이 그런 애플리케이션들에 사용하도록 제한되지 않고 본원이 논의된 기술들이 또한 다른 애플리케이션들에 매우 적합하다는 것이 주의되어야 한다.
본원을 설명하는 설명에 기초하여, 다수의 특정 상세들은 청구된 청구 대상의 완전한 이해를 제공하기 위하여 설명되었다. 그러나, 청구된 청구 대상이 이들 특정 상세들 없이 실시될 수 있다는 것이 당업자들에 의해 이해될 것이다. 다른 경우들에서, 당업자에 의해 알려진 방법들, 장치들, 시스템들, 등은 청구된 청구 대상을 모호하게 하지 않기 위하여 상세히 설명되지 않았다. 상세한 설명의 몇몇 부분들은 컴퓨터 메모리 같은 컴퓨팅 시스템 메모리 내에 저장된 데이터 비트들 또는 이진 디지털 신호들에 대한 동작들의 알고리즘 또는 심볼 표현들 측면에서 제시되었다. 이들 알고리즘 설명들 또는 표현들은 자신의 작업 핵심을 다른 당업자들에게 전달하기 위하여 데이터 프로세싱 분야들의 당업자들에 의해 사용된 기술들의 예들이다. 본원에 설명된 바와 같은 알고리즘은 일반적으로 원해진 결과를 유도하는 동작들 또는 유사한 프로세싱의 일관성 있는 시퀀스일 것으로 고려된다. 이런 맥락에서, 동작들 또는 프로세싱은 물리적 수량들의 물리적 조작을 수반한다. 통상적으로, 비록 반드시는 아니지만, 그런 수량들은 저장, 전달, 결합, 비교 또는 그렇지 않으면 조작될 수 있는 전기 또는 자기 신호들의 형태를 취할 수 있다. 가끔은, 주로 공통 용법으로 인해, 그런 신호들을 비트들, 데이터, 값들, 엘리먼트들, 심볼들, 문자들, 용어들, 수들, 번호들 등으로 지칭하는 것이 편리하였다. 그러나, 이들 및 유사한 용어들 모두가 적당한 물리적 양들과 연관되고 단지 편리한 라벨들인 것이 이해되어야 한다. 특정하게 다르게 언급되지 않으면, 다음 논의에서 명백한 바와 같이, 본 명세서 도처에서 "프로세싱", "컴퓨팅", "계산", "결정" 등 같은 용어들을 사용한 논의들이 메모리들, 레지스터들, 또는 다른 정보 스토리지 디바이스들, 전송 디바이스들, 또는 컴퓨팅 플랫폼의 디스플레이 디바이스들 내의 물리적 전자 또는 자기 양들로서 표현된 데이터를 조작 또는 변환하는 컴퓨터 또는 유사한 전자 컴퓨팅 디바이스 같은 컴퓨팅 플랫폼의 동작들 또는 프로세스들을 지칭하는 것이 인식된다.
본 발명이 자신의 바람직한 실시예들을 참조하여 특정하게 도시되고 설명되었지만, 형태 및 상세들의 다양한 변화들이 첨부된 청구항들에 의해 정의된 바와 같이 본 출원의 사상 및 범위에서 벗어나지 않고 본원에서 이루어질 수 있다는 것이 당업자들에 의해 이해될 것이다. 그런 변형들은 본 출원의 범위에 의해 커버되도록 의도된다. 이와 같이, 본 출원의 실시예들의 상기 설명은 제한으로 의도되지 않는다. 오히려, 본 발명에 대한 임의의 제한들은 다음 청구항들에서 제시된다.
Claims (56)
- 방법으로서,
컴퓨터 프로세서 하드웨어를 통하여,
데이터 스트림을 인코드된 데이터의 제 1 부분들 및 인코드된 데이터의 제 2 부분들로 파싱(parsing)하는 단계;
상기 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션(rendition)으로 디코드하도록 제 1 디코더를 구현하는 단계;
상기 인코드된 데이터의 제 2 부분들을 재구성 데이터로 디코드하도록 제 2 디코더를 구현하는 단계 ― 상기 재구성 데이터는 상기 신호의 제 1 렌디션을 수정하는 방법을 특정함 ―; 및
상기 신호의 제 2 렌디션을 생성하도록 상기 재구성 데이터를 상기 신호의 제 1 렌디션에 적용하는 단계
를 포함하는,
방법. - 제 1 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 MPEG(Moving Pictures Experts Group) 포맷에 따라 디코드되고; 그리고
상기 인코드된 데이터의 제 2 부분들로부터 유도된 상기 재구성 데이터는 계층 인코딩 포맷(hierarchical encoding format)에 따라 디코드되는,
방법. - 제 1 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 압축 해제된 비디오 데이터를 포함하고; 그리고
상기 인코드된 데이터의 제 2 부분들로부터 유도된 상기 재구성 데이터는 계층 인코딩 포맷에 따라 디코드되는,
방법. - 제 2 항에 있어서,
상기 인코드된 데이터의 제 2 부분들은 압축된 데이터이고; 그리고
상기 제 2 디코더를 구현하는 단계는 상기 재구성 데이터를 생성하도록 업샘플링 동작들을 상기 압축된 데이터에 적용하는 단계를 포함하고, 적용된 업샘플링 동작들은 보다 낮은 해상도 디스플레이 엘리먼트 세팅들을 보다 높은 해상도 디스플레이 엘리먼트 세팅들로 컨버팅하는,
방법. - 제 1 항에 있어서,
상기 컴퓨터 프로세서 하드웨어는 제 1 컴퓨터 프로세서 하드웨어이고,
제 2 컴퓨터 프로세서 하드웨어를 통하여,
상기 데이터 스트림을 수신하는 단계;
상기 신호의 제 1 렌디션으로 상기 데이터 스트림에서 수신된 상기 인코드된 데이터의 제 1 부분들만의 디코딩을 개시하는 단계; 및
디스플레이 스크린상에 상기 신호의 제 1 렌디션의 디스플레이를 개시하는 단계
를 포함하는,
방법. - 제 5 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 레거시 디코더 컴퓨터 프로세서 하드웨어와 호환 가능한 디코딩 방법에 따라 디코드되고, 상기 데이터 스트림은, 상기 인코드된 데이터의 제 2 부분들이 상기 레거시 디코더 컴퓨터 프로세서 하드웨어에 의해 사용되지 않도록 조직화되고; 그리고
상기 레거시 디코더 컴퓨터 프로세서 하드웨어는: ⅰ) 상기 인코드된 데이터의 제 1 부분들만의 디코딩을 개시하고, 그리고 ⅱ) 개별 디스플레이 스크린상에 상기 신호의 제 1 렌디션의 디스플레이를 개시하는,
방법. - 제 6 항에 있어서,
상기 데이터 스트림은 HDMI 신호이고, 상기 인코드된 데이터의 제 1 부분들은 압축 해제된 비디오 데이터인,
방법. - 제 6 항에 있어서,
상기 데이터 스트림은 디스플레이포트 인터페이스(DisplayPort) 인터페이스를 통해 수신되고, 여기서 상기 인코드된 데이터의 제 1 부분들은 압축 해제된 비디오 데이터인,
방법. - 제 6 항에 있어서,
상기 데이터 스트림은 상기 데이터의 제 1 부분들 및 상기 데이터의 제 2 부분들을 포함하는 MPEG(Moving Pictures Experts Group) 전송 스트림인,
방법. - 제 1 항에 있어서,
상기 신호는 다수의 디스플레이 엘리먼트들을 포함하고; 그리고
상기 신호의 제 2 렌디션은 상기 신호의 제 1 렌디션보다 높은 품질 레벨을 가지는,
방법. - 제 10 항에 있어서,
상기 신호의 제 2 렌디션은 상기 신호의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도를 가지는,
방법. - 제 1 항에 있어서,
상기 인코드된 데이터의 제 2 부분들을 디코드하도록 상기 제 2 디코더를 구현하는 단계는:
상기 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 1 품질 레벨에서 나머지 데이터의 제 1 세트를 디코딩하는 단계;
상기 신호의 제 1 렌디션을 수정하고 상기 신호의 제 2 렌디션을 생성하도록 상기 나머지 데이터의 제 1 세트를 활용하는 단계;
상기 신호의 제 2 렌디션에 적어도 부분적으로 기초하여, 상기 신호의 제 3 렌디션을 생성하는 단계 ― 상기 신호의 제 3 렌디션은 상기 신호의 제 2 렌디션의 해상도보다 높은 해상도를 가짐 ―;
상기 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 2 품질 레벨에서 나머지 데이터의 제 2 세트를 디코딩하는 단계;
상기 신호의 제 3 렌디션을 수정하고 상기 신호의 제 4 렌디션을 생성하도록 상기 나머지 데이터의 제 2 세트를 활용하는 단계
를 포함하는,
방법. - 제 12 항에 있어서,
상기 신호의 제 4 렌디션에 기초하여, 상기 신호의 제 5 렌디션을 생성하는 단계 ― 상기 신호의 제 5 렌디션은 상기 신호의 제 4 렌디션의 해상도보다 높은 해상도를 가짐 ―;
상기 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 제 3 품질 레벨에서 나머지 데이터의 제 3 세트를 디코딩하는 단계; 및
상기 신호의 제 5 렌디션을 수정하고 상기 신호의 제 6 렌디션을 생성하도록 상기 나머지 데이터의 제 3 세트를 활용하는 단계
를 더 포함하는,
방법. - 제 13 항에 있어서,
상기 신호의제 1 렌디션은 인터레이스된(interlaced) 비디오 신호이고, 상기 신호의 제 6 렌디션은 프로그레시브(progressive) 비디오 신호인,
방법. - 제 1 항에 있어서,
상기 인코드된 데이터의 제 2 부분들을 디코드하도록 상기 제 2 디코더를 구현하는 단계는:
상기 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 업샘플링 동작들을 식별하는 단계; 및
상기 신호의 제 3 렌디션을 생성하기 위하여 상기 업샘플링 동작들을 상기 신호의 제 2 렌디션에 적용하는 단계
를 포함하고,
상기 신호의 제 3 렌디션은 상기 신호의 제 2 렌디션의 디스플레이 엘리먼트 해상도보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가지는,
방법. - 제 15 항에 있어서,
상기 인코드된 데이터의 제 2 부분들에 의해 특정된 바와 같이 업샘플링 동작들을 식별하는 단계는:
업샘플링 커널(kernel)의 특정 계수들에 대응하는 파라미터들을 디코딩하는 단계;
상기 디코드된 파라미터들에 적어도 부분적으로 기초하여, 상기 신호의 제 3 렌디션의 부분에 대응하는 업샘플링 커널을 생성하는 단계; 및
상기 신호의 제 3 렌디션의 부분을 생성하기 위하여 상기 업샘플링 커널을 상기 신호의 제 2 렌디션의 일부에 적용하는 단계
를 포함하는,
방법. - 제 16 항에 있어서,
상기 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서의 상기 신호의 예비 렌디션이고,
상기 제 2 디코더를 구현하는 단계는 상기 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 상기 신호의 예비 렌디션을 수정하도록 상기 재구성 데이터를 활용하는 단계를 더 포함하고, 상기 신호의 수정된 예비 렌디션은 상기 신호의 예비 렌디션과 동일한 해상도이지만 보다 품질 레벨을 가지는,
방법. - 제 1 항에 있어서,
상기 재구성 데이터는 적어도 나머지 데이터의 제 1 세트 및 나머지 데이터의 제 2 세트를 포함하고, 상기 나머지 데이터의 제 1 세트는 제 1 디스플레이 엘리먼트 해상도에서 상기 신호의 렌디션을 수정하는 방법을 특정하고, 상기 나머지 데이터의 제 2 세트는 제 2 디스플레이 엘리먼트 해상도에서 상기 신호의 렌디션을 수정하는 방법을 특정하고, 상기 제 2 디스플레이 엘리먼트 해상도는 상기 제 1 디스플레이 엘리먼트 해상도보다 큰,
방법. - 제 18 항에 있어서,
상기 신호의 제 1 렌디션을 수정하고 상기 신호의 제 2 렌디션을 생성하도록 상기 나머지 데이터의 제 1 세트를 활용하는 단계;
상기 신호의 제 2 렌디션에 기초하여, 상기 신호의 제 3 렌디션을 생성하는 단계 ― 상기 신호의 제 3 렌디션은 상기 제 2 디스플레이 엘리먼트 해상도에서 상기 신호의 예비 렌디션임 ―;
상기 신호의 제 3 렌디션을 수정하고 상기 제 2 디스플레이 엘리먼트 해상도에서 상기 신호의 제 4 렌디션을 생성하도록 상기 나머지 데이터의 제 2 세트를 활용하는 단계
를 더 포함하는,
방법. - 제 19 항에 있어서,
상기 나머지 데이터의 제 2 세트는 변환된 나머지 데이터로부터 생성되고, 상기 방법은,
상기 인코드된 데이터의 제 2 부분들을 양자화된 변환된 나머지 데이터로 디코딩하는 단계;
변환된 나머지 데이터를 생성하도록 상기 양자화된 나머지 데이터를 역양자화하는 단계;
나머지 데이터를 재생성하기 위하여 상기 변환된 나머지 데이터, 상기 신호의 제 2 렌디션, 및 상기 신호의 제 3 렌디션을 프로싱하는 단계; 및
상기 신호의 제 4 렌디션을 생성하기 위하여 재생성된 나머지 데이터를 상기 신호의 제 3 렌디션에 적용하는 단계
를 포함하는,
방법. - 제 18 항에 있어서,
상기 신호는 비디오 신호이고;
나머지 데이터의 세트는 상기 신호의 다수의 프레임들에 걸쳐 시간 상속(temporal inheritance)에 따라 생성되고, 상기 방법은:
상이한 프레임에 대해 디코드된 나머지 데이터에 적어도 부분적으로 기초하여 프레임에 대한 나머지 데이터를 디코딩하는 단계를 포함하는,
방법. - 제 1 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 상기 데이터 스트림의 상기 인코드된 데이터의 제 2 부분들 사이에서 인터리브(interleave)되고; 그리고
상기 데이터 스트림을 상기 인코드된 데이터의 제 1 부분들 및 상기 인코드된 데이터의 제 2 부분들로 파싱하는 단계는 상기 데이터의 제 1 부분들 및 상기 데이터의 제 2 부분들을 식별하기 위하여 상기 데이터 스트림의 태그(tag)를 활용하는 단계를 포함하는,
방법. - 제 22 항에 있어서,
상기 데이터 스트림은 상기 인코드된 데이터의 제 1 부분들에 제 1 패킷 식별자(PID)가 할당되고 상기 인코드된 데이터의 제 2 부분들에 제 2 패킷 식별자(PID)가 할당되는 MPEG 전송 스트림으로서 조직화되는,
방법. - 제 22 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 MPEG(Moving Pictures Experts Group) h.264 인코딩 포맷에 따라 인코드되는,
방법. - 제 22 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 MPEG2(Moving Pictures Experts Group2) 인코딩 포맷에 따라 인코드되는,
방법. - 제 1 항에 있어서,
상기 신호는 디스플레이 엘리먼트들의 다수의 프레임들을 포함하는 비디오 신호이고, 상기 방법은:
상기 인코드된 데이터의 제 1 부분들 및 상기 인코드된 데이터의 제 2 부분들 사이의 타이밍 연관들을 식별하는 단계 ― 상기 타이밍 연관들은 상기 재구성 데이터가 상기 신호의 제 1 렌디션에서 디스플레이 엘리먼트들의 다수의 프레임들 중 어느 것에 관련되는지를 가리킴 ―를 더 포함하고; 그리고
상기 신호의 제 2 렌디션을 생성하도록 상기 재구성 데이터를 상기 신호의 제 1 렌디션에 적용하는 단계는: 상기 타이밍 연관들에 따라, 상기 신호의 제 1 렌디션을 상기 신호의 제 2 렌디션에 시간적으로 업샘플하기 위해 상기 재구성 데이터를 활용하는 단계를 포함하고, 상기 신호의 제 2 렌디션은 상기 신호의 제 1 렌디션보다 큰 수의 디스플레이 엘리먼트들의 프레임들을 포함하는,
방법. - 제 10 항에 있어서,
상기 신호는 비디오 신호이고;
상기 신호의 제 1 렌디션은 제 1 프레임 레이트를 가지며;
상기 신호의 제 2 렌디션은 제 2 프레임 레이트를 가지며, 상기 제 2 프레임 레이트는 상기 제 1 프레임 레이트보다 크고, 상기 방법은:
상기 제 1 프레임 레이트에서 상기 신호의 제 1 렌디션에 기초하고 상기 재구성 데이터에 의해 특정된 바와 같이, 상기 제 2 프레임 레이트에서 상기 신호의 예비 렌디션을 생성하는 단계;
상기 재구성 데이터에 의해 특정된 바와 같이 나머지 데이터의 세트를 생성하는 단계;
상기 신호의 제 2 렌디션을 생성하도록 상기 제 2 프레임 레이트에서 상기 나머지 데이터의 세트를 상기 신호의 예비 렌디션에 적용하는 단계
를 포함하는,
방법. - 제 1 항에 있어서,
상기 재구성 데이터를 적용하는 단계는:
상기 재구성 데이터에 의해 특정된 바와 같이, 상기 신호의 제 2 렌디션을 상기 신호의 제 3 렌디션으로 공간적으로 업샘플링하는 단계를 포함하고, 상기 신호의 제 3 렌디션은 상기 신호의 제 2 렌디션보다 높은 디스플레이 엘리먼트 해상도를 가지는,
방법. - 제 1 항에 있어서,
상기 재구성 데이터는 다수의 디스플레이 엘리먼트 해상도들에 따라 인코드된 나머지 데이터의 계층을 포함하고, 상기 제 2 디코더는 상기 나머지 데이터의 계층을 재생성하기 위하여 업샘플링 동작들을 상기 인코드된 데이터의 제 2 부분들에 적용하는 단계를 포함하는,
방법. - 제 29 항에 있어서,
상기 신호는 비디오 신호이고 상기 나머지 데이터의 계층은 상기 신호의 디스플레이 엘리먼트들의 다수의 프레임들에 걸쳐 나머지들의 시간 상속에 따라 생성되고, 상기 방법은:
상기 나머지 데이터의 계층의 주어진 레벨에서, 제 2 프레임에 대해 디코드된 나머지 데이터에 적어도 부분적으로 기초하여 제 1 프레임에 대한 나머지 데이터를 디코딩하는 단계를 포함하고, 상기 제 2 프레임은 상기 제 1 프레임과 상이한 시점에 대응하는,
방법. - 제 29 항에 있어서,
상기 나머지 데이터의 계층은 상기 신호의 디스플레이 엘리먼트들의 주어진 프레임 내에서 나머지들의 공간 상속에 따라 생성되고, 상기 방법은:
나머지 데이터의 계층의 주어진 품질 레벨에서, 나머지 데이터의 계층의 보다 낮은 품질 레벨에 대해 디코드된 재구성 데이터에만 기초하여 주어진 프레임의 부분에 대해 나머지 데이터를 디코딩하는 단계를 포함하는,
방법. - 제 29 항에 있어서,
나머지 데이터의 베이스 세트(base set)로부터 나머지 데이터의 제 1 세트를 유도하는 단계;
상기 나머지 데이터의 베이스 세트로부터 나머지 데이터의 제 2 세트를 유도하는 단계 ― 상기 나머지 데이터의 제 1 세트는 상기 나머지 데이터의 제 2 세트와 상이함 ―;
상기 신호의 제 2 렌디션에서 대응하는 제 1 시간 샘플을 생성하기 위하여 상기 나머지 데이터의 제 1 세트를 상기 신호의 제 1 렌디션의 제 1 시간 샘플에 적용하는 단계; 및
상기 신호의 제 2 렌디션에서 대응하는 제 2 시간 샘플을 생성하기 위하여 상기 나머지 데이터의 제 2 세트를 상기 신호의 제 1 렌디션의 제 2 시간 샘플에 적용하는 단계
를 더 포함하는,
방법. - 제 32 항에 있어서,
상기 방법은:
상기 신호의 제 2 렌디션에 기초하여, 상기 신호의 제 3 렌디션을 생성하는 단계 ― 상기 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 상기 신호의 예비 렌디션임 ―;
나머지 데이터의 제 2 베이스 세트를 디코딩하는 단계;
상기 나머지 데이터의 제 2 베이스 세트로부터 나머지 데이터의 제 3 세트를 유도하는 단계;
상기 나머지 데이터의 제 2 베이스 세트로부터 나머지 데이터의 제 4 세트를 유도하는 단계 ― 상기 나머지 데이터의 제 3 세트는 상기 나머지 데이터의 제 4 세트와 상이함 ―;
상기 신호의 제 4 렌디션에서 대응하는 제 1 시간 샘플을 생성하기 위하여 상기 나머지 데이터의 제 3 세트를 상기 신호의 제 3 렌디션의 제 1 시간 샘플에 적용하는 단계; 및
상기 신호의 제 4 렌디션에서 대응하는 제 2 시간 샘플을 생성하기 위하여 상기 나머지 데이터의 제 4 세트를 상기 신호의 제 3 렌디션의 제 2 시간 샘플에 적용하는 단계
를 더 포함하는,
방법. - 제 1 항에 있어서,
상기 인코드된 데이터의 제 2 부분들을 변환된 나머지 데이터로 디코딩하는 단계;
양자화된 나머지 데이터를 생성하기 위해 상기 변환된 나머지 데이터를 프로세싱하는 단계;
나머지 데이터를 재생성하기 위하여 상기 양자화된 나머지 데이터를 역양자화하는 단계; 및
상기 신호의 제 2 렌디션을 생성하기 위하여 상기 재생성된 나머지 데이터를 상기 신호의 제 1 렌디션에 적용하는 단계
를 더 포함하는,
방법. - 제 1 항에 있어서,
제 1 품질 레벨에서 상기 인코드된 데이터의 제 2 부분들을 나머지 데이터로 디코딩하는 단계;
제 1 품질 레벨에서 상기 나머지 데이터에 기초하여, 상기 제 2 품질 레벨에서 나머지 데이터의 예비 렌디션을 생성하는 단계 ― 상기 제 2 품질 레벨은 상기 제 1 품질 레벨보다 높음 ―;
상기 인코드된 데이터의 제 2 부분들을 양자화된 변환된 나머지 데이터로 디코딩하는 단계;
변환된 나머지 데이터를 생성하기 위하여 상기 양자화된 변환된 나머지 데이터를 역양자화하는 단계;
상기 제 2 품질 레벨에서 나머지 데이터를 재생성하기 위하여 상기 변환된 나머지 데이터, 상기 제 1 품질 레벨에서의 나머지 데이터, 및 제 2 품질 레벨에서의 나머지 데이터의 예비 렌디션의 결합을 프로세싱하는 단계; 및
상기 신호의 제 2 렌디션을 생성하기 위하여 상기 제 2 품질 레벨에서 재생성된 나머지 데이터를 상기 신호의 제 1 렌디션에 적용하는 단계
를 더 포함하는,
방법. - 제 1 항에 있어서,
상기 방법은:
상기 신호의 제 2 렌디션에 기초하여, 상기 신호의 제 3 렌디션을 생성하는 단계 ― 상기 신호의 제 3 렌디션은 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 신호의 예비 렌디션임 ―;
상기 인코드된 데이터의 제 2 부분들을 변환된 나머지 데이터의 세트로 디코딩하는 단계;
나머지 데이터의 세트를 생성하기 위하여 변환된 나머지 데이터의 세트, 상기 신호의 제 2 렌디션, 및 상기 신호의 제 3 렌디션의 결합을 프로세싱하는 단계; 및
상기 신호의 제 4 렌디션을 생성하기 위하여 상기 나머지 데이터의 세트를 상기 신호의 제 3 렌디션에 적용하는 단계
를 더 포함하는,
방법. - 제 1 항에 있어서,
상기 신호의 제 3 렌디션을 생성하기 위하여 업샘플링 동작을 상기 신호의 제 2 렌디션에 적용하는 단계를 더 포함하고, 상기 신호의 제 3 렌디션은 상기 신호의 제 2 렌디션보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가지며; 그리고
상기 업샘플링 동작의 적용은 상기 신호의 제 2 렌디션에서 다수의 디스플레이 엘리먼트들에 대한 세팅들에 기초하여 상기 신호의 제 3 렌디션에서 디스플레이 엘리먼트에 대한 세팅들을 유도하는 단계를 포함하는,
방법. - 제 37 항에 있어서,
상기 재구성 데이터는 나머지 데이터를 포함하고,
상기 방법은 상기 신호의 제 4 렌디션을 생성하기 위하여 나머지 데이터를 상기 신호의 제 3 렌디션에서 다수의 디스플레이 엘리먼트들에 적용하는 단계를 더 포함하고, 적용된 나머지 데이터는 상기 신호의 제 4 렌디션에서 대응하는 디스플레이 엘리먼트들에 대한 세팅들을 생성하기 위하여 상기 신호의 제 3 렌디션에서 다수의 디스플레이 엘리먼트들의 세팅들을 수정하는,
방법. - 제 38 항에 있어서,
상기 인코드된 데이터의 제 2 부분들을 상기 나머지 데이터로 디코드하도록 상기 제 2 디코더를 구현하는 단계는: 제 2 디코더가 결과를 주어진 확률 분포에 따라 생성된 실질적으로 랜덤 수와 결합함으로써 상기 나머지 데이터의 적어도 하나의 나머지를 디코딩하는 것을 더 포함하는,
방법. - 제 18 항에 있어서,
인코드된 데이터는 허프만 엔트로피 디코딩 및 런 렝스(Run Length)(RLE) 디코딩 방법의 결합에 따라 디코드되는,
방법. - 제 18 항에 있어서,
인코드된 데이터는 상기 재구성 데이터에서 특정된 심볼 확률 분포에 따라 정적 범위 엔트로피 디코더를 통해 디코드되는,
방법. - 제 18 항에 있어서,
인코드된 데이터는 상기 재구성 데이터에서 특정된 심볼 확률 분포에 따라 정적 산술 엔트로피 디코더를 통해 디코드되는,
방법. - 방법으로서,
컴퓨터 프로세서 하드웨어를 통해:
데이터 스트림을 인코드된 데이터의 제 1 부분들, 인코드된 데이터의 제 2 부분들 및 인코드된 데이터의 제 3 부분들로 파싱하는 단계;
제 1 품질 레벨에서 상기 인코드된 데이터의 제 1 부분들을 신호의 제 1 렌디션으로 디코드하도록 제 1 디코더를 구현하는 단계;
상기 인코드된 데이터의 제 2 부분들을 제 1 재구성 데이터로 디코드하도록 제 2 디코더를 구현하는 단계 ― 상기 제 1 재구성 데이터는 제 2 품질 레벨에서 상기 신호의 제 1 렌디션을 상기 신호의 제 2 렌디션으로 수정하는 방법을 특정하고, 상기 제 2 품질 레벨은 상기 제 1 품질 레벨보다 큼 ―;
상기 제 2 품질 레벨에서 상기 신호의 제 2 렌디션을 생성하기 위하여 상기 제 1 재구성 데이터 및 상기 신호의 제 1 렌디션을 프로세싱하는 단계;
상기 인코드된 데이터의 제 3 부분들을 제 2 재구성 데이터로 디코드하도록 제 3 디코더를 구현하는 단계 ― 상기 제 2 재구성 데이터는 제 3 품질 레벨에서 상기 신호의 제 2 렌디션을 상기 신호의 제 3 렌디션으로 수정하는 방법을 특정하고, 상기 제 3 품질 레벨은 상기 제 2 품질 레벨보다 큼 ―; 및
상기 제 3 품질 레벨에서 상기 신호의 제 3 렌디션을 생성하기 위하여 제 2 재구성 데이터 및 상기 신호의 제 2 렌디션을 프로세싱하는 단계
를 포함하는,
방법. - 제 43 항에 있어서,
상기 인코드된 데이터의 제 1 부분들은 MPEG(Moving Pictures Experts Group) 포맷에 따라 디코드되고; 그리고
상기 인코드된 데이터의 제 2 부분들로부터 유도된 제 1 재구성 데이터 및 상기 인코드된 데이터의 제 3 부분들로부터 유도된 제 2 재구성 데이터는 계층 인코딩 포맷들에 따라 디코드되는,
방법. - 방법으로서,
컴퓨터 프로세서 하드웨어를 통해:
수신된 데이터 스트림을 디코드된 데이터 및 인코드된 데이터로 파싱하는 단계 ― 디코드된 데이터는 신호의 제 1 렌디션을 수정하는 방법을 특정함 ―;
상기 신호의 제 1 렌디션을 생성하기 위하여 상기 디코드된 데이터를 활용하는 단계;
상기 인코드된 데이터를 재구성 데이터로 디코드하도록 디코더를 구현하는 단계 ― 상기 재구성 데이터는 상기 신호의 제 1 렌디션을 수정하는 방법을 특정함 ―; 및
상기 신호의 제 2 렌디션을 생성하기 위하여 상기 재구성 데이터를 상기 신호의 제 1 렌디션에 적용하는 단계
를 포함하는,
방법. - 제 45 항에 있어서,
상기 인코드된 데이터는 데이터가 계층에서 상이한 해상도들에 따라 인코드되는 계층 인코딩 포맷에 따라 인코드되는,
방법. - 제 46 항에 있어서,
상기 재구성 데이터를 생성하기 위하여 업샘플링 동작들을 적용하는 단계를 더 포함하고, 상기 업샘플링 동작들은 보다 낮은 해상도 디스플레이 엘리먼트 세팅들을 보다 높은 해상도 디스플레이 엘리먼트 세팅들로 컨버팅하는 단계를 더 포함하는,
방법. - 제 45 항에 있어서,
상기 신호는 다수의 디스플레이 엘리먼트들에 대한 세팅들을 특정하는 비디오 신호이고;
상기 신호의 제 2 렌디션은 상기 신호의 제 1 렌디션보다 높은 품질 레벨을 가지며; 그리고
상기 신호의 제 2 렌디션은 상기 신호의 제 1 렌디션과 동일한 디스플레이 엘리먼트 해상도를 가지는,
방법. - 제 45 항에 있어서,
상기 인코드된 데이터를 디코드하도록 디코더를 구현하는 단계는:
상기 인코드된 데이터에 의해 특정된 바와 같이 업샘플링 동작들을 식별하는 단계; 및
상기 신호의 제 3 렌디션을 생성하기 위하여 상기 업샘플링 동작들을 상기 신호의 제 2 렌디션에 적용하는 단계
를 포함하고,
상기 신호의 제 3 렌디션은 상기 신호의 제 2 렌디션 보다 실질적으로 보다 높은 디스플레이 엘리먼트 해상도를 가지는,
방법. - 제 49 항에 있어서,
상기 신호의 제 3 렌디션은 상기 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 상기 신호의 예비 렌디션이고,
상기 디코더를 구현하는 단계는 상기 실질적으로 보다 높은 디스플레이 엘리먼트 해상도에서 상기 신호의 예비 렌디션을 수정하기 위해 상기 재구성 데이터를 활용하는 단계를 더 포함하고, 상기 신호의 수정된 예비 렌디션은 상기 신호의 예비 렌디션보다 보다 높은 품질 레벨을 가지는,
방법. - 방법으로서,
컴퓨터 프로세서 하드웨어를 통하여:
신호를 수신하는 단계;
상기 신호의 제 1 렌디션을 재생성하기 위하여 인코드된 데이터의 제 1 부분들을 생성하도록 제 1 인코더를 구현하는 단계;
상기 인코드된 데이터의 제 2 부분들을 생성하도록 제 2 인코더를 구현하는 단계 ― 상기 인코드된 데이터의 제 2 부분들은 상기 신호의 제 1 렌디션을 수정하고 상기 신호의 제 2 렌디션을 생성하는 방법을 가리키고, 상기 신호의 제 2 렌디션은 상기 신호의 제 1 렌디션보다 보다 높은 품질 레벨을 가짐 ― 상기 인코드된 데이터의 제 1 부분들 및 상기 인코드된 데이터의 제 2 부분들을 포함하도록 데이터 스트림을 생성하는 단계; 및
상기 데이터 스트림을 적어도 하나의 목적지로 전송하는 단계
를 포함하는,
방법. - 제 51 항에 있어서,
상기 데이터 스트림을 상기 적어도 하나의 목적지로 전송하는 단계는 MPEG 전송 스트림을 통해 상기 데이터 스트림의 전송을 개시하는 단계를 포함하는,
방법. - 제 51 항에 있어서,
MPEG 압축 프로토콜에 따라 인코드된 데이터의 제 1 부분들을 생성하는 단계를 더 포함하는,
방법. - 제 52 항에 있어서,
계층 인코딩 압축 프로토콜에 따라 상기 인코드된 데이터의 제 2 부분들을 생성하는 단계를 더 포함하고, 상기 인코드된 데이터의 제 2 부분들은 압축된 나머지 데이터를 포함하고 상기 신호의 제 1 렌디션을 상기 신호의 제 2 렌디션으로 수정하도록 적용될 업샘플 동작들을 특정하는,
방법. - 제 51 항에 있어서,
상기 인코드된 데이터의 제 1 부분들을 제 1 고유 태그로 태깅하는 단계 ― 상기 제 1 고유 태그는, 상기 인코드된 데이터의 제 1 부분들이 제 1 디코더에 의해 디코드되되는 것을 가리킴 ―; 및
상기 인코드된 데이터의 제 2 부분들을 제 2 고유 태그로 태깅하는 단계 ― 상기 제 2 고유 태그는, 상기 인코드된 데이터의 제 2 부분들이 제 2 디코더에 의해 디코드되는 것을 가리킴 ―
을 더 포함하는,
방법. - 제 51 항에 있어서,
상기 데이터 스트림을 상기 적어도 하나의 목적지로 전송하는 단계는 상기 데이터 스트림을 상기 신호의 제 1 렌디션을 재생성 및 재생하도록 상기 인코드된 데이터의 제 1 부분들만을 디코드하는 제 1 목적지로 전송하는 단계; 및
상기 데이터 스트림을 상기 인코드된 데이터의 제 1 부분들 및 상기 인코드된 데이터의 제 2 부분들을 디코드하는 제 2 목적지로 전송하는 단계를 포함하고,
상기 제 2 목적지는 상기 인코드된 데이터의 디코드된 제 1 부분들에 기초하여 상기 신호의 제 1 렌디션을 재생성하고, 상기 제 2 목적지는 상기 신호의 제 2 렌디션을 생성 및 재생하기 위하여 상기 인코드된 데이터의 디코드된 제 2 부분들을 상기 신호의 제 1 렌디션에 적용하는,
방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361812046P | 2013-04-15 | 2013-04-15 | |
US61/812,046 | 2013-04-15 | ||
PCT/IB2014/060716 WO2014170819A1 (en) | 2013-04-15 | 2014-04-14 | Hybrid backward-compatible signal encoding and decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150140842A true KR20150140842A (ko) | 2015-12-16 |
KR102301083B1 KR102301083B1 (ko) | 2021-09-10 |
Family
ID=50685995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157032775A KR102301083B1 (ko) | 2013-04-15 | 2014-04-14 | 하이브리드 백워드-호환가능 신호 인코딩 및 디코딩 |
Country Status (17)
Country | Link |
---|---|
US (5) | US9912945B2 (ko) |
EP (2) | EP3468191A1 (ko) |
JP (3) | JP6457488B2 (ko) |
KR (1) | KR102301083B1 (ko) |
CN (2) | CN110933437B (ko) |
AU (1) | AU2014255324B2 (ko) |
BR (1) | BR112015026244B1 (ko) |
CA (1) | CA2909445C (ko) |
DK (1) | DK2987325T3 (ko) |
EA (1) | EA035886B1 (ko) |
ES (1) | ES2699983T3 (ko) |
HK (1) | HK1216808A1 (ko) |
MX (1) | MX354337B (ko) |
MY (1) | MY189280A (ko) |
PL (1) | PL2987325T3 (ko) |
SG (1) | SG11201508427YA (ko) |
WO (1) | WO2014170819A1 (ko) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9106936B2 (en) * | 2012-01-25 | 2015-08-11 | Altera Corporation | Raw format image data processing |
BR112015026244B1 (pt) | 2013-04-15 | 2023-04-25 | V-Nova International Ltd | Codificação e decodificação de sinal compatível com versões anteriores híbrido |
JP6232778B2 (ja) * | 2013-06-27 | 2017-11-22 | セイコーエプソン株式会社 | 画像処理装置、画像表示装置、および画像処理装置の制御方法 |
JP6862830B2 (ja) | 2014-12-29 | 2021-04-21 | ソニーグループ株式会社 | 送信装置、送信方法、受信装置および受信方法 |
CN107750456B (zh) | 2015-04-13 | 2022-02-11 | V-诺瓦国际有限公司 | 利用依赖于复杂性信息的一个信号的数据速率目标对多个信号进行编码 |
JP6512700B2 (ja) * | 2015-05-01 | 2019-05-15 | 日本テレビ放送網株式会社 | 映像信号伝送システム及び映像信号伝送方法 |
KR20160143145A (ko) * | 2015-06-04 | 2016-12-14 | 삼성전자주식회사 | 멀티미디어 서비스를 제공하기 위한 방법 및 그 전자 장치 |
GB2544800A (en) | 2015-11-27 | 2017-05-31 | V-Nova Ltd | Adaptive bit rate ratio control |
GB2598255B (en) * | 2016-02-17 | 2022-07-27 | V Nova Int Ltd | Physical adapter, signal processing equipment, methods and computer programs |
FR3050895A1 (fr) * | 2016-04-29 | 2017-11-03 | Orange | Procede de composition contextuelle d'une representation video intermediaire |
GB2553086B (en) * | 2016-07-20 | 2022-03-02 | V Nova Int Ltd | Decoder devices, methods and computer programs |
CN107666560B (zh) * | 2016-07-28 | 2020-11-17 | 北京数码视讯科技股份有限公司 | 一种视频去隔行方法及装置 |
GB2597859B (en) * | 2016-09-08 | 2022-07-27 | V Nova Int Ltd | Data processing apparatuses, methods, computer programs and computer-readable media |
GB2553557B (en) | 2016-09-08 | 2022-04-20 | V Nova Int Ltd | Data processing apparatuses, methods, computer programs and computer-readable media |
GB2554065B (en) | 2016-09-08 | 2022-02-23 | V Nova Int Ltd | Data processing apparatuses, methods, computer programs and computer-readable media |
WO2018056002A1 (ja) * | 2016-09-26 | 2018-03-29 | 株式会社日立国際電気 | 映像監視システム |
US11202050B2 (en) * | 2016-10-14 | 2021-12-14 | Lg Electronics Inc. | Data processing method and device for adaptive image playing |
US10567703B2 (en) * | 2017-06-05 | 2020-02-18 | Cisco Technology, Inc. | High frame rate video compatible with existing receivers and amenable to video decoder implementation |
GB2574575A (en) * | 2018-04-27 | 2019-12-18 | V Nova Int Ltd | Video decoder chipset |
US11653007B2 (en) | 2018-07-15 | 2023-05-16 | V-Nova International Limited | Low complexity enhancement video coding |
AU2019315029A1 (en) * | 2018-08-03 | 2021-03-11 | V-Nova International Limited | Transformations for signal enhancement coding |
GB2594803B (en) | 2018-10-03 | 2022-10-19 | V Nova Int Ltd | Weighted downsampling and weighted transformations for signal coding |
GB2616980B (en) | 2018-10-09 | 2023-12-13 | V Nova Int Ltd | Signal element coding format compatibility within a hierarchical coding scheme using multiple resolutions |
GB201817784D0 (en) * | 2018-10-31 | 2018-12-19 | V Nova Int Ltd | Methods,apparatuses, computer programs and computer-readable media |
US20220159250A1 (en) * | 2019-03-20 | 2022-05-19 | V-Nova International Limited | Residual filtering in signal enhancement coding |
GB2620500B (en) * | 2019-03-20 | 2024-05-15 | V Nova Int Ltd | Low complexity enhancement video coding |
BR112021018466A2 (pt) | 2019-03-20 | 2021-11-23 | V Nova Int Ltd | Processamento de resíduos em codificação de vídeo |
GB201905400D0 (en) | 2019-04-16 | 2019-05-29 | V Nova Int Ltd | Video coding technology |
WO2021005349A1 (en) | 2019-07-05 | 2021-01-14 | V-Nova International Ltd | Quantization of residuals in video coding |
WO2021050039A1 (en) * | 2019-09-09 | 2021-03-18 | Google Llc | Compression of data that exhibits mixed compressibility |
WO2021064414A1 (en) * | 2019-10-02 | 2021-04-08 | V-Nova International Limited | Use of transformed coefficients to provide embedded signalling for watermarking |
GB2598701B (en) | 2020-05-25 | 2023-01-25 | V Nova Int Ltd | Wireless data communication system and method |
GB2599341B (en) | 2020-07-28 | 2024-10-09 | V Nova International Ltd | Management system for multilayer encoders and decoders and method thereof |
GB202103498D0 (en) | 2021-03-12 | 2021-04-28 | V Nova Int Ltd | Processing of residuals in video coding |
GB202107036D0 (en) | 2021-05-17 | 2021-06-30 | V Nova Int Ltd | Secure decoder and secure decoding methods |
GB2607123B (en) | 2021-10-25 | 2023-10-11 | V Nova Int Ltd | Enhancement decoding implementation and method |
CN113923318B (zh) * | 2021-12-16 | 2022-03-04 | 成都索贝数码科技股份有限公司 | 一种实现hd和4k hdr视频信号同传输的方法以及sdi设备 |
WO2023135410A1 (en) | 2022-01-11 | 2023-07-20 | V-Nova International Ltd | Integrating a decoder for hierarchical video coding |
WO2023135420A1 (en) | 2022-01-12 | 2023-07-20 | V-Nova International Ltd | Secure enhancement decoding implementation |
GB2611129B (en) | 2022-03-31 | 2024-03-27 | V Nova Int Ltd | Signal processing with overlay regions |
US20240098285A1 (en) | 2022-09-20 | 2024-03-21 | V-Nova International Limited | Method for decoding a video stream |
GB2625756A (en) | 2022-12-22 | 2024-07-03 | V Nova Int Ltd | Methods and modules for video pipelines |
GB2627287A (en) | 2023-02-17 | 2024-08-21 | V Nova Int Ltd | A video encoding module for hierarchical video coding |
GB2624947A (en) | 2023-03-24 | 2024-06-05 | V Nova Int Ltd | Enhancement decoding implementation and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090098823A (ko) * | 2006-12-14 | 2009-09-17 | 톰슨 라이센싱 | 비트 심도 스케일러빌리티를 위하여 인핸스먼트 계층 레시듀얼 예측을 이용하여 비디오 데이터를 인코딩 및/또는 디코딩하기 위한 방법 및 장치 |
US20100088736A1 (en) * | 2008-10-07 | 2010-04-08 | Besen Peter D | Enhanced video processing functionality in auxiliary system |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6873368B1 (en) * | 1997-12-23 | 2005-03-29 | Thomson Licensing Sa. | Low noise encoding and decoding method |
BR0315443A (pt) * | 2002-11-25 | 2005-08-16 | Thomson Licensing Sa | Codificador em duas camadas para dvd hìbrido de alta definição |
US20060109901A1 (en) * | 2002-12-19 | 2006-05-25 | Koninklijke Philips Electronics N.V. | System and method for drift-free fractional multiple description channel coding of video using forward error correction codes |
DE102004059978B4 (de) * | 2004-10-15 | 2006-09-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium |
CN101258749A (zh) * | 2005-09-06 | 2008-09-03 | 皇家飞利浦电子股份有限公司 | 用于以不同分辨率进行视频再现的系统 |
KR100891662B1 (ko) | 2005-10-05 | 2009-04-02 | 엘지전자 주식회사 | 비디오 신호 디코딩 및 인코딩 방법 |
GB0600141D0 (en) * | 2006-01-05 | 2006-02-15 | British Broadcasting Corp | Scalable coding of video signals |
JP2009530946A (ja) * | 2006-03-23 | 2009-08-27 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 映画データを符号化する符号化装置及び方法 |
WO2008007792A1 (en) * | 2006-07-10 | 2008-01-17 | Sharp Kabushiki Kaisha | Methods and systems for combining layers in a multi-layer bitstream |
US20080043832A1 (en) * | 2006-08-16 | 2008-02-21 | Microsoft Corporation | Techniques for variable resolution encoding and decoding of digital video |
CN101888559B (zh) | 2006-11-09 | 2013-02-13 | Lg电子株式会社 | 用于解码/编码视频信号的方法及装置 |
EP1985121A4 (en) * | 2006-11-17 | 2010-01-13 | Lg Electronics Inc | METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL |
EP1933563A1 (en) * | 2006-12-14 | 2008-06-18 | Thomson Licensing | Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer residual prediction |
US8767834B2 (en) * | 2007-03-09 | 2014-07-01 | Sharp Laboratories Of America, Inc. | Methods and systems for scalable-to-non-scalable bit-stream rewriting |
KR20100086478A (ko) * | 2007-10-19 | 2010-07-30 | 톰슨 라이센싱 | 조합된 공간 및 비트 심도 확장성 |
US8711948B2 (en) * | 2008-03-21 | 2014-04-29 | Microsoft Corporation | Motion-compensated prediction of inter-layer residuals |
KR101580516B1 (ko) * | 2008-04-07 | 2015-12-28 | 엘지전자 주식회사 | 방송 신호 수신 방법 및 방송 신호 수신 장치 |
EP2309493B1 (en) * | 2009-09-21 | 2013-08-14 | Google, Inc. | Coding and decoding of source signals using constrained relative entropy quantization |
EP2567546A4 (en) * | 2010-05-10 | 2014-01-15 | Samsung Electronics Co Ltd | METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING LAYERED CODED VIDEO |
US20110292161A1 (en) * | 2010-05-25 | 2011-12-01 | Vidyo, Inc. | Systems And Methods For Scalable Video Communication Using Multiple Cameras And Multiple Monitors |
JP5835585B2 (ja) * | 2010-07-08 | 2015-12-24 | 日本電気株式会社 | 映像復号装置、映像符号化装置、映像復号方法、映像符号化方法及びプログラム |
CN105847781B (zh) * | 2010-07-21 | 2018-03-20 | 杜比实验室特许公司 | 用于多层帧兼容视频传输的解码方法 |
EP2702765A1 (en) * | 2011-04-28 | 2014-03-05 | Koninklijke Philips N.V. | Method and apparatus for generating an image coding signal |
US8948248B2 (en) * | 2011-07-21 | 2015-02-03 | Luca Rossato | Tiered signal decoding and signal reconstruction |
US8711943B2 (en) * | 2011-07-21 | 2014-04-29 | Luca Rossato | Signal processing and tiered signal encoding |
TWI595770B (zh) * | 2011-09-29 | 2017-08-11 | 杜比實驗室特許公司 | 具有對稱圖像解析度與品質之圖框相容全解析度立體三維視訊傳達技術 |
GB2505643B (en) * | 2012-08-30 | 2016-07-13 | Canon Kk | Method and device for determining prediction information for encoding or decoding at least part of an image |
JP6041555B2 (ja) * | 2012-06-29 | 2016-12-07 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
CN110035286B (zh) * | 2012-07-09 | 2021-11-12 | Vid拓展公司 | 用于多层视频编码的编解码器架构 |
WO2014084564A1 (ko) * | 2012-11-27 | 2014-06-05 | 엘지전자 주식회사 | 신호 송수신 장치 및 신호 송수신 방법 |
BR112015026244B1 (pt) | 2013-04-15 | 2023-04-25 | V-Nova International Ltd | Codificação e decodificação de sinal compatível com versões anteriores híbrido |
-
2014
- 2014-04-14 BR BR112015026244-9A patent/BR112015026244B1/pt active IP Right Grant
- 2014-04-14 DK DK14722769.8T patent/DK2987325T3/en active
- 2014-04-14 MY MYPI2015002552A patent/MY189280A/en unknown
- 2014-04-14 CA CA2909445A patent/CA2909445C/en active Active
- 2014-04-14 PL PL14722769T patent/PL2987325T3/pl unknown
- 2014-04-14 CN CN201911247351.1A patent/CN110933437B/zh active Active
- 2014-04-14 WO PCT/IB2014/060716 patent/WO2014170819A1/en active Application Filing
- 2014-04-14 MX MX2015014352A patent/MX354337B/es active IP Right Grant
- 2014-04-14 SG SG11201508427YA patent/SG11201508427YA/en unknown
- 2014-04-14 EP EP18191009.2A patent/EP3468191A1/en active Pending
- 2014-04-14 EP EP14722769.8A patent/EP2987325B1/en active Active
- 2014-04-14 KR KR1020157032775A patent/KR102301083B1/ko active IP Right Grant
- 2014-04-14 EA EA201591975A patent/EA035886B1/ru not_active IP Right Cessation
- 2014-04-14 ES ES14722769T patent/ES2699983T3/es active Active
- 2014-04-14 AU AU2014255324A patent/AU2014255324B2/en active Active
- 2014-04-14 JP JP2016507107A patent/JP6457488B2/ja active Active
- 2014-04-14 CN CN201480029033.7A patent/CN105432083B/zh active Active
- 2014-04-15 US US14/252,820 patent/US9912945B2/en active Active
-
2016
- 2016-04-21 HK HK16104597.1A patent/HK1216808A1/zh unknown
-
2017
- 2017-12-21 US US15/850,675 patent/US10652560B2/en active Active
-
2018
- 2018-12-20 JP JP2018238535A patent/JP6705885B2/ja active Active
-
2020
- 2020-05-11 US US16/871,714 patent/US10887612B2/en active Active
- 2020-05-14 JP JP2020085208A patent/JP7156762B2/ja active Active
- 2020-12-29 US US17/136,853 patent/US11394985B2/en active Active
-
2022
- 2022-07-18 US US17/813,321 patent/US20230011071A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090098823A (ko) * | 2006-12-14 | 2009-09-17 | 톰슨 라이센싱 | 비트 심도 스케일러빌리티를 위하여 인핸스먼트 계층 레시듀얼 예측을 이용하여 비디오 데이터를 인코딩 및/또는 디코딩하기 위한 방법 및 장치 |
US20100088736A1 (en) * | 2008-10-07 | 2010-04-08 | Besen Peter D | Enhanced video processing functionality in auxiliary system |
Non-Patent Citations (2)
Title |
---|
A. Bjelopera, et al. Scalable Video Coding Extension of H.264/AVC. 54th International Symp. ELMAR-2012, Sep. 2012, pp.7-12* * |
T. Schierl, et al. Scalable Video Coding over RTP and MPEG-2 Transport Stream in Broadcast and IPTV Channels. IEEE Wireless Communications, Oct. 2009, pp.64-71* * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7156762B2 (ja) | 方法、デコード装置およびコンピュータプログラム | |
US20230276061A1 (en) | Scalable video coding system with parameter signaling | |
KR102126886B1 (ko) | 단계적 계층에서의 신호 인코딩, 디코딩 및 재구성 동안의 잔차 데이터의 압축해제 | |
US9723321B2 (en) | Method and apparatus for coding video stream according to inter-layer prediction of multi-view video, and method and apparatus for decoding video stream according to inter-layer prediction of multi view video | |
US20190238842A1 (en) | Method and apparatus for extracting intra prediction mode information of square or rectangular block | |
US20150117514A1 (en) | Three-dimensional video encoding method using slice header and method therefor, and three-dimensional video decoding method and device therefor | |
CN114982242A (zh) | 发信号通知图片分割信息的方法和设备 | |
CN114762339A (zh) | 基于变换跳过和调色板编码相关高级语法元素的图像或视频编码 | |
EP3272124B1 (en) | Scalable video coding system with parameter signaling | |
CN115004708A (zh) | 用于发信号通知图像信息的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |