KR101266577B1 - 화상 처리 방법 및 장치 - Google Patents

화상 처리 방법 및 장치 Download PDF

Info

Publication number
KR101266577B1
KR101266577B1 KR1020117024122A KR20117024122A KR101266577B1 KR 101266577 B1 KR101266577 B1 KR 101266577B1 KR 1020117024122 A KR1020117024122 A KR 1020117024122A KR 20117024122 A KR20117024122 A KR 20117024122A KR 101266577 B1 KR101266577 B1 KR 101266577B1
Authority
KR
South Korea
Prior art keywords
bit
group
value
pixels
current
Prior art date
Application number
KR1020117024122A
Other languages
English (en)
Other versions
KR20120013324A (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 KR20120013324A publication Critical patent/KR20120013324A/ko
Application granted granted Critical
Publication of KR101266577B1 publication Critical patent/KR101266577B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Analysis (AREA)

Abstract

희소 히스토그램을 갖는 화상의 압축 처리가 개시된다. 화상은 블록들로 분할되고, 비트 버짓이 각 블록에 할당된다. 블록의 화소들이 변환되고, 최상위 비트 평면(MSB)부터 최하위 비트 평면(LSB)까지 비트 평면마다 코딩된다. 블록의 화소들은 그룹들로 파티션된다. 각 그룹은 동일한 값을 갖는 화소들을 포함한다. MSB로부터 LSB까지 진행하면서, 각 비트 평면 내의 그룹들이 처리된다. 그룹을 처리할 때, 모든 그룹 멤버들이 처리중의 현재 비트 평면에 있어서 동일한 비트값을 갖는다면, 인코더는 "0"을 보내고, 이어서 비트값을 보내고, 그렇지 않다면, 인코더는 "1"을 보내고, 이어서 그 그룹의 각 화소에 대한 정련 비트들을 보내고, 인코더는 그룹을 분할한다.

Description

화상 처리 방법 및 장치{THE METHOD AND APPARATUS OF PROCESSING AN IMAGE}
<연관된 출원의 상호 참조>
본 출원은 2009년 6월 9일자로 출원된, 제목이 "희소 히스토그램을 갖는 화상용 임베디드 그래픽 코딩(Embedded Graphics Coding for Images with Sparse Histograms)"인 U.S. 가출원 번호 제61/185,557호의 우선권을 주장하며, 그 전체 내용이 본 명세서에 참조로 포괄된다.
<저작권 보호를 받는 자료에 대한 주의>
본 특허 문서의 자료 중 일부는 미국 및 다른 국가들의 저작권법에 의한 저작권 보호를 받는다. 저작권의 소유자는, 이 특허 문서 또는 특허 공개물을 누구든지 팩스 재생하는 것에 대해서는, 그것이 미국 특허청의 공개적으로 이용가능한 파일 또는 기록물에 나타난 대로인 한, 이의가 없지만, 그외에는 어떤 것일지라도 모든 저작권을 보유한다. 저작권 소유자는, 37 C.F.R. §1.14에 따른 그의 권리의 제한이 없는 것을 포함하여, 이 특허 문서의 비밀 유지에 관한 어떠한 권리도 포기하지 않는다.
발명의 분야
본 발명은 일반적으로 데이터 압축에 관한 것으로, 특히 희소 히스토그램을 갖는 화상용 데이터 압축에 관한 것이다.
대부분의 화상 압축 스킴들은 "자연적인 화상", 예를 들면 디지털 카메라에 의해 찍은 사진을 위해 설계된다. "자연적인 화상"에 대해서는, 이웃하는 화소들 간에 강한 연관 관계가 존재한다. 따라서, 대부분의 화상 압축 스킴들은 예측/변환, 또는 둘 다를 사용하여 화소들을 연관해제하여 작업한다. 이것은 결과적으로 예측 잔차(prediction residuals) 또는 변환 계수의 희소 히스토그램을 초래한다. 도 1은 8×8 이산 코사인 변환(discrete cosine transform)(16) 후 화상(10)의 히스토그램(12)을 도시한다. 도 1에 도시된 바와 같이, 히스토그램(12)은 단일 피크(14)를 가지며, 이 피크는 0 부근에 위치한다. (필요하다면) 양자화가 적용되고, (양자화된) 예측 잔차 또는 변환 계수의 엔트로피 코딩이 수행된다. 엔트로피 코더는 일반적으로 도 1에 도시된 것과 유사한 분포에 대해 설계된다. 즉, 분포가 상당히 다른 형태를 갖는다면, 코딩 성능이 저하될 수 있다.
그러나, 압축을 필요로 하는 "자연적이지 않은" 화상도 많이 있다. 이 화상은 자주 그래픽이나 텍스트를 포함하는데, 전형적으로 이들은 큰 다이내믹 레인지의 강한 콘트라스트, 날카로운 에지, 강한 질감(texture), 및 희소 히스토그램을 갖는다. 도 2는 그러한 "자연적이지 않은 화상"의 예이다.
이러한 타입의 화상은 통상 종래의 화상 압축 알고리즘에 의해 잘 취급될 수 없다. 화소간 상관 관계가 약하고, 예측 또는 변환은 자연적인 화상과 같은 희소 분포를 제공하지 않는다.
이러한 화상의 압축을 해결하기 위한 한가지 시도가 "히스토그램 팩킹(histogram packing)"이라고 불리는데, 이에 의하면, 인코더가 전체 화상을 통해 진행하고, 히스토그램을 계산하고, 화상 압축 전에 화소의 비선형 맵핑을 행한다. 압축은 2-패스 처리를 필요로 하기 때문에, 메모리 비용 증가와 계산의 증가를 유발한다. 비트스트림은 스케일러블하지 않으며, 이것은 디코더가 화상을 디코딩하기 위해 전체 비트스트림을 필요로 한다는 것을 의미한다. 부분적인 재구성은 재-인코딩 없이는 불가능하다.
희소 히스토그램을 갖는 화상의 압축 처리에 대해 개시된다. 화상은 블록들로 분할되고, 비트 버짓이 각 블록에 할당된다. 블록의 화소들이 변환되고, 최상위 비트 평면(Most Significant Bit-plane(MSB))부터 최하위 비트 평면(Least Significant Bit-plane(LSB))까지 비트 평면마다(bit-plane by bit-plane) 코딩된다. 블록의 화소들은 그룹들로 파티션된다. 각 그룹은 동일한 값을 갖는 화소들을 포함한다. 그룹 내의 화소들이 인코딩되는 비트 평면에 있어서 다른 값들을 갖는다면, 그룹은 분할된다. MSB로부터 LSB까지 진행하면서, 각 비트 평면 내의 그룹들이 처리된다. 그룹의 모든 멤버들이 처리중인 현재의 비트 평면에 있어서 동일한 비트값을 갖는다면, 인코더는 그 그룹에 대해 "0"을 보내고, 이어서 비트값을 보낸다. 그룹 멤버들이 다른 값들을 갖는다면, 인코더는 그룹을 분할하고, "1"을 보내고, 이어서 그 그룹의 각 화소에 대한 정련 비트들(refinement bits)을 보낸다.
일 특징에 있어서, 화상 처리 방법은, 제1 프로세서를 이용하여 화상을 블록들로 분할하는 단계, 각 블록에 대한 비트 버짓을 설정하는 단계, 각 블록의 화소들을 바이너리 표현으로 변환하는 단계, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하는 단계, 및 인코딩된 화소들의 압축된 화상 파일을 생성하고, 상기 압축된 화상 파일을 상기 제1 프로세서에 연결된 메모리에 저장하는 단계를 포함한다. 상기 화상은 희소 히스토그램을 갖는 화상을 포함한다. 현재 비트 평면에서 화소들을 스캔하고 인코딩하는 단계는, 블록에 존재하는 모든 그룹을 처리하는 단계를 포함하고, 각 그룹에 대해, 현재 비트 평면에 있어서 화소들이 모두 동일한 값을 갖는다면, 제1 비트 "0"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 기재하고, 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하는 단계, 새로운 그룹을 생성하는 단계, 및 원래의 그룹을 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 단계를 포함한다. 이 방법은 화상을 압축해제하기 위해 상기 압축된 화상 파일을 제2 프로세서로 디코딩하는 단계를 더 포함한다. 상기 압축된 화상 파일을 디코딩하는 단계는, MSB로부터 LSB까지 각 블록을 처리하는 단계, 및 각 비트 평면에 대해 존재하는 모든 그룹들을 처리하는 단계를 포함한다. 현재 비트 평면에 있어서의 그룹을 처리하는 단계는, 비트스트림으로부터 비트를 판독하는 단계, 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하는 단계, 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 원래 그룹이 2개로 분할되어, "0" 값을 갖는 화소들은 원래 그룹에 있고, "1" 값을 갖는 화소들은 새로운 그룹에 있는 단계를 포함한다. 블록들 각각의 비트 버짓은 블록들 사이에 공유된다. 상기 제1 프로세서는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된 디바이스 내에 있다.
다른 특징에 있어서, 화상 처리 장치는, 화상의 화소들을 처리하도록 구성된 제1 프로세서, 및 상기 제1 프로세서 상에서 실행가능한 프로그래밍으로서, 화상을 블록들로 분할하고, 각 블록에 대한 비트 버짓을 설정하고, 각 블록의 화소들을 바이너리 표현으로 변환하고, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고, 인코딩된 화소들의 압축된 화상 파일을 생성하기 위한 프로그래밍을 포함한다. 이 장치는, 상기 제1 프로세서에 연결된 메모리를 더 포함하고, 상기 압축된 화상 파일은 상기 메모리 내에 저장된다. 프로그래밍은, 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성되고, 각 비트 평면에 대해, 블록에 존재하는 모든 그룹에 대한 처리를 포함하고, 각 그룹에 대해, 현재 비트 평면에 있어서 화소값들이 모두 동일한 값을 갖는다면, 제1 비트 "0"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 기재하고, 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고, 새로운 그룹을 생성하고, 원래의 그룹을 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치한다. 이 장치는, 상기 제1 프로세서 또는 제2 프로세서 상에서 실행되는 제2 프로그래밍을 더 포함하고, 상기 제2 프로그래밍은, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성된다. 디코더는 또한, MSB로부터 LSB까지 각 블록을 처리하고, 각 비트 평면에 대해 존재하는 모든 그룹들을 처리하도록 구성된다. 현재 비트 평면에 있어서의 그룹의 처리는, 비트스트림으로부터 비트를 판독하고, 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하여, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고, 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 새로운 그룹이 생성되고, 원래 그룹이 2개로 분할되어, "0" 값을 갖는 화소들은 원래 그룹에 있고, "1" 값을 갖는 화소들은 새로운 그룹에 있는 것을 포함한다. 블록들 각각의 비트 버짓은 블록들 사이에 공유된다. 상기 장치는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된다.
또 다른 특징에 있어서, 희소 히스토그램을 갖는 화상을 처리하는 장치는, 화상의 화소들을 처리하도록 구성된 제1 프로세싱 수단, 상기 제1 프로세싱 수단 상에서 실행가능한 인코딩 수단으로서, 화상을 블록들로 분할하고, 각 블록에 대한 비트 버짓을 설정하고, 각 블록의 화소들을 바이너리 표현으로 변환하고, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고, 인코딩된 화소들의 압축된 화상 파일을 생성하기 위한 인코딩 수단, 및 상기 제1 프로세싱 수단에 연결된 저장 수단을 포함하고, 상기 압축된 화상 파일은 상기 저장 수단에 저장된다. 인코딩 수단은, 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성되고, 현재 비트 평면에 있어서 블록에 존재하는 모든 그룹들에 대한 처리를 포함하고, 각 그룹에 대해, 현재 비트 평면에 있어서 화소가 모두 동일한 값을 갖는다면, 제1 비트 "0"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 기재하고, 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고, 새로운 그룹을 생성하고, 원래의 그룹을 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 것을 포함한다. 이 장치는, 상기 제1 프로세싱 수단 또는 상기 제1 프로세싱 수단에 연결된 제2 프로세싱 수단 상에서 실행가능한 디코딩 수단을 더 포함하고, 상기 디코딩 수단은, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성된다. 디코딩 수단은, MSB로부터 LSB까지 각 블록을 처리하고, 각 비트 평면에 대해 존재하는 모든 그룹들을 처리함으로써 압축된 화상 파일을 디코딩하도록 구성된 디코더를 포함한다. 각 비트 평면에서, 그룹의 처리는, 비트스트림으로부터 비트를 판독하고, 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고, 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 원래 그룹이 2개로 분할되어, "0" 값을 갖는 화소들은 원래 그룹에 있고, "1" 값을 갖는 화소들은 새로운 그룹에 있는 것을 포함한다. 블록들 각각의 비트 버짓은 블록들 사이에 공유된다. 이 장치는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된다.
다른 특징에 있어서, 희소 히스토그램을 갖는 화상을 처리하는 장치는, 화상의 화소들을 처리하는 제1 프로세서, 상기 제1 프로세서 상에서 실행가능한 인코더로서, 화상을 블록들로 분할하고, 각 블록에 대한 비트 버짓을 설정하고, 각 블록의 화소들을 바이너리 표현으로 변환하고, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고, 인코딩된 화소들의 압축된 화상 파일을 생성하기 위한 인코더, 및 상기 제1 프로세서에 연결된 저장 디바이스를 포함하고, 상기 압축된 화상 파일은 상기 저장 디바이스에 저장된다. 상기 인코더는, 비트 평면에서 스캔하고 인코딩하도록 구성되고, 현재 비트 평면에 있어서, 인코딩은 블록에 존재하는 모든 그룹들의 처리를 포함하고, 각 그룹에 대해, 현재 비트 평면에 있어서 화소가 모두 동일한 값을 갖는다면, 제1 비트 "0"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 기재하고, 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고, 새로운 그룹을 생성하고, 원래의 그룹을 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 것을 포함한다. 이 장치는, 상기 제1 프로세싱 수단 또는 상기 제1 프로세싱 수단에 연결된 제2 프로세싱 수단 상에서 실행가능한 디코더를 더 포함하고, 상기 디코더는, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성된다. 상기 디코더는, MSB로부터 LSB까지 각 블록을 처리하고, 각 비트 평면에 대해 존재하는 모든 그룹들을 처리함으로써, 상기 압축된 화상 파일을 디코딩하도록 구성된다. 현재 비트 평면에 있어서 그룹의 처리는, 비트스트림으로부터 비트를 판독하고, 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고, 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 원래 그룹이 2개로 분할되어, "0" 값을 갖는 화소들은 원래 그룹에 있고, "1" 값을 갖는 화소들은 새로운 그룹에 있는 것을 포함한다. 블록들 각각의 비트 버짓은 블록들 사이에 공유된다. 상기 장치는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된다.
다른 특징에 있어서, 디바이스들의 네트워크는, 화상을 인코딩하는 인코더 디바이스로서, 화상을 블록들로 분할하고, 각 블록에 대한 비트 버짓을 설정하고, 각 블록의 화소들을 바이너리 표현으로 변환하고, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고, 인코딩된 화소들의 압축된 화상 파일을 생성하는 것을 포함하는 인코더 디바이스, 및 MSB로부터 LSB까지 각 블록을 처리하고, 각 비트 평면에 대해 존재하는 모든 그룹들을 처리함으로써 상기 압축된 화상 파일을 디코딩하는 디코더 디바이스를 포함한다. 현재 비트 평면에 있어서 그룹의 처리는, 비트스트림으로부터 비트를 판독하고, 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고, 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 원래 그룹이 2개로 분할되어, "0" 값을 갖는 화소들은 상기 원래 그룹에 있고, "1" 값을 갖는 화소들은 새로운 그룹에 있는 것을 포함한다. 상기 인코더 디바이스는, 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성되고, 현재 비트 평면에 있어서 인코딩은 블록에 존재하는 모든 그룹에 대한 처리를 포함하고, 각 그룹에 대해, 현재 비트 평면에 있어서 화소가 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 기재하고, 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고, 새로운 그룹을 생성하고, 원래의 그룹을 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 것을 포함한다. 블록들 각각의 비트 버짓은 블록들 사이에 공유된다.
어떤 실시예들에 있어서, 복수의 블록은 그들의 비트 버짓을 서로 공유할 수 있어서, 인코딩하기 어려운 블록에 더 많은 비트가 할당될 수 있다. 이것은 전체 코딩 성능을 향상시킨다. 한 극단적인 경우에 있어서, 화상의 모든 블록들에 의해 1 비트 버짓이 공유된다. 다른 극단적인 경우에 있어서, 각 블록은 그 자신의 비트 버짓을 갖는다. 모든 블록들에 대한 1 비트 버짓과 각 블록이 비트 버짓을 갖는 것 사이에서 임의의 비트 버짓 변동이 가능하다.
도 1은 화상에 대한 종래 기술의 이산적인 코사인 변환의 개략적인 도면, 및 대응하는 히스토그램을 도시한다.
도 2는 전형적인 그래픽 화상을 도시한다.
도 3은 소정의 실시예에 따라 그래픽 화상을 인코딩하는 방법의 개략적인 도면을 도시한다.
도 4는 소정의 실시예에 따른 블록 내의 비트 평면에 대한 EGC 인코딩의 개략적인 도면을 도시한다.
도 5는 소정의 실시예에 따른 블록에 대한 EGC 인코딩의 개략적인 도면을 도시한다.
도 6은 소정의 실시예에 따라 비트 버짓을 공유하는 복수의 블록의 EGC 인코딩의 개략적인 도면을 도시한다.
도 7은 소정의 실시예에 따른 블록 내의 비트 평면에 대한 EGC 디코딩의 개략적인 도면을 도시한다.
도 8은 소정의 실시예에 따른 단일 블록에 대한 EGC 디코딩의 개략적인 도면을 도시한다.
도 9는 소정의 실시예에 따라 비트 버짓을 공유하는 복수의 블록의 EGC 디코딩의 개략적인 도면을 도시한다.
도 10은 소정의 실시예에 따라 EGC를 사용하여 그래픽 화상을 인코딩 및 디코딩하기 위한 시스템의 개략적인 도면을 도시한다.
도면을 더 구체적으로 참조하면, 예시적인 목적을 위해, 희소 히스토그램을 갖는 화상의 임베디드 그래픽 코딩이, 종래 기술이 아닌 도면들에 개략적으로 도시된 장치에서 실시된다. 본 명세서에 개시된 기본적인 개념으로부터 벗어나지 않으면서, 장치는 구성에 있어서 그리고 부품들의 상세에 있어서 변경될 수 있고, 방법은 구체적인 단계들 및 시퀀스에 있어서 변경될 수 있다는 것을 이해할 것이다.
희소 히스토그램을 갖는 화상의 임베디드 그래픽 코딩은, 희소 히스토그램을 갖는 화상, 전형적인 예를 들면(그러나 이것으로 한정되지 않음), 그래픽 또는 텍스처 화상을 인코딩하기 위한 코딩 알고리즘, 시스템, 및 방법을 포함한다.
그 알고리즘, 시스템, 및 방법은 임베디드 그래픽 코딩(Embedded Graphics Coding(EGC))이라고 불리는 신규의 처리를 사용하고, 이 코딩은 손실 내지 무손실의 범위성(scalability)을 제공하고, 비트스트림의 중간에서 디코딩이 정지되더라도, 여전히 디코더는 그가 수신한 비트들에 기초하여 합리적인 디코딩된 블록을 만들 수 있다. 전체 비트스트림이 보내진다면, 화상은 손실 없이 재구성될 수 있다.
본 명세서에서 기술되는 알고리즘, 시스템, 및 방법은 낮은 복잡성과 높은 코딩 성능을 갖는다.
도 3은 희소 히스토그램을 갖는 화상을 인코딩하는 처리(30)의 흐름도를 도시한다. 우선, 단계 32에서, 화상이 블록들로 분할된다. 그 다음, 단계 34에서, 각 블록에 대해 비트 버짓이 설정된다. 비트 버짓은 일반적으로 인코더 및 디코더 둘 다에 의해 동의된다. 인코더 및 디코더는, 대역폭이 시간-가변적이면, 비트 버짓이 동적으로 변경될 수 있도록 구성될 수 있다. 코딩된 비트스트림은 완전히 임베드되며, 따라서 비트 버짓이 임의적으로 변경될 수 있다.
각 블록에 대해, 화상의 화소들은 단계 36에서 바이너리 표현으로 변환된다. 화소들은 이미 희소 히스토그램을 갖는다고 가정되기 때문에, 인코더는 임의의 예측 또는 변환을 행할 필요가 없다는 것을 유의한다. 예측 또는 변환이 없기 때문에, 계산 및 필요한 처리 능력이 절감된다.
다음으로, 단계 38에서, 각 블록의 화소들이 비트 평면에서 스캔되고 인코딩된다. 디지털 화상의 비트 평면은 각 바이너리 넘버들에 있어서 동일한 위치를 갖는 비트들의 세트이다. 예를 들어, 8-비트 데이터 표현에 대해서는, 8개 비트 평면이 있다. 제1 비트 평면은 최상위 비트의 세트를 포함하고, 제8 비트 평면은 최하위 비트의 세트를 포함한다. 최상위 비트 평면(MSB)이 우선 스캔 및 인코딩되고, 최하위 비트 평면(LSB)이 스캔될 때까지, 그 다음의 최상위 비트면으로 진행한다. 각 비트 평면의 인코딩 처리에 대해 하기에서 상세히 설명한다.
단계 40에서, 인코딩이 정지한다. 일반적으로, 두가지 조건 중, 즉, 1) 현재 블록의 비트 버짓이 고갈되는 것, 또는 2) 재구성된 블록이 LSB의 끝에 도달하는 것 중 하나가 발생하면, 인코딩은 정지된다. 이 경우, 디코더는 또한 블록의 끝을 판별한다.
도 4는 소정의 실시예에 따른 블록 내의 비트 평면에 대한 EGC 인코딩의 개략적인 도면을 도시한다. 단계 50에서, 존재하는 그룹들의 수(N)가 취득된다. 단계 52에서, 현재의 그룹이 그룹 1이라고 설정된다. 단계 54에서, 알고리즘은, 현재 그룹 내의 화소들이 현재 비트 평면에 있어서 동일한 비트값을 갖는지 여부를 평가한다.
그룹 내의 모든 화소들이 동일한 비트값을 갖는다면, 단계 56에서, "0"이 비트스트림 내에 기재되고, 이어서 현재 그룹 내의 모든 화소에 대한 비트값을 나타내기 위해 다른 하나의 "0" 또는 "1"이 기재된다.
그룹 내의 화소들이 동일한 비트값을 갖지 않는다면, 단계 58에서, "1"이 비트스트림 내에 기재되고, 이어서 현재 그룹 내의 각 화소에 대한 비트값이 기재된다. 단계 60에서, N을 증가시키지 않으면서 새로운 그룹이 생성된다. 단계 62에서, 그룹이 2개로 분할되며, "0" 값을 갖는 화소들이 동일한 그룹에 유지되고, "1" 값을 갖는 화소들이 새로운 그룹에 넣어진다.
단계 64에서, 인코더는 현재 그룹이 그룹 N인지 여부를 평가한다. 현재 그룹이 그룹 N이 아니면, 단계 66에서, 처리는 다음 그룹으로 진행하고, 처리는 단계 54에서 재개된다. 현재 그룹이 그룹 N이면, 현재 비트 평면의 인코딩이 종료된다.
도 5는 소정의 실시예에 따른 블록에 대한 EGC 인코딩의 개략적인 도면을 도시한다. 단계 68에서, 블록의 모든 화소가 그룹 1에 배치된다. 단계 70에서, 현재의 비트 평면이 MSB라고 설정된다. 단계 72에서는, 도 4에 기술된 방법을 이용하여 현재 비트 평면이 인코딩된다. 단계 74에서, 현재 비트 평면이 LSB인지 판별된다. 현재 비트 평면이 LSB가 아니면, 단계 76에서, 처리는 다음 비트 평면으로 진행하고, 처리는 단계 72에서 재개된다. 현재 비트 평면이 LSB이면, 현재 블록의 인코딩이 종료된다.
도 6은 소정의 실시예에 따라 비트 버짓을 공유하는 복수의 블록의 EGC 인코딩의 개략적인 도면을 도시한다. 단계 78에서, 각 블록에 대해 각 블록의 화소들이 동일한 그룹에 넣어진다(다른 블록들의 화소들은 다른 그룹들에 있음). 단계 80에서, 현재의 비트 평면이 MSB라고 설정된다. 단계 82에서, 현재의 블록이 제1 블록이라고 설정된다. 단계 84에서는, 도 4의 방법을 이용하여 현재 블록의 현재 비트 평면이 인코딩된다. 단계 86에서, 현재 블록이 마지막 블록인지 판별된다. 현재 블록이 마지막 블록이 아니면, 단계 88에서, 처리는 다음 블록으로 진행하고, 처리는 단계 84에서 재개된다. 현재 블록이 마지막 블록이면, 단계 90에서, 현재 비트 평면이 LSB인지 판별된다. 현재 비트 평면이 LSB이면, 인코딩은 종료된다. 현재 비트 평면이 LSB가 아니면, 단계 92에서, 처리는 다음 비트 평면으로 진행하고, 처리는 단계 82에서 재개된다.
도 7은 소정의 실시예에 따른 블록 내의 비트 평면에 대한 EGC 디코딩의 개략적인 도면을 도시한다. 단계 100에서, 존재하는 그룹들의 수(N)가 취득된다. 단계 102에서, 현재의 그룹이 그룹 1이라고 설정된다. 단계 104에서, 비트스트림으로부터 비트가 판독된다. 단계 106에서, 비트가 "0" 값을 포함하는지 판별된다. 그 값이 "0" 이면, 단계 108에서, 비트스트림으로부터 다른 하나의 비트가 판독되고, 그 비트값이 현재 비트 평면에 있어서 그 그룹의 모든 화소에 대해 설정된다. 예를 들면, 두번째 판독된 비트가 "1"이면, 모든 비트들이 "1"로 설정된다. 비트값이 "0" 이 아니면, 단계 110에서, 그룹 내의 각 화소에 대해, 비트스트림으로부터 비트가 판독되고, 그 비트가 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정된다. 단계 112에서, N을 증가시키지 않으면서, 새로운 그룹이 생성된다. 단계 114에서, 그룹이 분할되어, "0" 값을 갖는 화소들이 동일한 그룹에 유지하고, "1" 값을 갖는 화소들이 새로운 그룹에 넣어진다. 단계 116에서, 현재 그룹이 그룹 N인지가 판별된다. 현재 그룹이 그룹 N이 아니면, 단계 118에서 처리는 다음 그룹으로 진행한다. 현재 그룹이 그룹 N이면, 현재 비트 평면 디코딩이 종료된다.
도 8은 소정의 실시예에 따른 단일 블록에 대한 EGC 디코딩의 개략적인 도면을 도시한다. 단계 120에서, 블록의 모든 화소가 그룹 1에 배치된다. 단계 122에서, 현재의 비트 평면이 MSB라고 설정된다. 단계 124에서, 도 7에 기술된 방법을 이용하여 현재 비트 평면이 디코딩된다. 단계 126에서 현재 비트 평면이 LSB인지 판별된다. 현재 비트 평면이 LSB가 아니면, 단계 128에서, 처리는 다음 비트 평면으로 진행하고, 처리는 단계 124에서 재개된다. 현재 비트 평면이 LSB이면, 현재 블록의 디코딩이 종료된다.
도 9는 소정의 실시예에 따라 비트 버짓을 공유하는 복수의 블록의 EGC 디코딩의 개략적인 도면을 도시한다. 단계 130에서, 각 블록에 대해, 각 블록의 화소들이 동일한 그룹에 넣어진다(다른 블록들의 화소들은 다른 그룹들에 있음). 단계 132에서, 현재의 비트 평면이 MSB라고 설정된다. 단계 134에서, 현재의 블록이 제1 블록이라고 설정된다. 단계 136에서, 도 7의 방법을 이용하여 현재 블록의 현재 비트 평면이 디코딩된다. 단계 138에서, 현재 블록이 마지막 블록인지 판별된다. 현재 블록이 마지막 블록이 아니면, 단계 140에서, 처리는 다음 블록으로 진행하고, 처리는 단계 136에서 재개된다. 현재 블록이 마지막 블록이면, 단계 142에서, 현재 비트 평면이 LSB인지 판별된다. 현재 비트 평면이 LSB이면, 인코딩이 종료된다. 현재 비트 평면이 LSB가 아니면, 단계 144에서 처리는 다음 비트 평면으로 진행하고, 처리는 단계 134에서 재개된다.
어떤 실시예들에 있어서, 복수의 블록은 그들의 비트 버짓을 서로 공유할 수 있어서, 인코딩하기 어려운 블록에 더 많은 비트가 할당될 수 있다. 이것은 전체 코딩 성능을 향상시킨다. 한 극단적인 경우에 있어서, 화상의 모든 블록들에 의해 1 비트 버짓이 공유된다. 다른 극단적인 경우에 있어서, 각 블록은 그 자신의 비트 버짓을 갖는다. 모든 블록들에 대한 1 비트 버짓과 각 블록이 비트 버짓을 갖는 것 사이에서 임의의 비트 버짓 변동이 가능하다.
어떤 경우에 있어서, 알고리즘은 부분적으로 복원된 화상의 화소 재구성을 수행한다. 화소의 LSB가 디코딩되었다면, 디코더는, 화소의 참값을 안다. 화소 디코딩이 중간에 어디선가 정지하면, 디코더는 화소값이 존재하는 값의 범위만을 안다.
예를 들면, 화소의 처음 5개 비트 평면이 10110으로 디코딩되면, 디코더에 알려지지 않은 3개의 비트 평면이 아직 남아 있으므로, 화소의 참값은 (바이너리 표현으로) 10110000 내지 10110111의 범위 내에 있다. 이 경우, 디코더는 중점 근접 재구성을 선택하고, 미지의 비트들을 100...0이라고 설정한다. 전술한 예에서, 재구성 값은 10110100일 것이다.
도 10은 소정의 실시예에 따라 희소 히스토그램을 갖는 그래픽 화상을 인코딩 및 디코딩하기 위한 예시적인 시스템(200)을 도시한다. 소정의 실시예에 따라, 프로세서(206) 및 인코더(208)를 갖는 제1 디바이스(204)에 의해 원시 화상(202)이 처리된다. 디바이스(204, 214)는 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 가정용 오락 시스템, 또는 인코딩 모듈(208)을 저장하기 위한 메모리 또는 다른 저장 수단(209), 및 프로세서(206)를 갖는 다른 디바이스일 수 있다. 그리고, 프로그래밍/인코딩 수단을 포함한 인코더(208)를 사용하여(예를 들면, 전술한 알고리즘/처리에 의해) 원시 화상이 인코딩될 수 있어서 압축된 화상 파일(210)을 형성한다. 이것은 인터넷(212) 등과 같은 네트워크를 통해 제2 디바이스(214)에 보내질 수 있다. 제2 디바이스(214)는 프로세서(216), 메모리 또는 저장 수단(219), 및 디코딩 모듈(218)을 포함하고, 디코딩 모듈은, 압축된 데이터 파일(210)을 판독하고 그것을 본 명세서에 기술된 방법에 따라 (예를 들면, 전술한 알고리즘/처리에 의해) 디코딩하여 압축해제된 화상(220)을 생성하도록 구성된 프로그래밍/디코딩 수단을 포함한다. 디바이스 둘 다는 인코딩 모듈(208)과 디코딩 모듈(218) 둘 다를 포함할 수 있고, 또한 마찬가지로 인코딩과 디코딩 동작 둘 다를 행할 수 있다는 것을 이해할 것이다.
예 1
예시적인 8비트 화상에 있어서, 화소들 중 절반은 제로이고, 나머지 화소들은 255 값을 갖는다. 0들의 위치와 255들의 위치는 랜덤하다. 이론적으로, 무손실 압축을 위해 화소당 적어도 1 비트가 필요하다. 종래의 화상 코딩 알고리즘은 (히스토그램 팩킹을 제외하고는) 화소당 1 비트에 가까운 무손실 압축을 제공할 수 없다.
임베디드 그래픽 코딩 알고리즘(예를 들면, 인코딩 알고리즘(38))에 있어서, 원래 그룹이 2개의 그룹으로 분할된 것을 나타내기 위해 "1"이 MSB에 보내지고, MSB에 있어서의 각 화소의 비트값을 보내기 위해 화소당 1 비트가 보내진다. 그렇지 않은 경우, 그룹 내의 모든 화소가 동일하다는 것을 나타내기 위해 "0"이 보내진다.
다음의 비트 평면들에 대해, 0들의 그룹에 "00"이 보내지고, 255들의 그룹에 "01"이 보내진다.
블록의 무손실 압축을 위한 총 비트수는
1+n+4×7 = n+29
이며, n은 블록의 화소수이다.
평균 비트레이트는 화소당 (1+29/n) 비트이며, 이것은 합리적인 블록 사이즈(예를 들면, n = 8×8 = 64인 경우)에 대한 이론적인 한계에 가깝다.
인코딩 알고리즘은 또한, 그룹이 단지 1 또는 2 멤버만을 갖는다면, 1 비트의 "분할 여부" 신호를 보내지 않고, 정련 비트(들)가 직접 보내지도록 구성될 수 있다.
또한, 비트스트림의 순서는 더 양호한 임베디드 특성을 위해 재배열될 수 있다. 그룹이 분할되면, 그의 정련 비트들의 송부가 지연되고, 알고리즘은 다음 그룹을 처리하기 위해 앞으로 진행한다. 다음 그룹은 분할되지 않을 가능성이 있고, 따라서 복수의 비트를 나타내기 위해 1 비트가 사용될 수 있다. 또한, 비트 평면의 중간에서 비트스트림이 정지되면, 이 시도는 더 양호한 재구성 품질을 제공한다.
그룹의 중간에서 그룹의 정련이 정지되면, 소정의 가시적인 아티팩트가 있을 수 있다. 이 문제를 회피하기 위해, 디코더는, 현재 그룹에 대한 정련 비트들 중 일부가 수신되지 않으면 그룹의 정련을 포기하도록 구성될 수 있다.
다른 대안적인 실시예에 있어서, "분할 여부" 비트와 원시 비트들로서의 정련 비트들을 송부하는 것 대신, 그 비트들은, 코딩 효율을 더 향상시키기 위해 런-길이 코딩 또는 바이너리 산술 코딩을 이용하여 코딩될 수도 있다.
임베디드 그래픽 코딩 방법은 또한 종래의 화상 코딩에 대한 보충으로서 적합하기도 하다. 임베디드 그래픽 코딩은 임의의 블록-기반 화상 코딩 알고리즘과 조합될 수 있다. 그러한 경우, 비트스트림 내의 1 비트가, EGC가 사용되었는지 여부를 디코더에 알리기 위해 사용된다.
소정의 실시예들에 따른 방법 및 시스템의 흐름도의 예들을 참조하여 실시예들이 설명되었다. 이 방법 및 시스템은 컴퓨터 프로그램 제품으로서 실시될 수도 있다. 이와 관련하여, 흐름도의 각 블록 또는 단계, 및 흐름도의 블록들(및/또는 단계들)의 조합들은, 예를 들면, 하드웨어, 펌웨어, 및/또는 컴퓨터 판독가능 프로그램 코드 로직에 구현된 하나 이상의 컴퓨터 프로그램 명령들을 포함하는 소프트웨어 등과 같은 다양한 수단에 의해 구현될 수 있다. 이해하겠지만, 임의의 그러한 컴퓨터 프로그램 명령들은, 범용 컴퓨터 또는 특수한 목적의 컴퓨터, 또는 머신을 생성하기 위한 다른 프로그래머블 프로세싱 장치를 포함하나 이것들로 한정되지 않는 컴퓨터에 로딩될 수 있고, 컴퓨터 또는 다른 프로그래머블 프로세싱 장치 상에서 실행하는 컴퓨터 프로그램 명령들은 흐름도(들)의 블록(들)에 특정된 기능들을 구현하기 위한 수단을 생성한다.
따라서, 흐름도들의 블록들은, 특정 기능들을 수행하기 위한 수단들의 조합, 특정 기능들을 수행하기 위한 단계들의 조합, 및 특정 기능을 수행하기 위한, 컴퓨터 판독가능 프로그램 코드 로직 수단에 구현된 것과 같은 컴퓨터 프로그램 명령들을 지원한다. 또한, 흐름도 예들의 각 블록과, 흐름도 예들의 블록들의 조합은, 특정 기능들 또는 단계들을 수행하는 특수 목적의 하드웨어 기반 컴퓨터 시스템, 또는 특수 목적의 하드웨어와 컴퓨터 판독가능 프로그램 코드 로직 수단의 조합에 의해 구현될 수 있다는 것을 이해할 것이다.
또한, 컴퓨터 판독가능 프로그램 코드 로직에 구현된 것과 같은, 이 컴퓨터 프로그램 명령들은, 컴퓨터 또는 다른 프로그래머블 프로세싱 장치에 특별한 방식으로 기능할 것을 지시할 수 있는 컴퓨터 판독가능 메모리에 저장될 수 있어서, 컴퓨터 판독가능 메모리에 저장된 명령들은 흐름도(들)의 블록(들)에 특정된 기능을 구현하는 명령 수단을 포함한 제조품을 생성한다. 컴퓨터 프로그램 명령들은 또한, 컴퓨터 또는 다른 프로그래머블 프로세싱 장치 상에 일련의 동작 단계들을 수행시키기 위해 컴퓨터 또는 다른 프로그래머블 프로세싱 장치에 로딩될 수 있어서, 컴퓨터 또는 다른 프로그래머블 프로세싱 장치 상에서 실행하는 명령들이 흐름도(들)의 블록(들)에 특정된 기능들을 구현하는 단계들을 제공한다.
희소 히스토그램을 갖는 화상에 대해 EGC를 이용하기 위해, 유저는, 예를 들면 디지털 캠코더에서 비디오/화상을 취득하고, 비디오가 취득되면서 또는 비디오가 취득된 후, 또는 비디오가 컴퓨터 등과 같은 다른 장치로 보내진 때, EGC 방법이 비디오의 각 화상을 자동적으로 인코딩하여, 비디오가 적당히 인코딩되어 고품질의 비디오를 유지한다. EGC 방법은 유저의 개입 없이 자동적으로 행해진다. 비디오는 또한 마찬가지의 방법을 이용하여 표시되도록 디코딩될 수 있다.
동작 중에, 비디오의 프레임들과 같은 화상을 인코딩하고 전송하기 위해 EGC 방법이 이용된다. 각 화상 블록은 MSB로부터 LSB까지 처리되어, 결과적인 비트 평면이 여전히 임베드된다. 이 향상된 인코딩 방법은 무선 고해상도(WiHD)를 포함하나, 이것에 한정되지 않는 임의의 구현에 있어서 이용될 수 있다.
본 명세서에 기술된 희소 히스토그램을 갖는 화상에 대한 EGC 방법은, 고해상도 비디오를 포함한, 비디오 및/또는 화상에 이용될 수 있다.
고해상도 비디오는 HDCAM, HDCAM-SR, DVCPRO HD, D5 HD, XDCAM HD, HDV, 및 AVCHD를 포함하나 이것에 한정되지 않는 임의의 포맷일 수 있다.
희소 히스토그램을 갖는 화상용 임베디드 그래픽 코딩의 소정의 실시예들
1. 화상 처리 방법으로서,
a. 제1 프로세서를 이용하여 화상을 블록들로 분할하는 단계,
b. 각 블록에 대한 비트 버짓을 설정하는 단계,
c. 각 블록의 화소들을 바이너리 표현으로 변환하는 단계,
d. 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하는 단계, 및
e. 인코딩된 화소들의 압축된 화상 파일을 생성하고, 상기 압축된 화상 파일을 상기 제1 프로세서에 연결된 메모리에 저장하는 단계를 포함하는, 화상 처리 방법.
2. 제1조항에 있어서, 상기 화상은 희소 히스토그램을 갖는 화상을 포함하는, 화상 처리 방법.
3. 제1조항에 있어서, 각 비트 평면에서 화소들을 스캔하고 인코딩하는 단계는, 그 비트 평면에 존재하는 각 그룹을 처리하는 단계를 포함하고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하는 단계, 및
b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 단계를 더 포함하는, 화상 처리 방법.
4. 제3조항에 있어서,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하는 단계,
b. 새로운 그룹을 생성하는 단계, 및
c. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 단계를 더 포함하는, 화상 처리 방법.
5. 제4조항에 있어서, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 제2 프로세서로 디코딩하는 단계를 더 포함하는, 화상 처리 방법.
6. 제5조항에 있어서, 상기 압축된 화상 파일을 디코딩하는 단계는, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩하는 단계를 포함하고, 각 비트 평면에 대해,
a. 존재하는 그룹들의 수를 취득하는 단계,
b. 현재 그룹을 제1 그룹이라고 설정하는 단계,
c. 비트스트림으로부터 비트를 판독하는 단계,
d. 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하는 단계,
e. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있는 단계, 및
f. 현재 비트 평면의 끝에 도달할 때까지 단계 c 내지 e를 반복하는 단계를 포함하는, 화상 처리 방법.
7. 제1조항에 있어서, 블록들 각각의 상기 비트 버짓은 블록들 사이에 공유되는, 화상 처리 방법.
8. 제1조항에 있어서, 상기 제1 프로세서는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된 디바이스 내에 있는, 화상 처리 방법.
9. 화상 처리 장치로서,
a. 화상의 화소들을 처리하도록 구성된 제1 프로세서, 및
b. 상기 제1 프로세서 상에서 실행가능한 프로그래밍으로서,
i. 화상을 블록들로 분할하고,
ii. 각 블록에 대한 비트 버짓을 설정하고,
iii. 각 블록의 화소들을 바이너리 표현으로 변환하고,
iv. 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고,
v. 인코딩된 화소들의 압축된 화상 파일을 생성하기 위한 프로그래밍을 포함하는, 화상 처리 장치.
10. 제9조항에 있어서, 상기 제1 프로세서에 연결된 메모리를 더 포함하고, 상기 압축된 화상 파일은 상기 메모리 내에 저장되는, 화상 처리 장치.
11. 제9조항에 있어서, 각 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성된 프로그래밍은, 그 비트 평면에 존재하는 각 그룹에 대한 처리를 포함하고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고,
b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 것을 더 포함하는, 화상 처리 장치.
12. 제11조항에 있어서, 상기 프로그래밍은, 또한,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고,
b. 새로운 그룹을 생성하고,
c. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치함으로써, 화소들을 스캔하고 인코딩하도록 구성되는, 화상 처리 장치.
13. 제12조항에 있어서,
a. 상기 제1 프로세서 또는 제2 프로세서 상에서 실행되는 제2 프로그래밍을 더 포함하고,
b. 상기 제2 프로그래밍은, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성되는, 화상 처리 장치.
14. 제13조항에 있어서, 디코더는 또한, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩하도록 구성되고, 각 비트 평면에 대해,
a. 존재하는 그룹들의 수를 취득하고,
b. 현재 그룹을 제1 그룹이라고 설정하고,
c. 비트스트림으로부터 비트를 판독하고,
d. 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고,
e. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있고,
f. 현재 비트 평면의 끝에 도달할 때까지 c 내지 e를 반복하도록 구성되는, 화상 처리 장치.
15. 제9조항에 있어서, 블록들 각각의 상기 비트 버짓은 블록들 사이에 공유되는, 화상 처리 장치.
16. 제9조항에 있어서, 상기 장치는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된, 화상 처리 장치.
17. 희소 히스토그램을 갖는 화상을 처리하는 장치로서,
a. 화상의 화소들을 처리하도록 구성된 제1 프로세싱 수단,
b. 상기 제1 프로세싱 수단 상에서 실행가능한 인코딩 수단으로서,
i. 화상을 블록들로 분할하고,
ii. 각 블록에 대한 비트 버짓을 설정하고,
iii. 각 블록의 화소들을 바이너리 표현으로 변환하고,
iv. 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고,
v. 인코딩된 화소들의 압축된 화상 파일을 생성하기 위한 인코딩 수단, 및
c. 상기 제1 프로세싱 수단에 연결된 저장 수단을 포함하고, 상기 압축된 화상 파일은 상기 저장 수단에 저장되는, 화상 처리 장치.
18. 제17조항에 있어서, 상기 인코딩 수단은, 각 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성되고, 그 비트 평면에 존재하는 각 그룹에 대한 처리를 포함하고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고,
b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 것을 더 포함하는, 화상 처리 장치.
19. 제18조항에 있어서, 상기 인코딩 수단은 화소들을 스캔하고 인코딩하도록 구성되고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고,
b. 새로운 그룹을 생성하고,
c. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 것을 포함하는, 화상 처리 장치.
20. 제19조항에 있어서,
a. 상기 제1 프로세싱 수단 또는 상기 제1 프로세싱 수단에 연결된 제2 프로세싱 수단 상에서 실행가능한 디코딩 수단을 더 포함하고,
b. 상기 디코딩 수단은, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성되는, 화상 처리 장치.
21. 제20조항에 있어서, 상기 디코딩 수단은, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩함으로써 상기 압축된 화상 파일을 디코딩하도록 구성된 디코더를 포함하고, 각 비트 평면에 대해,
a. 존재하는 그룹들의 수를 취득하고,
b. 현재 그룹을 제1 그룹이라고 설정하고,
c. 비트스트림으로부터 비트를 판독하고,
d. 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고,
e. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있고,
f. 현재 비트 평면의 끝에 도달할 때까지 c 내지 e를 반복하는, 화상 처리 장치.
22. 제17조항에 있어서, 블록들 각각의 상기 비트 버짓은 블록들 사이에 공유되는, 화상 처리 장치.
23. 제17조항에 있어서, 상기 장치는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된, 화상 처리 장치.
24. 희소 히스토그램을 갖는 화상을 처리하는 장치로서,
a. 화상의 화소들을 처리하는 제1 프로세서,
b. 상기 제1 프로세서 상에서 실행가능한 인코더로서,
i. 화상을 블록들로 분할하고,
ii. 각 블록에 대한 비트 버짓을 설정하고,
iii. 각 블록의 화소들을 바이너리 표현으로 변환하고,
iv. 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고,
v. 인코딩된 화소들의 압축된 화상 파일을 생성하기 위한 인코더, 및
c. 상기 제1 프로세서에 연결된 저장 디바이스를 포함하고, 상기 압축된 화상 파일은 상기 저장 디바이스에 저장되는, 화상 처리 장치.
25. 제24조항에 있어서, 상기 인코더는, 화소들을 스캔하고 인코딩하도록 구성되고,
a. 화소값들이 모두 동일한 값을 갖는다면, 화소값들이 모두 동일한 값을 갖는다는 것을 나타내는 제1 비트값을 비트스트림 내에 기재하고,
b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 것을 포함하는, 화상 처리 장치.
26. 제25조항에 있어서, 상기 인코더는 각 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성되고, 비트 평면에 있어서 존재하는 각 그룹에 대한 처리를 포함하고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고,
b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하고,
c. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고,
d. 새로운 그룹을 생성하고,
e. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 것을 더 포함하는, 화상 처리 장치.
27. 제26조항에 있어서,
a. 상기 제1 프로세싱 수단 또는 상기 제1 프로세싱 수단에 연결된 제2 프로세싱 수단 상에서 실행가능한 디코더를 더 포함하고,
b. 상기 디코더는, 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성되는, 화상 처리 장치.
28. 제27조항에 있어서, 상기 디코더는 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩함으로써 상기 압축된 화상 파일을 디코딩하도록 구성되고, 각 비트 평면에 대해,
a. 존재하는 그룹들의 수를 취득하고,
b. 현재 그룹을 제1 그룹이라고 설정하고,
c. 비트스트림으로부터 비트를 판독하고,
d. 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고,
e. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있고,
f. 현재 비트 평면의 끝에 도달할 때까지 c 내지 e를 반복하는, 화상 처리 장치.
29. 제24조항에 있어서, 블록들 각각의 상기 비트 버짓은 블록들 사이에 공유되는, 화상 처리 장치.
30. 제24조항에 있어서, 상기 장치는, 퍼스널 컴퓨터, 랩탑 컴퓨터, 컴퓨터 워크스테이션, 서버, 메인프레임 컴퓨터, 휴대용 컴퓨터, 퍼스널 디지털 보조기, 셀룰러/모바일 텔레폰, 스마트 가전, 게임 콘솔, 디지털 카메라, 디지털 캠코더, 카메라 폰, iPod®/iPhone, 비디오 재생기, DVD 기록기/재생기, Blu-ray® 기록기/재생기, 텔레비전, 및 가정용 오락 시스템을 포함하는 그룹 중에서 선택된, 화상 처리 장치.
31. 디바이스들의 네트워크로서,
a. 화상을 인코딩하는 인코더 디바이스로서,
i. 화상을 블록들로 분할하고,
ii. 각 블록에 대한 비트 버짓을 설정하고,
iii. 각 블록의 화소들을 바이너리 표현으로 변환하고,
iv. 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하고,
v. 인코딩된 화소들의 압축된 화상 파일을 생성하는 것을 포함하는 인코더 디바이스, 및
b. 상기 압축된 화상 파일을 디코딩하는 디코더 디바이스로서, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩하는 것을 포함하고, 각 비트 평면에 대해,
i. 존재하는 그룹들의 수를 취득하고,
ii. 현재 그룹을 제1 그룹이라고 설정하고,
iii. 비트스트림으로부터 비트를 판독하고,
iv. 그 비트가 "0" 값을 갖는다면, 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고,
v. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있고,
vi. 현재 비트 평면의 끝에 도달할 때까지 iii 내지 v를 반복하는 것을 포함하는 디코더 디바이스를 포함하는, 디바이스들의 네트워크.
32. 제31조항에 있어서, 상기 인코더 디바이스는, 각 비트 평면에서 화소들을 스캔하고 인코딩하도록 구성되고, 그 비트 평면에 존재하는 각 그룹에 대한 처리를 포함하고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고,
b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 것을 더 포함하는, 디바이스들의 네트워크.
33. 제32조항에 있어서, 상기 인코더 디바이스는 화소들을 스캔하고 인코딩하도록 구성되고,
a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 비트스트림 내에 기재하고, 이어서 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 기재하고,
b. 새로운 그룹을 생성하고,
c. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 새로운 그룹에 배치하는 것을 포함하는, 디바이스들의 네트워크.
34. 제33조항에 있어서, 블록들 각각의 상기 비트 버짓은 블록들 사이에 공유되는, 디바이스들의 네트워크.
본 발명은, 본 발명의 구성 및 동작의 원리들을 쉽게 이해할 수 있도록 하기 위해, 상세 사항들을 포함한 특정 실시예들과 관련하여 설명되었다. 본 명세서에 있어서 그러한 특정 실시예들 및 그 상세에 대한 인용은 본 명세서에 첨부된 청구항들의 범위를 제한하고자 하는 것이 아니다. 당업자는, 예시적으로 선택된 실시예에 있어서, 청구항들에 의해 정의된 본 발명의 사상 및 범위를 벗어나지 않으면서, 다른 다양한 변경들이 만들어질 수 있다는 것을 쉽게 알 것이다.

Claims (34)

  1. 화상 처리 방법으로서,
    a. 제1 프로세서를 이용하여 화상을 블록들로 분할하는 단계,
    b. 각 블록에 대한 비트 버짓(budget)을 설정하는 단계,
    c. 각 블록의 화소들을 바이너리 표현으로 변환하는 단계,
    d. 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 인코딩하는 단계, 및
    e. 인코딩된 화소들의 압축된 화상 파일을 생성하고, 상기 압축된 화상 파일을 상기 제1 프로세서에 연결된 메모리에 저장하는 단계를 포함하고,
    상기 블록들 각각의 상기 비트 버짓은 상기 블록들 사이에서 공유되는, 화상 처리 방법.
  2. 제1항에 있어서,
    상기 화상은 희소 히스토그램을 갖는 화상을 포함하는, 화상 처리 방법.
  3. 제1항에 있어서,
    각 비트 평면에서 화소들을 스캔하고 인코딩하는 단계는, 그 비트 평면에 존재하는 각 그룹을 처리하는 단계를 포함하고,
    a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하는 단계, 및
    b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 단계를 더 포함하는, 화상 처리 방법.
  4. 제3항에 있어서,
    a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 상기 비트스트림 내에 기재하고, 상기 현재 그룹 내의 각 화소에 대해 상기 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 이어서 기재하는 단계,
    b. 새로운 그룹을 생성하는 단계, 및
    c. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 상기 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 상기 새로운 그룹에 배치하는 단계를 더 포함하는, 화상 처리 방법.
  5. 제4항에 있어서,
    화상을 압축해제하기 위해 상기 압축된 화상 파일을 제2 프로세서로 디코딩하는 단계를 더 포함하는, 화상 처리 방법.
  6. 제5항에 있어서,
    상기 압축된 화상 파일을 디코딩하는 단계는, 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩하는 단계를 포함하고, 각 비트 평면에 대해,
    a. 존재하는 그룹수를 취득하는 단계,
    b. 상기 현재 그룹을 제1 그룹이라고 설정하는 단계,
    c. 상기 비트스트림으로부터 하나의 비트를 판독하는 단계,
    d. 그 비트가 "0" 값을 갖는다면, 상기 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하는 단계,
    e. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 비트스트림으로부터 1 비트가 판독되어 상기 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있는 단계, 및
    f. 상기 현재 비트 평면의 끝에 도달할 때까지 단계 c 내지 e를 반복하는 단계를 포함하는, 화상 처리 방법.
  7. 삭제
  8. 삭제
  9. 화상 처리 장치로서,
    a. 화상의 화소들을 처리하도록 구성된 제1 프로세서, 및
    b. 상기 제1 프로세서 상에서 실행가능한 프로그래밍으로서,
    i. 화상을 블록들로 분할하고,
    ii. 각 블록에 대한 비트 버짓을 설정하고,
    iii. 각 블록의 화소들을 바이너리 표현으로 변환하고,
    iv. 최상위 비트 평면으로부터 최하위 비트 평면까지 상기 화소들을 스캔하고 인코딩하고,
    v. 인코딩된 상기 화소들의 압축된 화상 파일을 생성하기 위한 프로그래밍을 포함하고,
    상기 블록들 각각의 상기 비트 버짓은 상기 블록들 사이에서 공유되는, 화상 처리 장치.
  10. 제9항에 있어서,
    상기 제1 프로세서에 연결된 메모리를 더 포함하고, 상기 압축된 화상 파일은 상기 메모리 내에 저장되는, 화상 처리 장치.
  11. 제9항에 있어서,
    각 비트 평면에서 상기 화소들을 스캔하고 인코딩하도록 구성된 프로그래밍은, 그 비트 평면에 존재하는 각 그룹에 대한 처리를 포함하고,
    a. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고,
    b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 것을 더 포함하는, 화상 처리 장치.
  12. 제11항에 있어서,
    상기 프로그래밍은, 또한,
    a. 상기 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 상기 비트스트림 내에 기재하고, 상기 현재 그룹 내의 각 화소에 대해 상기 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 이어서 기재하고,
    b. 새로운 그룹을 생성하고,
    c. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 상기 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 상기 새로운 그룹에 배치함으로써, 상기 화소들을 스캔하고 인코딩하도록 구성되는, 화상 처리 장치.
  13. 제12항에 있어서,
    a. 상기 제1 프로세서 또는 제2 프로세서 상에서 실행되는 제2 프로그래밍을 더 포함하고,
    b. 상기 제2 프로그래밍은, 상기 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성되는, 화상 처리 장치.
  14. 제13항에 있어서,
    디코더는 또한, 최상위 비트 평면으로부터 최하위 비트 평면까지 상기 화소들을 스캔하고 디코딩하도록 구성되고, 각 비트 평면에 대해,
    a. 존재하는 그룹수를 취득하고,
    b. 상기 현재 그룹을 제1 그룹이라고 설정하고,
    c. 상기 비트스트림으로부터 하나의 비트를 판독하고,
    d. 그 비트가 "0" 값을 갖는다면, 상기 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고,
    e. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 상기 비트스트림으로부터 1 비트가 판독되어 상기 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있고,
    f. 상기 현재 비트 평면의 끝에 도달할 때까지 c 내지 e를 반복하도록 구성되는, 화상 처리 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 제9항에 있어서,
    상기 프로그래밍은, 상기 화소들을 스캔하고 인코딩하도록 구성되고,
    a. 화소값들이 모두 동일한 값을 갖는다면, 상기 화소값들이 모두 동일한 값을 갖는다는 것을 나타내는 제1 비트값을 비트스트림 내에 기재하고,
    b. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하는 것을 포함하고,
    상기 프로그래밍은, 각 비트 평면에서 상기 화소들을 스캔하고 인코딩하도록 구성되고, 비트 평면에 있어서 존재하는 각 그룹에 대한 처리를 포함하고,
    c. 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖는다면, 제1 비트값 "0"을 비트스트림 내에 기재하고,
    d. 현재 그룹 내의 모든 화소들의 값을 나타내는 제2 비트값을 상기 비트스트림 내에 기재하고,
    e. 상기 현재 비트 평면에 있어서 그룹의 화소값들이 모두 동일한 값을 갖지 않는다면, 제1 비트값 "1"을 상기 비트스트림 내에 기재하고, 상기 현재 그룹 내의 각 화소에 대해 현재 비트 평면에 있어서의 그 화소의 비트값을 나타내는 1 비트를 이어서 기재하고,
    f. 새로운 그룹을 생성하고,
    g. 원래의 그룹을 2개로 분할하여, "0" 값을 갖는 화소들을 상기 원래의 그룹에 유지하고 "1" 값을 갖는 화소들을 상기 새로운 그룹에 배치하는 것을 더 포함하고,
    상기 프로그래밍은,
    h. 상기 제1 프로세서 또는 상기 제1 프로세서에 연결된 제2 프로세서 상에서 실행가능한 디코더를 더 포함하고,
    i. 상기 디코더는, 상기 화상을 압축해제하기 위해 상기 압축된 화상 파일을 디코딩하도록 구성되고,
    상기 디코더는 최상위 비트 평면으로부터 최하위 비트 평면까지 화소들을 스캔하고 디코딩함으로써 상기 압축된 화상 파일을 디코딩하도록 구성되고, 각 비트 평면에 대해,
    j. 존재하는 그룹수를 취득하고,
    k. 상기 현재 그룹을 제1 그룹이라고 설정하고,
    l. 상기 비트스트림으로부터 하나의 비트를 판독하고,
    m. 그 비트가 "0" 값을 갖는다면, 상기 비트스트림으로부터 제2 비트를 판독하고, 그 값을 현재 비트 평면에 있어서 그 그룹 내의 모든 화소들에 대한 비트값이라고 설정하고,
    n. 그 비트가 "1" 값을 갖는다면, 그 그룹 내의 각 화소에 대해, 상기 비트스트림으로부터 1 비트가 판독되어 상기 현재 비트 평면에 있어서 그 화소의 비트값이라고 설정되고, 새로운 그룹이 생성되고, 이 새로운 그룹이 제1 그룹과 제2 그룹으로 분할되어, "0" 값을 갖는 화소들은 상기 제1 그룹에 있고, "1" 값을 갖는 화소들은 상기 제2 그룹에 있고,
    o. 상기 현재 비트 평면의 끝에 도달할 때까지 l 내지 n를 반복하는, 화상 처리 장치.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
KR1020117024122A 2009-06-09 2010-06-08 화상 처리 방법 및 장치 KR101266577B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18555709P 2009-06-09 2009-06-09
US61/185,557 2009-06-09
US12/795,210 US8457425B2 (en) 2009-06-09 2010-06-07 Embedded graphics coding for images with sparse histograms
US12/795,210 2010-06-07
PCT/US2010/037827 WO2010144491A2 (en) 2009-06-09 2010-06-08 Embedded graphics coding for images with sparse histograms

Publications (2)

Publication Number Publication Date
KR20120013324A KR20120013324A (ko) 2012-02-14
KR101266577B1 true KR101266577B1 (ko) 2013-05-23

Family

ID=43300798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117024122A KR101266577B1 (ko) 2009-06-09 2010-06-08 화상 처리 방법 및 장치

Country Status (6)

Country Link
US (2) US8457425B2 (ko)
KR (1) KR101266577B1 (ko)
CN (1) CN102396219B (ko)
BR (1) BRPI1014218B1 (ko)
RU (1) RU2503138C2 (ko)
WO (1) WO2010144491A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200105739A (ko) * 2019-03-01 2020-09-09 소니 주식회사 정교화 비트들의 서브블록 기반의 할당을 위한 임베디드 코덱 회로

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101346942B1 (ko) * 2009-09-02 2014-01-03 소니 주식회사 벡터 임베디드 그래픽 코딩
CN102474565B (zh) * 2009-09-09 2016-03-30 索尼公司 在无线hd1.1中用于图形模式压缩的比特流语法
CN104093027B (zh) * 2009-10-14 2017-10-13 索尼公司 用于彩色图像的联合标量嵌入式图形编码
US8526745B2 (en) * 2009-12-03 2013-09-03 Sony Corporation Embedded graphics coding: reordered bitstream for parallel decoding
JP5429057B2 (ja) * 2010-06-03 2014-02-26 セイコーエプソン株式会社 噴射用液体乾燥抑制装置、液体噴射装置、および噴射用液体乾燥抑制方法
GB2483502B (en) 2010-09-10 2014-05-07 Imagination Tech Ltd Random accessible lossless parameter data compression for title based 3D computer graphics system
CN103428485A (zh) * 2012-05-24 2013-12-04 富士通株式会社 图像编码方法及图像解码方法
CA2900841C (en) * 2013-01-16 2018-07-17 Huawei Technologies Co., Ltd. Context based histogram map coding for visual search
US9307248B2 (en) * 2013-03-08 2016-04-05 Mediatek Inc. Image encoding method and apparatus for performing bit-plane scanning coding upon pixel data and related image decoding method and apparatus
US9767529B1 (en) * 2013-12-18 2017-09-19 Mediatek Inc. Method and apparatus for accessing compressed data and/or uncompressed data of image frame in frame buffer
KR101887798B1 (ko) 2014-06-20 2018-08-10 에이치에프아이 이노베이션 인크. 비디오 코딩에서의 신택스에 대한 이진화 및 컨텍스트 적응 코딩의 방법 및 장치
US10057580B2 (en) 2015-01-30 2018-08-21 Mediatek Inc. Method and apparatus for entropy coding of source samples with large alphabet
CN106027545B (zh) * 2016-06-27 2019-02-19 西安空间无线电技术研究所 一种基于虚拟数据的鲁棒信息隐藏方法
GB2567881B (en) 2017-10-30 2021-02-10 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2568039B (en) * 2017-10-30 2020-10-28 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2568038B (en) 2017-10-30 2020-12-02 Imagination Tech Ltd Systems and methods for processing a stream of data values
CN109155061B (zh) * 2017-12-20 2021-08-27 深圳市大疆创新科技有限公司 图像融合的方法、装置与无人机
CN110324615A (zh) * 2018-03-30 2019-10-11 华为技术有限公司 一种码率分配方法及装置
CN110943744B (zh) * 2019-12-03 2022-12-02 嘉楠明芯(北京)科技有限公司 数据压缩、解压缩以及基于数据压缩和解压缩的处理方法及装置
CN116402571B (zh) * 2023-03-14 2024-04-26 上海峰沄网络科技有限公司 预算数据的处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909811B1 (en) 1998-03-06 2005-06-21 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
JP2007020010A (ja) 2005-07-08 2007-01-25 Fuji Xerox Co Ltd 画像符号化装置及び画像復号化装置、画像符号化方法及び画像復号化方法
US20080297620A1 (en) 2007-06-04 2008-12-04 Nvidia Corporation Reducing Computational Complexity in Determining an Illuminant of a Scene

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4546385A (en) * 1983-06-30 1985-10-08 International Business Machines Corporation Data compression method for graphics images
US5850261A (en) * 1992-10-15 1998-12-15 Sony Corporation Efficient variable length encoder and decoder
JPH06133284A (ja) * 1992-10-15 1994-05-13 Sony Corp エンコーダ及びデコーダ
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
GB9422738D0 (en) * 1994-11-10 1995-01-04 Univ Western Ontario Context-based, adaptive, progressive, lossless compression of still continuous -tone images
KR960036647A (ko) * 1995-03-20 1996-10-28 배순훈 스캐닝을 이용한 비트플랜 압축전송장치
US6052205A (en) * 1997-02-14 2000-04-18 Ricoh Company, Ltd. Image data encoding/decoding method and apparatus configured to compress both natural gray scale images and binary images
JP3284932B2 (ja) * 1997-08-05 2002-05-27 松下電器産業株式会社 画像処理装置
US6091777A (en) * 1997-09-18 2000-07-18 Cubic Video Technologies, Inc. Continuously adaptive digital video compression system and method for a web streamer
US6272180B1 (en) * 1997-11-21 2001-08-07 Sharp Laboratories Of America, Inc. Compression and decompression of reference frames in a video decoder
US6256415B1 (en) * 1998-06-10 2001-07-03 Seiko Epson Corporation Two row buffer image compression (TROBIC)
CA2261833A1 (en) 1999-02-15 2000-08-15 Xue Dong Yang Method and system of region-based image coding with dynamic streaming of code blocks
US6567081B1 (en) * 2000-01-21 2003-05-20 Microsoft Corporation Methods and arrangements for compressing image-based rendering (IBR) data using alignment and 3D wavelet transform techniques
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
US6985632B2 (en) * 2000-04-17 2006-01-10 Canon Kabushiki Kaisha Image processing system, image processing apparatus, and image processing method
US6654503B1 (en) * 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless image coder
US6501397B1 (en) * 2000-05-25 2002-12-31 Koninklijke Philips Electronics N.V. Bit-plane dependent signal compression
US7085424B2 (en) * 2000-06-06 2006-08-01 Kobushiki Kaisha Office Noa Method and system for compressing motion image information
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
KR100322485B1 (ko) * 2001-07-05 2002-02-07 이동욱 다중채널 영상신호 부호화 장치 및 그 방법
JP2003032496A (ja) * 2001-07-12 2003-01-31 Sanyo Electric Co Ltd 画像符号化装置および方法
US7194140B2 (en) * 2001-11-05 2007-03-20 Canon Kabushiki Kaisha Image processing apparatus and method which compresses image data of each region using a selected encoding method
MXPA04007053A (es) * 2002-01-22 2004-10-11 Nokia Corp Codificacion de coeficientes de transformacion en codificadores y/o decodificadores de imagenes y video.
US7415154B2 (en) * 2002-02-01 2008-08-19 Koninklijke Philips Electronics N.V. Compression of palettized color images with variable length color codes
US7117423B2 (en) * 2002-04-24 2006-10-03 Georgia Tech Research Corp. Methods and systems for multiple substream unequal error protection and error concealment
US7957465B2 (en) * 2002-04-26 2011-06-07 Nec Corporation Moving picture data code conversion/transmission method and device, code conversion/reception method and device
JP4003628B2 (ja) * 2002-12-02 2007-11-07 ソニー株式会社 画像符号化装置及び方法、並びにプログラム
JP2004248152A (ja) * 2003-02-17 2004-09-02 Ricoh Co Ltd 画像圧縮装置、画像伸張装置、画像圧縮方法、画像伸張方法、プログラム、及び記録媒体
WO2004092888A2 (en) * 2003-04-07 2004-10-28 Modulus Video, Inc. Scalable array encoding system and method
JP4081758B2 (ja) * 2003-05-08 2008-04-30 ソニー株式会社 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置
US20050074062A1 (en) * 2003-10-06 2005-04-07 Sung Chih-Ta Star Fast DCT method and apparatus for digital video compression
US20080159640A1 (en) * 2003-11-06 2008-07-03 Chaoqiang Liu Document Image Encoding Decoding
DE602004017689D1 (de) * 2003-11-21 2008-12-24 Samsung Electronics Co Ltd Vorrichtung und Methode zur Erzeugung von kodierten Blockanordnungen für ein Alpha-Kanalbild sowie Alpha-Kanalkodierungs und -dekodierungsvorrichtung und -methode.
KR100654431B1 (ko) * 2004-03-08 2006-12-06 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
US20060044576A1 (en) * 2004-07-30 2006-03-02 Kabushiki Kaisha Toshiba Apparatus for image processing
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US20050265459A1 (en) * 2004-06-01 2005-12-01 Bhattacharjya Anoop K Fixed budget frame buffer compression using block-adaptive spatio-temporal dispersed dither
US20050276493A1 (en) * 2004-06-01 2005-12-15 Jun Xin Selecting macroblock coding modes for video encoding
US20060133494A1 (en) * 2004-12-17 2006-06-22 Rahul Saxena Image decoder with context-based parameter buffer
US8204321B2 (en) * 2005-04-19 2012-06-19 Telecom Italia S.P.A. Method and apparatus for digital image coding
US7505624B2 (en) * 2005-05-27 2009-03-17 Ati Technologies Ulc Block-based image compression method and apparatus
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
JP4745865B2 (ja) * 2006-02-28 2011-08-10 富士通セミコンダクター株式会社 符号化装置および方法
JP2008048240A (ja) * 2006-08-18 2008-02-28 Nec Electronics Corp ビットプレーン復号装置およびビットプレーン復号方法
US8170101B2 (en) * 2006-10-27 2012-05-01 Sharp Laboratories Of America, Inc. Methods and systems for low-complexity data compression
WO2008111511A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体
US8107743B2 (en) * 2007-03-30 2012-01-31 Sharp Kabushiki Kaisha Image processing device, image processing method, and storage medium
EP1978749B1 (en) * 2007-04-06 2017-08-30 Canon Kabushiki Kaisha Compression of multidimensional look-up tables for colour space conversion
US7920741B2 (en) * 2007-05-31 2011-04-05 Adobe Systems Incorporated System and method for image processing using integral histogram convolution
EP2081155B1 (en) * 2008-01-21 2011-11-16 Telefonaktiebolaget LM Ericsson (publ) Prediction-based image processing
US8031959B2 (en) * 2008-02-22 2011-10-04 Himax Technologies Limited Compression system for a bit-plane
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8275208B2 (en) * 2008-07-02 2012-09-25 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image using image separation based on bit location
US8285062B2 (en) * 2009-08-05 2012-10-09 Sony Corporation Method for improving the performance of embedded graphics coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909811B1 (en) 1998-03-06 2005-06-21 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
JP2007020010A (ja) 2005-07-08 2007-01-25 Fuji Xerox Co Ltd 画像符号化装置及び画像復号化装置、画像符号化方法及び画像復号化方法
US20080297620A1 (en) 2007-06-04 2008-12-04 Nvidia Corporation Reducing Computational Complexity in Determining an Illuminant of a Scene

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200105739A (ko) * 2019-03-01 2020-09-09 소니 주식회사 정교화 비트들의 서브블록 기반의 할당을 위한 임베디드 코덱 회로
US10939107B2 (en) 2019-03-01 2021-03-02 Sony Corporation Embedded codec circuitry for sub-block based allocation of refinement bits
KR102267322B1 (ko) * 2019-03-01 2021-06-22 소니그룹주식회사 정교화 비트들의 서브블록 기반의 할당을 위한 임베디드 코덱 회로

Also Published As

Publication number Publication date
BRPI1014218B1 (pt) 2021-04-13
RU2503138C2 (ru) 2013-12-27
RU2011141592A (ru) 2013-04-20
US20130236097A1 (en) 2013-09-12
WO2010144491A3 (en) 2011-02-24
KR20120013324A (ko) 2012-02-14
CN102396219A (zh) 2012-03-28
WO2010144491A2 (en) 2010-12-16
BRPI1014218A2 (pt) 2016-04-12
CN102396219B (zh) 2015-04-08
US8457425B2 (en) 2013-06-04
US20100310169A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
KR101266577B1 (ko) 화상 처리 방법 및 장치
US11140401B2 (en) Coded-block-flag coding and derivation
KR101758954B1 (ko) 디코더 및 방법
US11765390B2 (en) Non-transform coding
JP2014039256A (ja) エンコーダおよび符号化方法
KR20060118589A (ko) 단계적 가역 비디오 부호화 방법, 단계적 가역 비디오 복호방법, 단계적 가역 비디오 부호화 장치, 단계적 가역비디오 복호 장치, 이들의 프로그램 및 그 프로그램의 기록매체
CN107925757B (zh) 对图像进行编码和解码的方法、用于对图像进行编码和解码的设备及其相应的计算机程序
JP2006093958A (ja) プログレッシブjpeg復号化システム
US10536697B2 (en) Method for re-encoding image and apparatus therefor
JP6469277B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2008271039A (ja) 画像符号化装置及び画像復号化装置
Li et al. A reversible data hiding scheme for JPEG images
JP2006108997A (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2004104624A (ja) 画像符号化装置、画像復号化装置及びそれらの方法
EP2698996A2 (en) Decoder and method
JP2004032262A (ja) 画像合成装置
JP2004356960A (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,それらのプログラムおよびそれらのプログラム記録媒体

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: 20160427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170428

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190426

Year of fee payment: 7