KR20140051345A - 티어드 신호 품질 계층 내의 신호 프로세싱 및 상속 - Google Patents
티어드 신호 품질 계층 내의 신호 프로세싱 및 상속 Download PDFInfo
- Publication number
- KR20140051345A KR20140051345A KR1020147004587A KR20147004587A KR20140051345A KR 20140051345 A KR20140051345 A KR 20140051345A KR 1020147004587 A KR1020147004587 A KR 1020147004587A KR 20147004587 A KR20147004587 A KR 20147004587A KR 20140051345 A KR20140051345 A KR 20140051345A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- signal
- probability distribution
- reconstruction data
- quality level
- 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/36—Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
신호 프로세서는 다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하도록 구성된다. 신호 프로세서는 적어도 제 1 품질 레벨에 대해 신호의 렌디션을 생성한다. 신호 프로세서는 제 1 품질 레벨에서 신호의 렌디션을 계층 내의 제 2 (더 높은) 품질 레벨에서 신호의 렌디션으로 변환하는 방법을 지정하는 재구성 데이터의 세트들을 생성하여, 잠재적으로 이용 가능한 신호들에 대해 레버리지한다. 일 배열에 따라, 신호 프로세서는 재구성 데이터를 인코딩하기 위해 엔트로피 인코더를 사용한다. 재구성 데이터의 각각의 세트 내의 하나 이상의 심볼들에 대한 확률 분포 정보에 기초하여 및 이전의 품질 레벨들로부터 상속된 확률 분포 정보 및/또는 다른 인코딩 파라미터들에 기초하여, 엔트로피 인코더는 재구성 데이터를 인코딩된 값 또는 비트 스트링으로 인코딩한다. 확률 분포 정보를 사용하여, 엔트로피 디코더는 인코딩된 값 또는 비트 스트링을 다시 재구성 데이터로 변환한다.
Description
중앙 처리 장치(Central Processing Unit : CPU) 효율은 신호의 인코딩과 디코딩 동안 둘 다 문제가 된다. 각각의 싱글 칩 상에 최대 수백 개의 단순 코어들을 갖는 최신 세대 프로세서들은 더욱더 병렬이 되고 있다.
불행히도, 본질적으로, 전통적인 MPEG(Moving Pictures Expert Group) 계열 코덱들은 구조적으로 병렬이 아니다. 이것은 전통적인 MPEG 계열 코덱들이 블록-기반이며, 그리고 각각의 이미지 블록이 순차적으로 인코딩되고 디코딩되어야 한다는 사실에 기인하는데, 이는 효율적인 압축을 달성하기 위해 모든 블록들이 몇몇 방식으로 서로에 대해 종속되도록 만들어져야 하기 때문이다. MPEG 코딩으로 소위 "슬라이스들"(조각들이 하나가 다른 하나의 옆에 놓인 분리된 비디오들이었던 것처럼 기본적으로, 서로에 대해 독립적으로 취급되는 이미지의 조각들)의 도입을 통해, H.264 표준은 병렬로 몇몇 스레드들(전형적으로 2 또는 3 스레드들)의 처리를 허용한다. 디-블로킹(de-blocking)(즉, 보다 균일한 이미지를 생성하기 위해 블록들 사이의 전이들(transitions)을 "부드럽게 하는" 필터)과 같은 중요한 알고리즘 엘리먼트들은 전형적으로 조건적 명령들로 가득한 글로벌 동작들이며, 이러한 조건적 명령들은 병렬 CPU들을 포함하는 애플리케이션들을 위해 적합하지 않다.
오늘날의 CPU들과 GPU들(Graphics Processing Units)은 전형적으로 매우 강력하며; 싱글 GPU는 정보의 병렬 처리를 수행하기 위해 수백 개의 컴퓨팅 코어들(computing cores)을 포함할 수 있다. 현재의 기술을 이용할 때, 이미지의 보다 큰 부분들이 처리를 위해 프로세서 캐시(processor cache)에 저장될 수 있다. 그 시대의 프로세서들이 한번에 - 그 다음 순차적으로만 - 매우 작은 청크(chunk)들의 비디오 데이터만 다룰 수 있기 때문에, MPEG이 생성될 때 구동 인자인 다수의 작은 블록들로 이미지를 분할할 필요성은 더 이상 현대의 CPU들과 GPU들에 적용하지 않는다. 따라서, 활용가능한 프로세싱 전력의 대부분은 MPEG-같은 유형들의 인코딩/디코딩을 구현할 때 사용되지 않고 소멸될 수 있으며, 이때 구획화 현상들은 불필요하게 신호에 도입된다. 또한, MPEG이 개발되었을 때와 현재를 비교하면, 현대 애플리케이션들은 전형적으로 훨씬 높은 해상도 비디오 인코딩과 훨씬 높은 전반적인 재생 품질을 요구한다. 고선명(high-definition : HD), 고품질 비디오들에서, 낮은 상세함(잠재적으로 심지어 초점이 벗어남)을 갖는 영역들과 매우 정교한 상세함을 갖는 영역 간에 훨씬 큰 차이가 존재한다. 이것은 이미지 프로세싱과 재생을 위해 한층 더 부적합한 MPEG에서 사용된 것들과 같은 주파수-도메인 변환들(frequency-domain tranforms)을 이용하는데, 이는 관련있는 주파수들의 범위가 훨씬 넓어지기 때문이다.
게다가, 보다 높은 해상도 이미지들은 보다 높은 양의 카메라 노이즈 및/또는 필름 그레인(film grain), 즉, 시청(viewing)을 위해 상당히 관련이 없을 수 있으며 인코딩을 위한 많은 비트들을 요구하는 매우 상세한 고주파수 픽셀 전이들을 포함한다.
마지막으로, 전통적인 코덱들(codecs)은 3D 또는 용적 이미징을 효율적으로 수행하기에 적합하지 않으며, 3D 또는 용적 이미징은 의학 이미징, 과학 이미징 등과 같은 분야들에서 더욱더 중요해 지고 있다.
오늘 날 대부분의 목표 디바이스들은 상이한 재생 해상도들과 품질을 지원한다. 소위 SVC(Scalable Video Coding), 확장성을 위한 현재의 MPEG 표준은 산업계에 의해 우호적으로 받아들여지지 않았으며 채택된 것이 거의 보이지 않는데, 이것은 너무 복잡하고 다소 대역폭 비효율적인 방식으로 간주되기 때문이다.
더욱이, 인코딩된 비디오들이 많다; 즉, 콘텐츠 제공자(content provider)는 전형적으로 인코더 파라미터들을 주문제작하고 각각의 특정한 비디오 스트림으로 실험하기 위한 시간이 없다. 현재, 콘텐츠 제공자들은 비디오를 성공적으로 인코딩하기 위해 (인코딩을 수행하고 품질의 결과들을 검사할 때마다) 많은 인코딩 파라미터들이 수동으로 수정되어야 하는 것을 싫어한다.
인코딩/디코딩을 위한 MPEG 표준들에 대한 대안으로서, 소위 이미지 피라미드들(image pyramids)이 인코딩/디코딩 목적들을 위해 사용되었다. 예를 들어, 라플라시안 피라미드들(Laplacian pyramids)을 이용함으로써, 종래의 시스템들은 가우시안 필터들(Gausian filters)을 이용하며 그 다음 보다 낮은 해상도 레벨들에서 본래의 레벨로 다시 엄격하게 프로그램된 디코더에 의해 업샘플링에 의해 획득된 이미지 간의 차이들의 피라미드를 구축하여 보다 낮은 해상도 이미지들을 생성하였다.
종래의 라플라시안 피라미드 인코딩의 이용은 폐기되었다. 이와 같은 변환들의 한 결함은 저자들이 다운샘플링된 이미지내 왜곡들/아티팩트(artifact)들을 회피하려고 시도하는 것이었으며, 따라서 그들은 전형적으로 가우시안 필터링을 사용하였는데, 이는 가우시안 필터링이 그 자신의 임의의 정보를 추가하지 않는 유일한 유형의 필터이기 때문이다. 그러나, 가우시안 필터링이 갖는 극복할 수 없는 문제는 가우시안 필터링이 블러링 효과(blurring effect)를 도입하며, 이에 의해 보다 높은 해상도들로 다시 업스케일링할 때, 본래의 이미지를 재생하기 위해 과도한 양의 이미지 정정 정보가 필요하게 된다는 것이다. 즉, 종래의 필터들에 의한 업샘플링은 재구성된 이미지 내에 들쭉날쭉하거나 흐릿한 에지들(jagged or blurry edges)을 가져온다. 들쭉날쭉하거나 흐릿한 에지들은 상당한 양의 잔여 데이터(residual data)를 이용하여 정정될 필요가 있어서, 이와 같은 인코딩 기법이 보다 높은 해상도 애플리케이션들에서 사용하기에 바람직하지 않게 한다. 임의의 신호 인코더의 중요한 컴포넌트들 중 하나는 "엔트로피 코딩"으로서 현재 지칭되는 동작이다. 실제로, 일단 인코딩 동작들 및 변환들이 손실이 없거나 손실이 있는 방법들 중 어느 하나로 수행되면, 나머지들(즉, 디코더에서 이미 이용 가능한, 비디오 신호에서 이전 프레임과 같은 데이터로부터 유도될 수 없는 새로운 정보)은 본질적으로, 가능한 경우에, 임의의 추가적인 손실 또는 근사화 없이 그리고 적어도 가능한 양의 비트들을 사용하여 전송되어야 하는 숫자들의 스트링들이다. 숫자들의 스트링들이 적어도 가능한 양의 비트들을 사용하여 전송될 수 있는 손실이 없는 데이터 압축 방식들은 통상적으로 엔트로피 코딩으로 지칭된다. 숫자들/심볼들의 스트링들에서 엔트로피의 개념은 숫자들/심볼들의 스트링들이 포함하는 본질적인 정보의 양을 사용하여 행해져야 하고, 스트링 내의 숫자들/심볼들 모두가 상이하지는 않기 때문에, 스트링이 자주 반복되는 적은 심볼들(이상적으로 단지 하나)을 더 많이 포함할수록, 스트링을 인코딩하기 위해 더 적은 비트들이 필요하다.
엔트로피 인코딩을 위한 몇몇의 방법들이 문헌에 존재한다. 세련된 엔트로피 코더들(가령 CABAC, H.264에 따라 도입된 컨텍스트 적응 엔트로피 코더)은 큰 계산적인 복잡성의 대가로 탁월한 결과들에 도달할 수 있고, 반면에 범위 인코딩으로서 알려진 기술과 같은 다른 것들은 적절한 파라미터들을 통해 사용될 때에만 유사한 결과들에 도달할 수 있다. 일반적으로, 엔트로피 인코더들은, 인코딩하기 위한 스트링들 내의 심볼 빈도들(즉, 디코더가 일정 방식으로 인코더로부터 획득해야 하는 심볼의 확률 분포)의 그들의 추정치만큼만 효율적이다. MPEG-계열 코덱들이 블록 기반이기 때문에(즉, 그들이 신호를 다수의 블록들로 분할하고, 근본적으로 각각의 블록을 별개로 분석/인코딩함), 이상적으로, 상기 코덱들은 각각의 단일 블록의 나머지에 대한 별개의 확률 분포를 필요로 할 것이고, 이것은 물론 매우 많은 수의 블록이 주어지면 실현 불가할 것이어서, 상기 코덱들은 표준 확률들의 분포(특정 프레임에 대해 맞춤 제작되지 않고, 결과적으로 데이터 압축에 관련하여 덜 효율적임) 또는 CABAC와 같은 적응 방식들(더 효율적이지만, 매우 복잡함) 중 어느 하나를 사용한다.
본원의 방법들 및 실시예들은 낮은 계산적 복잡성으로 효율적인 엔트로피 코딩 결과들을 달성하기 위한 혁신적인 접근법을 나타낸다.
본원의 실시예들은 티어드 신호 품질 계층에서 압축되고 인코딩된 데이터를 생성하기 위한 종래의 시스템들 및 방법들에 대해 벗어난다. 예를 들면, 본원의 특정 실시예들은 표준 엔트로피 인코딩 기술들에 기초하여 계층에서 인코딩된 재구성 데이터를 생성하는 고유한 방법들에 관한 것이다. 구현의 간단함 및 압축의 효율을 위해, 본 특허 출원은 범위 인코딩 기술들에 영향을 주는 실시예들을 기재하고 있지만, 본원에 포함된 접근법들이 또한 몇몇의 다른 형태들의 엔트로피 인코더들에 적용될 수 있다.
더 구체적으로, 본원의 일 실시예는 다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하도록 구성된 신호 프로세서를 포함한다. 이를 위해, 신호 프로세서는 적어도 제 1 품질 레벨에 대한 신호의 렌디션을 생성한다. 신호 프로세서는 제 1 품질 레벨에서 신호의 렌디션을 계층 내의 제 2(더 높은) 품질 레벨에서 신호의 렌디션으로 변환하는 방법을 지정하는 재구성 데이터의 세트들을 생성한다. 예를 들면, 일부 방법들에 따라, 재구성 데이터의 세트들은, 이전(더 낮은) 품질 레벨로부터 자동적으로 유도("상속")될 수 있는 신호의 렌디션 및 데이터를 정정, 통합 및 보충하는데 필요한 모든 정보를 지정한다.
이어서, 신호 프로세서는 재구성 데이터의 각각의 세트를 인코딩하기 위해 범위 인코더와 같은 엔트로피 인코더를 사용한다. 재구성 데이터의 각각의 세트의 인코딩은 인코딩된 재구성 데이터를 나타내는 범위 값(비트 스트링)을 생성하는 것을 포함할 수 있다.
추가적인 실시예들에 따라, 인코딩 전에, 신호 프로세서가 재구성 데이터 내의 일부 또는 모든 심볼들의 확률 분포를 나타내는 확률 분포 정보를 생성하기 위해 재구성 데이터의 각각의 세트를 분석하도록 구성될 수 있다. 재구성 데이터 내의 하나 이상의 심볼들의 확률을 나타내는 확률 분포 정보는 선택된 엔트로피 인코더(예를 들면, 비제한적인 예들로서, 범위 인코딩, 허프만 인코딩, 테이블-기반 VLC/가변 길이 코딩, 런-렝스 인코딩 등)가 재구성 데이터를 비트들의 적절한 스트링(예를 들면, 범위 값)으로 인코딩하는 것을 가능하게 한다. 범위 값을 생성한 후에, 인코더는 재구성 데이터로의 범위 값의 후속 디코딩을 위해 범위 값 및 확률 분포 정보를 저장한다. 엔트로피 코딩은 업샘플링 동작들의 파라미터들, 양자화 임계치들, 더 낮은 품질 레벨들로부터의 업샘플링 후에 적용하기 위한 나머지 데이터, 알려진 기준 신호 이미지의 모션 보상 후에 적용하기 위한 나머지 데이터, 모션 보상을 위해 사용된 조밀한 모션 맵 내의 모션 벡터들에 대한 조절들, 모션 존들, 잡음에 대한 스펙트럼 정보, 메타-데이터 등과 같은 상이한 형태들의 재구성 데이터의 하나 이상의 세트들 중 임의의 것을 나타낼 수 있다.
재구성 데이터의 각각의 세트에 대해, 범위 디코더(들)와 같은 하나 이상의 엔트로피 디코더 리소스(들)는, 본래의 재구성 데이터의 각각의 세트 내의 하나 이상의 심볼들의 확률 분포 정보에 적어도 부분적으로 기초하여 인코딩된 값들(예를 들면, 범위 값들)을 다시 본래의 재구성 데이터로 디코딩한다. 디코딩 후에, 또 다른 리소스는 디코더(들)에 의해 생성된 디코딩된 재구성 데이터를 사용하여 신호의 렌디션들을 재구성한다. 재구성은 상술된 바와 같이 상이한 형태들의 재구성 데이터에 기초할 수 있다.
재구성 데이터는 더 낮은 품질 레벨에서 신호의 렌디션 및/또는 알려진/이용 가능한 기준 신호(예를 들면, 비제한적인 예로서, 비디오 내의 이전 프레임)에 기초하여 다음의 더 높은 품질 레벨에서 신호의 렌디션을 재구성하기 위해 다수의 상이한 형태들의 적절한 데이터 중 임의의 것을 포함할 수 있다. 일 실시예에서, 재구성 데이터는 하나의 품질 레벨에서 신호의 렌디션을 다음의 더 높은 품질 레벨에서 신호의 렌디션으로 업샘플링한 후에 이루어지는 조절들을 나타내는 소위 인트라 나머지 데이터를 포함한다. 또 다른 실시예에 따라, 재구성 데이터는 정해진 품질 레벨로부터 다음의 더 높은 품질 레벨로 신호를 업샘플링하기 위해 적용될 하나 이상의 업샘플 동작들과 같은 메타데이터를 포함한다. 또 다른 실시예에 따라, 재구성 데이터는 더 낮은 품질 레벨에서 사용된 모션 맵을 적절한 동작들을 통해 업샘플링함으로써 획득된 조밀한 모션 맵(즉, 모든 신호 엘리먼트들에 대한 모션 벡터들을 포함하는 맵)에 대해 이루어지는 조절들을 포함하고, 그러한 실시예에서, 재구성 데이터는 또한, 상술된 조밀한 모션 맵에 의해 알려진 기준 신호를 모션-보상한 후에 재구성된 신호에 대해 이루어질 조절들을 나타내는 인터 잔여 데이터를 포함할 수 있다. 하나의 예시적인 실시예에서, 재구성 데이터의 세트들에 대해 필요한 정보의 양은, 이전(더 낮은) 품질 레벨들로부터 자동적으로 유도("상속")될 수 있는 것에 관련하여 정보를 지정하는 것을 회피함으로써 감소될 수 있다.
상술된 바와 같이, 재구성 데이터의 각각의 세트에 대해, 인코더는 인코딩될 재구성 데이터(심볼들의 스트링으로서 표현될 수 있음) 내의 하나 이상의 심볼들의 확률을 나타내는 확률 분포 정보를 식별할 수 있다. 엔트로피 인코더는 나머지 데이터 내의 다수의 심볼들에 대한 확률 분포를 외삽하기 위해 각각의 엔트로피 디코더에 의해 사용될 적어도 하나의 디코딩 파라미터를 생성한다.
또 다른 실시예들에서, 엔트로피 인코더는 재구성 데이터로의 비트 스트링의 디코딩을 위해 엔트로피 디코더에 대한 2 개보다 더 많은 파라미터들을 지정한다. 그러한 실시예에서, 엔트로피 디코더는, 제 1 파라미터가 제로와 같은 가장 일반적인 값과 동일한 재구성 데이터 내의 나머지 데이터 엘리먼트들의 퍼센티지를 지정한다고 가정한다. 파라미터들을 수신하는 엔트로피 디코더는, N 개의 부가적인 파라미터들 각각이 재구성 데이터 내의 또 다른 또는 다음으로 가장 빈번한 심볼의 확률을 나타낸다고 가정한다. N 개의 파라미터들 및 잠재적으로 다른 일반적인 파라미터들에 기초하여, 디코더는 또한 N 번째 심볼 후에 모든 다른 심볼들의 확률들을 외삽한다. 확률 분포 정보는 비트 스트링을 다시 본래의 재구성 데이터로 디코딩하기 위한 기초를 제공한다.
또 다른 실시예에 따라, 엔트로피 인코더는 디코더가 비트 스트링을 재구성 데이터로 디코딩하기 위한 2 개의 파라미터들을 지정한다. 그러한 실시예에서, 제 1 파라미터는 디코더에 알려진 값(예를 들면, 제로)과 동일한 재구성 데이터 내의 심볼들(예를 들면, 나머지 데이터 엘리먼트들)의 퍼센티지를 지정한다. 제 2 파라미터는 디코더가 재구성 데이터 내의 부가적인 심볼들에 대한 확률들을 외삽하는 것을 가능하게 하는 정보를 포함한다. 분배 정보는 비트 스트링을 다시 본래의 재구성 데이터로 디코딩하기 위한 기초를 제공한다.
또 다른 실시예에서, 인코더는 디코더가 비트 스트링을 재구성 데이터로 디코딩하기 위한 하나의 파라미터를 지정한다. 그러한 실시예에서, 하나의 파라미터는 디코더에 알려진 값(가령, 제로)과 동일한 재구성 데이터 내의 나머지 데이터 엘리먼트들의 퍼센티지를 지정한다. 이어서, 디코더는 디코더에 알려진 일반적인 디폴트 파라미터들에 기초하여 모든 다른 심볼들의 확률들을 외삽한다.
추가적인 실시예들에 따라, 계층 내의 다수의 품질 레벨들 각각은 정해진 품질 레벨에서 신호의 렌디션을 재구성하기 위해 각각의 재구성 데이터를 포함하도록 구성될 수 있다. 인코딩된 데이터의 양을 적절히 감소시킬 때, 정해진 품질 레벨에서의 일부 또는 모든 재구성 데이터는 각각의 품질 레벨에서의 재구성 데이터를 지정해야 하는 대신에 다음의 더 높은 품질 레벨에서 레버리지("상속")될 수 있다. 예를 들면, 엔트로피 디코더는 비트 스트링을 수신하도록 구성될 수 있고, 엔트로피 디코더가 데이터에 대한 임의의 확률 분포 파라미터들을 생성하지 않다거나, 엔트로피 인코더가 더 높은 품질 레벨들에 대한 임의의 확률 분포 파라미터들을 지정하지 않을 것이라는 것을 엔트로피 인코더가 더 낮은 품질 레벨에서 명시적으로 표시하지 않는다는 것과 같은 조건을 검출하는 것에 응답하여, 엔트로피 디코더는 재구성 데이터를 디코딩하기 위해 이전의 품질 레벨(들)에서 사용된 확률 분포 파라미터(들)를 사용할 수 있다.
본원의 실시예들은 정해진 품질 레벨에 대한 재구성 데이터의 하나 이상의 세트들을 재구성 데이터의 다수의 그룹들("타일들")로 파싱하도록 구성된 신호 프로세서를 더 포함한다. 예를 들면, 나머지 데이터를 나타내는 재구성 데이터에 타일링(tiling)을 적용할 때, 타일들의 조합은, 예를 들면, 더 낮은 품질 레벨로부터의 업샘플링 또는 알려진 기준 신호를 모션-보상한 후에, 정해진 품질 레벨에서 신호의 렌디션의 엘리먼트들을 조절하기 위한 나머지 데이터를 정의한다. 인코더는 각각의 타일들 내의 심볼들에 대한 각각의 확률 분포 파라미터들을 생성한다. 이어서, 인코더는, 타일들 각각에 대해, 그러한 확률 분포 파라미터들(따라서 디코더로 전송되어야 할 것임) 또는 이전의(더 낮은) 품질 레벨들로부터 자동적으로 상속된 확률 분포 파라미터들(부가적인 정보를 전송할 필요없이, 디코더에 알려질 것임)을 사용할지를 결정한다. 이어서, 인코더는 그룹들에 대해 선택된 각각의 확률 분포 파라미터들(상속되거나 새로운 것 중 어느 하나)에 기초하여 재구성 데이터(타일들)의 다수의 그룹들을 각각의 비트 스트링들로 인코딩한다. 디코더는 비트 스트링들 및 확률 분포 값들을 각각의 타일들 내로 수신하고, 각각의 타일과 연관된 확률 분포 값들 및 비트 스트링들에 기초하여 재구성 데이터의 다수의 그룹들을 재생하기 위해 다수의 엔트로피 디코더들의 실행을 (선택적으로 병렬로) 개시한다. 본원에 논의된 타일링의 기술은 엔트로피 인코딩/디코딩 및 신호 재구성의 병렬 프로세싱을 용이하게 하기 위해 계층 내의 하나 이상의 품질 레벨들에서 사용될 수 있다.
이들 및 다른 실시예 변화들은 이하 보다 상세히 논의된다.
전술된 바와 같이, 본 명세에서 실시예들은 본 명세서에 개시된 방법 동작들 중 임의 또는 모두를 수행하고/하거나 지원하기 위해 하나 또는 하나를 초과하는 컴퓨터화된 디바이스들, 라우터들, 네트워크, 워크스테이션들, 휴대용 또는 랩탑 컴퓨터들 등의 구성을 포함할 수 있다는 것을 주목해야 한다. 즉, 하나 또는 하나를 초과하는 컴퓨터화된 디바이스들 또는 프로세서들은 상이한 실시예들을 수행하기 위해 본 명세서에 설명된 바와 같이 동작하도록 프로그램되고/되거나 구성될 수 있다.
전술된 바와 같이 인코딩/디코딩에 더하여, 본 명세서에서 또 다른 실시예들은 상기 요약되고 이하 상세히 개시된 단계들과 동작들을 수행하기 위해 소프트웨어 프로그램들을 포함한다. 하나의 이와 같은 실시예는 컴퓨터 프로그램 로직, 명령들 등을 포함하며, 하나 이상의 프로세서들(예를 들면, CPU들, GPU들 등) 및 대응하는 메모리, 프로그램들을 갖는 컴퓨터화된 디바이스에서 수행될 때, 프로세서(들)로 하여금 본 명세서에 개시된 임의의 동작들을 수행하게 하도록 인코딩된 컴퓨터-판독가능한, 하드웨어 스토리지 리소스(즉, 비-일시적인 컴퓨터 판독가능 매체)를 포함한다. 이와 같은 어레인지먼트들은 광 매체(예를 들어, CD-ROM, DVD, BD 등), 플로피 또는 하드 디스크와 같은 컴퓨터 판독가능 매체 또는 하나 또는 하나를 초과하는 ROM 또는 RAM 또는 PROM 칩들내 펌웨어 또는 마이크로코드와 같은 다른 매체상에 배열되거나 인코딩된 소프트웨어, 코드, 및/또는 다른 데이터(예를 들어, 데이터 구조들)로서 제공되거나 또는 주문형 반도체(Application Specific Integrated Circuit : ASIC)로서 제공될 수 있다. 소프트웨어 또는 펌웨어 또는 다른 이와 같은 구성들은 컴퓨터화된 디바이스가 본 명세서에 설명된 기법들을 수행하도록 컴퓨터화된 디바이스상에 설치될 수 있다.
따라서, 본 개시의 하나의 특정 실시예는 신호 프로세싱 동작들을 지원하기 위해 컴퓨터-판독가능 하드웨어 스토리지 매체 상에 저장된 명령들을 갖는 컴퓨터-판독가능 하드웨어 스토리지 매체를 포함하는 컴퓨터 프로그램 물건에 관한 것이다. 예를 들어, 일 실시예에서, 각각의 컴퓨터 디바이스의 프로세서에 의해 수행될 때, 명령들은 프로세서로 하여금: 제 1 품질 레벨에서 신호의 렌디션을 생성하고; 재구성 데이터의 적어도 하나의 세트를 생성하고 ― 재구성 데이터의 적어도 하나의 세트는, 제 1 품질 레벨에서 신호의 렌디션 및/또는 알려진 기준 신호에 기초하여, 계층에서 제 2 품질 레벨에서 신호의 렌디션을 재구성하는 방법을 지정하고, 제 2 품질 레벨은 제 1 품질 레벨보다 더 높음 ― ; 재구성 데이터의 상이한 세트들을 인코딩하기 위해 엔트로피 인코더(예를 들면, 비제한적인 예로서, 범위 인코더, 허프만 인코더, 테이블-기반 VLC 인코더, 런-렝스(run-length) 인코더)를 사용하게 하고, 엔트로피 인코더는 각각의 세트에 대해 재구성 데이터에 포함된 심볼들을 나타내는 인코딩된 값 또는 비트 스트링을 생성한다.
또 다른 실시예에서, 실시예의 디코딩 측면을 표현하는 것이 단지 기재되고, 명령들은, 각각의 컴퓨터 디바이스의 프로세서에 의해 수행될 때, 프로세서로 하여금: 제 1 품질 레벨에서 신호의 렌디션을 생성하고; 인코딩된 값들의 적어도 하나의 세트를 수신하고 ― 인코딩된 값들의 적어도 하나의 세트는 - 일단 디코딩되면 - 제 1 품질 레벨에서 신호의 렌디션 및/또는 알려진 기준 신호에 기초하여 계층에서 제 2 품질 레벨에서 신호의 렌디션을 재구성하는 방법을 지정하고, 제 2 품질 레벨은 제 1 품질 레벨보다 더 높음 ― ; 인코딩된 값들을 디코딩하고 제 2 품질 레벨에서 신호를 재구성하기 위해 사용될 재구성 데이터의 상이한 세트들을 재생하기 위해 하나 이상의 엔트로피 디코더들(비제한적인 예로서, 범위 디코더, 허프만 디코더, 테이블-기반 VLC 디코더, 런-렝스(run-length) 디코더)을 사용하게 한다.
단계들의 순서가 명확함을 위해 추가되었다. 이들 단계들은 임의의 적절한 순서로 수행될 수 있다.
본 개시의 다른 실시예들은 상기 요약되고 이하 상세히 논의된 임의의 방법 실시예 단계들과 동작들을 수행하기 위해 소프트웨어 프로그램들, 펌웨어, 및/또는 각각의 하드웨어를 포함한다.
또한, 본 명세서에서 논의된 바와 같이 시스템, 방법, 장치, 컴퓨터 판독가능 스토리지 매체상의 명령들 등은 소프트웨어 프로그램으로서, 소프트웨어, 펌웨어, 및/또는 하드웨어의 하이브리드로서, 또는 프로세서내, 또는 운영체제(operating system) 내 또는 소프트웨어 애플리케이션 내 같은 하드웨어 단독 등등으로서 엄격히 구현될 수 있다는 것이 이해될 것이다.
상기 논의된 바와 같이, 본 명세서에서 기술들은 신호들을 인코딩/디코딩하는 소프트웨어, 펌웨어, 및/또는 하드웨어 애플리케이션들에서 사용하기에 아주 적합하다. 비제한적인 예들로서, 이러한 기술들로 인코딩/디코딩된 신호들은 2 차원(예를 들면, 픽쳐들, 비디오 프레임들, 2D 모션 맵들, 열적 맵들 등), 3-차원(예를 들면, 3D/용적 이미지들, 홀로그래픽 이미지들, CAT-스캔들, 의료/과학 이미지들, 3D 모션 맵들 등) 또는 심지어 3 차원들을 초과하는 특징, 시간-기반 신호(예를 들면, 오디오 신호, 비디오 신호 등) 등일 수 있다. 간략히 하기 위해, 본원에 예시된 실시예들은, 예를 들면, 픽쳐와 같은 2D 평면들의 설정들로서 디스플레이되는 이미지들(예를 들면, 적절한 컬러 공간 내의 2D 이미지들)을 종종 지칭한다. 그러나, 동일한 개념들 및 방법들이 또한 임의의 다른 형태의 신호에 적용 가능하다. 또한, 본원의 실시예들이 그러한 애플리케이션들에 사용하는 것으로 제한되지 않으며, 본원에서 논의된 기술들이 물론 다른 애플리케이션들에 아주 적합하다는 것이 주목되어야 한다.
추가적으로, 비록 본 명세서에서 각각의 상이한 특징들, 기법들, 구성들 등이 본 개시의 상이한 장소들에서 논의될 수 있다고 하더라도, 각각의 개념들은 서로에 독립적으로 또는 서로 조합하여 실행될 수 있다는 것을 의도하기 위한 것이라는 것을 주목해야 한다. 따라서, 본 명세서에 기술된 바와 같이 하나 또는 하나를 초과하는 본 발명들, 실시예들 등은 많은 상이한 방법들로 구현되고 보여질 수 있다.
또한, 본원의 실시예들의 이러한 예비적인 논의는 본 개시 또는 청구된 발명(들)의 모든 각각의 실시예 및/또는 증가적으로 신규한 양상을 특정하지 않는 것을 주목해야 한다. 대신에, 이러한 간단한 설명은 종래의 기법들에 비해 일반적인 실시예들과 신규성의 대응하는 점들만을 제공한다. 본 발명(들)의 추가적인 상세한 설명들 및/또는 가능한 관점들(변경들)을 위해, 독자는 이하 더 논의된 바와 같이 본 개시의 상세한 설명 부분과 대응하는 도면들에 관계된다.
발명의 상기 및 다른 목적들, 특징들, 그리고 장점들은, 유사한 참조 문자들이 상이한 도면들 전반에 걸쳐서 동일한 부분들을 지칭하는 첨부 도면들에 예시된 바와 같이, 본 명세서에서 바람직한 실시예들의 하기 보다 특별한 상세한 설명으로부터 분명해질 것이다. 도면들은 반드시 일정한 축적 비율일 필요는 없으며, 대신에 실시예들, 원리들, 개념들 등을 예시할 때 강조가 놓여진다.
도 1은 본원의 실시예들에 따른, 재구성 데이터의 인코딩/디코딩을 예시하는 예시적인 도면이다.
도 2는 본원의 실시예들에 따른, 신호의 업샘플링을 예시하는 예시적인 도면이다.
도 3은 본원의 실시예들에 따른 프로세싱을 예시하는 예시적인 도면이다.
도 4는 재구성 데이터를 인코딩하기 위한 예시적인 표준 엔트로피 인코딩 방법을 예시하는 예시적인 도면이다.
도 5는 본원의 실시예들에 따른, 계층 내의 다수의 품질 레벨들에서 재구성 데이터의 인코딩 및 디코딩을 예시하는 예시적인 도면이다.
도 6은 본원의 실시예들에 따른, 하나 이상의 병렬 프로세서들을 사용하는 재구성 데이터의 타일들의 프로세싱을 예시하는 예시적인 도면이다.
도 7은 본원의 실시예들에 따른, 정해진 품질 레벨에서 다수의 타일들의 프로세싱을 예시하는 예시적인 도면이다.
도 8은 본원의 실시예들에 따른, 다수의 양자화기들을 사용하는 정해진 품질 레벨에서 재구성 데이터의 양자화를 예시하는 예시적인 도면이다.
도 9는 본원의 실시예들에 따른, 상이한 양자화 설정들을 사용하는 재구성 데이터의 양자화를 예시하는 예시적인 도면이다.
도 10은 본원의 실시예들에 따른, 나머지 데이터를 나머지 데이터의 상이한 그룹들로 나타내는 재구성 데이터의 세트를 파싱하는 것을 예시하는 예시적인 도면이다.
도 11은 본원의 실시예들에 따른, 상이한 재구성 데이터 그룹들의 생성을 예시하는 예시적인 도면이다.
도 12는 본원의 실시예들에 따른, 컴퓨터 코드, 펌웨어, 소프트웨어, 애플리케이션들, 로직 등을 실행하기 위한 예시적인 컴퓨터 아키텍쳐를 예시하는 도면이다.
도 13은 본원의 실시예들에 따른, 재구성 데이터를 프로세싱하는 방법을 예시한 예시적인 흐름도이다.
도 1은 본원의 실시예들에 따른, 재구성 데이터의 인코딩/디코딩을 예시하는 예시적인 도면이다.
도 2는 본원의 실시예들에 따른, 신호의 업샘플링을 예시하는 예시적인 도면이다.
도 3은 본원의 실시예들에 따른 프로세싱을 예시하는 예시적인 도면이다.
도 4는 재구성 데이터를 인코딩하기 위한 예시적인 표준 엔트로피 인코딩 방법을 예시하는 예시적인 도면이다.
도 5는 본원의 실시예들에 따른, 계층 내의 다수의 품질 레벨들에서 재구성 데이터의 인코딩 및 디코딩을 예시하는 예시적인 도면이다.
도 6은 본원의 실시예들에 따른, 하나 이상의 병렬 프로세서들을 사용하는 재구성 데이터의 타일들의 프로세싱을 예시하는 예시적인 도면이다.
도 7은 본원의 실시예들에 따른, 정해진 품질 레벨에서 다수의 타일들의 프로세싱을 예시하는 예시적인 도면이다.
도 8은 본원의 실시예들에 따른, 다수의 양자화기들을 사용하는 정해진 품질 레벨에서 재구성 데이터의 양자화를 예시하는 예시적인 도면이다.
도 9는 본원의 실시예들에 따른, 상이한 양자화 설정들을 사용하는 재구성 데이터의 양자화를 예시하는 예시적인 도면이다.
도 10은 본원의 실시예들에 따른, 나머지 데이터를 나머지 데이터의 상이한 그룹들로 나타내는 재구성 데이터의 세트를 파싱하는 것을 예시하는 예시적인 도면이다.
도 11은 본원의 실시예들에 따른, 상이한 재구성 데이터 그룹들의 생성을 예시하는 예시적인 도면이다.
도 12는 본원의 실시예들에 따른, 컴퓨터 코드, 펌웨어, 소프트웨어, 애플리케이션들, 로직 등을 실행하기 위한 예시적인 컴퓨터 아키텍쳐를 예시하는 도면이다.
도 13은 본원의 실시예들에 따른, 재구성 데이터를 프로세싱하는 방법을 예시한 예시적인 흐름도이다.
도 1은 본 명세서에서 실시예들에 따라서 재구성 데이터의 프로세싱을 예시하는 예시도이다.
도시된 바와 같이, 신호 프로세서(100-1)는 신호를 낮은 품질 레벨들에서의 상이한 렌디션들로 다운샘플링한다. 일반적으로, 신호(115)를 다운샘플링하는 것은 상이한 품질 레벨들 각각에서 신호의 렌디션을 발생하는 것과 제 1 품질 레벨에서 신호의 주어진 렌디션을 계층에서 다음으로 더 높은 품질 레벨에서 신호의 렌디션으로 변환하는 방법을 지정하는 재구성 데이터를 발생하는 것을 포함할 수 있다.
신호(115)의 렌디션 및 더 낮은 품질 레벨들에서 신호의 대응하는 렌디션과 연관된 값들이 임의의 적절한 형태의 데이터 정보를 표시할 수 있다는 것을 주목하라. 비제한적인 예로서, 신호(115)는 각각의 이미지들 내의 다수의 신호 엘리먼트들(예를 들면, 화소들/평면 엘리먼트들, 픽셀들/픽쳐 엘리먼트들, 복셀들/용적 픽쳐 엘리먼트들 등) 각각의 설정들(예를 들어, 컬러 컴포넌트들, 직사각형 또는 극 좌표들에서 표현되는 모션 벡터들, 온도들, 방사능 양들, 밀도 값 등)을 표시하는 이미지 데이터, 비디오의 프레임 또는 필드, 용적 의료 이미지, 모션 맵 등일 수 있다.
신호(115) 내의 각각의 엘리먼트에는 하나 이상의 컬러 컴포넌트들과 같은 몇몇의 설정들이 부여될 수 있다. 이와 같은 실시예에 따라, 신호 데이터 내의 엘리먼트의 컬러 컴포넌트들은 YUV, RGB, HSV 등과 같은 적절한 컬러 공간 표준에 따라서 인코딩된다.
비제한적인 예들로서, 신호(115)에 의해 표현된 이미지는 2 차원(예를 들면, 픽쳐들, 비디오 프레임들, 2D 모션 맵들 등), 3-차원(예를 들면, 3D/용적 이미지들, 홀로그래픽 이미지들, CAT-스캔들, 의료/과학 이미지들, 3D 모션 맵들 등) 또는 심지어 3 차원들을 초과하는 특징일 수 있다. 신호 엘리먼트들 또는 컴포넌트들의 설정들은 디바이스 상의 재생 또는 재현을 위해 신호를 표현/디스플레이하는 방법을 나타낸다.
추가적인 실시예들에 따라, 신호(115)는 다수의 엘리먼트들을 포함하는 본래 신호 또는 고해상도 신호를 나타낸다. 그러한 실시예에서, 신호의 렌디션들 각각(예를 들어, 신호의 렌디션(115-3), 신호의 렌디션(115-2), 신호의 렌디션(115-1),...)은 신호(115)로부터 더 낮은 품질 레벨로 다운샘플링된 본래의 신호의 섬네일 표시와 흡사할 수 있다.
더 낮은 품질 레벨들에서 신호(115)의 렌디션들은 본래 신호의 세부적으로 더 미세한 속성들은 아니지만 본래 신호의 더 조악한 속성들을 캡처한다. 세부적으로 더 미세한 속성들은 더 높은 품질 레벨들에서의 신호의 렌디션에서 나타난다.
다른 비-제한적인 예로서, 신호 프로세서(100-1)는 본래 신호(115)를 신호의 렌디션(115-3)으로 다운샘플링하며; 신호 프로세서(100-1)는 신호의 렌디션(115-3)을 신호(115-2)의 렌디션으로 다운샘플링하고; 신호 프로세서(100-1)는 신호의 렌디션(115-2)을 신호의 렌디션(115-1)으로 다운샘플링하며; 그리고 가장 낮은 품질 레벨 등으로 다운샘플링한다. 신호(115)는 임의의 수의 적절한 레벨들로 다운샘플링될 수 있다.
신호(115)를 각각의 보다 낮은 품질 레벨로 다운샘플링할 때, 신호 프로세서(110-1)는 각각의 재구성 데이터(150)를 발생할 수 있다. 재구성 데이터는, 더 낮은 품질 레벨에서 신호의 렌디션 및/또는 알려진 기준 신호(예를 들면, 비제한적인 예로서, 비디 내의 이전 프레임들)에 기초하여, 다음의 더 높은 품질 레벨에서 신호의 렌디션을 재구성하는 방법을 나타낸다. 예를 들면, 재구성 데이터(150-3)는 신호의 렌디션(115-2)을 신호의 렌디션(115-3)으로 변환하는 방법을 표시하며; 재구성 데이터(150-2)는 신호의 렌디션(115-1)을 신호의 렌디션(115-2)으로 변환하는 방법을 표시하고; 재구성 데이터(150-1)는 신호의 렌디션(115-0)을 신호의 렌디션(115-1)으로 변환하는 방법을 표시하고, 기타 등등이다.
재구성 데이터(150)는 보다 높은 품질 레벨들에서 신호를 재구성하기 위해 사용되는 다수의 상이한 형태들의 데이터 중 임의의 것일 수 있다. 예를 들면, 재구성 데이터는 업샘플링 동작들의 파라미터들, 양자화 임계치 정보, 나머지 데이터, 모션 존들, 모션 벡터들에 대한 조절들, 정보에 대한 스펙트럼 정보, 메타-데이터 등과 같은 상이한 형태들의 재구성 데이터의 하나 이상의 세트들 중 임의의 것을 포함한다.
각각의 신호를 다운샘플링하고 재구성 데이터를 생성하는 부가적인 예시적인 세부 사항들에서, 신호 프로세서(100-1)는 하나의 품질 레벨로부터 다른 것으로 업샘플링하기 위해 상이한 세트들의 재구성 데이터를 테스트 및 생성하도록 구성될 수 있다.
재구성 데이터(150)는 신호 프로세싱을 위한 임의의 적절한 데이터를 포함할 수 있다. 예를 들면, 각각의 세트의 재구성 데이터(150)는 메타데이터, 나머지 데이터 등을 포함할 수 있다. 메타데이터는, 신호의 렌디션을 하나의 품질 레벨로부터 다음으로 변환하는 하나 이상의 업샘플링 동작들의 세트와 같은 데이터를 포함할 수 있고, 나머지 데이터는 (예를 들면, 더 낮은 품질 레벨에서 신호의 렌디션을 업샘플링한 후에 또는 동일한 품질 레벨에서 알려진 기준 신호를 모션-보상한 후에 등) 상이한 품질 레벨들에서의 신호 엘리먼트들에서 이루어질 조절들 등과 같은 정보를 표시할 수 있다.
신호 프로세서(100-1)는 엔트로피 인코더(140)를 포함할 수 있다. 하나의 예시적인 실시예에서, 엔트로피 인코더(140)는 다수의 상이할 품질 레벨들에서의 재구성 데이터를 각각의 세트의 범위 값 정보(180) 및 확률 분포 정보(190)로 프로세싱한다.
범위 값 정보(180)는 대응한 세트의 재구성 데이터에 대해 생성된 각각의 범위 값(즉, 인코딩된 심볼들을 나타내는 비트 스트링)을 포함할 수 있다. 확률 분포 정보(190)는 인코딩되는 각각의 세트의 재구성 데이터(150) 내의 하나 이상의 심볼들의 분포를 나타낼 수 있다. 하나의 예시적인 실시예에서, 하나 이상의 세트들의 재구성 데이터에 대한 확률 분포 정보(190)의 표시가 회피될 수 있는데, 이것은 각각의 세트(들)의 재구성 데이터에 대해 디코더가 이전(더 낮은) 품질 레벨들 및/또는 알려진 기준 신호들로부터 상속된 확률 분포 정보를 사용해야 한다는 것을 의미한다. 일 실시예에서, 엔트로피 인코더(140) 및 디코더(440)는 양호한 성능 및 효율을 갖는 범위 인코딩으로서 당분야에 알려진 기술에 기초할 수 있지만, 이것은 단지 비제학적인 예로서 도시되고, 엔트로피 인코딩 또는 데이터 압축의 임의의 적절한 방법이 재구성 데이터(150)를 인코딩 및 디코딩하기 위해 사용될 수 있다. 사용되는 엔트로피 인코딩의 형태와 상관없이, 본원의 방법은 종래의 시스템들 및 방법들에 대해 벗어난다.
엔트로피 인코더(140)는 상이한 형태들의 재구성 데이터에 대해 각각의 범위 값 정보 및 확률 분포 정보를 생성하도록 구성될 수 있다.
더 상세한 예로서, 신호 프로세서(100-1)는 재구성 데이터(150-1)를 범위 값 정보(180-1) 및 확률 분포 정보(190-1)로 인코딩하기 위해 엔트로피 인코더(140)를 사용한다. 예를 들면, 엔트로피 인코더(140)는 확률 분포 정보(190-1)의 세트들을 생성하기 위해 품질 레벨(#1)에 대한 재구성 데이터(150-1)의 세트들을 분석한다. 확률 분포 정보(190-1)의 각각의 세트는 대응하는 세트의 재구성 데이터(150-1) 내의 하나 이상의 심볼들의 확률 분포를 나타낸다.
엔트로피 인코더(140)는 재구성 데이터(150-2)에 대한 확률 분포 정보(190-2)를 생성한다. 확률 분포 정보(190-2)의 세트들은 재구성 데이터(150-2)의 세트들 내의 하나 이상의 심볼들의 확률 분포를 나타낸다. 하나의 예시적인 실시예에서, 하나 이상의 품질 레벨들의 하나 이상의 세트들의 재구성 데이터에 대해, 인코더는 확률 분포 정보를 생성하지 않도록 선택할 수 있고, 이것은, 대응하는 세트(들)의 재구성 데이터에 대해, 인코더 및 디코더가 더 낮은 품질 레벨들 및/또는 알려진 기준 신호로부터 자동적으로 상속된 확률 분포 정보를 사용해야 한다는 것을 의미한다.
신호 프로세서(100-1)는 대응하는 확률 분포 정보에 기초하여 각각의 품질 레벨에 대한 각각의 세트의 재구성 데이터를 인코딩하기 위해 엔트로피 인코더(140)를 사용한다. 예를 들면, 엔트로피 인코더(140)는 재구성 데이터(150-1)를 나타내는 범위 값 정보(180-1)(즉, 인코딩된 비트 스트링)를 생성하기 위한 기초 조건으로서 확률 분포 정보(190-1)를 사용하고, 엔트로피 인코더(140)는 재구성 데이터(150-2)를 나타내는 범위 값 정보(190-2)를 생성하기 위한 기초 조건으로서 확률 분포 정보(190-2)를 사용하고, 엔트로피 인코더(140)는 재구성 데이터(150-3)를 나타내는 범위 값 정보(190-3)를 생성하기 위한 기초 조건으로서 확률 분포 정보(190-3)를 사용하고, 기타 등등이다.
신호 프로세서(100-1)는 하나 이상의 타겟 리소스들로의 후속 분배를 위해 범위 값 정보(180) 및 확률 분포 정보(190)를 저장한다. 일 실시예에서, 인코딩 정보(즉, 본원에서 범위 값 정보(180) 및/또는 확률 분포 정보(190)로서 지칭되는 비트 스트링들의 콜렉션)는 신호(115)를 재생 또는 재현하기 위해 통신 링크를 통해 소스로부터 디코딩을 포함하는 소비자로 전송될 수 있다. 아래에 추가로 논의되는 바와 같이, 신호(115)의 재생은 재현을 위해 신호(115)를 재구성하기 위해 하나 이상의 품질 레벨들 각각에서의 범위 값 정보(180) 및 확률 분포 정보(190)를 재구성 데이터의 각각의 세트들로 디코딩하는 것을 포함할 수 있다. 생성된 신호의 렌디션은 동일하거나 상이한 해상도이고, 본래의 인코딩된 신호와 동등하거나 거의 동등할 수 있다. 다시 말해서, 후자의 경우에, 본원에서 논의된 바와 같은 인코딩/디코딩은 손실이 없거나 손실이 있을 수 있다.
일 실시예에서, 신호 프로세서(100-2)는 각각의 재구성 데이터에 대한 범위 값 정보(180)(즉, 인코딩된 심볼들을 나타내는 비트 스트링들의 콜렉션) 및 확률 분포 정보(190)를 수신한다. 신호 프로세서(100-2)는 엔트로피 디코더(440)를 구현한다. 엔트로피 디코더(440)는 범위 값 정보(180)를 재구성 데이터로 디코딩하기 위해 확률 분포 정보(190)를 사용한다.
상술된 바와 같이, 디코딩 후속으로, 신호 프로세서(100-2)는 제 1 품질 레벨에서 신호의 렌디션(115-0)을 다음의 더 높은 품질 레벨에서 신호의 렌디션(115-1)으로 변환하기 위해 디코더(440)에 의해 생성된 재구성 데이터(150-1)를 사용하고, 신호 프로세서(100-2)는 신호의 렌디션(115-1)을 신호의 렌디션(115-2)으로 변환하기 위해 디코더(440)에 의해 생성된 재구성 데이터(150-2)를 사용하고, 신호 프로세서(100-2)는 신호의 렌디션(115-2)을 신호의 렌디션(115-3)으로 변환하기 위해 디코더(440)에 의해 생성된 재구성 데이터(150-3)를 사용하고, 기타 등등이다.
신호 프로세서(100-2)가 신호에 원래 존재하고 신호 프로세서(100-1)에 의 인코딩된 가장 높은 품질 레벨까지 상향 변환 및 렌디션의 프로세스를 계속할 필요는 없고, 사실상, 본원에 기재된 티어드 엔트로피 인코딩은, 로우-엔드 재생 디바이스들이 그들이 장착되어 처리하는 비트 스트림의 부분들만을 디코딩 및 재생하도록 허용함으로써 종래의 시스템들 및 방법들에 대해 벗어난다는 것을 주목하라. 전송 링크가 전체 비트스트림(180)과 연관된 정보의 양을 전달하기에 일시적으로 또는 결정적으로 불충분하게 되는 경우에, 동일한 이점이 적용되고, 디코더에 특정 품질 레벨까지 도달할 수 있는 부분들(예를 들면, 180-1, 180-2 등)이 신호 프로세서(100-2)에 의해 독립적으로 프로세싱 및 디코딩될 수 있고, 따라서 전송 링크가 저하될 때조차도, 감소된 품질일지라도 신호(115)의 재생을 보장한다.
재구성 데이터의 세트들이 제 1 품질 레벨에서 신호의 렌디션을 다음 더 높은 품질 레벨에서 신호의 렌디션으로 업샘플링한 후에 이루어지는 조절들, 또는 알려진 기준 시호를 다음 더 높은 품질 레벨에서 신호의 렌디션으로 모션-보상한 후에 특정 신호 엘리먼트들에 대해 이루어지는 조절들, 또는 알려진 기준 신호를 다음 더 높은 품질 레벨에서 신호의 렌디션으로 모션 보상하기 위해 사용되는 모션 맵에 대해 이루어지는 조절들 등을 표시하는 나머지 데이터를 포함할 수 있다는 것을 다시 주목하라.
본원의 일 실시예는 각각의 세트의 재구성 데이터에 대한 확률 분포 정보(190)를 인코딩하기 위해 필요한 데이터의 양을 감소시키는 것을 포함한다. 디코더(440)로 전송될 필요가 있는 데이터를 감소시키기 위해, 엔트로피 인코더(140)는, 나머지 데이터 내의 다수의 심볼들에 대한 확률 분포를 외삽하기 위해 각각의 디코더에 의해 사용될 하나 이상의 디코딩 파라미터들을 포함하기 위해 확률 분포 정보를 분석하도록 구성될 수 있다.
더 상세하게, 하나의 예시적인 실시예에서, 인코더(140)는 제 1 파라미터 및 부가적인 파라미터들을 포함하는 다수의 디코딩 파라미터들을 포함하기 위해 확률 분포 정보(190)를 분석한다. 제 1 파라미터는 제 1 심볼에 할당된 재구성 데이터(예를 들면, 나머지 데이터) 내의 엘리먼트들의 퍼센티지를 지정한다. 부가적인 디코딩 파라미터들 각각은 재구성 데이터(예를 들면, 나머지 데이터)에 존재하는 다음 심볼의 확률을 나타낼 수 있다.
또 다른 실시예에 따라, 본원에 논의된 바와 같은 인코더(140)는 제 1 디코딩 파라미터 및 제 2 디코딩 파라미터를 생성하기 위해 각각의 재구성 데이터에 대한 확률 분포 정보를 분석한다. 제 1 디코딩 파라미터는 제 1 심볼에 할당된 나머지 데이터 내의 엘리먼트들의 퍼센티지를 지정하고, 제 2 디코딩 파라미터는 재구성 데이터(예를 들면, 나머지 데이터) 내의 다수의 다른(부가적인) 심볼들 각각에 대한 확률 분포 값들을 외삽(extrapolate)하는 방법을 지정한다. 예를 들면, 하나의 예시적인 실시예에서, 이를테면, 나머지 데이터를 인코딩하기 위해 사용되는 알파벳의 N 개의 상이한 심볼들이 존재하고, 제 1 디코딩 파라미터(d1) 및 제 2 디코딩 파라미터(d2)라 부르면, 디코더는 모든 확률들(p(0) 내지 p(N-1))의 합산이 1이 되어야 하는 제약을 조건으로 다음의 수학식들의 시스템을 해결함으로써 모든 심볼 확률들(p(0) 내지 p(N-1))을 계산할 수 있을 것이다.
p(0) = d1
p(k) = p(k-1)*(d2), 2 내지 N-1의 범위 내의 k에 대해.
또 다른 실시예에 따라, 인코더(140)는 나머지 데이터 내의 제 1 심볼에 대한 확률을 나타내는 단일 디코딩 파라미터만을 포함하기 위해 각각의 세트의 재구성 데이터에 대한 확률 분포 정보를 생성한다. 디코더(440)는 디코더에 알려진 미리 결정된 세트의 표준 파라미터들에 기초하여 다른 심볼들에 대한 확률 분포들을 외삽하고, 외삽은 계산들에 의해 또는 테이블 룩업들에 기초하여 이루어질 수 있다.
추가적인 실시예들에서, 아래에 논의되는 바와 같이, 각각의 품질 레벨에 대해 디코더로 전송될 필요가 있는 데이터 양을 감소시키기 위해, 엔트로피 인코더(140)는 각각의 재구성 데이터에 대한 임의의 확률 분포 정보를 생성하지 않는다. 그러한 예에서, 디코더(440)는 범위 값 정보를 재구성 데이터로 변환하기 위해 하나 이상의 더 높은 품질 레벨들 각각에 대해 더 낮은 품질 레벨로부터의 확률 분포 정보를 사용("상속")한다.
도 2는 본원의 실시예들에 따른 신호의 프로세싱을 예시한 예시적인 도면이다.
이전에 논의된 바와 같이, 일 실시예에서, 신호(115)는 이미지 정보를 나타낼 수 있다. 이러한 비제한적인 예에서, 신호(115) 및 대응한 재구성 데이터가, 정해진 배율(scale factor)(예를 들면, 비제한적인 예에서, 2의 배율)로, 더 낮은 해상도 이미지를 더 높은 해상도 이미지로 변환 또는 확장하는 방법을 나타낸다고 가정하라.
또한, 엔트로피 인코딩된 재구성 데이터(150)의 세트들이, 디코딩될 때, 각각의 품질 레벨에서의 이미지 엘리먼트들의 설정들을 제어하는 방법을 나타낸다고 가정하라. 예를 들면, 품질 레벨(J)에서의 이미지(210-1)는 이미지 엘리머트들(X)의 필드를 포함하고, 품질 레벨(J+1)에서의 이미지(210-2)는 이미지 엘리먼트들(X)의 필드를 포함하고, 이미지(210-3)는 이미지 엘리먼트들(Y)의 필드를 포함하고, 기타 등등이다.
품질 레벨(J)에 대한 재구성 데이터는 이미지(210-1)(예를 들면, 신호의 렌디션(115-0)) 내의 이미지 엘리먼트들(W)의 설정들을 제어하는 방법을 나타내고, 품질 레벨(J+1)에 대한 재구성 데이터는 이미지(210-1) 내의 각각의 이미지 엘리먼트(W)를 이미지(210-2) 내의 4 개의 X 엘리먼트들로 변환하는 방법을 나타내고, 품질 레벨(J+2)에 대한 재구성 데이터는 이미지(210-2) 내의 각각의 이미지 엘리먼트(Y)를 이미지(210-3) 내의 4 개의 Y 엘리먼트들로 변환하는 방법을 나타내고, 기타 등등이다. 변환은 업샘플링 및 필터링(또한 비선형 연산들에 의해) 다음에 엘리먼트들에 대한 조절들을 하는 것을 포함할 수 있다.
도 3은 본원의 실시예들에 따라 재구성 데이터를 프로세싱하는 상이한 예들을 예시한 예시적인 도면이다.
도시된 바와 같이, 재구성 데이터(150-3)는 메타데이터(160-3), 나머지 데이터(170-3) 등을 포함할 수 있다. 재구성 데이터(150-2)는 메타데이터(160-2), 나머지 데이터(170-2) 등을 포함할 수 있다. 재구성 데이터(150-1)는 메타데이터(160-1), 나머지 데이터(170-1) 등을 포함할 수 있다.
엔트로피 인코더(140)는, 메타데이터(160-1) 내의 심볼들의 분포를 나타내는 확률 분포 정보(390-1)를 생성하기 위해 메타데이터(160-1)를 분석한다. 엔트로피 인코더(140)는, 나머지 데이터(170-1) 내의 심볼들의 분포를 나타내는 확률 분포 정보(391-1)를 생성하기 위해 나머지 데이터(170-1)를 또한 분석한다.
엔트로피 인코더(140)는, 메타데이터(160-2) 내의 심볼들의 분포를 나타내는 확률 분포 정보(390-2)를 생성하기 위해 메타데이터(160-2)를 분석한다. 엔트로피 인코더(140)는, 나머지 데이터(170-2) 내의 심볼들의 분포를 나타내는 확률 분포 정보(391-2)를 생성하기 위해 나머지 데이터(170-2)를 또한 분석한다.
엔트로피 인코더(140)는, 메타데이터(160-3) 내의 심볼들의 분포를 나타내는 확률 분포 정보(390-3)를 생성하기 위해 메타데이터(160-3)를 분석한다. 엔트로피 인코더(140)는, 나머지 데이터(170-3) 내의 심볼들의 분포를 나타내는 확률 분포 정보(391-3)를 생성하기 위해 나머지 데이터(170-3)를 또한 분석하고, 기타 등등이다.
가끔, 엔트로피 인코더(140)는 확률 분포 정보(39*-*)를 생성하지 않기로 결정할 수 있고, 이러한 경우들에서, 재구성 데이터의 대응한 세트에 대해, 대응하는 범위 값을 인코딩하기 위해 사용되는 확률 분포 정보는 더 낮은 품질 레벨들 및/또는 알려진 기준 신호로부터 자동적으로 상속될 것이다. 엔트로피 인코딩의 일부 적절한 방법(예를 들면, 범위 인코딩, 허프만 인코딩, 테이블-기반 VLC/가변 길이 코딩, 런-렝스 인코딩 또는 다른 유사한 기술들)을 통해, 엔트로피 인코더(140)는 메타데이터(160-1)에 대한 범위 값 정보(380-1), 나머지 데이터(170-1)에 대한 범위 값 정보(381-1), 메타데이터(160-2)에 대한 범위 값 정보(380-2), 나머지 데이터(170-2)에 대한 범위 값 정보(381-2), 메타데이터(160-3)에 대한 범위 값 정보(380-3), 나머지 데이터(170-3)에 대한 범위 값 정보(381-3) 등을 생성한다.
엔트로피 디코더(440)는 범위 값 정보(380-1)를 메타데이터(160-1)로 디코딩하기 위해 확률 분포 정보(390-1)를 사용하고, 엔트로피 디코더(440)는 범위 값 정보(381-1)를 나머지 데이터(170-1)로 디코딩하기 위해 확률 분포 정보(391-1)를 사용한다.
엔트로피 디코더(440)는 또한 범위 값 정보(380-2)를 메타데이터(160-2)로 디코딩하기 위해 확률 분포 정보(390-2)를 사용하고, 엔트로피 디코더(440)는 범위 값 정보(381-2)를 나머지 데이터(170-2)로 디코딩하기 위해 확률 분포 정보(391-2)를 사용한다.
엔트로피 디코더(440)는 또한 범위 값 정보(380-3)를 메타데이터(160-3)로 디코딩하기 위해 확률 분포 정보(390-3)를 사용하고, 엔트로피 디코더(440)는 범위 값 정보(381-3)를 나머지 데이터(170-3)로 디코딩하기 위해 확률 분포 정보(391-3)를 사용하고, 기타 등등이다.
가끔, 엔트로피 디코더(440)는 확률 분포 정보(39*-*)를 수신하지 않을 수 있고, 이러한 경우들에서, 대응하는 범위 값을 디코딩하기 위해 필요한 확률 분포 정보는 더 낮은 품질 레벨들 및/또는 알려진 기준 신호로부터 자동적으로 상속될 것이다.
도 4는 재구성 데이터를 인코딩하기 위한 예시적인 엔트로피 인코딩 방법, 즉, 범위 인코딩으로서 알려진 산업 표준 방법을 예시한 예시적인 도면이다.
도시된 바와 같이, 엔트로피 인코더(140)는 심볼 확률들에 따라 세분하기 위한 0 내지 1과 같은 범위를 선택한다. 심볼들의 알려진 길이 및 알려진 알파벳(X, Y 및 Z)을 갖는 재구성 데이터의 심볼들의 정해진 시퀀스(예를 들면, XXYXZ)에 대해, 엔트로피 인코더(140)는 확률 분포 정보를 생성한다. 이러한 예에서, 확률 분포 정보는, 시퀀스 내의 심볼(X)의 확률이 60 %이고, 시퀀스 내의 심볼(Y)의 확률이 20 %이고, 심볼(Z)의 확률이 20 %인 것을 나타낸다. 확률 분포 정보 및 심볼들의 시퀀스에 기초하여, 엔트로피 인코더(140)는 범위 값으로서 범위 (0.250056, 0.25920) 내에 포함된 임의의 수치를 생성한다. 특히, 인코더는 적어도 비트들의 양(예를 들면, 정확하게 이진(binary)에서 0.0100001로서 표현될 수 있는 0.2578125, 소수점 이후에 7 비트들을 가짐)을 요구하는 범위 내의 수들 중 하나를 선택할 가능성이 있을 것이다.
시퀀스에 대한 확률 분포 정보를 사용하여, 디코더는 범위 값(예를 들면, 이진 값 0.0100001 또는 비트 스트링 "0100001")을 다시 시퀀스(XXYXZ)로 디코딩할 수 있다.
이러한 형태의 범위 인코딩은 재구성 데이터의 각각의 세트를 각각의 범위 값으로 인코딩하는데 사용될 수 있다. 그러나, 5 개의 심볼들의 사용이 단지 비제한적인 예로서 도시되고, 재구성 데이터의 각각의 세트가 물론 5 개의 심볼들의 시퀀스보다 훨씬 더 많은 것(예를 들면, 수백 개의 심볼들의 알파벳들로부터 취해진 수만 개의 심볼들의 시퀀스들 또는 심지어 훨씬 더 많음)을 포함한다는 것을 주목하라.
도 5는 본원의 실시예들에 따른, 계층에서 다수의 품질 레벨들에서 인코딩된 정보의 사용을 예시하는 예시적인 도면이다.
이러한 예에서, 신호 프로세서(100-1)는 재구성 데이터를 범위 값 정보 및 확률 분포 정보로 인코딩하기 위해 엔트로피 인코더(140)를 사용한다. 예를 들면, 엔트로피 인코더(140)는 확률 분포 정보(490-1)를 생성하기 위해 품질 레벨(#1)에 대한 재구성 데이터(150-1)(예를 들면, 본원에서 논의된 것과 같은 하나 이상의 상이한 형태들의 재구성 데이터 중 임의의 것)를 분석한다. 확률 분포 정보(409-1)는 재구성 데이터(150-1) 내의 하나 이상의 심볼들의 확률 분포를 나타낸다. 확률 분포 정보(490-1) 및 재구성 데이터(150-1) 내의 심볼들의 시퀀스에 기초하여, 엔트로피 인코더는 본원에 논의된 바와 같은 방식으로 범위 값 정보(480-1)를 생성한다.
엔트로피 디코더(440)는 범위 값 정보(480-1)를 재구성 데이터(150-1)로 변환하기 위한 기초 조건으로 확률 분포 정보(490-1)를 사용한다.
다음 품질 레벨에서, 엔트로피 인코더(140)는 확률 분포 정보의 세트를 생성하기 위해 품질 레벨(#2)에 대한 재구성 데이터(150-2)를 분석한다. 이러한 예에서, 분석에 기초하여, 엔트로피 인코더(140)는 재구성 데이터(150-2)에 대한 확률 분포 정보가 재구성 데이터(150-1)에 대한 확률 분포 정보와 실질적으로 유사하거나 동일하다는 것을 인지한다. 그러한 예에서, 확률 분포 정보(490-1)는, 새로운 확률 분포를 지정하기 위해 필요할 것인 정보를 저장 및/또는 전송할 것을 요구하지 않고 품질 레벨(#2)에서 재사용("상속")될 수 있다.
더 높은 품질 레벨에서의 엘리먼트들에 대한 이전 품질 레벨(#1)에서의 확률 분포 정보(490-1)를 재사용하여, 엔트로피 인코더(140)는 범위 값 정보(480-2)를 생성한다. 엔트로피 인코더(140)는 대응하는 확률 분포 정보 없이 품질 레벨(#2)에 대한 범위 값 정보(480-2)를 저장 및 전송한다. 다시 말해서, 엔트로피 인코더(140)는 범위 값 정보(480-2)에 대하 확률 분포 정보의 세트를 디코더(440)로 전송하지 않는다.
그러한 실시예에서, 엔트로피 디코더(440)는 범위 값 정보(480-2)를 수신하도록 구성된다. 엔트로피 인코더(140)가 범위 값 정보(480-2)에 대한 확률 분포 정보를 생성 및 전송하지 않는다는 것을 검출하는 것에 응답하여, 엔트로피 디코더(440)는 범위 값 정보(480-2)를 재구성 데이터(150-2)로 디코딩하기 위해 확률 분포 정보(490-1)(예를 들면, 재구성 데이터(150-1) 내의 하나 이상의 심볼들의 확률 분포를 표시함)를 사용한다. 이러한 기술은 신호(115)를 재구성하기 위해 엔트로피 디코더(440)로 전송될 필요가 있는 데이터를 양을 감소시킨다. 정해진 품질 레벨에 대한 확률 분포 정보의 단일 세트는 다수의 더 높은 품질 레벨들에서 재사용될 수 있다. 인코더는, 정해진 세트의 확률 분포 정보가 추가적인 지정들이 필요없이(즉, 임의의 중단들이 존재하지 않을 것임) 현재 품질 레벨로부터 내내 최상위(최고) 품질 레벨까지로 상속될 것이라는 것을 또한 지정할 수 있다. 이것은 인코딩, 저장 또는 전송될 필요가 있는 데이터에서 또 다른 감소를 지원한다.
따라서, 본원의 실시예들은 정해진 재구성 데이터에 대한 범위 값을 수신하는 것; 이전(예를 들면, 더 낮은) 품질 레벨에서의 재구성 데이터 내의 심볼들에 대한 확률 분포를 식별하는 것; 및 범위 값 정보를 정해진 재구성 데이터로 디코딩하기 위해 더 낮은 품질 레벨에 대한 식별된 확률 분포를 사용하는 것을 포함할 수 있다. 언급된 바와 같이, 계층 내의 하나 이상의 상이한 더 높은 레벨들에서의 확률 분포 정보의 재사용("상속")은 신호를 재구성하기 위해 엔트로피 디코더로 전송될 필요가 있는 인코딩된 데이터의 양을 감소시킨다.
엔트로피 인코더(140)는 재구성 데이터(150-3)를 분석하고, 재구성 데이터(150-3) 내의 심볼들에 대한 확률 분포 정보가 재구성 데이터(150-1) 및/또는 재구성 데이터(150-2) 내의 심볼들의 분포와 실질적으로 상이하다(예를 들면, 임계값 초과)는 것을 학습할 수 있다. 그러한 예에서, 엔트로피 인코더(140)는 확률 분포 정보(490-3)를 생성한다. 확률 분포 정보(490-3) 및 재구성 데이터(150-3) 내의 심볼들의 시퀀스에 기초하여, 엔트로피 인코더(140)는 범위 값 정보(480-3)를 생성한다.
엔트로피 디코더(440)는 범위 값 정보(480-3) 및 확률 분포 정보(490-3)를 수신하도록 구성된다. 엔트로피 디코더(440)는 범위 값 정보(480-3)를 재구성 데이터(150-3)로 변환하는 것을 기초 조건으로 확률 분포 정보(490-3)를 사용한다.
대안적인 실시예에 따라, 엔트로피 디코더(440)가 정해진 품질 레벨에 대한 범위 값 정보를 수신하도록 구성될 수 있다는 것을 주목하라. 엔트로피 인코더(140)가, 상속된 확률 분포(예를 들면, 비제한적인 예로서, 이전의 더 낮은 품질 레벨의 동일한 확률 분포 정보)를 사용하는 대신에, 정해진 재구성 데이터에 대한 확률 분포 값을 지정하지 않는다는 것을 검출하는 것에 응답하여, 엔트로피 디코더는 범위 값을 각각의 재구성 데이터로 디코딩하기 위해 하나 이상의 심볼들에 대한 디폴트 확률 분포 값을 사용한다.
다시 한번, 엔트로피 인코딩 방법으로서 범위 인코딩의 선택이 특정 실시예로서 그리고 설명을 더 명확히 하기 위해 단지 비제한적인 예로서 본원에 도시되고, 본원에 이미 언급된 것들과 같은 엔트로피 인코딩 또는 데이터 압축의 임의의 적절한 방법 또는 미래에 발견 또는 개발될 수 있고, 심볼 확률들을 직접적으로 또는 간접적으로 사용하는 다른 것들이 동일한 접근법으로 사용될 수 있다는 것을 주목하라.
각각의 프레임/
LoQ
의 각각의 타일에 대한 나머지 분포의 정확한 표시
품질 레벨(N)에 대한 나머지 데이터를 인코딩할 필요가 있다고 가정하라. 디코더가 이전 레벨(N-1)에 관한 정보를 이미 갖고, 한 세트의 업스케일링 동작들/필터들을 레버리지함으로써 레벨(N)에서의 신호의 렌디션을 재구성하려고 시도한다고 가정하라. 레벨(N)을 완전히 재구성하기 위해, 디코더는 이제 레벨(N)에 대한 나머지 데이터를 수신할 필요가 있다.
인코더는 본래의 레벨(N) 및 디코더의 내부 작업들에 관한 지식을 가질 수 있어서(즉, 인코더는 디코더가 계산할 레벨(N)의 "제 1 드래프트"를 예측할 수 있음), 인코더(140)는 본래의 이미지에 관련하여 원하는 근접성/유사성으로 전체 이미지(예를 들면, 품질 레벨(N)에서의 모든 엘리먼트들)를 재구성하기 위해 필요한 나머지들의 분포를 계산할 수 있다.
효율을 개선하기 위해, 본원의 일 실시예는, 제로 심벌, 즉, (예를 들면, 엘리먼트에 대해 요구된 조절 값이 제로 또는 거의 제로, 최대로 적절한 임계치일 때) 나머지 데이터에서 대단히 자주 발생하는 심볼의 확률을 디코더로 바로 전송하는 것을 포함한다. 이것은 심볼 알파벳에 대한 상이한 가능한 분포 사이에서 식별하기 위한 가장 유용한 파라미터일 수 있다. 따라서, 각각의 프레임의 각각의 품질 레벨의 각각의 타일(아래에 추가로 논의됨)에 대해, 디코더(440)는 나머지들의 적절한 확률 분포를 갖도록 구성될 수 있어서, 인코더(140)에 의해 구현된 엔트로피 인코딩이 놀라운 유효성으로 재구성 데이터를 압축하도록 허용한다.
일 실시예에 따라, 상술된 바와 같이, 나머지 데이터 내의 상이한 심볼들에 대한 특정 분포는, 그가 정해진 품질 레벨에서 필요로 될 때에만 전송될 수 있다. 후속 품질 레벨들, 및 어쩌면 후속 프레임들에 대해, 인코더(140)가 새로운 것을 전송함으로써 마지막 값을 중단하지 않는다면, 디코더는 이전의 품질 레벨에 대해 사용된 확률 분포 정보를 디폴트로 사용한다.
도 6은 본원의 실시예들에 따른, 하나 이상의 병렬 프로세서들을 사용하는 재구성 데이터의 타일들의 프로세싱을 예시한 예시적인 도면이다.
도시된 바와 같이, 엔트로피 인코더(140)는 각각의 세트의 재구성 데이터를 재구성 데이터의 다수의 그룹들로 파싱하도록 구성될 수 있다. 예를 들면, 엔트로피 인코더(140)는 재구성 데이터(150-1)를 타일(610-1), 타일(610-2), 타일(610-3), 타일(610-4) 등으로 파싱하도록 구성될 수 있다. 품질 레벨(#1)에서의 타일들(610) 각각은 신호 내의 미리 결정된 수(예를 들면, 64 개)의 연속적인 엘리먼트들에 대한 재구성 데이터를 포함할 수 있다.
엔트로피 인코더(140)는 재구성 데이터(150-2)를 타일(620-1), 타일(620-2), 타일(620-3), 타일(620-4) 등으로 파싱하도록 구성될 수 있다. 타일들(620) 각각은 신호 내의 미리 결정된 수(예를 들면, 256 개)의 연속적인 엘리먼트들에 대한 재구성 데이터를 포함할 수 있다.
재구성 데이터가 전체 신호를 프로세싱함으로써 획득될 수 있다는 점에서, 재구성 데이터는 블록-기반 또는 타일-기반이 아니며, 생성된 후에만, 병렬 엔트로피 인코딩/디코딩을 허용하기 위해 재구성 데이터가 별개의 타일들로 슬라이싱된다는 것을 주목하라.
도 7은 본원의 실시예들에 따른, 정해진 품질 레벨에서 재구성 데이터(예를 들면, 나머지 데이터, 또는 모션 보상을 위한 모션 맵에 대한 조절들 등)의 정해진 세트의 다수의 타일들의 인코딩을 예시한 예시적인 도면이다.
상술된 바와 같이, 엔트로피 인코더(140)는 정해진 품질 레벨에 대한 재구성 데이터를 다수의 타일들로 파싱하도록 구성될 수 있다. 이러한 예에서, 재구성 데이터(150-2)는 타일 재구성 데이터(150-T1), 타일 재구성 데이터(150-T2), 타일 재구성 데이터(150-T3) 등으로 파싱된다.
그러한 실시예에 따라, 엔트로피 인코더(140)는 다수의 그룹들 각각 내의 하나 이상의 심볼들에 대한 확률 분포 정보(예를 들면, 각각의 확률 분포 값)를 생성한다. 예를 들면, 엔트로피 인코더(140)는 타일 그룹들에 대한 각각의 확률 분포 값들에 기초하여 타일 재구성 데이터의 다수의 그룹들 각각을 범위 값들로 인코딩한다.
더 상세하게, 엔트로피 인코더(140)는 타일 재구성 데이터(150-T1) 내의 하나 이상의 심볼들의 분포를 나타내는 확률 분포 정보(490-T1)를 생성하고, 엔트로피 인코더(140)는 타일 재구성 데이터(150-T2) 내의 하나 이상의 심볼들의 분포를 나타내는 확률 분포 정보(490-T2)를 생성하고, 엔트로피 인코더(140)는 타일 재구성 데이터(150-T3) 내의 하나 이상의 심볼들의 분포를 나타내는 확률 분포 정보(490-T3)를 생성하고 기타 등등이다.
확률 분포 정보(490-T1) 및 재구성 데이터(150-T1) 내의 심볼들의 시퀀스에 기초하여, 엔트로피 인코더(140)는 범위 값 정보(480-T1)를 생성하고, 확률 분포 정보(490-T2) 및 재구성 데이터(150-T2) 내의 심볼들의 시퀀스에 기초하여, 엔트로피 인코더(140)는 범위 값 정보(480-T2)를 생성하고, 확률 분포 정보(490-T3) 및 재구성 데이터(150-T3) 내의 심볼들의 시퀀스에 기초하여, 엔트로피 인코더(140)는 범위 값 정보(480-T3)를 생성하고, 기타 등등이다.
하나의 예시적인 실시예에서, 재구성 데이터의 다수의 그룹들 각각은 타일 내에 포함된 신호 엘리먼트들에 대해 나머지 데이터를 포함한다. 나머지 데이터 엘리먼트들 각각은 제 1 품질 레벨로부터 제 2 품질 레벨로의 신호의 변환 동안에 신호의 대응하는 부분에 대해 이루어질 조절을 나타낸다.
본원에 논의된 바와 같이, 재구성 데이터를 상이한 세트들의 타일들로 감소시키는 것은 신호 프로세서(100-2)가 범위 값들(480-T) 및 확률 분포 값들(490-T)을 사용하여 재구성 데이터(예를 들면, 타일 재구성 데이터(150-T1), 타일 재구성 데이터(150-T2), 타일 재구성 데이터(150-T3),...)의 다수의 그룹들을 생성하기 위해 다수의 엔트로피 디코더들의 병렬 실행을 개시하는 것을 가능하게 한다.
글로벌 신호/이미지에 대한 나머지들의 분포/히스토그램을 계산하는 것은 또한, 타일들에 대해 계산될 분포들/히스토그램들을 간단히 합병함으로써 병렬 알고리즘을 통해 이루어질 수 있다.
도 8은 본원의 실시예들에 따른, 하나 이상의 데드-존 양자화기들을 사용하여 정해진 품질 레벨에서의 재구성 데이터의 양자화를 예시한 예시적인 도면이다. 상이한 데드 존들을 재구성 데이터(예를 들면, 나머지 데이터)에 대해 조절 및 적용하는 것은 재구성 데이터의 다수의 품질 레벨들 각각이 다수의 상이한 서브-품질 레벨들에 따라 추가로 인코딩되는 것을 가능하게 한다.
예를 들면, 인코더는 나머지 데이터(170-2)와 같은 재구성 데이터를 생성한다. 계층에서 임의의 품질 레벨에서의 임의의 형태의 재구성 데이터가 본원에 설명된 바와 같은 데드-존 양자화를 사용하여 상이한 서브-품질 레벨들로 인코딩될 수 있다는 것을 주목하라.
상이한 데드 존 설정들(예를 들면, 양자기(810-1), 양자화기(810-2)를 통해)의 적용을 통해, 인코더는 나머지 데이터(170-2)(즉, 재구성 데이터)를 조절된 나머지 데이터(870-1), 조절된 나머지 데이터(870-2) 등을 포함하는 다수의 그룹들로 파싱한다. 예를 들면, 일 실시예에서, 인코더는 조절된 나머지 데이터(870-1)를 생성하기 위해 양자화기(810-1)를 나머지 데이터(170-2)에 적용하고, 인코더는 조절된 나머지 데이터(870-2)를 생성하기 위해 양자화기(810-2)를 나머지 데이터(170-2)에 적용하고 기타 등등이다. 양자화기(810-1)는 범위(#1) 내의 임의의 심볼들을 제로와 같은 공통 심볼(따라서 범위에 대한 공통 명칭 "데드 존")로 설정하는 효과를 갖고, 양자화기(810-2)는 범위(#2) 내의 임의의 심볼들을 제로와 같은 공통 심볼로 설정하는 효과를 갖고, 기타 등등이다. 각각의 양자화기는 상이한 레벨의 데드-조닝(dead-zoning)(및 잠재적으로 심지어 상이한 양자화 단계들)을 제공하여, 상이한 서브-품질 레벨들을 발생시킨다.
엔트로피 인코더(140)는 상이한 서브-품질 레벨들에서 재구성 데이터의 상이한 그룹들 각각을 별개로 인코딩한다.
예를 들면, 조절된 나머지 데이터(870-1)의 제 1 그룹에 대해, 엔트로피 인코더(140)는 조절된 나머지 데이터(870-1) 내의 하나 이상의 심볼들에 대한 제 1 확률 분포 값(예를 들면, 확률 분포 정보(890-1))을 생성하기 위해 조절된 나머지 데이터(870-1)를 분석한다 엔트로피 인코더(140)는, 다른 재구성 데이터에 대해 이전에 논의된 방식으로, 확률 분포 정보(890-1) 및 조절된 나머지 데이터(870-1)의 엘리먼트 설정들에 기초하여 범위 값 정보(880-1)를 생성한다.
조절된 나머지 데이터(870-2)의 제 2 그룹에 대해, 엔트로피 인코더(140)는 조절된 나머지 데이터(870-2) 내의 하나 이상의 심볼들에 대한 제 2 확률 분포 값(예를 들면, 확률 분포 정보(890-2))을 생성하기 위해 조절된 나머지 데이터(870-2)를 분석한다 엔트로피 인코더(140)는 확률 분포 정보(890-2) 및 조절된 나머지 데이터(870-2)의 엘리먼트 설정들에 기초하여 범위 값 정보(880-2)를 생성한다.
상술된 바와 같이 상이한 양자화기들을 사용하여 계층 내의 하나 이상의 품질 레벨들 각각의 인코딩은 디코더로의 재구성 데이터의 전송을 방지하는 조건들과 같은 네트워크 혼잡 동안에 유용하다. 예를 들면, 범위 값 정보(880-1) 및 확률 분포 정보(890-1)(예를 들면, 범위 값 정보(880-1) 및 확률 분포 정보(890-1)는 범위 값 정보(880-2) 및 확률 분포 정보(890-2)와 비교하여 매우 많은 양의 데이터를 포함함)의 적시의 전송 또는 디코딩을 방해하는 장애의 검출 및/또는 발생에 응답하여, 본원의 실시예들은 범위 값 정보(880-2) 및 확률 분포 정보(890-2)를 디코더로 전송하는 것을 포함한다. 디코더(440)는 조절된 나머지 데이터(870-2)를 생성하기 위해 범위 값 정보(880-2) 및 확률 분포 정보(890-2)를 디코딩한다.
추가적인 실시예들에 따라, 하나 이상의 품질 레벨들 각각에서의 양자화는 범위 값 정보 및 확률 분포 정보를 전송하기 위해 이용 가능한 대역폭과 같은 파라미터에 의존하여 조절될 수 있다. 즉, 더 많은 양들의 데이터(재구성 데이터의 더 높은 서브-품질 레벨)는, 더 높은 대역폭이 이용 가능한 시간들 동안에 전송될 수 있고, 더 작은 양들의 데이터(예를 들면, 재구성 데이터의 더 낮은 서브-품질 레벨)은 대역폭이 제한되는 시간들 동안에 전송될 수 있다.
따라서, 본원의 일 실시예는 계층 내의 정해진 품질 레벨에서 신호를 재구성하기 위해 조절된 나머지 데이터를 생성하는 것을 포함한다. 엔트로피 인코더(140)는 엔트로피 인코딩 이전에 정해진 품질 레벨에서 조절된 나머지 데이터의 엔트로피를 감소시키기 위해 상이한 양자화를 나머지 데이터(170-2)에 적용한다. 나머지 데이터(170-1)로의 양자화기 또는 양자화기들의 적용은 바람직한 비트 레이트(예를 들면, CBR(Constant Bit Rate))에 따른 인코딩된 나머지 데이터의 전송을 용이하게 하는데, 왜냐하면 심볼들의 정해진 알파벳에 대한 데드 존(예를 들면, 범위 #1로부터 범위 #2까지)을 확장시키는 것이 조절된 나머지 데이터의 엔트로피를 감소시키기 때문이다. 즉, 더 낮은 서브-품질 레벨의 범위 값 정보(880-2) 및 확률 분포 정보(890-2)는 더 적은 비트들을 요구하고, 범위 값 정보(880-1) 및 확률 분포 정보(890-1)보다 전송 시간을 덜 요구한다.
또 다른 실시예들에 따라, 신호 프로세서(100-1) 및/또는 엔트로피 인코더(140)는 계층 내의 다수의 품질 레벨들에서의 신호를 조절하기 위해 사용된 나머지 데이터 내의 심볼들의 확률 분포를 계산하도록 구성될 수 있다. 예를 들면, 일 실시예에서, 신호 프로세서(100-1)는 제 1 양자화 설정에 기초하여 하나 이상의 품질 레벨들에서 나머지 데이터를 엔트로피 인코딩하는 비트 레이트를 추정하기 위해 재구성 데이터에 대한 계산된 확률 분포를 사용한다. 나머지 데이터와 같은 재구성 데이터를 전송하기 위한 추정된 비트 레이트가 바람직한 임계값을 초과한다는 것을 검출한 것에 응답하여, 신호 프로세서(100-1)는, 신호(115)를 재구성하기 위해 디코더로 전송되어야 하는 데이터(예를 들면, 각각의 품질 레벨에서의 범위 값 정보 및 확률 분포 정보)의 양을 감소시키고, 나머지 데이터와 연관된 엔트로피를 감소시키기 위해 (예를 들면, 가장 있을 것 같은 심볼로 양자화되는 데드 존을 확장함으로써) 부가적인/상이한 양자화를 나머지 데이터에 적용할 수 있다. 따라서, 신호 프로세서(100-1)는, 인코딩된 데이터가 바람직한 데이터 레이트에 의해 부과된 제한들 내에서 목적지로 전송될 수 있는 것을 보장하기 위해 다수의 품질 레벨들 각각에서 나머지 데이터의 엔트로피를 조절할 수 있다.
도 9는 본원의 실시예들에 따른, 상이한 데드 존 설정들을 사용하는 재구성 데이터의 양자화를 예시한 예시적인 도면이다.
도시된 바와 같이, 양자화기(810-1)의 적용은, 조절된 나머지 데이터(870-1)를 생성할 때 -2 내지 2의 범위 #1 내에 속하는 나머지 데이터(170-2) 내의 임의의 심볼들을 제로의 심볼 값으로 변환한다. 다시 말해서, 양자화기(810-1)는 조절된 나머지 데이터(870-1)를 생성하기 위해 값들(1, 2, -2, 1, 2 및 1)을 갖는 나머지 데이터(170-2) 내의 엘리먼트들을 0의 공통 심볼 값으로 설정한다. 이러한 특정 예에서, 재구성 데이터(170-2) 내의 다른 값들은 나머지 데이터(170-2)로부터 조절된 나머지 데이터(870-1)로 이월되고, 이것은 단지 예를 따라오기 더 용이하게 하도록 의도되고, 본 발명의 실제 실시예들에서, 데드 존(#1)의 폭과 동일하거나 이와 상이한 양자화 단계를 통해, 다른 값들이 물론 양자화될 수 있다는 것이 이해되어야 한다.
도시된 바와 같이, 양자화기(810-2)의 적용은, 조절된 나머지 데이터(870-2)를 생성할 때 - 4 내지 4의 범위 #2 내에 속하는 나머지 데이터(170-2) 내의 임의의 심볼들을 제로의 심볼 값으로 변환한다. 다시 말해서, 양자화기(810-2)는 조절된 나머지 데이터(870-2)를 생성하기 위해 값들(1, 2, -2, -4, 1, 2, 3 및 3)을 갖는 나머지 데이터(170-2) 내의 엘리먼트들을 0의 공통 심볼 값으로 설정한다. 이러한 특정 예에서, 재구성 데이터(170-2) 내의 다른 값들은 나머지 데이터(170-2)로부터 조절된 나머지 데이터(870-2)로 이월(carry over)되고, 이것은 단지 예를 따라오기 더 용이하게 하도록 의도되고, 본 발명의 실제 실시예들에서, 데드 존(#2)의 폭과 동일하거나 이와 상이한 양자화 단계를 통해, 다른 값들이 물론 양자화될 수 있다는 것이 이해되어야 한다.
인코더는 다수의 서브-품질 레벨들 각각에 대해 이러한 프로세스를 반복하도록 구성될 수 있다.
상이한 데드-존 양자화기들을 적용한 결과로서, 조절된 나머지 데이터(870-1)는 조절된 나머지 데이터(870-2)보다 더 높은 엔트로피를 갖는다. 따라서, 조절된 나머지 데이터(870-2)에 대한 인코딩된 세트의 데이터는 조절된 나머지 데이터(870-1)에 대한 인코딩된 세트의 데이터보다 더 작다. 상술된 바와 같이, 네트워크 혼잡 동안에, 조절된 나머지 데이터(870-1)를 전송 및 디코딩하는 대신에 조절된 나머지 데이터(870-2)를 전송 및 디코딩하는 것이 유리할 수 있다.
도 10은 본원의 실시예들에 따라, 크기에 따라 재구성 데이터를 나머지 데이터의 상이한 그룹들로 파싱하는 것을 예시한 예시적인 도면이다.
이러한 예시적인 실시예에서, 인코더는 나머지 데이터(170-2)와 같은 재구성 데이터를 다수의 그룹들(예를 들면, 조절된 나머지 데이터(1070-1), 조절된 나머지 데이터(1070-2), 조절된 나머지 데이터(1070-3) 등)로 파싱한다. 양자화기(1010-1)를 통해, 신호 프로세서(100-1)는 조절된 나머지 데이터(1070-1)를 생성한다. 일 실시예에서, 신호 프로세서(100-1)는, -T3 미만의 값들 및 +T3을 초과하는 값들과 같이 제 1 범위 외부에 속하는 값을 갖는 나머지 데이터(170-2)의 엘리먼트들을 포함하기 위해 조절된 나머지 데이터(1070-1)(예를 들면, 제 1 그룹의 재구성 데이터)를 파퓰레이팅한다. 다른 값들(즉, -T3 내지 +T3의 "데드 존" 내의)은 제로와 같은 공통 심볼로 설정되고, 이것은 점점 더 많이 있을 것 같이 될 것이고, 이로써 엔트로피 인코딩을 통해 표현될 더 적은 비트들을 요구할 것이다.
양자화기(1010-2)를 통해, 신호 프로세서(100-1)는 조절된 나머지 데이터(1070-2)를 생성한다. 일 실시예에서, 신호 프로세서(100-1)는 제 1 범위 외부 및 제 2 범위 내에 속하는 값(예를 들면, -T3 내지 -T2 및 +T2 내지 +T3에 속하는 값들)을 갖는 나머지 데이터(170-2)의 엘리먼트들을 포함하기 위해 조절된 나머지 데이터(1070-2)(예를 들면, 제 2 그룹의 재구성 데이터)를 파퓰레이팅한다. -T 내지 -T2의 데드 존은 제로와 같은 공통 심볼로 설정되고, 다른 값들(즉, -T 미만 및 +T 초과)은 인코딩되지 않는다.
양자화기(1010-3)를 통해, 신호 프로세서(100-1)는 조절된 나머지 데이터(1070-3)를 생성한다. 일 실시예에서, 신호 프로세서(100-1)는 제 3 범위 내에 속하는 값(예를 들면, -T2 내지 T2에 속하는 값들)을 갖는 나머지 데이터(170-2)의 엘리먼트들을 포함하기 위해 조절된 나머지 데이터(1070-3)(예를 들면, 제 3 그룹의 재구성 데이터)를 파퓰레이팅한다. 다른 값들은 인코딩되지 않는다.
엔트로피 인코더(140)는 조절된 나머지 데이터(1070)를 별개로 인코딩한다.
예를 들면, 엔트로피 인코더(140)는 확률 분포 정보(1090-1)를 생성하기 위해 조절된 나머지 데이터(1070-1)를 분석한다. 확률 분포 정보(1090-1) 및 조절된 나머지 데이터(1070-1) 내의 엘리먼트들의 시퀀스에 기초하여, 엔트로피 인코더(140)는 범위 값 정보(1080-1)를 생성한다.
따라서, 엔트로피 인코더(140)는 상이한 그룹들의 조절된 나머지 데이터(1070)를 대응하는 범위 값 정보 및 확률 분포 정보로 별개로 인코딩하도록 구성될 수 있다. 예를 들면, 엔트로피 인코더(140)는 조절된 나머지 데이터(1070-1)를 확률 분포 정보(1090-1) 및 범위 값 정보(1080-1)로 인코딩하고, 엔트로피 인코더(140)는 조절된 나머지 데이터(1070-2)를 확률 분포 정보(1090-2) 및 범위 값 정보(1080-2)로 인코딩하고, 엔트로피 인코더(140)는 조절된 나머지 데이터(1070-3)를 확률 분포 정보(1090-3) 및 범위 값 정보(1080-3)로 인코딩하고, 기타 등등이다.
위에서 논의된 바와 같이 상보적인 그룹들 내의 재구성 데이터를 파싱 및 인코딩하는 것은, 디코더들의 가변/예측 불가한 계산 전력 또는 상이한 디코더들에 대한 상이한 품질의 제공(예를 들면, 페이-퍼-뷰(pay-per-view) 서비스들), 또는 인코더와 디코더 사이의 전송 채널의 혼잡 동안과 같은 경우들에서 유용할 수 있다. 예를 들면, 일 실시예에서, 본래의 신호의 더 높은 정확성의 복제를 생성하기 위해 모든 그룹들의 재구성 데이터(예를 들면, 조절된 나머지 데이터(1070-1), 조절된 나머지 데이터(1070-2), 조절된 나머지 데이터(1070-3) 등)의 적시의 디코딩을 방해하는 장애의 발생에 응답하여, 신호 프로세서(100-2)는 확률 분포 정보(1090-1)에 기초하여 조절된 나머지 데이터(1070-1)로의 단지 범위 값 정보(1080-1)와 같은 인코딩된 나머지 데이터의 서브세트의 디코딩을 개시할 수 있다. 이러한 예에서, 신호 프로세서(100-2)는 제 1 품질 레벨에서 신호의 렌디션을 제 2 품질 레벨로 변환하기 위해 디코딩된 제 1 그룹의 재구성 데이터를 사용한다.
도 11은 본원의 실시예들에 따른, 상이한 양자화 설정들을 사용하는 재구성 데이터의 양자화를 예시하는 예시적인 도면이다. 도시된 바와 같이, 인코더(140)는 조절된 나머지 데이터(170-2)를 조절된 나머지 데이터(1070-1), 조절된 나머지 데이터(1070-2) 등으로 파싱한다.
인코더(140)는 제 1 범위, 예를 들면, 크기에서 50 보다 더 큰 범위 외부에 속하는 값들을 갖는 나머지 데이터(170-2)의 엘리먼트들을 포함하기 위해 조절된 나머지 데이터(1070-1)를 파퓰레이팅한다. 모든 다른 값들은 제로로 설정된다.
인코더(140)는 25 내지 50의 크기 범위 내에 속하는 값들을 갖는 생성된 재구성 데이터의 엘리먼트들을 포함하기 위해 조절된 나머지 데이터(1070-2)를 파퓰레이팅한다. 조절된 나머지 데이터(1070-1) 내의 비-제로 심볼로 이미 인코딩된 값들은 조절된 나머지 데이터(1070-2)에서 더 이상 인코딩될 필요가 없다. 모든 다른 값들은 제로로 설정된다.
신호 프로세서(100-1)는 각각의 범위에 대해 이러한 프로세스를 반복한다.
상술된 바와 같이, 엔트로피 인코더(140)는 조절된 나머지 데이터(1070)의 세트들을 별개로 인코딩한다.
비트
레이트
또는 고정 비트
레이트
인코딩의 정확한 제어의 예
MPEG-계열 코덱들 및 다른 산업 표준 코덱들은, 인코딩된 비트스트림이 초 당 비트들의 미리 정의된 범위 내에 머무는 고정 비트 레이트에 따라 인코딩할 수 없다. 이것은 대체로 알고리즘들의 성질로 인한 것이다. 즉, 그러한 코덱들은, 완전한 인코딩 프로세스가 완료된 후에만 이미지를 인코딩하기 위한 필요한 정확한 수의 비트들을 결정할 수 있다. 비트 한도(quota)가 충족되지 않을 때, 그러한 인코더들은, 생성된 크기가 타겟으로부터 바람직한 임계치 내에 있을 때까지 상이한 파라미터들로 본래의 신호를 여러번 재인코딩해야 한다. 일반적으로, 고정 비트 레이트의 상황들에서, 인코더는 신호를 여러번 재인코딩해야 하는 위험을 최소화하기 위해 시작 이래로 높은-압축 파라미터들을 갖고 자주 인코딩하기 시작한다(따라서 이용 가능한 비트 레이트를 통해 이론적으로 가능한 것보다 더 낮은 품질을 종종 달성함).
종래의 코덱들과 대조적으로, 및 본원의 실시예들에 따라, 비트들의 수가 재구성 데이터의 확률 분포에만 의존하기 때문에, 재구성 데이터를 인코딩하기 위해 얼마나 많은 비트들이 필요로 될 것인지를 미리 아는 것이 가능하고, 확률 분포는 엔트로피 인코딩 프로세스를 시작하기 전에 계산될 수 있다. 나머지 데이터 내의 제로 심볼의 확률과 같이, 확률 분포의 적절한 프록시들이 또한 사용될 수 있다.
본원의 실시예들이 (MPEG-계열 코덱들 또는 다른 주파수-도메인 코덱들에서와 같이 작은 블록들, 예를 들면, 8x8 픽셀 블록들에 대해서가 아니라) 전체 신호에 대해 동작하기 때문에, 각각의 상이한 재구성 데이터를 인코딩하기 위해 얼마나 많은 비트들이 필요로 될 것인지를 용이하게 계산하는 것이 가능하다. 더 높은 해상도 재구성 데이터를 전송 또는 디코딩하는 것이 불가하면, 재구성 데이터는 나머지들의 엔트로피(및 따라서 필요한 비트 레이트)를 감소시키기 위해 본원에 논의된 바와 같이 적응적으로 양자화될 수 있다.
본원의 일 실시예는, 제로 심볼의 확률을 증가시키거나, 심볼들의 알파벳을 감소시키기 위해 양자화 단계들을 증가시키기 위해 범위 내에 속하는 값들을 거의 제로로 설정하는 것을 포함한다. 이러한 방식들로 엔트로피를 감소시키는 것은 인코딩된 신호가 더 적은 비트들로 디코더로 전송되는 것을 가능하게 한다. 재구성 신호의 무결성은 나머지 데이터(재생 시에 신호(115)의 상세한 양상들을 생성하기 위해 사용됨)의 양자화로 인해 다소 곤란을 겪을 수 있다. 그러나, 재생 시에 혼잡에 의해 발생되는 어떠한 중지도 존재하지 않을 것이다. 더 많은 대역폭이 이용 가능할 때, 더 높은 품질의 재구성 데이터가 신호의 재구성 및 재생을 위해 디코더로 전송될 수 있다.
도 12는 본원의 실시예들에 따라 컴퓨터 프로세싱을 제공하는 컴퓨터 시스템(800)의 예시적인 블록도이다.
컴퓨터 시스템(800)은 스위치, 라우터, 서버, 클라이언트 등으로서 동작하는 퍼스널 컴퓨터, 프로세싱 회로망, 텔레비전, 재생 디바이스, 인코딩 디바이스, 워크스테이션, 휴대용 컴퓨팅 디바이스, 콘솔, 네트워크 터미널, 프로세싱 디바이스, 네트워크 디바이스와 같은 컴퓨터화된 디바이스일 수 있거나 또는 이를 포함할 수 있다.
주목해야 할 것은 다음 논의는 앞서 논의된 바와 같이 신호 프로세서(140)와 연관된 기능을 어떻게 수행할지를 표시하는 기본적인 실시예를 제공한다는 것이다. 그러나, 본 명세서에 기술된 바와 같이 동작들을 수행하기 위한 실제 구성은 각각의 애플리케이션에 따라 변할 수 있다는 것이 주목되어야 한다. 디코더(440)와 같은 다른 리소스들은 본원에 논의된 바와 같은 인코딩을 수행하기 위해 하나 이상의 프로세서들 및 스토리지 하드웨어를 포함하는 각각의 컴퓨터 시스템을 통해 구현될 수 있다.
도시된 바와 같이, 본 예의 컴퓨터 시스템(800)은 디지털 정보가 저장되고 검색될 수 있는 비-일시적인 유형의 매체들, 컴퓨터 판독가능, 하드웨어 스토리지 매체 등과 같은 컴퓨터 판독가능 스토리지 매체(812)에 연결된 상호연결부(811)를 포함한다. 컴퓨터 시스템(800)은 하나 이상의 프로세서들(813), I/O 인터페이스(814), 그리고 통신 인터페이스(817)를 더 포함할 수 있다.
I/O 인터페이스(814)는 저장실(repository)(180)에 연결을 제공하며, 그리고 존재한다면, 디스플레이 스크린, 주변 디바이스들(816) 이를테면 키보드, 컴퓨터 마우스 등을 제공한다.
컴퓨터 판독가능 스토리지 매체(812)(예를 들어, 하드웨어 스토리지 매체)는 메모리, 광 스토리지, 하드 드라이브, 플로피 디스크 등과 같은 임의의 적절한 디바이스 및/또는 하드웨어일 수 있다. 컴퓨터 판독가능 스토리지 매체는 신호 프로세서(140)와 연관된 명령들을 저장하기 위한 비-일시적 스토리지 매체들일 수 있다. 명령들은 본 명세서에서 논의된 바와 같이 임의의 동작들을 수행하기 위해 신호 프로세서(140)와 같은 각각의 리소스에 의해 실행된다.
통신 인터페이스(817)는 원격 소스들로부터 정보를 검색하고 다른 컴퓨터들, 스위치들, 클라이언트들, 서버들 등과 통신하기 위해 네트워크(190)를 통해 컴퓨터 시스템(800)이 통신할 수 있도록 한다. 또한 I/O 인터페이스(814)는 프로세서(813)가 저장실(180)로부터 저장된 정보의 검색 또는 검색 시도를 가능하게 한다.
도시된 바와 같이, 컴퓨터 판독가능 스토리지 매체(812)는 단일 프로세서 프로세스(140-2)로서 프로세서(들)(813)에 의해 실행된 신호 프로세서 애플리케이션(140-1)에 의해 인코딩될 수 있다.
주목해야 할 것은 컴퓨터 시스템(800) 또는 인코더(140)는 또한 데이터 및/또는 로직 명령들을 저장하기 위해 컴퓨터 판독가능 스토리지 매체(812)(예를 들어, 하드웨어 스토리지 매체, 비-일시적 스토리지 매체 등)을 포함하도록 구현될 수 있다.
컴퓨터 시스템(800)은 본 명세서에서 논의된 바와 같이 이와 같은 명령들을 실행하고 동작들을 수행하기 위해 하나 이상의 프로세서들(813)을 포함할 수 있다. 따라서, 실행될 때, 신호 프로세서 애플리케이션(140-1)과 연관된 코드는 본 명세서에서 논의된 바와 같은 프로세싱 기능을 지원할 수 있다. 언급된 바와 같이, 신호 프로세서(140)는 인코딩 및/또는 디코딩을 지원하도록 구성될 수 있다.
일 실시예의 동작 동안, 프로세서(들)(813)는 론치(launch), 구동, 실행, 해석하기 위해 또는 그렇지 않으면 컴퓨터 판독가능 스토리지 매체(812)내에 저장된 신호 프로세서 애플리케이션(140-1)의 명령들을 수행하기 위해 상호연결(811)의 사용을 통해 컴퓨터 판독가능 스토리지 매체(812)를 액세스한다. 신호 프로세서 애플리케이션(140-1)의 실행은 프로세서(들)(813)에서 프로세싱 기능을 생성한다. 즉, 프로세서(들)(813)와 연관된 인코더 프로세스(140-2)는 컴퓨터 시스템(800)에서 프로세서(들)(813)내 또는 프로세서(들)(813)상에서 신호 프로세서 애플리케이션(140-1)을 실행하는 하나 또는 하나를 초과하는 양상들을 표시한다.
당업자는 컴퓨터 시스템(800)이 신호 프로세서 애플리케이션(140-1)을 실행하기 위해 하드웨어 프로세싱 자원들의 할당과 사용을 제어하는 운영 체제와 같은 다른 프로세스들 및/또는 소프트웨어 및 하드웨어 컴포넌트들을 포함할 수 있다는 것을 이해할 것이다.
다른 실시예들에 따라서, 주목해야 할 것은 컴퓨터 시스템은 퍼스널 컴퓨터 시스템, 데스크탑 컴퓨터, 랩탑, 노트북, 노트북 컴퓨터, 메인프레임 컴퓨터 시스템, 휴대형 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 애플리케이션 서버, 스토리지 디바이스, 소비자 가전 디바이스 이를테면 카메라, 캠코더, 셋 탑 박스, 이동 디바이스, 비디오 게임 콘솔, 휴대형 비디오 게임 디바이스, 주변 디바이스 이를테면 스위치, 모뎀, 라우터 또는, 일반적으로, 임의의 유형의 컴퓨팅 또는 전자 디바이스를 포함하지만, 이에 제한되지 않는 임의의 다양한 유형들의 디바이스들일 수 있다는 것이다.
도 13은 본원의 실시예들에 따라 엔트로피 인코딩을 생성하고 활용하는 방법을 예시하는 예시적인 흐름도(1300)이다.
단계(1310)에서, 신호 프로세서(100-1)는 제 1 품질 레벨에서 신호의 렌디션을 생성한다.
단계(1320)에서, 신호 프로세서(100-1)는 재구성 데이터를 생성하고, 재구성 데이터는 제 1 품질 레벨에서 신호의 렌디션을 계층 내의 제 2 품질 레벨에서 신호의 렌디션으로 변환하는 방법을 지정하고, 제 2 품질 레벨은 제 1 품질 레벨보다 더 높다.
단계(1330)에서, 신호 프로세서(100-1)는 재구성 데이터를 인코딩하기 위해 엔트로피 인코더를 사용한다. 엔트로피 인코더(140)는 재구성 데이터를 나타내는 비트스트림(예를 들면, 범위 값 정보)을 생성한다.
다시 주목해야 할 것은 본 명세서의 기법들은 신호들을 처리하고 재구성하는데 사용하기에 아주 적합하다는 것이다. 그러나, 본원의 실시예들은 이와 같은 애플리케이션들에서 사용하기 위한 것으로 제한되지 않으며 본 명세서에서 논의된 기법들은 다른 애플리케이션들에 또한 아주 적합하다는 것이 주목되어야 한다.
본 명세서에 제시된 설명에 기초하여, 수많은 특정한 상세들이 청구된 요지의 완전한 이해를 제공하기 위해 설명되었다. 그러나, 청구된 요지는 이들 특정한 상세들 없이 실행될 수 있다는 것이 당업자들에 의해 이해될 것이다. 다른 경우들에서, 당업자에 의해 알려질 방법들, 장치들, 시스템들 등은 청구된 요지를 모호하게 하지 않기 위해 상세히 기술되지 않았다. 상세한 설명의 몇몇 부분들은 컴퓨터 메모리와 같은 컴퓨팅 시스템 메모리내에 저장된 데이터 비트들 또는 2진 디지털 신호들에 대한 동작들의 알고리즘들 또는 부호적 표현들의 면에서 제공되었다. 이들 알고리즘적 설명들 또는 표현들은 이들의 작업의 요지(substance)를 다른 당업자들에게 전달하기 위해 데이터 처리 기술 분야의 당업자들에 의해 사용된 기법들의 예들이다. 본 명세서에 기술된 바와 같이, 그리고 일반적으로, 알고리즘은 원하는 결과를 가져오는 동작들 또는 유사한 프로세싱의 일관성 있는 시퀀스(self-consistent sequence)일 것으로 간주된다. 이러한 맥락에서, 동작들과 프로세싱은 물리적 양들의 물리적 조작을 포함한다. 전형적으로, 비록 반드시 필요하지는 않다고 하더라도, 이와 같은 양들은 저장되고, 전달되며, 조합되고, 비교되거나 달리 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취할 수 있다. 주로 공통 이용법의 이유들 때문에 비트들, 데이터, 값들, 엘리먼트들, 부호들, 문자들, 용어들, 번호들, 숫자들 등으로서 이와 같은 신호들을 지칭하는 것이 때때로 편리하다는 것이 입증되었다. 그러나, 이들 및 유사한 용어들의 모두가 적절한 물리적 양들과 연관될 것이며 단지 편리한 라벨들만이 존재한다는 것이 주목되어야 한다. 달리 특별히 설명되지 않는 한, 다음 논의로부터 자명한 바와 같이, 본 명세서 전반에 걸쳐서 "프로세싱", "컴퓨팅", "계산", "결정" 등과 같은 용어들을 활용하는 논의들은 메모리들, 레지스터들, 또는 다른 정보 스토리지 디바이스들, 송신 디바이스들, 또는 컴퓨팅 플랫폼의 디스플레이 디바이스들내 물리적 전자 또는 자기적 양들로서 표현된 데이터를 조작하거나 변환하는, 컴퓨터 또는 유사한 전자 컴퓨팅 디바이스와 같은, 컴퓨팅 플랫폼의 작용들 또는 처리들을 지칭한다는 것이 인식된다.
비록 본 발명이 본 발명의 바람직한 실시예들을 참조하여 특별히 도시되고 기술되었지만, 형태와 상세들의 다양한 변화들이 첨부된 청구항들에 의해 정의된 바와 같이 본 출원의 사상 및 범주를 벗어남이 없이 본 발명에서 이루어질 수 있다는 것이 당업자들에 의해 이해될 것이다. 이와 같은 변화들은 본 출원의 범주에 의해 커버되도록 의도된다. 이와 같이, 본 출원의 실시예들의 상기 설명은 제한되도록 의도되지 않는다. 오히려, 본 발명에 대해 임의의 제한들은 다음 청구항들에서 제공된다.
Claims (23)
- 다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법으로서,
제 1 품질 레벨에서 상기 신호의 렌디션(rendition)을 생성하는 단계,
재구성 데이터의 적어도 하나의 세트를 생성하는 단계 ― 상기 재구성 데이터의 적어도 하나의 세트는, 상기 제 1 품질 레벨에서 상기 신호의 렌디션 및/또는 이용 가능한 기준 신호들에 기초하여, 상기 계층 내의 제 2 품질 레벨에서 상기 신호의 렌디션을 재구성하는 방법을 지정하고, 상기 제 2 품질 레벨은 상기 제 1 품질 레벨보다 더 높음 ― , 및
재구성 데이터의 상이한 세트들을 인코딩하기 위해 엔트로피(entropy) 인코더를 사용하는 단계 ― 상기 엔트로피 인코더는 각각의 세트에 대해 상기 재구성 데이터에 포함된 심볼들을 나타내는 비트 스트링 또는 인코딩된 값을 생성함 ― 를 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 엔트로피 인코더를 사용하는 단계는,
확률 분포 정보로 하나 이상의 디코딩 파라미터들을 생성하기 위해 재구성 데이터의 각각의 세트를 분석하는 단계 ― 상기 확률 분포 정보는 상기 재구성 데이터의 세트에 의해 사용된 심볼들의 알파벳 내의 적어도 하나의 심볼의 확률을 나타냄 ― , 및
다시 상기 재구성 데이터로의 상기 인코딩된 값 또는 비트 스트링의 후속 디코딩을 위해 상기 인코딩된 값 또는 비트 스트링 및 상기 확률 분포 정보를 저장하는 단계를 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 2 항에 있어서,
재구성 데이터의 각각의 세트에 대해, 상기 인코딩된 값 또는 비트 스트링 및 상기 확률 분포 정보를 상기 재구성 데이터로 디코딩하기 위한 엔트로피 디코더를 구현하는 단계, 및
상기 제 1 품질 레벨에서 상기 신호의 렌디션 및/또는 이용 가능한 기준 신호들에 기초하여, 상기 제 2 품질 레벨에서 상기 신호의 렌디션을 재구성하기 위해 상기 디코더에 의해 생성된 재구성 데이터의 세트들을 사용하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 재구성 데이터의 세트들 중 하나는, 상기 제 1 품질 레벨에서 상기 신호의 렌디션을 상기 제 2 품질 레벨에서 상기 신호의 렌디션으로 업샘플링한 후에 이루어지는 조절들을 나타내는 나머지(residual) 데이터를 포함하고,
상기 엔트로피 인코더를 사용하는 단계는, 상기 나머지 데이터 내의 다수의 심볼들에 대한 확률 분포를 외삽(extrapolate)하기 위해 각각의 엔트로피 디코더에 의해 사용될 적어도 하나의 디코딩 파라미터를 생성하는 단계를 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 2 항에 있어서,
상기 적어도 하나의 디코딩 파라미터는 제 1 파라미터 및 부가적인 파라미터들을 포함하고,
상기 제 1 파라미터는 제 1 심볼에 할당된 상기 재구성 데이터 내의 엘리먼트들의 퍼센티지를 지정하고,
상기 부가적인 파라미터들은 상기 재구성 데이터 내의 다수의 부가적인 심볼들의 확률들을 나타내는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 2 항에 있어서,
상기 적어도 하나의 디코딩 파라미터는 제 1 파라미터 및 제 2 파라미터를 포함하고,
상기 제 1 파라미터는 제 1 심볼에 할당된 상기 재구성 데이터 내의 엘리먼트들의 퍼센티지를 지정하고,
상기 제 2 파라미터는 상기 재구성 데이터 내의 다수의 다른 심볼들에 대한 확률 분포 값들을 외삽하는 방법을 디코더에 표시하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 2 항에 있어서,
상기 적어도 하나의 파라미터는 상기 재구성 데이터 내의 제 1 심볼에 대한 확률을 나타내는 단일 파라미터만을 포함하고,
상기 엔트로피 디코더는, 상기 인코딩된 값 또는 비트 스트링을 다시 상기 재구성 데이터로 변환하는 엔트로피 디코더에 알려진 일반적인 파라미터들의 미리 결정된 세트에 기초하여 다수의 다른 심볼들에 대한 확률 분포를 외삽하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
재구성 데이터의 하나 이상의 세트들에 대해, 상기 엔트로피 인코더는 사용하는 단계는,
재구성 데이터의 각각의 세트를 재구성 데이터의 다수의 그룹들로 파싱(parsing)하는 단계,
상기 다수의 그룹들 각각에 존재하는 심볼들에 대한 각각의 확률 분포 정보를 생성하기 위해 상기 엔트로피 인코더를 사용하는 단계, 및
상기 그룹들에 대한 각각의 확률 분포 정보에 기초하여 재구성 데이터의 각각의 세트의 다수의 그룹들을 인코딩된 값들 또는 비트 스트링들로 인코딩하기 위해 상기 엔트로피 인코더를 사용하는 단계를 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 8 항에 있어서,
재구성 데이터의 다수의 그룹들 각각은 상기 신호의 특정 부분에 대해 나머지 데이터 엘리먼트들의 타일(tile)이고,
상기 나머지 데이터 엘리먼트들 각각은, 상기 제 1 품질 레벨로부터 상기 제 2 품질 레벨로의 상기 신호의 업샘플링 후에, 상기 신호의 대응한 엘리먼트에 대해 이루어질 조절을 나타내고,
상기 방법은,
각각의 그룹에 대해, 상기 특정 인코딩된 값들 또는 비트 스트링들 및 확률 분포 값들을 사용하여 재구성 데이터의 다수의 그룹들을 재생하기 위해 다수의 엔트로피 디코더들의 병렬 실행을 개시하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 재구성 데이터는 재구성 데이터의 세트들의 제 1 어레이이고,
상기 방법은,
재구성 데이터의 세트들의 제 2 어레이를 생성하는 단계 ― 상기 재구성 데이터의 세트들의 제 2 어레이는, 상기 제 2 품질 레벨에서 상기 신호의 렌디션에 기초하여, 상기 계층 내의 제 3 품질 레벨에서 상기 신호의 렌디션을 재구성하는 방법을 지정하고, 상기 제 3 품질 레벨은 상기 제 2 품질 레벨보다 더 높음 ― ,
확률 분포 정보에 기초하여 하나 이상의 디코딩 파라미터들을 생성하기 위해 상기 제 2 어레이의 재구성 데이터의 각각의 세트를 분석하는 단계 ― 상기 확률 분포 정보는 상기 재구성 데이터의 세트에 의해 사용된 심볼들의 알파벳 내의 적어도 하나의 심볼의 확률을 나타냄 ― , 및
상기 재구성 데이터의 세트들의 제 2 어레이를 인코딩하기 위해 상기 엔트로피 인코더를 사용하는 단계 ― 상기 엔트로피 인코더는, 재구성 데이터의 각각의 세트에 대해, 상기 세트에 대해 생성된 상기 확률 분포 정보에 기초하여 상기 데이터를 나타내는 비트 스트링 또는 인코딩된 값을 생성함 ― 를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 재구성 데이터는 재구성 데이터의 세트들의 제 1 어레이이고,
상기 방법은,
재구성 데이터의 세트들의 제 2 어레이를 생성하는 단계 ― 상기 재구성 데이터의 세트들의 제 2 어레이는, 상기 제 2 품질 레벨에서 상기 신호의 렌디션 및/또는 이용 가능한 기준 신호들에 기초하여, 상기 계층 내의 제 3 품질 레벨에서 상기 신호의 렌디션을 재구성하는 방법을 지정하고, 상기 제 3 품질 레벨은 상기 제 2 품질 레벨보다 더 높음 ― , 및
상기 재구성 데이터의 세트들의 제 2 어레이를 인코딩하기 위해 상기 엔트로피 인코더를 사용하는 단계 ― 상기 엔트로피 인코더는, 재구성 데이터의 각각의 세트에 대해, 상기 재구성 데이터의 세트들의 제 1 어레이 내의 데이터의 대응하는 세트의 확률 분포 정보에 기초하여 상기 데이터를 나타내는 비트 스트링 또는 인코딩된 값을 생성함 ― 를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 재구성 데이터는 재구성 데이터의 세트들의 제 1 어레이이고,
상기 방법은,
재구성 데이터의 세트들의 제 2 어레이에 대한 인코딩된 값들 또는 비트 스트링들을 수신하는 단계 ― 상기 재구성 데이터의 세트들의 어레이는, 상기 제 2 품질 레벨에서 상기 신호의 렌디션 및/또는 이용 가능한 기준 신호들에 기초하여, 제 3 품질 레벨에서 상기 신호의 렌디션을 재구성하는 방법을 지정하고, 상기 제 3 품질 레벨은 상기 제 2 품질 레벨보다 더 높음 ― ,
디코딩 파라미터들을 수신하고, 상기 제 2 어레이의 재구성 데이터의 각각의 세트 내의 심볼들에 대한 확률 분포들을 식별하는 단계, 및
상기 재구성 데이터의 세트들의 제 2 어레이에 대한 상기 인코딩된 값들 또는 비트 스트링들을 상기 재구성 데이터의 세트들의 제 2 어레이로 디코딩하기 위해 식별된 확률 분포들을 사용하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 12 항에 있어서,
상기 재구성 데이터의 세트들의 제 2 어레이를 나타내는 비트 스트링들 또는 상기 인코딩된 값들을 수신하는 단계, 및
재구성 데이터의 각각의 세트에 대해, 상기 엔트로피 인코더가 데이터의 하나 이상의 세트들에 대한 확률 분포 정보를 전송하지 않은 것, 또는 상기 엔트로피 인코더가 데이터의 하나 이상의 세트들에 대한 확률 분포 파라미터들을 전송하지 않을 것이라는 것을 상기 엔트로피 인코더가 이전에 지정하지 않았던 것을 검출한 것에 응답하여, 상기 데이터의 세트를 나타내는 비트 스트링 또는 상기 인코딩된 값을 엔트로피 디코딩하기 위해 상기 재구성 데이터의 제 1 어레이 내의 대응하는 세트(들)에 대해 디코딩된 확률 분포 정보를 사용하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 3 항에 있어서,
재구성 데이터의 각각의 세트에 대한 상기 인코딩된 값 또는 비트 스트링을 수신하는 단계, 및
상기 엔트로피 인코더가 상기 재구성 데이터의 세트 내의 심볼들의 확률 분포에 대한 특정 정보를 전송하지 않은 것을 검출하는 것에 응답하여, 상기 인코딩된 값 또는 비트 스트링을 상기 재구성 데이터로 디코딩하기 위해 심볼들에 대한 디폴트 확률 분포 값을 사용하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 방법은,
재구성 데이터의 하나 이상의 세트들을, 적어도 재구성 데이터의 제 1 그룹 및 재구성 데이터의 제 2 그룹을 포함하는 다수의 그룹들로 파싱하는 단계,
값들/심볼들의 제 1 범위 내에 속하는 값/심볼을 갖는 재구성 데이터의 생성된 세트의 모든 엘리먼트들이 그들의 값/심볼을 유지하고, 반면에 모든 다른 엘리먼트들은 디폴트 값/심볼로 설정되도록, 상기 재구성 데이터의 제 1 그룹을 파퓰레이팅(populating)하는 단계,
값들/심볼들의 제 2 범위 내에 속하는 값/심볼을 갖는 재구성 데이터의 생성된 세트의 모든 엘리먼트들이 그들의 값/심볼을 유지하고, 반면에 모든 다른 엘리먼트들은 디폴트 값/심볼로 설정되도록, 상기 재구성 데이터의 제 2 그룹을 파퓰레이팅하는 단계, 및
값들/심볼들의 부가적인 범위들에 따라, 동일한 방법에 따라 부가적인 그룹들을 파퓰레이팅하는 단계를 더 포함하고,
상기 세트들에 대해 상기 엔트로피 인코더를 사용하는 단계는 상기 재구성 데이터의 제 1 그룹, 상기 재구성 데이터의 제 2 그룹 및 재구성 데이터의 임의의 다른 부가적인 그룹을 별개로 엔트로피 인코딩하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 15 항에 있어서,
별개로 엔트로피 인코딩하는 단계는,
상기 제 1 그룹에 대해,
확률 분포 정보로 하나 이상의 디코딩 파라미터들을 생성하기 위해 상기 재구성 데이터의 제 1 그룹을 분석하는 단계 ― 상기 확률 분포 정보는 상기 제 1 그룹에 의해 사용된 알파벳 내의 심볼들의 확률 분포를 나타냄 ― , 및
제 1 확률 분포 정보에 기초하여 제 1 인코딩된 값 또는 비트 스트링을 생성하기 위해 상기 엔트로피 인코더를 사용하는 단계 ― 상기 제 1 인코딩된 값 또는 비트 스트링은 상기 재구성 데이터의 제 1 그룹을 나타냄 ― ,
상기 제 2 그룹에 대해,
확률 분포 정보로 하나 이상의 디코딩 파라미터들을 생성하기 위해 상기 재구성 데이터의 제 2 그룹을 분석하는 단계 ― 상기 확률 분포 정보는 상기 제 2 그룹에 의해 사용된 알파벳 내의 심볼들의 확률 분포를 나타냄 ― , 및
제 2 확률 분포 정보에 기초하여 제 2 인코딩된 값 또는 비트 스트링을 생성하기 위해 상기 엔트로피 인코더를 사용하는 단계 ― 상기 제 2 인코딩된 값 또는 비트 스트링은 상기 재구성 데이터의 제 2 그룹을 나타냄 ― ,
임의의 다른 부가적인 그룹에 대해,
확률 분포 정보로 하나 이상의 디코딩 파라미터들을 생성하기 위해 상기 재구성 데이터의 특정 그룹을 분석하는 단계 ― 상기 확률 분포 정보는 상기 특정 그룹에 의해 사용된 알파벳 내의 심볼들의 확률 분포를 나타냄 ― , 및
각각의 확률 분포 정보에 기초하여 상기 특정 그룹에 대한 인코딩된 값 또는 비트 스트링을 생성하기 위해 상기 엔트로피 인코더를 사용하는 단계 ― 상기 인코딩된 값 또는 비트 스트링은 상기 재구성 데이터의 특정 그룹을 나타냄 ― 를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 16 항에 있어서,
재구성 데이터의 특정 세트들에 대해, 재구성 데이터의 그룹들 모두의 적시의 엔트로피 디코딩을 방해하는 장애의 발생에 응답하여, 상기 인코딩된 값들 또는 비트 스트링들 중 일부만의 재구성 데이터의 각각의 그룹들로의 엔트로피 디코딩을 개시하는 단계 ― 재구성 데이터의 각각의 그룹의 상기 엔트로피 디코딩은 확률 분포 정보를 나타내는 각각의 디코딩 파라미터들에 기초함 ― , 및
상기 제 1 품질 레벨에서 상기 신호의 렌디션 및/또는 이용 가능한 기준 신호들에 기초하여 사기 제 2 품질 레벨을 재구성하기 위해, 이미 디코딩된 재구성 데이터의 다른 세트들과 함께, 재구성 데이터의 엔트로피 디코딩된 그룹들을 사용하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 16 항에 있어서,
재구성 데이터의 특정 세트들에 대해, 특정 요구 또는 적시의 엔트로피 인코딩을 방해하는 장애의 발생 또는 재구성 데이터의 그룹들 모두의 전송을 위한 필요한 정보 대역폭의 이용 불가에 응답하여, 확률 분포 정보를 나타내는 임의의 디코딩 파라미터들과 함께, 재구성 데이터의 각각의 그룹들에 대응하는 상기 인코딩된 값들 또는 비트 스트링들 중 일부만의 디코더로의 전송을 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 계층 내의 정해진 품질 레벨에서 상기 신호를 재구성하기 위한 나머지 데이터를 생성하는 단계,
엔트로피 메트릭에 기초하여, 상기 나머지 데이터를 엔트로피 인코딩하기 위해 요구된 비트들의 수를 추정하는 단계, 및
상기 엔트로피 인코딩 전에 상기 정해진 품질 레벨에서 상기 나머지 데이터의 엔트로피를 감소시키기 위해 양자화기를 상기 나머지 데이터에 적용하는 단계 ― 상기 나머지 데이터로의 상기 양자화기의 적용은 바람직한 비트 레이트에 따라 인코딩된 나머지 데이터의 전송을 용이하게 함 ― 를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 계층 내의 다수의 품질 레벨들에서 상기 신호를 조절하기 위해 사용된 나머지 데이터 내의 심볼들의 확률 분포를 계산하는 단계,
제 1 양자화기 설정에 기초하여 상기 나머지 데이터를 엔트로피 인코딩하는 비트 레이트를 추정하기 위해 상기 확률 분포를 사용하는 단계,
추정된 비트 레이트가 바람직한 임계값을 초과한다는 것을 검출하는 것에 응답하여, 상기 나머지 데이터와 연관된 엔트로피를 감소시키기 위해 부가적인 양자화를 상기 나머지 데이터에 적용하는 단계, 및
양자화된 나머지 데이터를 인코딩하기 위해 상기 엔트로피 인코더를 사용하는 단계를 더 포함하는,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 제 1 항에 있어서,
상기 엔트로피 인코더는 범위 인코더인,
다수의 품질 레벨들을 포함하는 계층에서 신호를 인코딩하는 방법. - 명령들을 저장한 컴퓨터-판독 가능 저장 하드웨어로서,
상기 명령들은, 프로세싱 디바이스에 의해 수행될 때, 프로세싱 디바이스로 하여금,
제 1 품질 레벨에서 신호의 렌디션을 생성하는 동작들,
재구성 데이터의 적어도 하나의 세트를 생성하는 동작들 ― 상기 재구성 데이터의 적어도 하나의 세트는, 상기 제 1 품질 레벨에서 상기 신호의 렌디션 및/또는 이용 가능한 기준 신호들에 기초하여, 계층 내의 제 2 품질 레벨에서 상기 신호의 렌디션을 재구성하는 방법을 지정하고, 상기 제 2 품질 레벨은 상기 제 1 품질 레벨보다 더 높음 ― , 및
재구성 데이터의 상이한 세트들을 인코딩하기 위해 엔트로피 인코더를 사용하는 동작들 ― 상기 엔트로피 인코더는 각각의 세트에 대해 상기 재구성 데이터에 포함된 심볼들을 나타내는 비트 스트링 및 인코딩된 값을 생성함 ― 을 수행하게 하는,
명령들을 저장한 컴퓨터-판독 가능 저장 하드웨어. - 컴퓨터 시스템으로서,
프로세서,
상기 프로세서에 의해 실행되는 애플리케이션과 연관된 명령들을 저장하는 메모리 유닛, 및
상기 프로세서 및 상기 메모리 유닛을 커플링하는 상호 접속부를 포함하고, 상기 상호 접속부는 상기 컴퓨터 시스템이 상기 애플리케이션을 실행하게 하고,
제 1 품질 레벨에서 신호의 렌디션을 생성하는 동작들,
재구성 데이터의 적어도 하나의 세트를 생성하는 동작들 ― 상기 재구성 데이터의 적어도 하나의 세트는, 상기 제 1 품질 레벨에서 상기 신호의 렌디션에 기초하여, 계층 내의 제 2 품질 레벨에서 상기 신호의 렌디션을 재구성하는 방법을 지정하고, 상기 제 2 품질 레벨은 상기 제 1 품질 레벨보다 더 높음 ― , 및
재구성 데이터의 상이한 세트들을 인코딩하기 위해 엔트로피 인코더를 사용하는 동작들 ― 상기 엔트로피 인코더는 각각의 세트에 대해 상기 재구성 데이터에 포함된 심볼들을 나타내는 비트 스트링 또는 인코딩된 값을 생성함 ― 을 수행하게 하는,
컴퓨터 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/188,226 | 2011-07-21 | ||
US13/188,226 US8531321B1 (en) | 2011-07-21 | 2011-07-21 | Signal processing and inheritance in a tiered signal quality hierarchy |
PCT/IB2012/053725 WO2013011495A2 (en) | 2011-07-21 | 2012-07-20 | Signal processing and inheritance in a tiered signal quality hierarchy |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140051345A true KR20140051345A (ko) | 2014-04-30 |
KR102134705B1 KR102134705B1 (ko) | 2020-07-17 |
Family
ID=46851541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147004587A KR102134705B1 (ko) | 2011-07-21 | 2012-07-20 | 티어드 신호 품질 계층 구조에서의 신호 프로세싱 및 상속 |
Country Status (12)
Country | Link |
---|---|
US (1) | US8531321B1 (ko) |
EP (1) | EP2735160A2 (ko) |
JP (1) | JP6351040B2 (ko) |
KR (1) | KR102134705B1 (ko) |
CN (1) | CN103918261B (ko) |
AU (1) | AU2012285359B2 (ko) |
CA (1) | CA2842551C (ko) |
EA (1) | EA031450B1 (ko) |
IL (1) | IL230271A (ko) |
MX (1) | MX2014000708A (ko) |
WO (1) | WO2013011495A2 (ko) |
ZA (1) | ZA201400471B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11082168B1 (en) | 2020-03-19 | 2021-08-03 | Western Digital Technologies, Inc. | Entropy driven endurance for normalized quality of service |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977065B2 (en) * | 2011-07-21 | 2015-03-10 | Luca Rossato | Inheritance in a tiered signal quality hierarchy |
WO2013171168A1 (en) * | 2012-05-14 | 2013-11-21 | Luca Rossato | Encoding and decoding based on blending of sequences of samples along time |
US9578339B2 (en) * | 2013-03-05 | 2017-02-21 | Qualcomm Incorporated | Parallel processing for video coding |
US9215468B1 (en) * | 2014-08-07 | 2015-12-15 | Faroudja Enterprises, Inc. | Video bit-rate reduction system and method utilizing a reference images matrix |
US9510787B2 (en) * | 2014-12-11 | 2016-12-06 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for reconstructing sampled signals |
CN105791866B (zh) * | 2014-12-24 | 2018-10-30 | 北京数码视讯科技股份有限公司 | 视频编码中间数据获取方法、设备及*** |
PL3284255T3 (pl) | 2015-04-13 | 2023-10-30 | V-Nova International Limited | Kodowanie wielu sygnałów z docelową szybkością transmisji danych sygnału w zależności od informacji o złożoności |
GB2547934B (en) * | 2016-03-03 | 2021-07-07 | V Nova Int Ltd | Adaptive video quality |
GB2553556B (en) * | 2016-09-08 | 2022-06-29 | 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 |
EP3496403A1 (en) | 2017-12-06 | 2019-06-12 | V-Nova International Limited | Hierarchical data structure |
EP3496404A1 (en) * | 2017-12-06 | 2019-06-12 | V-Nova International Limited | Image processing |
EP3721625A1 (en) | 2017-12-06 | 2020-10-14 | V-Nova International Limited | Methods and apparatuses for hierarchically encoding and decoding a bytestream |
GB2573486B (en) * | 2017-12-06 | 2022-12-21 | V Nova Int Ltd | Processing signal data using an upsampling adjuster |
US11177823B2 (en) * | 2018-05-21 | 2021-11-16 | Google Llc | Data compression by local entropy encoding |
US10411731B1 (en) * | 2018-09-24 | 2019-09-10 | Advanced Micro Devices, Inc. | Device and method of compressing data using tiered data compression |
GB201817783D0 (en) * | 2018-10-31 | 2018-12-19 | V Nova Int Ltd | Methods,apparatuses, computer programs and computer-readable media for processing configuration data |
GB201817780D0 (en) * | 2018-10-31 | 2018-12-19 | V Nova Int Ltd | Methods,apparatuses, computer programs and computer-readable media for processing configuration data |
US11310516B2 (en) * | 2018-12-21 | 2022-04-19 | Hulu, LLC | Adaptive bitrate algorithm with cross-user based viewport prediction for 360-degree video streaming |
CN114503573A (zh) | 2019-03-20 | 2022-05-13 | 威诺瓦国际有限公司 | 低复杂性增强视频编码 |
KR20220036948A (ko) | 2019-07-05 | 2022-03-23 | 브이-노바 인터내셔널 리미티드 | 비디오 코딩에서 잔차의 양자화 |
CN112887713B (zh) * | 2019-11-30 | 2022-06-28 | 华为技术有限公司 | 图片压缩、解压缩方法和装置 |
GB2598701B (en) | 2020-05-25 | 2023-01-25 | V Nova Int Ltd | Wireless data communication system and method |
CN116807414B (zh) * | 2023-08-31 | 2023-12-29 | 慧创科仪(北京)科技有限公司 | 用于近红外脑功能成像信号质量的评估方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07236142A (ja) * | 1993-10-18 | 1995-09-05 | Mitsubishi Electric Corp | 高能率符号化装置及び復号化装置 |
KR20060083100A (ko) * | 2005-01-14 | 2006-07-20 | 학교법인 성균관대학 | 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 |
JP2006295913A (ja) * | 2005-04-11 | 2006-10-26 | Sharp Corp | 空間的スケーラブルコーディングのためのアダプティブアップサンプリング方法および装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4122440A (en) | 1977-03-04 | 1978-10-24 | International Business Machines Corporation | Method and means for arithmetic string coding |
JP4160689B2 (ja) * | 1998-11-10 | 2008-10-01 | 株式会社リコー | 算術符号化装置および算術復号装置 |
AU2003272833A1 (en) * | 2002-09-17 | 2004-04-08 | Vladimir Ceperkovic | Fast codec with high compression ratio and minimum required resources |
CN1890980A (zh) * | 2003-12-08 | 2007-01-03 | 皇家飞利浦电子股份有限公司 | 具有盲区的空间可缩放压缩方案 |
JP4835855B2 (ja) * | 2004-10-07 | 2011-12-14 | 日本電気株式会社 | 動画像符号化の装置、方法及びプログラムと、動画像復号の装置方法及びプログラム |
US8289370B2 (en) | 2005-07-20 | 2012-10-16 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
US9319700B2 (en) * | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
CN101669366A (zh) * | 2006-10-16 | 2010-03-10 | 韩国电子通信研究院 | 具有自适应参考精细粒度信噪比可伸缩性和精细粒度信噪比可伸缩性运动细化机制的可伸缩视频编码编码器及其方法 |
US20080120676A1 (en) * | 2006-11-22 | 2008-05-22 | Horizon Semiconductors Ltd. | Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream |
-
2011
- 2011-07-21 US US13/188,226 patent/US8531321B1/en active Active
-
2012
- 2012-07-20 CA CA2842551A patent/CA2842551C/en active Active
- 2012-07-20 AU AU2012285359A patent/AU2012285359B2/en active Active
- 2012-07-20 EP EP12759220.2A patent/EP2735160A2/en not_active Ceased
- 2012-07-20 EA EA201490313A patent/EA031450B1/ru not_active IP Right Cessation
- 2012-07-20 MX MX2014000708A patent/MX2014000708A/es active IP Right Grant
- 2012-07-20 JP JP2014520783A patent/JP6351040B2/ja active Active
- 2012-07-20 CN CN201280036119.3A patent/CN103918261B/zh active Active
- 2012-07-20 KR KR1020147004587A patent/KR102134705B1/ko active IP Right Grant
- 2012-07-20 WO PCT/IB2012/053725 patent/WO2013011495A2/en active Application Filing
-
2013
- 2013-12-31 IL IL230271A patent/IL230271A/en active IP Right Grant
-
2014
- 2014-01-21 ZA ZA2014/00471A patent/ZA201400471B/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07236142A (ja) * | 1993-10-18 | 1995-09-05 | Mitsubishi Electric Corp | 高能率符号化装置及び復号化装置 |
KR20060083100A (ko) * | 2005-01-14 | 2006-07-20 | 학교법인 성균관대학 | 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 |
JP2006295913A (ja) * | 2005-04-11 | 2006-10-26 | Sharp Corp | 空間的スケーラブルコーディングのためのアダプティブアップサンプリング方法および装置 |
Non-Patent Citations (2)
Title |
---|
A. Fuldseth. Replacing slices with tiles for high level parallelism. JCT-VC of ITU-T and ISO/IEC. JCTVC-D227 Ver.3, Jan. 21, 2011, pp.1-5* * |
H. Schwarz, et al. Overview of the Scalable Video Coding Extension of the H.264/AVC Standard. IEEE Trans. on CSVT. Sep. 2007, Vol.17, No.9, pp.1103-1120* * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11082168B1 (en) | 2020-03-19 | 2021-08-03 | Western Digital Technologies, Inc. | Entropy driven endurance for normalized quality of service |
KR20210117895A (ko) * | 2020-03-19 | 2021-09-29 | 웨스턴 디지털 테크놀로지스, 인코포레이티드 | 정규화된 서비스 품질을 위한 엔트로피 구동 내구성 |
Also Published As
Publication number | Publication date |
---|---|
WO2013011495A2 (en) | 2013-01-24 |
BR112014001208A2 (pt) | 2017-02-21 |
CA2842551A1 (en) | 2013-01-24 |
ZA201400471B (en) | 2015-09-30 |
CN103918261B (zh) | 2018-01-19 |
IL230271A (en) | 2017-09-28 |
AU2012285359A1 (en) | 2014-02-13 |
US8531321B1 (en) | 2013-09-10 |
CA2842551C (en) | 2019-11-26 |
CN103918261A (zh) | 2014-07-09 |
WO2013011495A3 (en) | 2013-04-25 |
AU2012285359A2 (en) | 2014-10-23 |
JP2014521276A (ja) | 2014-08-25 |
JP6351040B2 (ja) | 2018-07-04 |
AU2012285359B2 (en) | 2017-10-19 |
EA201490313A1 (ru) | 2014-06-30 |
MX2014000708A (es) | 2014-06-23 |
KR102134705B1 (ko) | 2020-07-17 |
EA031450B1 (ru) | 2019-01-31 |
EP2735160A2 (en) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102134705B1 (ko) | 티어드 신호 품질 계층 구조에서의 신호 프로세싱 및 상속 | |
US11166011B2 (en) | Sample adaptive offset (SAO) in accordance with video coding | |
US10178387B2 (en) | Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy | |
US20240121420A1 (en) | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto | |
JP5957559B2 (ja) | 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置 | |
KR102165155B1 (ko) | 공간적으로 확장 가능한 비디오 코딩을 위한 적응적 보간 | |
RU2720975C2 (ru) | Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы | |
KR101483137B1 (ko) | 근사 최적 퀄리티를 갖는 낮은 복잡성의 이미지 트랜스코딩을 위한 방법 및 시스템 | |
US20220385911A1 (en) | Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling | |
US10542265B2 (en) | Self-adaptive prediction method for multi-layer codec | |
WO2013001013A1 (en) | Method for decoding a scalable video bit-stream, and corresponding decoding device | |
WO2023135518A1 (en) | High-level syntax of predictive residual encoding in neural network compression | |
WO2022238967A1 (en) | Method, apparatus and computer program product for providing finetuned neural network | |
WO2022224113A1 (en) | Method, apparatus and computer program product for providing finetuned neural network filter | |
US10536697B2 (en) | Method for re-encoding image and apparatus therefor | |
BR112014001208B1 (pt) | Processamento de sinal e herança em uma hierarquia de qualidade de sinal enfileirada |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
AMND | Amendment | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |