KR101357388B1 - 임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림 - Google Patents

임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림 Download PDF

Info

Publication number
KR101357388B1
KR101357388B1 KR1020127012761A KR20127012761A KR101357388B1 KR 101357388 B1 KR101357388 B1 KR 101357388B1 KR 1020127012761 A KR1020127012761 A KR 1020127012761A KR 20127012761 A KR20127012761 A KR 20127012761A KR 101357388 B1 KR101357388 B1 KR 101357388B1
Authority
KR
South Korea
Prior art keywords
groups
bits
group
bit
signaling
Prior art date
Application number
KR1020127012761A
Other languages
English (en)
Other versions
KR20120089489A (ko
Inventor
웨이 리우
모하매드 그하라비-알칸사리
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20120089489A publication Critical patent/KR20120089489A/ko
Application granted granted Critical
Publication of KR101357388B1 publication Critical patent/KR101357388B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

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 Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

비트스트림의 재배열을 이용하여 임베디드 그래픽스 코딩에서 디코딩을 가속화시킬 수 있다. 재배열에서, 그룹 전체의 시그널링 비트는 전송되고 그 이후 각 그룹의 세분화 비트가 뒤따른다. 이 재배열로, 디코더는 헤더를 디코드할 수 있고, 각 그룹의 세분화 비트의 개수를 확인하여 비트스트림 내의 각 그룹의 시작점을 찾아내며, 이로써 디코더 측에서 각 그룹의 병렬 처리가 구현될 수 있다.

Description

임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림{EMBEDDED GRAPHICS CODING: REORDERED BITSTREAM FOR PARALLEL DECODING}
<관련 문헌의 상호 참조>
본 출원은 2009년 12월 3일 출원된 발명의 명칭이 "WiHD: Grouping the Split Bits(WiHD: 분할 비트의 그룹화)"인 미국 가특허 출원 61/266,400호를 35 U.S.C. §119(e)에 기초하여 우선권 주장한다. 2009년 12월 3일 출원된 발명의 명칭이 "WiHD: Grouping the Split Bits(WiHD: 분할 비트의 그룹화)"인 가특허 출원 61/266,400호는 본 명세서에 모든 내용이 참조로써 원용된다.
본 발명은 이미지 처리 분야에 관한 것이다. 더 구체적으로는, 본 발명은 이미지/비디오를 인코딩 및 디코딩할 때 시그널링 비트(signaling bits)를 그룹화하는 것에 관한 것이다.
대부분의 이미지 압축 방식은, 디지털 카메라에 의해 촬영된 사진과 같은 "자연 이미지(natural images)"를 위해 설계되어 있다. 자연 이미지의 경우, 이웃하는 화소들 사이에 강한 상관 관계(correlation)가 존재한다. 따라서, 대부분의 이미지 압축 방식은 아래와 같이 진행된다.
1. 예측(prediction)이나, 변환(transformation) 또는 이 둘 모두를 이용해서 화소들의 상관 관계를 줄여, 예측 잔차(prediction residuals) 또는 변환 계수(transform coefficients)의 스파스 히스토그램(sparse histogram)을 얻는다. 히스토그램은 0 주위에 위치한 단일 피크를 가진다.
2. 양자화는 필요하면 적용된다.
3. (양자화된)예측 잔차 또는 변환 계수는 엔트로피 코딩된다. 엔트로피 코더는 상술한 분포(distributions)를 위해 설계되어 있다. 이런 분포가 현격히 다른 모양을 가진다면, 코딩 성능은 나쁠 수 있다.
그러나, 큰 동적 범위(large dynamic range), 강한 대조(contrast), 날카로운 에지, 강한 텍스쳐, 스파스 히스토그램을 일반적으로 가지는 그래픽 또는 텍스트의 이미지와 같은 "비자연 이미지(unnatural images)"가 다수 있다. 이러한 유형의 이미지들은 보통 통상적인 이미지 압축 알고리즘에 의해 쉽게 처리되지 않는다. 화소간 상관관계(inter-pixel correlation)는 약해지고, 예측 또는 변형은 자연 이미지의 경우에 제공되는 것과 같은 스파스 분포를 제공하지 않는다.
비자연 이미지를 위한 몇몇 방식이 제안되어 있다. 이미지를 압축하기 전에 인코더가 이미지 전체를 검사하여 히스토그램을 계산하고 화소의 비선형 매핑을 행하는 "히스토그램 팩킹(histogram packing)"이라 불리는 일례가 있다. 압축은 2 패스 처리(two-pass processing)를 필요로 하는데, 이는 증가된 메모리 비용 및 추가의 계산을 초래한다. 비트스트림(bitstream)은 확장 가능하지 않은데(not scalable), 이는 디코더가 이미지를 디코딩하는데 비트스트림 전체가 필요하다는 것을 의미한다. 부분적인 복원(reconstruction)은 재인코딩(re-encoding) 없이는 불가능하다.
임베디드 그래픽스 코딩(EGC)의 일부 버전에서는, 비트판(bit-plane) 코딩이 실행되는데, 여기서는 각각의 기존 그룹(existing group)에 대해: 현재 그룹이 너무 적지 않고 그룹이 너무 많이 존재하지 않으면, 그룹에 대한 분할 비트(split bit)를 전송하고, 이어서 1 비트 또는 복수의 비트를 전송하여 그룹내의 화소값을 세분화(refine)시키고, 그렇지 않다면, 원시 비트(raw bit)를 전송하여 세분화시킨다. 따라서, 그룹들은 하나씩 처리된다.
임베디드 그래픽스 코딩(EGC)에서, 비트판을 디코딩할 때, 기존의 모든 그룹을 처리한다. 그룹들 간에는 예측 종속성(prediction dependency)이 없으므로, 디코딩을 촉진하기 위해서는 복수의 그룹을 병렬로 처리할 수 있다. 그러나, EGC의 가변 길이 코딩 속성으로 인해, 디코더는 비트스트림 내에서 각 그룹의 시작점을 알지 못한다. 그러므로, 다음 그룹의 디코딩은 이전 그룹이 디코딩 될때까지 시작될 수 없다. 비트스트림의 재배열(reordering)을 이용하여, 예를 들어, EGC에서 병렬 그래픽스 디코딩을 행할 수 있다. 재배열시에는, 비트판의 모든 그룹의 "분할_그룹(split_group)" 시그널링 비트가 전송되고 그 이후에 각 그룹의 세분화 비트(refinement bit)가 따른다. 이런 재배열에 대해, 각 그룹의 분할 비트를 판독함으로써, 디코더는 각 그룹의 세분화 비트의 개수를 도출해낼 수 있고(예를 들어, "분할_그룹" 시그널링 비트가 0이면, 그 그룹의 세분화 비트는 오직 하나이고, 그렇지 않다면 세분화 비트의 개수는 그룹 멤버의 개수와 동일하다), 따라서 각 그룹의 시작점도 알려지고, 각 그룹의 병렬 처리가 구현될 수 있다. 디코딩시 잠재적 문제를 피하기 위해서, 일부 실시예에서는, 최대 허용 그룹 수를 설정하여 한계에 도달하지 않게 한다. 이러한 경우에, 그룹의 개수가 한계에 도달하였기 때문에, 분할되었어야 하나 그러하지 않은 일부 그룹이 있을 수 있다. 이러한 그룹에 대해서는, 단순히 "분할_그룹" 비트의 값을 확인하는 것에 의해서는 세분화 비트의 개수를 도출해 낼 수 없다. 이 문제를 해결하기 위해, 각 그룹에 대한 "분할_그룹" 비트를 전송하는 대신에, "각_멤버(each_member)"라 불리는 다른 시그널링 비트를 전송한다. 각_멤버는 그룹이 분할되는지의 여부에 관계없이, 그룹에 대한 세분화 비트의 개수와 명확한 관계를 가진다(즉, 각_멤버가 0이면, 오직 하나의 세분화 비트가 있고, 그렇지 않으면, 세분화 비트의 개수는 그룹 멤버의 개수와 동일하다). "분할 여부(split or not)" 결정은 각_멤버 시그널링 및 다른 조건들(예를 들어, 최대 그룹 개수에 도달한 경우)을 이용하여 행해진다. 일부 실시예에서는, 그룹들의 개수가 비트판 코딩 이전에 미리 정해진 한계에 도달했는지 여부를 확인한다. 그렇다면, 각 멤버 시그널링은 전송되지 않고, 모든 그룹의 멤버들은 원시 비트를 사용하여 세분화된다.
일 형태에서, 장치 내의 제어기에 프로그래밍된 인코딩 방법은 이미지 블록의 비트판 내에서 그룹에 대한 시그널링 비트를 생성하는 단계, 그룹 각각에 대한 세분화 비트를 생성하는 단계, 비트스트림의 헤더(header)를 형성하도록 시그널링 비트를 조합하는 단계를 포함한다. 상기 방법은 이미지를 블록으로 나누고 블록을 그룹으로 분할하는 단계를 더 포함한다. 그룹들 중의 일 그룹이 임의의 이종 화소들(disparate pixels)을 포함하면 시그널링 비트는 1로 설정된다. 시그널링 비트는 세분화 비트 전에 전송된다. 그룹 각각의 세분화 비트는 병렬 처리(parallel processing)를 이용하여 디코딩된다. 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙(mainframe) 컴퓨터, 핸드헬드(handheld) 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기(smart appliance), 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택된다.
다른 형태에서, 장치 내의 제어기에 프로그래밍된 디코딩 방법은 시그널링 비트와 세분화 비트를 포함하는 인코딩된 비트판을 수신하는 단계, 비트판 내의 각 그룹에 대한 세분화 비트의 양을 결정하는 단계, 비트판의 병렬 디코딩을 수행하도록 세분화 비트의 개수를 이용하는 단계를 포함한다. 허용가능한 그룹의 최대 개수는 그룹의 총 개수로 설정된다. 헤더 비트는 각 그룹에 대한 세분화 비트의 양을 결정하는데 이용된다. 이 방법은 비트판을 디코딩하기 전에 그룹의 개수가 그 한계에 도달했는지 여부를 결정하는 단계를 더 포함하고, 여기서 그룹의 개수가 그룹의 한계에 도달하면, 그룹 전체는 원시 세분화 비트를 가진 것으로 표시되어 시그널링 비트는 전송되지 않는다. 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택된다.
다른 형태에서, 인코더 장치는, 비트판 내의 그룹에 대한 시그널링 비트를 생성하고, 그룹 각각에 대한 세분화 비트를 생성하며, 시그널링 비트들을 조합하여 비트판의 헤더를 형성하는 애플리케이션을 저장하는 메모리와; 메모리에 연결된 처리 컴포넌트(processing component)를 포함하고, 상기 처리 컴포넌트는 상기 애플리케이션을 처리하도록 구성된다. 그룹들 중 일 그룹이 임의의 이종 화소를 포함하면 시그널링 비트는 1로 설정된다. 상기 애플리케이션은 또한 세분화 비트 이전에 시그널링 비트를 전송한다. 그룹의 각각은 병렬 처리를 이용하여 인코딩 및 디코딩된다.
다른 형태에서, 디코더 장치는, 시그널링 비트 및 세분화 비트를 포함하는 인코딩된 비트판을 수신하고 비트판 내의 각각의 그룹에 대한 세분화 비트의 양을 결정하며 각 그룹에 대한 세분화 비트의 양을 이용하여 비트판 내의 그룹들을 디코딩하는 애플리케이션을 저장하는 메모리와; 메모리에 연결된 처리 컴포넌트를 포함하고, 상기 처리 컴포넌트는 상기 애플리케이션을 처리하도록 구성된다. 허용가능한 그룹의 최대 개수는 그룹의 총 개수로 설정된다. 헤더 비트는 각 그룹에 대한 세분화 비트의 양을 결정하는데 이용된다. 이 애플리케이션은 또한 각 그룹을 디코딩할 때 그룹의 개수가 그 한계에 도달했는지 여부를 결정하고, 여기서 그룹의 개수가 그룹의 한계에 도달하면, 그룹 전체는 원시 세분화 비트를 가진 것으로 표시되어, 시그널링 비트는 전송되지 않는다. 이 애플리케이션은 또한 각 그룹을 디코딩할 때 그룹의 개수가 그 한계에 도달했는지 여부를 결정하고, 여기서 그룹의 개수가 그룹의 한계에 도달하지 않고 시그널링 비트가 1이면, 그룹은 2개로 분할되며; 그룹의 개수가 그룹의 한계에 도달하면, 더 이상 분할되는 그룹은 없다.
다른 형태에서, 장치 내의 제어기에 프로그래밍된 시스템은 이미지 블록을 복수의 그룹으로 분할하는 분할(partitioning) 모듈, 각 그룹에 대한 시그널링 비트 및 세분화 비트 집합의 생성을 포함하여 그룹을 인코딩하는 인코딩 모듈(시그널링 비트 집합은 세분화 비트 이전에 전송됨) 및 인코딩된 비트스트림을 전송하는 전송 모듈을 포함한다. 그룹들 중 일 그룹이 임의의 이종 화소를 포함하면 시그널링 비트는 1이다. 그룹 각각은 병렬 처리를 이용하여 인코딩 및 디코딩된다. 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택된다.
도 1은 일부 실시예에 따른 표준 비트스트림 배열(standard bitstream ordering) 및 개선된 비트스트림 배열(improved bitstream ordering)를 도시한 도면.
도 2는 일부 실시예에 따른 표준-배열 비트스트림 및 개선-배열 비트스트림 디코딩을 도시한 도면.
도 3은 일부 실시예에 따른 표준 비트스트림 배열을 이용한 그룹, 시그널링 비트, 세분화 비트를 도시한 도면.
도 4는 일부 실시예에 따른 개선된 비트스트림 배열을 이용한 그룹, 시그널링 비트, 세분화 비트, 리딩(leading) 비트를 도시한 도면.
도 5는 일부 실시예에 따른 인코딩 방법의 흐름도.
도 6은 일부 실시예에 따른 디코딩 방법의 흐름도.
도 7은 일부 실시예에 따른 개선된 인코딩 방법을 구현하도록 구성된 예시적인 컴퓨팅 장치(computing device)의 블록도.
무선 채널을 통해 고화질 비디오 콘텐츠를 전송하기 위해, 임베디드 그래픽스 코딩(EGC) 또는 EGC의 변형은 대역폭 효율을 향상시키기 위해 고화질 비디오 콘텐츠를 압축한다.
EGC에서, 비디오 프레임은 복수의 블록으로 분할되고, 동일한 값을 가지는 각 블록의 화소는 함께 그룹화 된다. 최상위 비트(MSB)로 시작해서 최하위 비트(LSB)로 이동하여, 인코더는 비트판 내의 그룹 전체를 처리한다.
EGC에서 디코딩을 촉진시키기 위해, 비트스트림의 재배열이 이용된다. 재배열에서, 그룹 전체의 시그널링 비트는 제일 먼저 전송되고 이후에 각 그룹의 세분화 비트가 따른다. 각 그룹의 병렬 처리는 이 재배열로 가능하다. 디코딩에서, 세분화 비트 위치의 인지(knowledge)는 중요하다. 초기의 EGC에서는, 그룹이 너무 작거나 그룹의 개수가 미리 정해진 한계에 도달하면 그룹이 때때로 "분할_그룹"을 가지지 못하므로, 일부 실시예에서, 허용 그룹의 최대 개수가 설정되어 한계에 절대 도달하지 않는다. 이 문제를 해결하기 위해, 각 그룹의 "분할_그룹" 비트는 "각_멤버" 시그널링으로 대체되었다. 각_멤버는, 그룹이 분할될지의 여부에 관계없이, 그룹의 세분화 비트의 개수와 분명한 관계를 가진다(예를 들어, 각_멤버=0 이면 오직 1개의 세분화 비트가 있고, 그렇지 않으면 세분화 비트의 개수는 그룹 멤버의 개수와 동일하다). "분할 여부" 결정은 각_멤버 시그널링 및 다른 조건들(예를 들어, 최대 그룹 개수에 도달한 경우)을 이용함으로써 이루어진다. 일부 실시예에서는, 비트판을 코딩하기 전에 그룹의 개수가 미리 정해진 한계에 도달했는지의 여부를 확인한다. 그렇다면, 각 멤버 시그널링은 전송되지 않고, 그룹 전체의 멤버는 원시 비트를 사용하여 세분화된다.
도 1은 일부 실시예에 따른 표준 비트스트림 배열(100) 및 개선된 비트스트림 배열(120)의 도면을 나타낸다. 표준 비트스트림 배열(100)에서, 시그널링 비트(102) 및 세분화 비트(104)를 포함한 각 그룹은, 시그널링 비트(102)가 인코딩되고 그 그룹의 세분화 비트(104)가 인코딩되는 순서로 인코딩된다. 그룹의 마지막 세분화 비트를 인코딩한 후, 시퀀스는 다음 그룹의 시그널링 비트로 진행된다. 개선된 비트스트림 배열(120)에서는, 시그널링 비트들(102)은 비트스트림의 헤더로서 조합된다. 인코딩 순서는 우선 시그널링 비트(102)이고 그 이후 세분화 비트(104)를 포함하며, 세분화 비트에 대해서는 그룹마다 진행된다.
도 2는 일부 실시예에 따른 표준-배열 비트스트림(100) 및 개선-배열 비트스트림(120) 디코딩의 도면을 도시한다. 개선된 비트스트림 배열(120)은 병렬 처리를 할 수 있게 한다. 그러나, 제1 그룹의 세분화 비트(104)를 디코딩하기 위해서, 예를 들어, "헤더" 길이를 알고 있어야 한다. 그러므로, 시그널링 비트(102)의 개수도 알고 있어야 한다.
그러나, 때때로 그룹은 시그널링 비트(102)를 갖지 않는다. 예를 들어, 그룹이 너무 작아서 분할할 수 없으면, 그룹은 시그널링 비트(102)를 갖지 않는다. 그러나, 디코더는 어떤 그룹이 작은지 안다. 또한, 너무 그룹이 많으면, 일부 그룹은 시그널링 비트(102)를 갖지 않을 수 있다. 예를 들어, 도 3에서, 현재 비트판을 인코딩하기 전에 5개의 그룹이 있다. 그룹 2,3 및 4는 분할되어 총 8개의 그룹을 생성한다. 허용 그룹의 최대 개수가 8개 이면, 그룹 5는 분할될 수 없고, 이는 그룹 5에는 시그널링 비트가 없음을 의미할 것이다. 디코더가 시그널링 비트에서 1을 카운트 하지 않으면 디코더는 그룹 5가 분할되지 않는다는 것을 알지 못한다.
하나의 해결책은 너무 많은 그룹의 조건이 절대로 참이 되지 않도록 최대 그룹 개수를, 최대 가능한 그룹 개수(예를 들어, 8×8 블록에서 64)와 동일하게 하는 것이다. 다른 해결책은 도 4에 도시된다. 일부 실시예에서, 그룹 5의 경우 리딩 비트(106)(또는 시그널링 비트)가 전송된다. 리딩 비트(106)는 "분할 비트"와는 다른 의미를 가진다. 그러나, 세분화 비트의 오프셋은 리딩 비트(106)를 이용하여 이전에 알려질 수 있다.
그룹을 디코딩할 때, 디코더는 그룹을 정확하게 처리하기 위해 2개의 이진 변수, 즉 분할_그룹(참은 그룹이 2개로 나뉘어짐을 의미) 및 각_멤버(참은 그룹들 내의 각 멤버가 세분화 비트를 가짐을 의미)를 사용한다. 2개의 변수 사이에는 강한 상관 관계가 있다; 따라서, 인코더가 그들 중 하나만을 전송해도, 디코더는 다른 하나를 도출한다. 일부 구현예에서는, 분할_그룹이 전송되고, 이후에 각_멤버는 분할_그룹으로부터 도출된다. 그러나, 일부 실시예에서는, 각_멤버가 전송되고, 이후에 분할_그룹이 각_멤버로부터 도출된다.
표 1 및 표 2는 표준 구현예 및 개선된 구현예 간의 비교를 나타낸다.
표준 구현예
표준 분할_그룹 각_멤버
일반 그룹 0 0
1 1
소그룹 0 1
기타 그룹 0 1
개선된 구현예
개선 각_멤버 분할_그룹
일반 그룹 0 0
1 1
소그룹 1 0
기타 그룹 0 0
1 0
이 테이블로부터, 각_멤버는 임의의 그룹에서 전송된다. 그룹이 각_멤버==1 및 분할_그룹==0을 가지면 불필요한 중복이 생긴다. 이는 그룹이 분할되어야 했으나, 이미 많은 그룹들이 있어서 그러하지 않았다는 것을 의미한다. 이러한 경우에, 그룹의 각_멤버를 이후의 비트판에서 전송하는 것은 의미가 없다. 하나의 해결책은 비트판을 디코딩하기 전에, 현재 존재하는 그룹의 개수를 확인하는 것이다. 이미 너무 많은 그룹이 있다면, 그룹 전체에 대해 각_멤버=1 이다.
도 5는 일부 실시예에 따른 인코딩 방법의 흐름도를 도시한다. 단계(500)에서, 비디오 프레임은 복수의 블록으로 분할된다. 단계(502)에서, 상기 블록들의 각 블록에서의 화소는 그룹으로 분할되고, 이들 그룹들은 MSB로부터 LSB까지 비트판별로 처리된다. 그룹 내의 화소가 인코딩되는 비트판에서 서로 다른 비트 값을 가지면, 그룹은 둘로 나뉠 수 있다. 단계(504)에서, 각 그룹이 인코딩된다. 인코딩은 세분화 비트가 모두 동일한지, 시그널링 비트 및 세분화 비트가 각 그룹에 대해 생성되는지 여부를 결정하는 것을 포함한다. 시그널링 비트는 그룹이 하나의 값보다 많은 값을 포함하는지를 나타낸다. 세분화 비트는 현재 비트판 내 그룹의 원시 비트이다. MSB를 인코딩하기 전, 화소들은 동일 그룹내에 있는 것으로 가정한다. 다음에, MSB부터 LSB까지, 현재 비트판내의 그룹이 처리되고, 여기서 각 그룹에 대해 인코더는 모든 그룹 멤버가 현재 비트판 내에서 동일 비트값을 가지면 "0"의 시그널링 비트를 생성하거나(그 이후에는 "0" 또는 "1"을 비트값을 표시하기 위해 전송함) 이종 비트를 표시하기 위해 "1"의 시그널링 비트를 생성한다. "1" 이후에, 인코더는 그룹 내의 각 화소에 대한 세분화 비트를 생성하고, 인코더는 원래의 그룹을 2개로 분할한다. 인코딩은 비트스트림의 헤더로서 시그널링 비트를 그룹화 하는 것도 포함한다. 인코딩된 비트판을 전송하기 위해, 단계(506)에서, 시그널링 비트가 전송된다. 단계(508)에서, 세분화 비트는 시그널링 비트 이후에 전송된다. 더 적은 또는 부가적인 단계가 포함될 수 있다. 또한, 단계의 순서는 가능한 곳에서 변경될 수 있다.
도 6은 일부 실시예에 따른 디코딩 방법의 흐름도를 도시한다. 단계(600)에서, 특정 비트판의 인코딩된 비트스트림이 수신된다. 이 비트스트림은 헤더 및 세분화 비트를 포함한다. 단계(602)에서, 헤더가 디코딩된다. 헤더는 그룹이 너무 작은 경우를 제외하고, 그룹이 하나 또는 복수의 세분화 비트를 포함하는지 여부를 표시하는 각 그룹의 일 시그널링 비트를 포함한다. 디코더는 어떤 그룹이 분할되기에 너무 작은지 알 수 있다. 일부 실시예에서, 한계를 초과하지 않도록 최대 그룹이 설정된다. 한계에 도달하면, 이종 세분화 비트를 가지는 그룹들은 분할되지 않는다. 그러나, 이러한 그룹들의 시그널링 비트는 여전히 헤더에서 전송된다. 따라서, 헤더의 길이는 디코더에 의해 미리 결정될 수 있다. 헤더를 디코딩함으로써, 각 그룹의 길이는 디코더에 의해 알려질 수도 있다. 따라서, 디코더는 비트스트림 내의 각 그룹에 대한 시작점을 찾을 수 있고, 병렬 디코딩이 구현될 수 있다. 일부 실시예에서, 리딩 비트를 이용하는 대신에, 그룹의 개수가 한계에 도달하는지의 여부가 결정된다. 예를 들어, 비트판을 디코딩하기 전에, 현존하는 그룹의 개수를 그룹의 최대 허용 개수와 비교한다. 그룹의 개수가 한계에 도달하면, 그룹 전체는 원시 세분화 비트를 갖는 것으로 표시된다. 단계(604)에서, 비트스트림은 시그널링 비트 및 세분화 비트를 이용함으로써 디코딩된다. 더 적은 또는 부가적인 단계가 포함될 수 있다. 또한, 단계의 순서는 가능한 곳에서 변경될 수 있다.
도 7은 일부 실시예에 따른 개선된 인코딩 방법을 구현하도록 구성된 예시적인 컴퓨팅 장치(700)의 블록도를 도시한다. 컴퓨팅 장치(700)는 이미지, 비디오 등의 정보를 획득, 저장, 계산, 처리, 전달(communicate) 및/또는 표시하기 위해 사용될 수 있다. 예를 들어, 컴퓨팅 장치(700)는 비디오를 획득 및 저장할 수 있다. 개선된 인코딩 방법은 비디오를 획득하는 중이나 그 이후 또는 장치(700)에서 다른 장치로 비디오를 전송할 때 사용될 수 있다. 일반적으로, 컴퓨팅 장치(700)를 구현하는데 적합한 하드웨어 구조는 네트워크 인터페이스(702), 메모리(704), 프로세서(706), I/O 장치(708), 버스(710), 저장 장치(712)를 포함한다. 프로세서의 선택은 충분한 속도를 가진 적당한 프로세서가 선택되는 한 중요하지 않다. 메모리(704)는 통상의 기술자에게 알려진 임의의 통상적인 컴퓨터 메모리일 수 있다. 저장 장치(712)는 하드 드라이브, CDROM, CDRW, DVD, DVDRW, 플레시 메모리 카드 또는 임의의 다른 저장 장치를 포함할 수 있다. 컴퓨팅 장치(700)는 하나 이상의 네트워크 인터페이스(702)를 포함할 수 있다. 네트워크 인터페이스의 일례는 이더넷(Ethernet) 또는 다른 종류의 랜(LAN)에 접속된 네트워크 카드를 포함한다. I/O 장치(708)는 키보드, 마우스, 모니터, 디스플레이, 프린터, 모뎀, 터치 스크린, 버튼 인터페이스 및 다른 장치들 중 하나 이상을 포함한다. 일부 실시예에서, 하드웨어 구조는 병렬 처리를 수행하도록 복수의 프로세서 및 다른 하드웨어를 포함한다. 개선된 인코딩 방법을 수행하기 위해 이용되는 개선된 인코딩 애플리케이션(들)(730)은 저장 장치(712) 및 메모리(704)에 저장될 가능성이 크고, 애플리케이션들이 일반적으로 처리되는 바와 같이 처리된다. 도 7에 도시된 대부분의 컴포넌트는 컴퓨팅 장치(700)에 포함될 수 있다. 일부 실시예에서, 개선된 인코딩 하드웨어(720)가 포함된다. 도 7의 컴퓨팅 장치(700)가 개선된 인코딩을 위해 애플리케이션(730) 및 하드웨어(720)를 포함하지만, 개선된 인코딩 방법은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의 조합으로 컴퓨팅 장치에서 구현될 수 있다. 예를 들어, 일부 실시예에서, 개선된 인코딩 애플리케이션(730)은 메모리 내에 프로그래밍되고 프로세서를 이용하여 실행된다. 다른 예로, 일부 실시예에서, 개선된 인코딩 하드웨어(720)는 인코딩 방법을 구현하도록 구체적으로 설계된 게이트를 포함하는 프로그래밍된 하드웨어 로직이다.
일부 실시예에서, 개선된 인코딩 애플리케이션(730)은 몇몇의 애플리케이션 및/또는 모듈을 포함한다. 분할 모듈, 인코딩 모듈, 시그널링 비트 조합 모듈, 전송 모듈, 디코딩 모듈 등의 모듈은 본 명세서에 기술된 기능(functions)을 수행할 수 있다. 일부 실시예에서, 모듈은 하나 이상의 보조-모듈도 포함한다. 일부 실시예에서, 더 적은 혹은 부가적인 모듈이 포함될 수 있다.
적절한 컴퓨팅 장치의 예는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템 또는 임의의 다른 적절한 컴퓨팅 장치를 포함한다.
개선된 인코딩 방법을 이용하기 위해서, 사용자가 디지털 캠코더 등에서 비디오/이미지를 획득하고, 비디오를 획득하는 중이나 그 이후 또는 비디오를 컴퓨터 등의 다른 장치에 전송할 때, 비디오가 고품질 비디오를 유지하기 위해 적절히 인코딩 되도록 개선된 인코딩 방법은 자동적으로 비디오의 각 이미지를 인코딩한다. 개선된 인코딩 방법은 사용자 개입 없이 자동적으로 발생한다. 비디오는 유사한 방법을 이용하여 표시되도록 디코딩될 수도 있다.
동작중에, 개선된 인코딩은 비디오의 프레임 등의 이미지를 인코딩하고 전송하는데 사용된다. 각각의 이미지 블록은 MSB부터 LSB까지 처리되고, 따라서 최종(resulting) 비트판은 여전히 임베디드 된다. 개선된 인코딩은 시그널링 비트들을 그룹화하고 세분화 비트를 전송하기 전에 시그널링 비트들을 전송한다. 이러한 구현예는 병렬 처리가 구현될 수 있도록 하게 한다. 개선된 인코딩 방법은 무선 고화질(WiHD)을 포함한(다만 제한되지 않음) 임의의 구현예에 사용될 수 있다.
본 명세서에 기술된 개선된 그래픽스-모드 압축 방법은 비디오 및/또는 이미지에 사용될 수 있다.
고화질 비디오는 HDCAM, HDCAM-SR, DVCPRO HD, D5 HD, XDCAM HD, HDV, AVCHD를 포함한(다만 제한되지 않음) 임의의 형식일 수 있다.
임베디드 그래픽스 코딩의 몇몇 실시예: 병렬 디코딩을 위한 재배열된 비트스트림
1. 장치 내의 제어기에 프로그래밍된 인코딩 방법으로서,
a. 이미지 블록의 비트판의 그룹에 대한 시그널링 비트들을 생성하는 단계,
b. 그룹들 각각에 대한 세분화 비트를 생성하는 단계, 및
c. 비트스트림의 헤더를 형성하도록 시그널링 비트들을 조합하는 단계를 포함하는 인코딩 방법.
2. 1에 있어서, 이미지를 블록으로 나누고 블록을 그룹으로 분할하는 단계를 더 포함하는 인코딩 방법.
3. 1에 있어서, 그룹들 중 일 그룹이 임의의 이종 화소(disparate pixel)를 포함하면 시그널링 비트를 1로 설정하는 인코딩 방법.
4. 1에 있어서, 시그널링 비트들은 세분화 비트 이전에 전송되는 인코딩 방법.
5. 4에 있어서, 그룹의 각각의 세분화 비트는 병렬 처리를 이용해 디코딩되는 인코딩 방법.
6. 1에 있어서, 상기 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택되는 인코딩 방법.
7. 장치 내의 제어기에 프로그래밍된 디코딩 방법으로서,
a. 시그널링 비트 및 세분화 비트를 포함한 인코딩된 비트판을 수신하는 단계,
b. 비트판 내의 각 그룹에 대한 세분화 비트의 양을 결정하는 단계; 및
c. 비트판의 병렬 디코딩을 수행하도록 세분화 비트의 개수를 이용하는 단계를 포함하는 디코딩 방법.
8. 7에 있어서, 허용가능한 그룹의 최대 개수는 그룹의 총 개수로 설정되는 디코딩 방법.
9. 7에 있어서, 각 그룹에 대한 세분화 비트의 양을 결정하는데 헤더 비트를 이용하는 디코딩 방법.
10. 7에 있어서, 비트판을 디코딩하기 전에 그룹의 개수가 그 한계에 도달했는지 여부를 결정하는 단계를 더 포함하고, 그룹의 개수가 그룹의 한계에 도달하면, 그룹 전체는 원시 세분화 비트를 가진 것으로 표시되어 시그널링 비트는 전송되지 않는 디코딩 방법.
11. 7에 있어서, 상기 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택되는 디코딩 방법.
12. 인코더 장치에 있어서,
a. 애플리케이션을 저장하는 메모리, 상기 애플리케이션은
ⅰ. 비트판 내의 그룹에 대한 시그널링 비트들을 생성하고;
ⅱ. 그룹 각각에 대한 세분화 비트를 생성하며;
ⅲ. 비트판의 헤더를 형성하도록 시그널링 비트들을 조합하며; 및
b. 메모리에 연결된 처리 컴포넌트를 포함하고, 상기 처리 컴포넌트는 애플리케이션을 처리하도록 구성된, 인코더 장치.
13. 12에 있어서, 그룹들 중 일 그룹이 임의의 이종 화소를 포함하면 시그널링 비트는 1로 설정되는 인코더 장치.
14. 12에 있어서, 상기 애플리케이션은 또한 세분화 비트 이전에 시그널링 비트들을 전송하는 인코더 장치.
15. 12에 있어서, 그룹의 각각은 병렬 처리를 이용하여 인코딩 및 디코딩되는 인코더 장치.
16. 디코더 장치에 있어서,
a. 애플리케이션을 저장하는 메모리, 상기 애플리케이션은
ⅰ. 시그널링 비트 및 세분화 비트를 포함하는 인코딩된 비트판을 수신하고;
ⅱ. 비트판 내의 각각의 그룹에 대한 세분화 비트의 양을 결정하며;
ⅲ. 비트판 내의 그룹들을 병렬로 디코딩하기 위해 각 그룹에 대한 세분화 비트의 양을 이용하며; 및
b. 메모리에 연결된 처리 컴포넌트를 포함하고, 상기 처리 컴포넌트는 애플리케이션을 처리하도록 구성된, 디코더 장치.
17. 16에 있어서, 허용가능한 그룹의 최대 개수는 그룹의 총 개수로 설정되는 디코더 장치.
18. 16에 있어서, 각 그룹에 대한 세분화 비트의 양을 결정하는데 헤더 비트를 이용하는 디코더 장치.
19. 16에 있어서, 애플리케이션은 또한 비트판을 디코딩하기 이전에 그룹의 개수가 그 한계에 도달했는지 여부를 결정하고, 그룹의 개수가 그룹의 한계에 도달하면 그룹 전체는 원시 세분화 비트를 가진 것으로 표시되어 시그널링 비트는 전송되지 않는 디코더 장치.
20. 16에 있어서, 애플리케이션은 또한 그룹의 개수가 그 한계에 도달했는지 여부를 결정하고, 그룹의 개수가 그룹의 한계에 도달하지 않고 시그널링 비트가 1이면, 그룹은 2개로 분할되고; 그룹의 개수가 그룹의 한계에 도달하면 더 이상 분할되는 그룹이 없는 디코더 장치.
21. 장치 내의 제어기에 프로그래밍된 시스템에 있어서,
a. 이미지의 블록을 복수의 그룹으로 분할하는 분할 모듈;
b. 각 그룹에 대한 시그널링 비트 및 세분화 비트 집합의 생성을 포함하여 그룹을 인코딩하는 인코딩 모듈 - 시그널링 비트 집합은 세분화 비트 이전에 전송됨 -; 및
c. 인코딩된 비트스트림을 전송하는 전송 모듈을 포함하는, 시스템.
22. 21에 있어서, 그룹들 중 일 그룹이 임의의 이종 화소를 포함하면 시그널링 비트는 1인 시스템.
23. 21에 있어서, 그룹 각각은 병렬 처리를 이용하여 인코딩 및 디코딩되는 시스템.
24. 21에 있어서, 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택되는 시스템.
본 발명은 본 발명의 구성 및 동작 원리의 이해를 돕기위해 세부 사항을 포함한 구체적 실시예에 대하여 기술하였다. 구체적 실시예들 및 그 세부 사항에 대한 본원에 기재된 참고 사항은 첨부된 청구항의 범위로 제한하지 않는다. 다른 다양한 수정은 청구항에 의해 정의된 발명의 사상 및 범주에 벗어남 없이 실례(illustration)로 선택되어 실시예에서 구현될 수 있다는 것은 통상의 기술자에게 명백해 질 것이다.

Claims (24)

  1. 장치 내의 제어기에 프로그래밍된, 시그널링 비트를 그룹화하기 위한 방법으로서,
    a. 이미지를 블록으로 나누고 상기 블록을 그룹들로 분할하는 단계; 및
    b. 상기 그룹들 각각을 인코딩하는 단계
    를 포함하고,
    상기 그룹들 각각을 인코딩하는 단계는,
    i. 이미지 블록의 비트판의 그룹에 대한 시그널링 비트들을 생성하는 단계,
    ii. 상기 그룹들 각각에 대한 세분화 비트를 생성하는 단계, 및
    iii. 비트스트림의 헤더를 형성하도록 상기 시그널링 비트들을 조합하는 단계를 포함하는, 시그널링 비트를 그룹화하기 위한 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 그룹들 중 일 그룹이 임의의 이종 화소(disparate pixel)를 포함하면 시그널링 비트를 1로 설정하는, 시그널링 비트를 그룹화하기 위한 방법.
  4. 제1항에 있어서, 상기 시그널링 비트들은 상기 세분화 비트 이전에 전송되는, 시그널링 비트를 그룹화하기 위한 방법.
  5. 제4항에 있어서, 상기 그룹의 각각의 세분화 비트는 병렬 처리를 이용해 디코딩되는, 시그널링 비트를 그룹화하기 위한 방법.
  6. 제1항에 있어서, 상기 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택되는, 시그널링 비트를 그룹화하기 위한 방법.
  7. 장치 내의 제어기에 프로그래밍된, 시그널링 비트를 그룹화하기 위한 디코딩 방법으로서,
    a. 시그널링 비트 및 세분화 비트를 포함한 인코딩된 비트판을 수신하는 단계,
    b. 상기 비트판 내의 각 그룹에 대한 상기 세분화 비트의 양을 결정하는 단계; 및
    c. 상기 비트판의 병렬 디코딩을 수행하도록 상기 세분화 비트의 개수를 이용하는 단계를 포함하는, 시그널링 비트를 그룹화하기 위한 디코딩 방법.
  8. 제7항에 있어서, 허용가능한 그룹의 최대 개수는 그룹의 총 개수로 설정되는, 시그널링 비트를 그룹화하기 위한 디코딩 방법.
  9. 제7항에 있어서, 각 그룹에 대한 상기 세분화 비트의 양을 결정하는데 헤더 비트를 이용하는, 시그널링 비트를 그룹화하기 위한 디코딩 방법.
  10. 제7항에 있어서, 상기 비트판을 디코딩하기 전에 그룹의 개수가 상기 그룹의 한계에 도달했는지 여부를 결정하는 단계를 더 포함하고, 그룹의 개수가 상기 그룹의 한계에 도달하면, 상기 그룹 전체는 원시 세분화 비트를 가진 것으로 표시되어 상기 시그널링 비트는 전송되지 않는, 시그널링 비트를 그룹화하기 위한 디코딩 방법.
  11. 제7항에 있어서, 상기 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택되는, 시그널링 비트를 그룹화하기 위한 디코딩 방법.
  12. 시그널링 비트를 그룹화하기 위한 인코더 장치에 있어서,
    a. 애플리케이션을 저장하는 메모리, 상기 애플리케이션은,
    i. 이미지를 블록으로 나누고 상기 블록을 그룹들로 분할하고;
    ii. 상기 그룹들 각각을 인코딩하며,
    상기 인코딩은,
    (1) 비트판 내의 그룹들에 대한 시그널링 비트들을 생성하고;
    (2) 상기 그룹들 각각에 대한 세분화 비트를 생성하며;
    (3) 비트판의 헤더를 형성하도록 상기 시그널링 비트들을 조합하고; 및
    b. 상기 메모리에 연결된 처리 컴포넌트를 포함하고, 상기 처리 컴포넌트는 상기 애플리케이션을 처리하도록 구성된, 시그널링 비트를 그룹화하기 위한 인코더 장치.
  13. 제12항에 있어서, 상기 그룹들 중 일 그룹이 임의의 이종 화소를 포함하면 상기 시그널링 비트들은 1로 설정되는, 시그널링 비트를 그룹화하기 위한 인코더 장치.
  14. 제12항에 있어서, 상기 애플리케이션은 또한 상기 세분화 비트 이전에 상기 시그널링 비트를 전송하는, 시그널링 비트를 그룹화하기 위한 인코더 장치.
  15. 제12항에 있어서, 상기 그룹의 각각은 병렬 처리를 이용하여 인코딩 및 디코딩되는, 시그널링 비트를 그룹화하기 위한 인코더 장치.
  16. 시그널링 비트를 그룹화하기 위한 디코더 장치에 있어서,
    a. 애플리케이션을 저장하는 메모리, 상기 애플리케이션은
    ⅰ. 시그널링 비트 및 세분화 비트를 포함하는 인코딩된 비트판을 수신하고;
    ⅱ. 상기 비트판 내의 각각의 그룹에 대한 세분화 비트의 양을 결정하며;
    ⅲ. 상기 비트판 내의 그룹들을 병렬로 디코딩하기 위해 각 그룹에 대한 상기 세분화 비트의 양을 이용하며; 및
    b. 상기 메모리에 연결된 처리 컴포넌트를 포함하고, 상기 처리 컴포넌트는 상기 애플리케이션을 처리하도록 구성된, 시그널링 비트를 그룹화하기 위한 디코더 장치.
  17. 제16항에 있어서, 허용가능한 그룹의 최대 개수는 그룹의 총 개수로 설정되는, 시그널링 비트를 그룹화하기 위한 디코더 장치.
  18. 제16항에 있어서, 각 그룹에 대한 상기 세분화 비트의 양을 결정하는데 헤더 비트를 이용하는, 시그널링 비트를 그룹화하기 위한 디코더 장치.
  19. 제16항에 있어서, 상기 애플리케이션은 또한 상기 비트판을 디코딩하기 이전에 그룹의 개수가 상기 그룹의 한계에 도달했는지 여부를 결정하고, 그룹의 개수가 상기 그룹의 한계에 도달하면, 상기 그룹 전체는 원시 세분화 비트를 가진 것으로 표시되어 상기 시그널링 비트는 전송되지 않는, 시그널링 비트를 그룹화하기 위한 디코더 장치.
  20. 제16항에 있어서, 상기 애플리케이션은 또한 그룹의 개수가 그 한계에 도달했는지 여부를 결정하고, 그룹의 개수가 그룹의 한계에 도달하지 않고 시그널링 비트가 1이면, 그룹은 2개로 분할되고; 그룹의 개수가 그룹의 한계에 도달하면 더 이상 분할되는 그룹은 없는, 시그널링 비트를 그룹화하기 위한 디코더 장치.
  21. 장치 내의 제어기에 프로그래밍된, 시그널링 비트를 그룹화하기 위한 시스템에 있어서,
    a. 이미지의 블록을 복수의 그룹들로 분할하는 분할 모듈;
    b. 각 그룹에 대한 시그널링 비트 및 세분화 비트 집합의 생성을 포함하여 상기 그룹들을 인코딩하는 인코딩 모듈 - 시그널링 비트 집합은 상기 세분화 비트 이전에 전송됨 -; 및
    c. 인코딩된 비트스트림을 전송하는 전송 모듈을 포함하는, 시그널링 비트를 그룹화하기 위한 시스템.
  22. 제21항에 있어서, 상기 그룹들 중 일 그룹이 임의의 이종 화소를 포함하면 상기 시그널링 비트는 1인, 시그널링 비트를 그룹화하기 위한 시스템.
  23. 제21항에 있어서, 상기 그룹 각각은 병렬 처리를 이용하여 인코딩 및 디코딩되는, 시그널링 비트를 그룹화하기 위한 시스템.
  24. 제21항에 있어서, 상기 장치는 개인용 컴퓨터, 노트북 컴퓨터, 컴퓨터 워크스테이션, 서버, 중앙 컴퓨터, 핸드헬드 컴퓨터, 개인용 디지털 보조 기구, 휴대/이동 전화, 스마트 기기, 게이밍 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, 아이팟®/아이폰, 비디오 재생기, DVD 기록기/재생기, 블루레이® 기록기/재생기, 텔레비전, 홈 엔터테이먼트 시스템으로 구성된 그룹으로부터 선택되는, 시그널링 비트를 그룹화하기 위한 시스템.
KR1020127012761A 2009-12-03 2010-11-22 임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림 KR101357388B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US26640009P 2009-12-03 2009-12-03
US61/266,400 2009-12-03
US12/950,843 US8526745B2 (en) 2009-12-03 2010-11-19 Embedded graphics coding: reordered bitstream for parallel decoding
US12/950,843 2010-11-19
PCT/US2010/057648 WO2011068710A2 (en) 2009-12-03 2010-11-22 Embedded graphics coding: reordered bitstream for parallel decoding

Publications (2)

Publication Number Publication Date
KR20120089489A KR20120089489A (ko) 2012-08-10
KR101357388B1 true KR101357388B1 (ko) 2014-02-05

Family

ID=44082078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127012761A KR101357388B1 (ko) 2009-12-03 2010-11-22 임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림

Country Status (9)

Country Link
US (1) US8526745B2 (ko)
EP (1) EP2489193A4 (ko)
JP (1) JP5935695B2 (ko)
KR (1) KR101357388B1 (ko)
CN (1) CN102668560B (ko)
BR (1) BR112012012020B1 (ko)
CA (1) CA2774976C (ko)
MX (1) MX2012004747A (ko)
WO (1) WO2011068710A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2428032B1 (en) * 2009-09-09 2019-10-09 Sony Corporation Bitstream syntax for graphics-mode compression in wireless hd 1.1
MX2012003902A (es) * 2009-10-14 2012-04-30 Sony Corp Codificacion conjunta de graficos integrados escalar para imagenes a color.
KR20160034424A (ko) 2012-01-20 2016-03-29 소니 주식회사 유효성 맵 코딩의 복잡성 감소
US9952160B2 (en) * 2014-04-04 2018-04-24 Packaging Corporation Of America System and method for determining an impact of manufacturing processes on the caliper of a sheet material
US10334276B2 (en) * 2015-12-28 2019-06-25 Ati Technologies Ulc Method and apparatus for determining the severity of corruption in a picture
US10750182B2 (en) 2018-11-20 2020-08-18 Sony Corporation Embedded codec circuitry for visual quality based allocation of refinement bits
WO2020132853A1 (en) * 2018-12-25 2020-07-02 Zhejiang Dahua Technology Co., Ltd. Systems and methods for image processing
US10645386B1 (en) * 2019-01-03 2020-05-05 Sony Corporation Embedded codec circuitry for multiple reconstruction points based quantization
CN113676727A (zh) * 2021-08-18 2021-11-19 深圳市朗强科技有限公司 一种基于wifi的超高清视频的发送、接收方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471206A (en) 1993-02-10 1995-11-28 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
JP2003274406A (ja) 2002-03-18 2003-09-26 Kddi Research & Development Laboratories Inc 画像符号化装置およびこれを利用した動画像符号化装置
US20090158130A1 (en) 2005-09-05 2009-06-18 Cheun Kyung Whoon Method and apparatus for turbo encoding and decoding
WO2009134575A2 (en) * 2008-05-02 2009-11-05 Microsoft Corporation Multi-level representation of reordered transform coefficients

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2319689B (en) 1994-02-23 1998-07-15 Ricoh Kk Compression of palletized images
JP3284932B2 (ja) 1997-08-05 2002-05-27 松下電器産業株式会社 画像処理装置
US6658159B1 (en) 2000-03-17 2003-12-02 Hewlett-Packard Development Company, L.P. Block entropy coding in embedded block coding with optimized truncation image compression
KR20020064963A (ko) * 2000-10-24 2002-08-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 임베딩된 필터들을 갖는 트랜스코딩 방법 및 트랜스코딩장치
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
US7062101B2 (en) * 2001-03-30 2006-06-13 Ricoh Co., Ltd. Method and apparatus for storing bitplanes of coefficients in a reduced size memory
US7418146B2 (en) 2004-02-10 2008-08-26 Sanyo Electric Co., Ltd. Image decoding apparatus
CN1560916A (zh) * 2004-02-27 2005-01-05 清华大学 一种用于集成电路设计的静止图像熵编码方法
US8665967B2 (en) * 2006-02-15 2014-03-04 Samsung Electronics Co., Ltd. Method and system for bit reorganization and packetization of uncompressed video for transmission over wireless communication channels
US20070202843A1 (en) * 2006-02-15 2007-08-30 Samsung Elctronics Co., Ltd. Method and system for data partitioning and encoding for transmission of uncompressed video over wireless communication channels
CN101132530A (zh) * 2006-08-22 2008-02-27 中兴通讯股份有限公司 基于游程编码实现嵌入式图像压缩的方法
US8176524B2 (en) * 2008-04-22 2012-05-08 Samsung Electronics Co., Ltd. System and method for wireless communication of video data having partial data compression
TWI431213B (zh) * 2008-08-06 2014-03-21 Kitz Sct Corp 蝶形壓力控制閥
US8457425B2 (en) * 2009-06-09 2013-06-04 Sony Corporation Embedded graphics coding for images with sparse histograms
US8285062B2 (en) * 2009-08-05 2012-10-09 Sony Corporation Method for improving the performance of embedded graphics coding
CN102473314B (zh) * 2009-09-02 2014-01-29 索尼公司 矢量嵌入式图形编码
EP2428032B1 (en) * 2009-09-09 2019-10-09 Sony Corporation Bitstream syntax for graphics-mode compression in wireless hd 1.1
MX2012003902A (es) * 2009-10-14 2012-04-30 Sony Corp Codificacion conjunta de graficos integrados escalar para imagenes a color.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471206A (en) 1993-02-10 1995-11-28 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
JP2003274406A (ja) 2002-03-18 2003-09-26 Kddi Research & Development Laboratories Inc 画像符号化装置およびこれを利用した動画像符号化装置
US20090158130A1 (en) 2005-09-05 2009-06-18 Cheun Kyung Whoon Method and apparatus for turbo encoding and decoding
WO2009134575A2 (en) * 2008-05-02 2009-11-05 Microsoft Corporation Multi-level representation of reordered transform coefficients

Also Published As

Publication number Publication date
US8526745B2 (en) 2013-09-03
US20110135210A1 (en) 2011-06-09
WO2011068710A3 (en) 2011-09-22
JP5935695B2 (ja) 2016-06-15
JP2013511226A (ja) 2013-03-28
CA2774976A1 (en) 2011-06-09
CN102668560A (zh) 2012-09-12
EP2489193A4 (en) 2014-05-07
EP2489193A2 (en) 2012-08-22
BR112012012020B1 (pt) 2021-09-08
BR112012012020A2 (pt) 2017-02-21
CA2774976C (en) 2017-05-09
CN102668560B (zh) 2015-04-22
MX2012004747A (es) 2012-06-01
KR20120089489A (ko) 2012-08-10
WO2011068710A2 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
KR101357388B1 (ko) 임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림
TWI536811B (zh) 影像處理方法與系統、解碼方法、編碼器與解碼器
US8457425B2 (en) Embedded graphics coding for images with sparse histograms
RU2417547C2 (ru) Сигнализация о максимальном динамическом диапазоне обратного дискретного косинусного преобразования
US8285062B2 (en) Method for improving the performance of embedded graphics coding
KR101266661B1 (ko) 그래픽 이미지 및 비디오의 압축 방법
US20130114687A1 (en) Fixed intra run-level mode for cavlc in hevc
JP6276199B2 (ja) 有意性マップ符号化の計算量低減
KR20130054354A (ko) 비디오 코딩에서 고정 소수점 변환들을 위한 가변 로컬화 비트 깊이 증가
KR101346942B1 (ko) 벡터 임베디드 그래픽 코딩
US10750175B2 (en) Quantization partitioning for enhanced image compression
US20130114684A1 (en) Electronic devices for selective run-level coding and decoding
KR101289514B1 (ko) 인코딩 방법 및 인코더 장치
US8355057B2 (en) Joint scalar embedded graphics coding for color images
US10595033B2 (en) Variable length coding of header data for image compression
US10609411B1 (en) Cross color prediction for image/video compression

Legal Events

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

Payment date: 20170116

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180109

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190110

Year of fee payment: 6