(19) 대한민국특허청 (KR) (12) 공개특허공보 (A) (51) 국제특허분류 (Int. Cl.) H04N 19/00 (2014.01) H04N 1/41 (2006.01) (21) 출원번호 10-2013-0095350 (22) 출원일자 2013 년 08 월 12 일 심사청구일자 (30) 우선권주장 2015 년 05 월 28 일 1214400.2 2012 년 08 월 13 일영국 (GB) 13002520 2013 년 05 월 14 일유럽특허청 (EPO)(EP) 전체청구항수 : 총 23 항 (54) 발명의명칭디코더및방법 (11) 공개번호 10-2015-0129095 (43) 공개일자 2015년11월19일 (71) 출원인 구루로직마이크로시스템스오이 핀란드투르쿠 20100 린난카투 34 (72) 발명자 칼레보오씨 핀란드토이잘라 37800 케툰헨테 1 케르크케이넨투오마스 핀란드투르쿠 20230 라우탈란카투 2 비 17 (74) 대리인 김태홍 (57) 요약 디코더 (10) 는입력데이터 (20) 를디코딩하여대응하는디코딩된출력데이터 (30) 를생성한다. 디코더 (10) 는 (a) 인코딩된입력데이터 (20) 에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보 - 상기헤더정보는상기블록및 / 또는패킷에관한상기인코딩된데이터로서포함시키기위한원래의블록 ( 뒷면에계속 ) 대표도 - 도 1-1 -
및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 - 를상기인코딩된입력데이터 (20) 로부터추출하기위해, 상기인코딩된입력데이터 (20) 를프로세싱하고 ; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하며 ; (c) 상기데이터필드를채우기위한대응하는디코딩된블록및 / 또는패킷콘텐츠를생성하기위해, 상기하나이상의변환을기술하는정보를검색하고이어서상기인코딩되고압축되는원래의블록및 / 또는패킷의디코딩을위한상기하나이상의변환의역을적용하고 ; (d) 상기인코딩된입력데이터 (20) 에포함되어있는분할및 / 또는결합정보에따라상기데이터필드에있는블록및 / 또는패킷을분할및 / 또는결합하며 ; (e) 상기인코딩된입력데이터가적어도부분적으로디코딩되었을때, 상기데이터필드로부터의데이터를상기디코딩된출력데이터 (30) 로서출력하도록 동작가능한데이터프로세싱하드웨어를포함한다. 선택적으로, 이디코더 (10) 는하나이상의변환의역을실행할때사용하기위해데이터베이스장치로부터보충 정보를가져오는동작을하고, 상기보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를 포함한다. 선택적으로, 디코더는인코딩된입력데이터 (20) 에포함되어있는분할및 / 또는결합정보에따라데 이터필드에있는블록및 / 또는패킷을분할및 / 또는결합하는동작을한다. 인코딩된데이터는, 선택적으로, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그 - 디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되 지않음 ) 중적어도하나를포함한다. 디코더 (10) 는유익하게도입력데이터를수신및 / 또는저장하는동작을 하는가전제품에서이용된다. - 2 -
명세서청구범위청구항 1 대응하는디코딩된출력데이터 (30) 를생성하기위해인코딩된입력데이터 (20) 를디코딩하는방법에있어서, (a) 인코딩된입력데이터 (20) 에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보 - 상기헤더정보는상기블록및 / 또는패킷에관한상기인코딩된데이터로서포함시키기위한원래의블록및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 - 를상기인코딩된입력데이터 (20) 로부터추출하기위해, 상기인코딩된입력데이터 (20) 를프로세싱하는단계 ; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하는단계 ; (c) 상기데이터필드를채우기위한대응하는디코딩된블록및 / 또는패킷콘텐츠를생성하기위해, 상기하나이상의변환을기술하는정보를검색하고이어서상기인코딩되고압축되는원래의블록및 / 또는패킷의디코딩을위한상기하나이상의변환의역을적용하는단계 ; (d) 상기인코딩된입력데이터 (20) 에포함되어있는분할및 / 또는결합정보에따라상기데이터필드에있는블록및 / 또는패킷을분할및 / 또는결합하는단계 ; 및 (e) 상기인코딩된입력데이터가적어도부분적으로디코딩되었을때, 상기데이터필드로부터의데이터를상기디코딩된출력데이터 (30) 로서출력하는단계를포함하는, 인코딩된입력데이터의디코딩방법. 청구항 2 제1항에있어서, 데이터메모리장치, 통신네트워크를통해, 메모리카드, 데이터메모리디스크, 근거리통신네트워크 (LAN), 디코더로곧바로중적어도하나의소스로부터상기인코딩된데이터를제공하는단계를포함하는, 인코딩된입력데이터의디코딩방법. 청구항 3 제1항또는제2항에있어서, 상기하나이상의변환의상기역을실행할때사용하기위해데이터베이스장치로부터보충정보를가져오는 (fetching) 단계를포함하고, 상기보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를포함하는것인, 인코딩된입력데이터의디코딩방법. 청구항 4 제4항에있어서, 상기인코딩된입력데이터 (20) 의디코딩이이전에상기입력데이터 (20) 를인코딩할때사용된상기보충정보에액세스할수있게해주기위해, 상기데이터베이스장치를나타내는헤더정보를상기인코딩된입력데이터 (20) 로부터검색하는단계를추가로포함하는, 인코딩된입력데이터의디코딩방법. 청구항 5 제1항, 제2항, 제3항또는제4항중어느한항에있어서, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터, 오디오및 / 또는이미지의시간계열에대한데이터중적어도하나를포함하는블록또는패킷을디코딩하는단계를포함 - 3 -
하고, 상기블록또는패킷의세분이이전의블록또는패킷에존재하는콘텐츠에의존하는것인, 인코딩된입력데이터의디코딩방법. 청구항 6 제1항내지제5항중어느한항에있어서, 상기하나이상의변환의상기역을위해데이터베이스참조, DC 값, 슬라이드, 스케일, 라인, 다중레벨, 보간, 외삽, DCT, 펄스코드변조 (PCM: pulse code modulation), DPCM, RLE, SRLE, EM, LZO, VLC, 허프만코딩, 산술코딩, 범위코딩, 변환코딩, 델타코딩, ODelta 코딩, bzip2-specific RLE 중하나이상의역을이용하는단계를포함하는, 인코딩된입력데이터의디코딩방법. 청구항 7 제1항내지제6항중어느한항에있어서, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터중적어도하나를디코딩하는단계를포함하고, 이들중하나이상이상기인코딩된입력데이터 (20) 에존재하는것인, 인코딩된입력데이터의디코딩방법. 청구항 8 비일시적기계판독가능데이터저장매체에기록되어있는소프트웨어제품에있어서, 제1항내지제7항중어느한항에청구된방법을실행하는컴퓨팅하드웨어상에서실행가능한, 소프트웨어제품. 청구항 9 이동무선통신장치를위한소프트웨어애플리케이션에있어서, 제8항에청구된소프트웨어제품을포함하는것인, 소프트웨어애플리케이션. 청구항 10 대응하는디코딩된출력데이터 (30) 를생성하기위해입력데이터 (20) 를디코딩하도록동작가능한디코더 (10) 에있어서, (a) 인코딩된입력데이터 (20) 에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보 - 상기헤더정보는상기블록및 / 또는패킷에관한상기인코딩된데이터로서포함시키기위한원래의블록및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 - 를상기인코딩된입력데이터 (20) 로부터추출하기위해, 상기인코딩된입력데이터 (20) 를프로세싱하고 ; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하며 ; (c) 상기데이터필드를채우기위한대응하는디코딩된블록및 / 또는패킷콘텐츠를생성하기위해, 상기하나이상의변환을기술하는정보를검색하고이어서상기인코딩되고압축되는원래의블록및 / 또는패킷의디코딩을위한상기하나이상의변환의역을적용하고 ; (d) 상기인코딩된입력데이터 (20) 에포함되어있는분할및 / 또는결합정보에따라상기데이터필드에있는블록및 / 또는패킷을분할및 / 또는결합하며 ; (e) 상기인코딩된입력데이터가적어도부분적으로디코딩되었을때, 상기데이터필드로부터의데이터를상기디코딩된출력데이터 (30) 로서출력하도록동작가능한데이터프로세싱하드웨어를포함하는, 디코더. 청구항 11 제10항에있어서, - 4 -
상기하나이상의변환의역을실행할때사용하기위해데이터베이스장치로부터보충정보를가져오는동작을하고, 상기보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를포함하는것인, 디코더. 청구항 12 제10항에있어서, 데이터메모리장치, 통신네트워크를통해, 메모리카드, 데이터메모리디스크, 근거리통신네트워크 (LAN), 디코더로곧바로중적어도하나의소스로부터상기인코딩된데이터를수신하도록구현되는, 디코더. 청구항 13 제10항에있어서, 상기데이터프로세싱하드웨어는소프트웨어제품을실행하는동작을하는컴퓨팅하드웨어를사용하여구현되는것인, 디코더. 청구항 14 제10항, 제11항, 제12항또는제13항중어느한항에있어서, 상기디코딩된출력데이터 (30) 가상기디코딩될입력데이터 (20) 보다크기가더크도록, 상기블록및 / 또는패킷과연관되어있는콘텐츠를압축해제하기위해상기하나이상의변환의역을사용하도록동작가능한, 디코더. 청구항 15 제10항, 제11항, 제12항, 제13항또는제14항중어느한항에있어서, 상기블록및 / 또는패킷의콘텐츠를기술하는상기블록및 / 또는패킷의대표적인파라미터들중적어도하나가상기블록및 / 또는패킷의세분또는결합된블록또는패킷내에서실질적으로변동이없도록상기블록및 / 또는패킷이세분또는결합되는것인, 디코더. 청구항 16 제15항에있어서, 상기적어도하나의파라미터는상기세분또는분할된블록의특성에대응하는것인, 디코더. 청구항 17 제10항내지제16항중어느한항에있어서, 상기블록및 / 또는패킷이일련의오디오및 / 또는이미지에대응하고, 복수의대응하는블록을형성하기위해주어진이미지및 / 또는오디오에대응하는상기입력데이터 (20) 를세분하는것이이미지및 / 또는오디오의시간시퀀스내에서상기주어진이미지에선행하는하나이상의이미지및 / 또는오디오에존재하는콘텐츠에의존하는것인, 디코더. 청구항 18 제10항내지제17항중어느한항에있어서, 상기디코딩된출력데이터 (30) 를생성하기위해상기변환된데이터에대한헤더정보를검색하도록동작가능하고, 상기헤더정보는상기인코딩된입력데이터 (20) 를생성한인코더에의해이용된상기하나이상의변환을나타내는정보를포함하는것인, 디코더. 청구항 19 제10항에있어서, 상기인코딩된입력데이터 (20) 의디코딩이이전에상기입력데이터 (20) 를인코딩할때사용된상기보충정보에액세스할수있게해주기위해, 상기데이터베이스장치를나타내는방식으로상기인코딩된입력데이터 - 5 -
(20) 에대한헤더정보를검색하도록동작가능한, 디코더. 청구항 20 제10항내지제19항중어느한항에있어서, 상기하나이상의변환의상기역을위해데이터베이스참조, DC 값, 슬라이드, 스케일, 라인, 다중레벨, 보간, 외삽, DCT, 펄스코드변조 (PCM: pulse code modulation), DPCM, RLE, SRLE, EM, LZO, VLC, 허프만코딩, 산술코딩, 범위코딩, 변환코딩, 델타코딩, ODelta 코딩, bzip2-specific RLE 중하나이상의역을이용하도록동작가능한, 디코더. 청구항 21 제10항내지제20항중어느한항에있어서, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터중적어도하나를디코딩하도록동작가능하고, 이들중하나이상이상기인코딩된입력데이터 (20) 에존재하는것인, 디코더. 청구항 22 인코딩된입력데이터를수신및 / 또는저장하도록동작가능한가전제품에있어서, 상기가전제품의적어도하나의사용자에게제공하기위한대응하는디코딩된콘텐츠를생성하기위해상기입력데이터를디코딩도록동작가능한제10항내지제21항중어느한항의디코더 (10) 를포함하는것인, 가전제품. 청구항 23 제22항에있어서, 이동전화, 휴대폰, 태블릿컴퓨터, 텔레비전프로그램, 휴대용미디어재생장치, 카메라, 개인용컴퓨터중적어도하나인, 가전제품. 발명의설명 [0001] 기술분야본개시내용은인코딩된입력데이터를수신하고입력데이터를디코딩하여대응하는디코딩된출력데이터를생성하는디코더에관한것이다. 더욱이, 본개시내용은또한인코딩된입력데이터를디코딩하여대응하는디코딩된출력데이터를생성하는방법에관한것이다. 게다가, 본개시내용은비일시적기계판독가능데이터저장매체상에기록되는소프트웨어제품을관한것이며, 소프트웨어제품은상기방법을구현하는컴퓨팅하드웨어상에서실행가능하다. [0002] 배경기술현대의사람들은점점더데이터콘텐츠, 예를들어, 멀티미디어콘텐츠를저장하고인터넷및무선통신네트워크를통해전달되고 ; 이러한멀티미디어콘텐츠는종종, 예를들어, 이미지, 비디오및오디오를포함하지만, 이들로제한되지않는다. 데이터콘텐츠는저장되고장치, 소프트웨어애플리케이션, 미디어시스템및데이터서비스사이에서전달된다. 이러한저장및전달동안, 이미지및비디오가포착되고, 스캔되며, 전송되고, 공유되며, 시청되고, 인쇄되는상황이생성한다. 그렇지만, 이러한이미지및비디오는이용되는데이터메모리용량및통신시스템대역폭의점에서부담이크다. 통신시스템대역폭이제한되어있을때, 이러한이미지및비디오는전달하는데상당한시간이걸린다. 이러한저장요건을해결하기위해, 어느정도의데이터압축도제공하는이미지및비디오인코딩방법을이용하는것이관행이었다. 이미지및비디오에대한몇몇최근의인코딩표준이표 1에제공되어있다. 표 1-6 -
[0003] 최근의인코딩표준 JPEG MPEG-1 H.261 WebP Lucid JPEG2000 MPEG-2 H.263 WebM GIF JPEG XR MPEG-4 H.264 PNG MPEG-4 AVC HEVC TIFF MPEG-4 MVC BMP MP3 VC-1 Theora AAC FLAC Ogg Vorbis Speex [0004] [0005] [0006] [0007] 예를들어, HD(high definition, 고선명 ) 표준및 HDR(high dynamic range, 고다이나믹레인지 ) 의채택에의해이미지품질이계속하여향상됨에따라이미지및오디오파일이점점더커지고있다. 그렇지만, 3차원 (3D) 이미지, 비디오및오디오는점점더인기를얻고있으며, 이는전달되고저장될관련데이터양의증가에대처하기위해그에대응하여인코더및디코더, 즉 " 코덱 " 에서보다효율적인인코딩및디코딩방법을요구한다. 그렇지만, 압축된데이터를생성할때정보콘텐츠와관련하여어느정도의데이터압축을제공하는인코딩방법이실질적으로무손실이어야만하는것이아주바람직하다. 종래의코덱은, 예를들어, US5832130, US7379496 및 US7676101에서와같이이전에공개된특허출원및등록된특허에기술되어있다. 일반적으로, 공지된비디오코덱은, 이미지의아주공간적으로상세한영역을동시에인코딩할수있으면서, 실질적으로일정한파라미터로이미지의넓은영역을효율적으로코딩할수없다. 변환, 예를들어, DCT(discrete cosine transform, 이산코사인변환 ) 및웨이블릿 (wavelet) 변환의사용에기초한예측및예측오차코딩방법의형태의움직임보상을이용하는것이관행이다. 이들변환은주어진이미지, 예를들어, 정지이미지또는비디오시퀀스의일부를형성하는이미지의일부분이블록들로나누어지고그블록들이이어서인코딩프로세스를거치는프로세스를이용한다. 블록들은, 예를들어, 8 x 8 이미지요소 (image element), 4 x 4 이미지요소또는유사한이미지요소이다. 이러한비교적보다작은블록이이용되는이유는블록의크기가더크면인코딩프로세스가비효율적이기때문이지만, 16x16 이미지요소블록이때때로이용된다. 이미지인코딩에대한최근공지된방식에따르면, 인코딩을위해다수의상이한블록크기가사용될때, 블록크기의작은변동을이용하는것이관행이고, 블록크기가연관된블록영역에서움직임이얼마나잘보상될수있는지에기초하여또는인코딩품질파라미터, 예를들어, 목표품질파라미터에기초하여선택된다. 일반적으로, 보다높은인코딩된이미지품질은보다작은블록을필요로하며, 그결과데이터압축이보다적다. 패리티코드및오류정정코드등의오류정정특징이포함될때, 특정유형의최근의인코딩에의하면, 심지어데이터크기가증가할수있다. 이상으로부터, 데이터콘텐츠품질을유지하면서데이터콘텐츠 [ 예를들어, 이미지및비디오 ( 이들로제한되지않음 )] 의데이터압축을제공하는것이, 최근수십년동안아주다양한코덱이개발되었음에도불구하고, 공지된인코더및디코더에의해적절히해결되지않는최근의문제임을잘알것이다. 공개된 PCT 출원제WO2010/039822호 [ 4 x 4 및 8 x 8보다큰변환을사용하는비디오코딩 (Video Coding Using Transforms Bigger than 4 x 4 and 8 x 8) ; 출원인 Qualcomm Inc.) 에서, 비디오프로세싱시스템, 8 x 8보다큰변환및비직교변환을적용하고비디오디코딩을위한변환을나타내는변환크기구문요소를생성하는방법및시스템이기술되어있다. 변환크기구문요소는선택적으로비디오블록의예측블록크기및비디오블록의콘텐츠에기초하여인코더에의해생성된다. 더욱이, 인코딩프로세스동안 4 x 4, 8 x 8, 및보다큰변환크기중에서선택하기위해일련의규칙에따라변환크기구문요소가생성될수있다. 디코더는선택적으로인코더에의해사용되는변환크기구문요소및규칙에기초하여역변환을수행한다. 변환크기구문요소는선택적으로인코딩된비디오비트스트림의일부로서디코더로전송된다. [0008] 발명의내용본발명은인코딩된입력데이터를디코딩하고대응하는디코딩된출력데이터를생성하는디코더를제공하기위한것이고, 디코딩된출력데이터는디코딩동안어떤실질적인품질손실도일어남이없이인코딩된입력데이터에대해압축해제되며 ; 인코딩된데이터는선택적으로, 임의의유형의데이터, 예를들어, 이미지데이터, - 7 -
비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그 - 디지털 (ADC) 변환된데 이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적 어도하나이다. [0009] [0010] [0011] [0012] [0013] [0014] [0015] [0016] [0017] [0018] [0019] [0020] [0021] [0022] 본발명은또한인코딩된입력데이터를디코딩하고대응하는디코딩된출력데이터를생성하는방법을제공하기위한것이고, 여기서디코딩된출력데이터는디코딩동안어떤실질적인품질손실도일어남이없이인코딩된입력데이터에대해압축해제된다. 제1 측면에따르면, 첨부된청구항제1항에청구된인코딩된입력데이터를디코딩하는방법이제공되고 : 대응하는디코딩된출력데이터 (30) 를생성하기위해인코딩된입력데이터 (20) 를디코딩하는방법은, (a) 인코딩된입력데이터 (20) 에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보 - 상기헤더정보는상기블록및 / 또는패킷에관한상기인코딩된데이터로서포함시키기위한원래의블록및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 - 를상기인코딩된입력데이터 (20) 로부터추출하기위해, 상기인코딩된입력데이터 (20) 를프로세싱하는단계 ; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하는단계 ; (c) 상기데이터필드를채우기위한대응하는디코딩된블록및 / 또는패킷콘텐츠를생성하기위해, 상기하나이상의변환을기술하는정보를검색하고이어서상기인코딩되고압축되는원래의블록및 / 또는패킷의디코딩을위한상기하나이상의변환의역을적용하는단계 ; (d) 상기인코딩된입력데이터 (20) 에포함되어있는분할및 / 또는결합정보에따라상기데이터필드에있는블록및 / 또는패킷을분할및 / 또는결합하는단계 ; 및 (e) 상기인코딩된입력데이터가적어도부분적으로디코딩되었을때, 상기데이터필드로부터의데이터를상기디코딩된출력데이터 (30) 로서출력하는단계를포함한다. 본발명은이방법이인코딩된입력데이터가, 실질적으로인코딩된입력데이터에존재하는콘텐츠의품질의손실없이, 효율적인방식으로디코딩되고압축해제될수있게해준다는점에서이점이있다. 인코딩된데이터는유익하게도, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나를비롯한임의의유형의데이터이다. 선택적으로, 이방법은데이터메모리장치, 통신네트워크를통해, 메모리카드, 데이터메모리디스크, 근거리통신네트워크 (LAN), 디코더로곧바로중적어도하나의소스로부터인코딩된데이터를제공하는단계를포함한다. 선택적으로, 이방법은하나이상의변환의역을실행할때사용하기위해데이터베이스장치로부터보충정보를가져오는단계를포함하고, 보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를포함한다. 선택적으로, 이방법은데이터콘텐츠항목의시간계열을포함하는블록및 / 또는패킷을디코딩하는단계를포함하고, 여기서계열내의주어진데이터콘텐츠항목의블록을세분하는것은데이터콘텐츠항목의시간시퀀스내에서주어진데이터콘텐츠항목에선행하는하나이상의데이터콘텐츠항목에존재하는콘텐츠에의존하고 ; 선택적으로, 데이터콘텐츠항목은이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나를포함한다. 또한선택적으로, 이방법은, 인코딩된입력데이터의디코딩이이전에입력데이터를인코딩할때사용된보충정보에액세스할수있게해주기위해, 데이터베이스장치를나타내는헤더정보를인코딩된입력데이터로부터검색하는단계를추가로포함한다. 선택적으로, 이방법은하나이상의변환의역을위해데이터베이스참조, DC 값, 슬라이드, 스케일, 라인, 다중레벨, 보간, 외삽, DCT, 펄스코드변조 (PCM: pulse code modulation), DPCM, RLE, SRLE, EM, LZO, VLC, 허프만코딩, 산술코딩, 범위코딩, 변환코딩, 델타코딩, ODelta 코딩, bzip2-specific RLE 중하나이상의역을이용하는단계를포함한다. - 8 -
[0023] [0024] [0025] [0026] [0027] [0028] [0029] [0030] [0031] [0032] [0033] [0034] [0035] [0036] [0037] [0038] 선택적으로, 이방법은이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나를디코딩하는단계를포함한다. 제2 측면에따르면, 비일시적기계판독가능데이터저장매체에기록되어있는소프트웨어제품에제공되고, 이소프트웨어제품은본발명의제1 측면에다른방법을실행하기위해컴퓨팅하드웨어상에서실행가능하다. 제3 측면에따르면, 이동무선통신장치를위한소프트웨어애플리케이션이제공되고, 이소프트웨어애플리케이션은본발명의제2 측면에따른소프트웨어제품을포함한다. 제4 측면에따르면, 대응하는디코딩된출력데이터를생성하기위해입력데이터를디코딩하도록동작가능한디코더가제공되고, 이디코더는 (a) 인코딩된입력데이터 (20) 에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보 - 상기헤더정보는상기블록및 / 또는패킷에관한상기인코딩된데이터로서포함시키기위한원래의블록및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 - 를상기인코딩된입력데이터 (20) 로부터추출하기위해, 상기인코딩된입력데이터 (20) 를프로세싱하고 ; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하며 ; (c) 상기데이터필드를채우기위한대응하는디코딩된블록및 / 또는패킷콘텐츠를생성하기위해, 상기하나이상의변환을기술하는정보를검색하고이어서상기인코딩되고압축되는원래의블록및 / 또는패킷의디코딩을위한상기하나이상의변환의역을적용하고 ; (d) 상기인코딩된입력데이터 (20) 에포함되어있는분할및 / 또는결합정보에따라상기데이터필드에있는블록및 / 또는패킷을분할및 / 또는결합하며 ; (e) 상기인코딩된입력데이터가적어도부분적으로디코딩되었을때, 상기데이터필드로부터의데이터를상기디코딩된출력데이터 (30) 로서출력하도록동작가능한데이터프로세싱하드웨어를포함한다. 인코딩된데이터는유익하게도임의의유형의데이터, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나이다. 선택적으로, 이디코더는데이터메모리장치, 통신네트워크를통해, 메모리카드, 데이터메모리디스크, 근거리통신네트워크 (LAN), 디코더로곧바로중적어도하나의소스로부터인코딩된데이터를제공하는단계를포함한다. 선택적으로, 이디코더는데이터프로세싱하드웨어가소프트웨어제품을실행하는동작을하는컴퓨팅하드웨어를사용하여구현되도록구현된다. 선택적으로, 이디코더는, 디코딩된출력데이터는디코딩될인코딩된입력데이터보다크기가더크도록, 하나이상의변환의역을사용하여블록및 / 또는패킷과연관되어있는콘텐츠를압축해제하는동작을한다. 선택적으로, 이디코더는블록또는패킷의콘텐츠를기술하는그의대표적인파라미터들중적어도하나가그의세분된및 / 또는결합된블록또는패킷내에서실질적으로변동이없도록블록및 / 또는패킷이세분및 / 또는결합되도록구현된다. 또한선택적으로, 이디코더가동작하고있을때, 적어도하나의파라미터는세분및 / 또는결합된블록의색상에대응한다. 선택적으로, 이디코더는블록및 / 또는패킷이일련의데이터콘텐츠항목을포함하도록구현되고, 여기서복수의대응하는블록을형성하기위해주어진데이터콘텐츠항목에대응하는입력데이터를세분하는것은데이터콘텐츠항목의시간시퀀스내에서주어진데이터콘텐츠항목에선행하는하나이상의데이터콘텐츠항목에존재하는콘텐츠에의존하고 ; 선택적으로, 데이터콘텐츠항목은이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나를포함한다. 선택적으로, 이디코더는변환된데이터에대한헤더정보를검색하여디코딩된출력데이터를생성하는동작을하고, 여기서헤더정보는인코딩된입력데이터를생성한인코더에의해이용된하나이상의변환을나타내는정보를포함한다. - 9 -
[0039] [0040] [0041] [0042] [0043] [0044] [0045] [0046] [0047] [0048] [0049] [0050] [0051] [0052] [0053] [0054] [0055] 선택적으로, 이디코더는하나이상의변환의역을실행할때사용하기위해데이터베이스장치로부터보충정보를가져오는동작을하고, 보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를포함한다. 또한선택적으로, 이디코더는, 인코딩된입력데이터의디코딩이이전에인코딩하거나인코딩된입력데이터를디코딩할때사용된보충정보에액세스할수있게해주기위해, 데이터베이스장치를나타내는방식으로인코딩된입력데이터로부터헤더정보를검색하는동작을한다. 선택적으로, 이디코더는하나이상의변환의역을위해데이터베이스참조, DC 값, 슬라이드, 스케일, 라인, 다중레벨, 보간, 외삽, DCT, 펄스코드변조 (PCM: pulse code modulation), DPCM, RLE, SRLE, EM, LZO, VLC, 허프만코딩, 산술코딩, 범위코딩, 변환코딩, 델타코딩, ODelta 코딩, bzip2-specific RLE 중하나이상의역을이용하는동작을한다. 선택적으로, 이디코더는이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나를디코딩하는동작을한다. 제5 측면에따르면, 입력데이터를수신및 / 또는저장하는동작을하는가전제품이제공되고, 가전제품은, 가전제품의적어도하나의사용자에게제공하기위해, 입력데이터를디코딩하여디코딩된콘텐츠를생성하는제 4 측면에따른디코더를포함하고있다. 선택적으로, 가전제품은이동전화, 휴대폰, 태블릿컴퓨터, 패블릿컴퓨터, 텔레비전프로그램, 휴대용미디어재생장치, 카메라, 개인용컴퓨터중적어도하나이다. 제6 측면에따르면, 인코딩된입력데이터를디코딩하여대응하는디코딩된출력데이터를생성하는방법이제공되고, 이방법은, (a) 인코딩된입력데이터를프로세싱하여그로부터인코딩된입력데이터에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보를추출하는단계 - 헤더정보는블록및 / 또는패킷에관한인코딩된데이터로서포함시키기위한원래의블록및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 -; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하는단계 ; (c) 데이터필드를채우기위해, 하나이상의변환을기술하는정보를검색하고이어서인코딩된및압축된원래의블록및 / 또는패킷데이터를디코딩하여대응하는디코딩된블록및 / 또는패킷을생성하기위해하나이상의변환의역을적용하는단계 ; (d) 하나이상의변환의역을실행할때사용하기위해데이터베이스장치로부터보충정보를가져오는단계 - 보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를포함함 -; 및 (e) 인코딩된입력데이터가적어도부분적으로디코딩되었을때, 데이터필드로부터의데이터를디코딩된출력데이터로서출력하는단계를포함한다. 제7 측면에따르면, 입력데이터를디코딩하여대응하는디코딩된출력데이터를생성하는동작을하는디코더가제공되고, 이디코더는 (a) 인코딩된입력데이터를프로세싱하여그로부터인코딩된입력데이터에포함되어있는블록및 / 또는패킷에관한인코딩된데이터를나타내는헤더정보를추출하고 - 헤더정보는블록및 / 또는패킷에관한인코딩된데이터로서포함시키기위한원래의블록및 / 또는패킷데이터를인코딩하고압축하는데이용되는하나이상의변환을나타내는데이터를포함함 -; (b) 디코딩된블록및 / 또는패킷콘텐츠를수신하기위해데이터저장장치에데이터필드를준비하며 ; (c) 상기데이터필드를채우기위해, 하나이상의변환을기술하는정보를검색하고이어서인코딩된및압축된원래의블록및 / 또는패킷데이터를디코딩하여대응하는디코딩된블록및 / 또는패킷을생성하기위해하나이상의변환의역을적용하고 ; (d) 하나이상의변환의역을실행할때사용하기위해데이터베이스장치로부터보충정보를가져오며 - 보충정보는알고리즘, 규칙, 하나이상의변환파라미터중적어도하나를포함함 -; (e) 인코딩된입력데이터가적어도부분적으로디코딩되었을때, 데이터필드로부터의데이터를디코딩된출력 - 10 -
데이터로서출력하는동작을하는데이터프로세싱하드웨어를포함한다. [0056] 본발명의특징들이첨부된특허청구범위에의해한정된본발명의범위를벗어나지않고다양한조합으로결합 될수있다는것을잘알것이다. [0057] 도면의간단한설명 이제부터, 단지예로서, 이하의도면을참조하여본개시내용의실시예에대해기술할것이다. 도 1은디코더의실시예를개략적으로나타낸도면. 도 2는적어도하나의데이터콘텐츠항목을나타내는인코딩된입력데이터를디코딩하여대응하는디코딩된출력데이터를생성하는방법의단계들의플로우차트로서, 여기서디코딩된출력데이터는디코딩동안데이터콘텐츠품질의손실이실질적으로일어남이없이인코딩된입력데이터에대해압축해제되고 ; 데이터콘텐츠항목은유익하게도이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터 ( 이들로제한되지않음 ) 중적어도하나를포함함. 도 3은도 2에예시된단계들을갖는방법을사용하여디코딩하기위해이미지를블록들에대응하는영역들로분할하는것의한예를나타낸도면으로서, 이러한분할은또한다른유형의데이터콘텐츠에도적용가능함. 도 4는실시예의방법을사용하여디코딩될예시적인이미지의초기분할의예를나타낸도면. 도 5는실시예의방법을사용하여디코딩될이미지의분할의예를나타낸도면. 도 6은디코딩된이미지의예를나타낸도면. 도 7은디코딩방법이실행될수있는예시적인장치를나타낸도면. 첨부도면에서, 밑줄친번호는밑줄친번호가위치되어있는항목또는밑줄친번호가인접해있는항목을나타내기위해이용된다. 밑줄이없는번호는밑줄이없는번호를항목에연결시키는라인에의해식별되는항목에관한것이다. 번호가밑줄이그어져있지않고연관된화살표를수반할때, 밑줄이없는번호는화살표가가리키는일반항목을식별하는데사용된다. [0058] [0059] [0060] [0061] [0062] [0063] [0064] [0065] 발명을실시하기위한구체적인내용요약하면, 본발명은인코딩된입력데이터를디코딩하여대응하는디코딩된출력데이터를생성하는디코더및관련방법에관한것이다. 인코딩된데이터는선택적으로, 임의의유형의데이터, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나이다. 이방법은예를들어, 하나이상의이미지및 / 또는하나이상의오디오신호를나타내는인코딩된입력데이터를수신하고이어서 (i) 인코딩된입력데이터에포함된헤더정보를해석하는단계 ; (ii) 인코딩된입력데이터내에존재하는블록및 / 또는패킷정보를식별하는단계 ; (iii) 식별된블록또는패킷정보에대응하는블록및 / 또는패킷으로데이터필드를채우는단계 ; (iv) 블록및 / 또는패킷정보를생성하는데사용되었던하나이상의변환을식별하는단계 ; 및 (v) 디코딩된블록또는패킷정보로데이터필드를채우기위해, 블록및 / 또는패킷정보를디코딩하여디코딩된데이터를생성하기위해식별된하나이상의변환의역을적용함으로써상기한디코딩된출력데이터를제공하는단계를실행하는것에의해, 인코딩된입력데이터를프로세싱하는것에관한것이다. 선택적으로, 단계 (iii) 를실행한후에, 인코딩된입력데이터에서, 주어진블록또는패킷이분할및 / 또는결합된것으로판명되는경우, 데이터필드에채워진블록또는패킷은그에대응하여분할및 / 또는결합되고 ; 이러한특징은, 인코딩된입력데이터의디코딩동안, 데이터필드가차후에수정되는 ( 예를들어, 적절히분할및 / 또는결합되는 ) 임의의블록또는패킷템플릿으로구성될수있게해준다. 인코더에서구현되는인코딩방법을이용함으로써코딩된입력데이터를생성하는이전의인코딩동안, 블록의선택은블록에대응하는영역이인코딩될수있는용이성에의해결정되고 ; 예를들어, 실질적으로일정한관련 - 11 -
파라미터값을가지는 ( 즉, " 변동이없는 ") 하나이상의이미지의영역에대해서는보다큰블록이이용되고, 영역에대한관련파라미터값에서의비교적급격한공간적변화로인해인코딩하기어려운하나이상의이미지의영역에대해서는보다작은블록이이용된다. 파라미터는선택적으로색, 조명, 슬라이딩파라미터값, 반복패턴중하나이상에관한것이다. 용이한인코딩은, 예를들어, 주어진영역내에서실질적으로일정한주어진영역과연관되어있는적어도하나의파라미터 ( 예를들어, 주어진영역내에서실질적으로일정한주어진색상, 진폭, 세기, 수또는코드 ) 에대응한다. 더욱이, 인코딩방법은또한비디오이미지시퀀스에서의정지된영역에대해또는유사하게움직이고있는비디오이미지시퀀스에서의영역들의그룹, 즉고정된물체에대응하는블록에대해보다큰블록을이용한다. 블록은선택적으로블록이표현하는하나이상의이미지의영역, 예를들어, 64 x 64 요소, 32 x 16 요소, 4 x 20 요소, 10 x 4 요소, 1 x 4 요소, 3 x 1 요소, 8 x 8 요소, 1 x 1 요소등과관련하여직선 (rectilinear) 이고 ; 선택적으로, 이요소는하나이상의이미지에존재하는픽셀에대응하지만, 인코딩동안스케일링동작을거칠수있다 ( 즉, 각각의요소는대응하는복수의픽셀에대응함 ). [0066] [0067] [0068] 그렇지만, 다른형상의블록, 예를들어, 타원형블록, 원형블록등이선택적으로이용된다. 더욱이, 유추에의해, 인코딩방법은또한하나이상의오디오신호를인코딩하는데적용될수있고, 여기서하나이상의오디오신호는, 그에대응하는오디오신호의성질에따라, 가변시간길이의패킷으로세분및 / 또는결합되고, 패킷은이어서인코딩되어, 인코딩된압축된출력데이터를생성하며 ; 패킷은상기한블록과동의어이지만, 이미지보다는오디오정보에관한것이다. 인코딩방법은, 예를들어, 멀티미디어콘텐츠에서와같이, 오디오정보및이미지정보둘다를동시에인코딩할수있다. 그렇지만, 본발명의실시예가이미지, 비디오및 / 또는오디오데이터를프로세싱하는것으로제한되지않고, 다른유형의데이터콘텐츠항목, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나에적용될수있다는것을잘알것이다. 하나이상의이미지의영역 ( 다른대안으로서또는그에부가하여, 다른유형의데이터콘텐츠항목 ) 을대응하는블록으로프로세싱하는동안, 인코딩방법은하나이상의이미지에서의대응하는상세에대해블록에의해제공되는정보의표현의품질을검사하여, 대응하는품질인덱스를계산하는단계를포함하고 ; 계산된품질인덱스가, 참조품질임계값과비교할때, 블록에의해제공되는데이터의표현의품질이불충분하도록일련의블록크기가이용된다는것을나타내는경우, 인코딩방법은다시반복되고, 품질인덱스가표현의품질이참조품질임계값에의해정의된바와같이만족된다는것을나타낼때까지, 점진적으로보다작은블록을사용하고, 다른대안으로서, ( 압축효율을향상시키고재구성을그다지열화시키지않는경우 ) 결합에의해점진적으로보다큰블록을사용한다. 이러한방식에의해, 정보의표현의품질에대한임계값의선택에따라, 실질적으로무손실인인코딩동안데이터압축을달성하는것이가능하다. 선택적으로, 참조품질임계값은하나이상의이미지에존재하는콘텐츠에따라동적으로가변될수있고 ; 예를들어, 하나이상의이미지가빠른카오스적활동 (chaotic activity) 이있는비디오시퀀스의일부일때, 향상된정도의데이터압축이달성될수있게해주기위해카오스적활동동안참조품질임계값이완화될수있다. 카오스적활동은, 예를들어, 격렬한물흐름, 불꽃, 내리는눈, 피어오르는연기, 파랑 (ocean wave) 등의랜덤한특징일수있고, 이경우인코딩된데이터가차후에디코더에서디코딩될때정보의손실이용이하게분간되지않는다. 상기한인코더에서의블록의결정은선택적으로표 2에열거된하나이상의기준에기초할수있다. [0069] 표 2 이미지인코딩동안일련의블록의분할선택및 / 또는결합선택 기준번호 기준 1 입력이미지의대응하는영역으로부터도출되는블록데이터의분산또는표준편차 2 주어진블록에의해표현되는데이터와그의값의예측사이의절대차의평균또는합 3 주어진블록에의해표현되는데이터와그의값의예측사이의절대차의분산또는표준편차 [0070] 선택적으로, 표 2 에서의예측은하나이상의이미지를인코딩할때이용되는공지된규칙에기초하고있다. 다 - 12 -
른대안으로서, 표 2에서의예측은제공된, 예를들어, 선택된데이터베이스참조로부터, 예측방향으로부터, 하나이상의이미지내에서의블록좌표의이동으로부터, 기타로부터제공된구성정보에기초하고있다. 분산또는표준편차의사용은주어진대응하는블록내에포함된요소들의상호관계를기술함으로써정보의압축을제공하기위해이용되는방식이다. 많은상황에서, 인코딩을수행할때관련인코딩에서의블록데이터의예측자체로충분하지만, 예측의정확도를향상시키기위해예측내에코드예측오차데이터를포함시키는것이선택적으로바람직하다. 간단한인코딩예에서, 간단한데이터예측방법, 예를들어, 인코딩된출력데이터에서전달될주어진블록내의픽셀또는요소의평균값, 즉 "DC" 값이이용된다. [0071] [0072] [0073] [0074] 상기한방법을구현하는인코더에입력데이터로서제공되는하나이상의이미지의영역들을분할하는것또는, 다른대안으로서, 영역들을결합하는것은선택적으로압축을제공하기도하고이미지품질을실질적으로유지하기도하는 ( 즉, 인코딩동안실질적으로무손실임 ) 임의의방식에따라구현된다. 인코딩방법은영역들의이러한분할및 / 또는결합에다양한전략을적용한다. 예를들어, 주어진블록이상당한정보를포함하는경우, 이는선택적으로복수의대응하는보다작은블록으로분할되거나, 다른대안으로서, 개별적으로비교적정보를거의포함하지않도록그의콘텐츠와관련하여비교적 " 변동이없는 "( 즉, 실질적으로일정한 ) 대응하는보다큰블록으로선택적으로결합된다. 인코딩방법이적어도하나이상의이미지및 / 또는하나이상의오디오신호에적용될때, 인코딩된출력데이터에서의인코딩품질및인코딩부정확성은입력이미지및오디오입력신호를, 각각, 블록및패킷으로분할 ( 다른대안으로서, 결합 ) 하는것이행해지는방식을제어하는데선택적으로이용된다. 그렇지만, 다른유형의데이터콘텐츠항목, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터 ( 이들로제한되지않음 ) 중적어도하나가유사한방식으로프로세싱될수있다는것을잘알것이다. 선택적으로, 주어진입력이미지가영역들및대응하는블록들로분할 ( 다른대안으로서, 결합 ) 될때, 인코딩방법은그에의해생성된블록들을분석하여, 블록들중임의의것이인코딩된출력데이터에서보다큰정도의데이터압축을달성하기위해, 상기한품질기준에따라서로결합될수있는지여부를판정한다. 이상에서, 인코딩된출력데이터는인코딩될입력데이터내의그의원래의이미지에서의그의대응하는영역의위치를정의하는블록과연관되어있는정보를포함하고있다. 이방법은유익하게도, 데이터의블록을기술하는데이터를코딩및압축할때, 다수의코딩및엔트로피수정방법, 즉변환을이용한다. 예를들어, 상이한블록의정보콘텐츠에따라, 유리한코딩및압축성능이그에의해달성될때, 주어진이미지의상이한블록에대해상이한변환이사용된다. 유익하게도, 데이터의블록을프로세싱할때 RD 최적화가품질기준으로서이용된다. 블록들을코딩할때이용되는복수의변환을기술하는정보가인코딩된출력데이터로전달되고 ; 이정보는인코딩된출력데이터에내재적으로포함되어있거나, 출력데이터는이용된변환을기술하는정보가획득될수있는하나이상의데이터베이스에대한참조를포함한다. 유익하게이용되는코딩방법은, 나중에더상세히설명될것인바와같이, 다중레벨, 라인, 스케일, 슬라이드, 보간, 외삽, 불변, 움직임추정, SRLE, EM, Odelta 및범위코딩중하나이상을포함한다. 초기블록의분할이또한선택적으로유익하게이용된다. 이방법을사용하여인코딩될입력데이터에존재하는하나이상의이미지를인코딩할때, 입력이미지와연관되어있는데이터는유익하게상기한인코딩방법을거치기전에다운샘플링되거나 ( 예를들어, 2 x 1: 1, 2 x 2 : 1, 1 x 2 : 1, 4 x 1 : 1의비율로다운샘플링됨 ), 이와유사하게양자화된다. 선택적으로, 인코딩방법을적용하는것으로부터생성되는압축된인코딩된출력데이터에서요망되는원하는인코딩의품질에응답하여이러한다운샘플링이수행된다. 선택적으로, 인코딩방법에의해프로세싱되는보다큰블록은보다작은블록보다덜양자화되고 ; 환언하면, 이용되는양자화의정도는블록크기가증가됨에따라선택적으로감소된다. 선택적으로, 인코딩동안, 이용되는다운샘플링을위한스케일링인자는동적으로,, 예를들어, 인코딩될이미지 ( 예를들어, 비디오 ) 시퀀스에서의콘텐츠의성질에응답하여가변될수있다. 인코딩방법에따른블록의디코딩동안, 각각의블록은그의콘텐츠를기술하는다양한파라미터를가진다. 이들파라미터는인코딩할때다양한 " 채널 " 을통해전달된다. 예를들어, 이미지의블록을기술하는컬러채널은흑색 / 백색 (B/W), Y, U, V, 적색 (R), 녹색 (G), 청색 (B), 시안 (C), 마젠타 (M), Y 및 K 중하나이상을포함할수있다. 더욱이, 인코딩을위한입력이미지및블록은각종의가능한색또는픽셀형식, 예를들어, Y, YUV420, YUV422, YUV444, RGB444, G 및 CMYK의최근의표준및형식을사용하여인코딩방법을실행할때선택적으로프로세싱될수있다. 더욱이, 이형식은선택적으로평면 (planar), 인터리빙된라인평면 (interleaved line planar) 등이다. 더욱이, 인코딩방법은유익하게도인코딩동작을수행할때이미지및 / 또는블록의형상을변경하는동작을하고 ; 예를들어, 원래의이미지가인터리빙된 RGB 형식이고, 인코딩방법을사용하여인 - 13 -
코딩되어, YUV420 형식으로된인코딩된출력데이터를생성하거나, 그반대도마찬가지이다. [0075] [0076] [0077] 상기한인코딩방법을구현할때비트깊이, 즉픽셀의동적범위는유익하게도 1 비트내지 64 비트분해능의범위에있다. 선택적으로, 인코딩방법의인코딩품질기준및압축성능이만족되기만한다면, 상이한픽셀색또는오디오채널이상호상이한분해능으로인코딩될수있다. 인코딩방법은데이터베이스에저장되어있고인코딩동작을수행할때액세스되는인코딩파라미터및인코딩규칙및 / 또는테이블을사용하여선택적으로구현된다. 선택적으로, 데이터베이스는인코딩프로세스동안생성되고인코더를통해이방법을구현할때사용하기위해전달된다. 예를들어, 인코딩동안의움직임보상은유익하게도인코더로전달된데이터베이스정보를사용하여구현된다. 유익하게도, 인코더는입력데이터에존재하는원래의픽셀정보를인코딩하고및 / 또는예측오차정보를인코딩하는동작을한다. 입력데이터를인코딩하여대응하는인코딩된출력데이터를생성할때데이터베이스정보를사용하는것은인코더가인코딩을위해이용되는파라미터, 테이블등의인코딩표준의수정에적응할수있게해준다. 인코딩방법을구현할때채택될수있는코딩방식은선택적으로데이터베이스참조, DC 값, 슬라이드, 스케일, 라인, 다중레벨, 불변, 보간, 외삽, DCT, 펄스코드변조 (PCM: pulse code modulation), DPCM, RLE, SRLE, EM, LZO, VLC, 허프만코딩, 산술코딩, 범위코딩, 변환코딩, 델타코딩, ODelta 코딩, bzip2-specific RLE 중하나이상을포함한다. 선택적으로, 코딩방식은상기한코딩예들의임의의조합을포함한다. 허프만코딩등의코딩방식이이용될때, 이러한코딩은유익하게도고정된인코딩파라미터테이블또는전달된코딩파라미터테이블을사용한다. 인코더는유익하게도데이터저장장치를가지는컴퓨팅하드웨어를사용하여구현되고, 여기서최적화된인코딩파라미터테이블이인코딩동작을수행할때의장래의사용을위해데이터저장장치에저장될수있다. 유익하게도, 디코더가인코더로부터의인코딩된출력데이터를디코딩하기에적당한파라미터를획득하기위해데이터베이스에액세스할수있게해주는참조주소는인코딩된출력데이터에포함되어있다. 선택적으로, 데이터베이스는통신네트워크를통해 ( 예를들어, 인터넷을통해 ) 액세스가능하다. 선택적으로, 데이터베이스는클라우드컴퓨팅장치를통해지원된다. 인코더에구현되어있는방법이수학적으로생성된데이터베이스를이용할때, 데이터베이스는선택적으로 DC 값, 1D/2D 선형전환, 1D/2D 곡선전환, 1D/2D 변환함수또는어떤공지된이미지블록또는오디오패킷구조일수있다. 인코딩방법은, 인코더에서실행될때, 입력데이터를인코딩하여인코딩된출력데이터를생성하는동작을하고, 여기서인코딩된출력데이터는비트스트림으로서출력될수있거나, 다른대안으로서, 데이터저장매체에, 예를들어, 데이터파일로서저장된다. 더욱이, 인코딩방법은일정범위의가능한응용에서이용될수있고 ; 유익하게도, 비디오, 이미지, 이미지블록, 오디오또는오디오패킷에대한헤더가유익하게도버전번호, 비디오, 이미지또는패킷에대한데이터의크기, 인코딩할때이용되는품질인자임계값, 최대블록또는패킷크기, 적용되는인코딩방식, 인코딩파라미터테이블, 및차후의디코딩프로세스를돕는임의의다른정보등의보충정보를포함한다. 유사한고려사항은인코딩될모든유형의데이터콘텐츠데이터에대해, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나에관한것이다. 선택적으로, 블록들간에변하지않는정보는인코딩된출력데이터에서의향상된정도의데이터압축을달성하기위해포함되지않거나, 상위레벨에서 ( 예컨대, 헤더또는서브헤더레벨에서 ) 인코딩된출력데이터에포함된다. 표 3은인코더에의해생성된인코딩된출력데이터에서유익하게도이용되는계층적레벨순서를제공한다. [0078] 표 3 인코딩된출력데이터에서의레벨순서 ( 높은것부터낮은것으로 ) 레벨순서 상위 중간 레벨과연관된정보 비디오이미지의그룹이미지매크로블록의그룹매크로블록블록의그룹블록마이크로블록의그룹 - 14 -
하위 마이크로블록 [0079] [0080] [0081] [0082] [0083] [0084] [0085] 선택적으로, 인코딩방법은, 실행될때, 예를들어, 이방법의응용분야 [ 예를들어, 소비자비디오제품, 조사용의전문이미지압축장치, X-선이미지장치, MRI(magnetic resonance imaging, 자기공명이미지 ) 장치 ] 에따라인코딩된출력데이터에서의하나이상의레벨에관한정보를선택하고전달하는동작을한다. 유사한고려사항은오디오데이터를인코딩하기위해인코딩방법이이용될때의인코딩된출력데이터에서의레벨의순서에관한것이며 ; 오디오, 패킷의그룹, 패킷, 서브패킷, 파형세그먼트의그룹, 및파형세그먼트에대해헤더가이용될수있다. 인코더로부터의인코딩된출력데이터는전달및 / 또는저장되고, 궁극적으로인코딩된입력데이터로서본발명에따른디코더에수신된다. 이디코더는유익하게도본발명에따른인코딩된입력데이터를디코딩하는방법을구현한다. 도 1을참조하면, 본발명에따른디코더의예시가도시되어있다. 디코더는 10으로표시되어있고, 인코딩된입력데이터 (20)( 예를들어, 상기한인코더로부터의인코딩된출력데이터 ) 를수신하고본발명에따른디코딩방법을이용해인코딩된입력데이터 (20) 를디코딩하여대응하는디코딩된압축해제된출력데이터 (30) 를생성하는동작을한다. 출력데이터 (30) 는유익하게도상기한바와같이실질적으로무손실인방식으로디코딩된다. 선택적으로, 디코더 (10) 는, 통신네트워크 (40) 를통해, 인코딩된입력데이터 (20) 를디코딩하기위한하나이상의파라미터, 테이블및 / 또는규칙이저장되어있는데이터베이스장치 (50) 에연결되어있다. 인코딩된입력데이터 (20) 는선택적으로, 임의의유형의데이터, 예를들어, 이미지데이터, 비디오데이터, 오디오데이터, 경제데이터, 마스크데이터, 지진계데이터, 아날로그-디지털 (ADC) 변환된데이터, 생체신호데이터, 텍스트데이터, 일정데이터, 수학데이터, 이진데이터 ( 이들로제한되지않음 ) 중적어도하나이다. 선택적으로, 이디코더 (10) 는데이터메모리장치, 통신네트워크를통해, 메모리카드, 데이터메모리디스크, 근거리통신네트워크 (LAN), 디코더로곧바로중적어도하나의소스로부터인코딩된데이터를제공하는단계를포함한다. 동작을설명하면, 디코더 (10) 는인코딩된입력데이터 (20) 를수신하고, 통신네트워크 (40) 를통해데이터베이스장치 (50) 로부터디코딩정보를도출하며, 이어서계속하여인코딩된입력데이터 (20) 를디코딩하여디코딩된압축해제된출력데이터 (30) 를생성한다. 선택적으로, 인코딩된입력데이터 (20) 는, 전술한바와같이, 인코딩된오디오, 하나이상의인코딩된이미지, 인코딩된비디오 ( 이들로제한되지않음 ) 중적어도하나를포함한다. 선택적으로, 인코딩된입력데이터 (20) 는헤더, 인코딩정보는물론, 인코딩된데이터도포함하고있다. 인코딩된입력데이터 (20) 는인코더로부터, 예를들어, 통신네트워크장치를통해스트리밍되거나, 기계판독가능데이터저장매체 ( 예를들어, 서버하드드라이브디스크저장장치, 휴대용고상메모리장치등 ) 로부터검색될수있다. 디코더 (10) 는유익하게도하드웨어로서, 예를들어, 하나이상의 PGLA(Programmable Gate Logic Array) 를통해, 컴퓨팅하드웨어상에서실행가능한하나이상의소프트웨어애플리케이션을통해, 또는하드웨어와소프트웨어의임의의혼합을통해구현된다. 디코더 (10) 는멀티미디어제품, 컴퓨터, 이동전화 (" 휴대폰 "), 인터넷서비스, 비디오레코더, 비디오플레이어, 통신장치등에서이용될수있다. 인코더 (10) 는선택적으로인코딩된데이터를출력하는이미지포착시스템 ( 예를들어, 감시카메라, 병원 X-선시스템, 병원 MRI 스캐너, 병원초음파스캐너, 공중감시시스템및대량의이미지데이터를생성하는유사한장치 ) 과관련하여이용되고, 여기서데이터저장을위해이미지데이터의양을관리가능하게하면서이미지에서의미세한정보를유지하기위해무손실압축이요망된다. 디코더 (10) 는유익하게도공지된이미지프로세싱장치에서, 예를들어, 공개된미국특허출원제 US2007/280355호 ( 참조문헌으로서본명세서에포함됨 ) 에기술되어있는이미지 / 비디오프로서세와관련하여, 예를들어, 공개된미국특허제US2010/0322301호 ( 참조문헌으로서본명세서에포함됨 ) 에기술되어있는이미지생성기와관련하여, 그리고예를들어, 공개된미국특허출원제US2011/007971호 ( 참조문헌으로서본명세서에포함됨 ) 에기술되어있는패턴인식기와관련하여사용가능하다. 이제부터, 도 1의디코더 (10) 를사용하여인코딩된입력데이터를디코딩하는방법에대해도 2를참조하여기술할것이다. 도 2에서, 인코딩된입력데이터 (20) 를디코딩하는방법의단계들이 100 내지 190으로표시되어있다. - 15 -
[0086] [0087] [0088] [0089] 제1 단계 (100) 에서, 디코딩방법은, 예를들어, 상기한인코딩된입력데이터 (20) 를수신하기위해, 블록, 이미지, 비디오및 / 또는오디오 ( 이들로제한되지않음 ) 에대한인코딩된입력데이터를수신하는단계를포함한다. 제1 단계 (100) 이후에실행되는제2 단계 (110) 에서, 이방법은인코딩된입력데이터 (20) 에존재하는헤더정보, 예를들어, 이미지크기, 인코딩된입력데이터 (20) 를생성할때이용되었던하나이상의압축변환 ( 예를들어, RLE 및 / 또는허프만알고리즘 ) 을기술하는파라미터를찾아내고디코딩하는단계를포함한다. 제2 단계 (110) 이후에실행되는제3 단계 (120) 에서, 이방법은선택적으로제2 단계 (110) 로부터디코딩된데이터를수신하기위해초기블록및 / 또는패킷세트를생성하는단계를포함한다. 그후에, 제4 단계 (130) 에서, 이방법은제2 단계 (110) 로부터의디코딩된헤더데이터를분석하여블록및 / 또는패킷의분할및 / 또는결합을결정하며, 선택적으로, 적절한경우정보를결합하는 ( 예를들어, 복수의블록및 / 또는패킷의콘텐츠를기술하도록되어있는파라미터를복제하는 ) 단계를포함한다. 제4 단계 (130) 이후에실행되는제5 단계 (140) 에서, 이방법은주어진블록또는패킷이분할및 / 또는결합되어있는지여부를판정하는단계를포함하고 ; 주어진블록또는패킷이분할및 / 또는결합되어있지않은경우, 이방법은제7 단계 (160) 로진행하고 ; 주어진블록또는패킷이분할및 / 또는결합되어있는경우, 이방법은하나이상의새로운블록또는패킷의생성을수반하는블록또는패킷을분할하는것에관한제6 단계 (150) 로진행한다. 제6 단계 (150) 의실행시에, 이방법은제9 단계 (180) 로진행한다. 제7 단계 (160) 에서, 이방법은블록및 / 또는패킷정보를프로세싱하는단계를포함한다. 제7 단계 (160) 의완료이후에실행되는제8 단계 (170) 에서, 이방법은제2 단계 (110) 로부터도출된헤더정보로부터결정되는식별자를갖는하나이상의역변환을적용함으로써인코딩된입력데이터 (20) 에포함되어있는블록또는패킷에대응하는인코딩된데이터를디코딩하는단계를포함한다. 선택적으로, 디코더 (10) 가통신네트워크 (40) 를통해데이터베이스장치 (50), 예를들어, 인코딩된입력데이터 (20) 를이전에인코딩하기위한변환알고리즘지원을제공한데이터베이스장치 (50) 와통신함으로써하나이상의역변환이달성된다. 제8 단계 (170) 에서, 제3 단계 (120) 에서생성되고제4, 제5 및제6 단계 (130, 140, 150) 에서, 각각, 선택적으로분할및 / 또는결합된블록및 / 또는패킷이제8 단계 (170) 에서생성된디코딩된블록및 / 또는패킷데이터로채워지며, 디코딩된블록및 / 또는패킷데이터는선택적으로압축해제된다. 상기한제9 단계 (180) 에서, 이방법은마지막블록, 마지막패킷, 또는초기블록또는프레임에도달되었는지를검사하고 ; 마지막블록등에도달되지않은경우, 이방법은다시제1 단계 (100) 또는제4 단계 (130) 로진행하고 ; 마지막블록등에도달된경우, 이방법은블록, 패킷또는이미지또는비디오의디코딩이완료되는제10 단계 (190) 로진행하는단계를포함하고, 그후에, 이방법은디코딩된출력데이터 (30), 즉인코딩된입력데이터 (20) 의디코딩되고압축해제된버전을출력하는단계를포함한다. 또한, 헤더정보가블록또는이미지가이전의블록또는이미지와유사하거나블록또는이미지가예를들어, 흑색임을나타내는경우, 제2 단계 (110) 로부터제8 단계 (170) 로바로점프하는것이가능하다. 보여지거나, 파일에기입되거나스트리밍될수있는모든디코딩된데이터가유익하게도추가의버퍼링및지연시간을피하기위해가능한한빨리생성된다. 그다음에도 3을참조하면, 이상으로부터, 인코딩된입력데이터 (20) 를생성하는데이용되는인코딩방법이, 적절한경우, 인코딩된입력데이터 (20) 에서의데이터압축과실질적으로무손실인 ( 즉, 실질적으로분간가능한손실이없음 ) 압축사이의최적의해결책을제공하기위해가변블록또는패킷크기를생성한다는것을잘알것이다. 도 3에서, 주어진이미지의좌측상부코너에대해서는큰코딩블록 (300) 이이용되는반면, 이미지의우측하부가장자리영역를따라서는이들영역의인코딩을보다정확하게제공하기위해보다작은블록 (310, 320, 330) 이필요하다. 인코딩된입력데이터 (20) 에서, 블록 (300, 310, 320, 330) 의이미지콘텐츠및이미지내에서의블록의위치를기술하는파라미터는인코딩된입력데이터 (20) 에포함되어있다. 유익하게도, 블록 (300, 310, 320, 330) 을인코딩하는데이용되는인코딩방법이또한인코딩된출력데이터 (20) 에정의되어있다 - 예를들어, 상이한블록 (300, 310, 320, 330) 에대해상이한방법임 -. 블록 (300, 310, 320, 330) 의분포는인코딩될이미지내에서의콘텐츠의공간분포에따라달라질것이다. 디코더 (10) 는, 예를들어, 도 3에나타낸방식으로부터인코딩된데이터를디코딩하는것에대처하는동작을한다. 선택적으로, 인코더 (10) 의컴퓨팅하드웨어는블록및 / 또는패킷에대응하는인코딩된데이터를디코딩하기위해동시에동작할수있는복수의데이터프로세서에의해구현되며, 그로써디코딩된출력데이터 (30) 를생성하기위해인코딩된입력데이터 (20) 가디코딩될수있는속도를증가시키고 ; 예를들어, 그로써비디오스트림의실시간디코딩이가능하게된다. 도 3은디코더의제3 단계 (120) 에서, 즉인코더에서제2 단계 (110) 에서생성되는이미지에서의블록의초기분할의예를나타낸것이다. 블록들의이초기분할은, 예를들어, 이미지의크기에기초할수있기때문에, 인코더와디코더사이에서어떤정보도송신될것을필요로하지않는다. 제5 단계 (140) 에서인코더에서 - 16 -
실제의블록분할이실행될때, 그정보는인코더로부터디코더 (10) 로전달될필요가있다. 디코더 (10) 는제 4 단계 (130) 에서이전달된정보를디코딩하고, 그디코딩된정보에기초하여제 5 단계 (140) 에서블록또는패킷 의분할 ( 다른대안으로서, 결합 ) 결정을수행한다. [0090] 이상에서, 표 4 에주어진바와같은하기의약어가사용되었다. 이들다양한인코딩형식모두는, 디코더 (10) 의원하는성능에따라, 디코더 (10) 를구현할때사용하는데어쩌면관련이있다. [0091] 표 4 본발명의실시예를구현할때사용가능한디코딩변환에대한약어 1D 1차원 ( 예컨대, 신호또는 MAD Mean Absolute Difference 패킷의경우 ) 2D 2차원 ( 예컨대, 블록, 이미 MP3 MPEG-1 audio layer 3 지, 스테레오또는다채널오디오의경우 ) 3D 3차원 ( 예컨대, 비디오, 입 MPEG Motion Picture Experts Group 체이미지, 다채널이미지의경우 ) AAC Advanced Audio Coding MSD Mean Square Difference AVC Advanced Video Coding MVC Multiview Video Encoding BMP Bitmap - 파일형식 PCM Pulse Code Modulation DC Direct Current PNG Portable Network Graphics DCT Discrete Cosine RLE Run-Length Encoding Transform DPCM Differential Pulse Code SAD Sum of Absolute Differences Modulation FLAC Free Lossless Audio SSD Sum of Square Differences Codec GIF Graphic Interchange TIFF Tagged Image File Format Format JPEG Joint Photographic VLC Variable Length Coding Experts Group JPEG XR JPEG extended Range VQ Vector Quantization LZO Lempel-Ziv 변환기반코딩방법 EM Entropy Modifier [0092] [0093] [0094] [0095] [0096] [0097] [0098] [0099] [0100] 본발명에따른디코딩방법은, 예를들어, 도 2에도시된바와같이, 디코더 (10) 에서실행되는계층및채널인코딩을통해, 새로운유형의콘텐츠배달서비스 ( 예를들어, 대화형상업광고, 포뮬라 1 등의생중계스포츠경기를스트리밍할때의상이한시점, 및영화 ) 를제공하는대화형비디오제시를지원할수있다. 예를들어, 디코더 (10) 는국소화된자막계층을갖는영화, 대화형워터마크, 대화형패턴인식, 애니메이션화된 2D/3D 사용자인터페이스 (UI) 버튼등을가능하게해준다. 예인코딩된이미지를디코딩하는간략화된예가기술되어있다. 실시예에기초하여, 디코더는인코더로부터정보콘텐츠를, 예를들어, 스트리밍되는것으로서또는파일로서수신한다. 이예에따르면, 정보콘텐츠가다음과같은정보필드및콘텐츠로이루어져있는파일의형식으로되어있다 : Imagesize: 120 x 80 픽셀 InitialBlocksize: 40 x 40 픽셀 SplitBit: 0 0 1 0000 0 1 0010 0000 1 1000 0000 MethodBits: 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Values: 10 10 20 25 15 20 10 10 10 10 10 10 5 10 5 5 5 5 5 5 10 5 5 5 여기서 - 17 -
[0101] [0102] [0103] [0104] [0105] [0106] [0107] [0108] [0109] [0110] [0111] [0112] [0113] [0114] [0115] [0116] [0117] [0118] [0119] [0120] [0121] [0122] Imagesize는디코딩될이미지의크기를나타낸다. 이미지의크기는임의적일수있고 ; InitialBlocksize는 " 기본 " 초기블록의크기가얼마인지를나타낸다. 구현에따라, InitialBlocksize는고정되어있을수있거나 (40 x 40 등 ), 변할수있다 ( 예를들어, 20 x 20, 80 x 80 등 ). 디코더및인코더에서기본값을사용하는경우에 Initialblocksize 정보를송신할필요가없을지도모른다. SplitBit 값 0 은주어진블록이분할되지않을것임을나타내고, 값 "1" 은주어진블록이분할될것임을나타낸다. 블록을서브블록으로분할하는경우에, 서브블록을분할할지여부에관한규칙에의해 "1" 이뒤따라올것이다. Methodbits는각각의블록으로무엇을할지를나타낸다. 한예로서, "0" 은균일한색상으로블록이채워져있음을말하는반면, "1" 은블록에색경사를적용하는것을말할수있으며 ; Values은각각의 Methodbit에적용될값을나타내고 ; 값은, 예를들어, 색상값또는, 예를들어, 채움기울기에관한규칙또는, 예를들어, 블록을어떻게채워야하는지에관한명령어를포함하는데이터베이스에대한포인터일수있다. 한예에서, 값 "10" 은청색에대응하고, 값 "5" 는녹색에대응하며, 값 15, 20, 25 는상이한적색세기에대응한다. 이미지를디코딩하는제1 단계에서, 120 x 80 픽셀의이미지영역이디코딩이일어나는장치의메모리로부터예비된다. 이미지영역 (402) 은, 도 4에도시된바와같이, 6개의 40 x 40 블록으로분할된다. 블록은명확함을위해문자 A, B, C, D, E 및 F로표시되어있다. 디코딩의제2 단계에서, 이미지 Splitbit 정보콘텐츠 (0 0 1 0000 0 1 0010 0000 1 1000 0000) 는이미지영역 (402) 을추가의블록들로분할하기위해사용된다. Splitbit 정보콘텐츠의비트번호 1은블록 A가추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 2는블록 B가추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 3은블록 C가서브블록으로분할될것임을나타내는 "1" 이다. Splitbit 정보콘텐츠의비트번호 4는블록 C의서브블록 1( 이후부터 C1이라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 5는블록 C의서브블록 2( 이후부터 C2라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 6은블록 C의서브블록 3( 이후부터 C3라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 7은블록 C의서브블록 4( 이후부터 C4라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 8은블록 D가추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 9는블록 E가서브블록으로분할될것임을나타내는 "1" 이다. Splitbit 정보콘텐츠의비트번호 10은블록 E의서브블록 1( 이후부터 E1이라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 11은블록 E의서브블록 2( 이후부터 E2라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 12는서브블록 E3가서브블록으로분할될것임을나타내는 "1" 이다. Splitbit 정보콘텐츠의비트번호 13은서브블록 E3의서브블록 1( 이후부터 E31이라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 14는서브블록 E3의서브블록 2( 이후부터 E32라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 15는서브블록 E3의서브블록 3( 이후부터 E33라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. - 18 -
[0123] [0124] [0125] [0126] [0127] [0128] [0129] [0130] [0131] [0132] [0133] [0134] [0135] [0136] [0137] [0138] [0139] [0140] [0141] Splitbit 정보콘텐츠의비트번호 16은서브블록 E3의서브블록 4( 이후부터 E34라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 17은블록 E의서브블록 4( 이후부터 E4라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 18은블록 F가서브블록으로분할될것임을나타내는 "1" 이다. Splitbit 정보콘텐츠의비트번호 19는서브블록 F1이서브블록으로분할될것임을나타내는 "1" 이다. Splitbit 정보콘텐츠의비트번호 20은서브블록 F1의서브블록 1( 이후부터 F11이라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 21은서브블록 F1의서브블록 2( 이후부터 F12라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 22는서브블록 F1의서브블록 3( 이후부터 F13라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 23은서브블록 F1의서브블록 4( 이후부터 F14라고함 ) 이추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 24는서브블록 F2가추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 25는서브블록 F3가추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보콘텐츠의비트번호 26은서브블록 F4가추가로분할되지않을것임을나타내는 "0" 이다. Splitbit 정보를디코딩하면, 도 5에도시된바와같이, 이미지영역 (500) 상에블록의 " 격자 " 가얻어진다. 제3 단계에서, Methodbits는디코딩프로세스에서사용된다. 정보콘텐츠는 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0이다. Methodbits의제3 비트는격자에서의제3 블록에경사함수가적용되어야만한다는것을나타내는 1 이다. 제3 블록은도 5의블록 C1이다. 모든다른것들은실시예의디코딩규칙에정의된대로일정한색상으로적용될수있다. 제4 단계에서, 디코딩프로세스에서값정보가사용된다. 정보콘텐츠는 10 10 20 25 15 20 10 10 10 10 10 10 5 10 5 5 5 5 5 5 10 5 5 5이다. 제1 값 10은제1 블록 A의색상 ( 즉, 청색 ) 을나타낸다. 이색상이블록 A에적용된다. 제2 값 10은제2 블록 B의색상 ( 즉, 청색 ) 을나타낸다. 이색상이블록 B에적용된다. 제3 블록에대해, 이방법은블록 C1의각각의코너의색상 ( 즉, 적색 ) 을나타내는값 20, 25, 15 및 20의 " 경사 " 를제공하고, 20은좌측상부코너에대한것이고, 25는우측상부코너에대한것이며, 15는좌측하부코너에대한것이고, 20은우측하부코너에대한것이다. 블록 C1의각각의코너에대한시작값을사용하여전체블록에대한경사채움이적용된다. 제4 블록 (C2) 에대해, 10의색상값이적용되고, 이하마찬가지이다. 각각의블록은각자의색상으로채워진다. 얻어진이미지 (600) 이도 6에도시되어있다. 명확함을위해블록들의격자가도 6에도시되어있다. 실제로는, 이미지가사용자에게디스플레이되기위해, 이러한격자가사용자에게보이지않을것이다. 하나이상의실시예를구현하는알고리즘은또한블록구조및색상의 " 공통의 " 조합을저장하는하나이상의데이터베이스를포함할수있다. 실시예에따르면, 블록그룹 E31, E32, E33 및 E34와블록그룹 F11, F12, F13 및 F14가동일한색상값조합및순서 (10, 5, 5, 5) 를가지기때문에, 이는하나의요소로서간주되고, 그자신의값 [ 조합값 (Combination Value) 이라고함 ] 을지정받을수있다. 조합값은 ( 인코더또는디코더의 ) 데이터베이스에저장될수있고, 필요에따라참조식별번호 (Reference Identification number) 라고할수있다. 종종, 예를들어, DC값및슬라이드값이개별적인스트림으로설정될수있는이상의예에서, 상이한방법에대한값에대해개별적인스트림이사용된다. 어떤방법은선택적으로, 예를들어, 상위및하위레벨이개별적인스트림을프로세싱하도록설정될수있는다중레벨방법을사용하여엔트로피코딩방법내에서보다나은압축효율을가능하게해주는각각의스트림에대해보다작은엔트로피가달성될수있게해주기위해, 그자체적으로다수의스트림을생성하는데, 그이유는종종하위값이서로에더가까운것과유사하게, 상위값이 - 19 -
서로에더가까우며, 그리고델타코딩된상위또는하위값을사용하는범위코딩이효율적으로동작하기때문 이다. [0142] [0143] [0144] 장치예일실시예에서, 디코딩이스마트폰, 디지털카메라또는비디오카메라등의도 7의휴대용장치 (700) 에서구현될수있다. 휴대용장치 (700) 는이미지를포착하는카메라 (704), 이미지를보여주는디스플레이 (702), 셀룰러네트워크또는근거리통신망을사용한통신을가능하게해주는수신기 / 송신기 (RX/TX)(706), USB(Universal Serial Bus) 또는이더넷등의기타입 / 출력 (I/O)(712), 디코딩및인코딩관련알고리즘및명령어를실행하는중앙처리장치 (CPU)(708), 및카메라로부터의이미지, 및인코딩된이미지콘텐츠를디코딩하는소프트웨어를저장하는메모리 (710) 를포함하고있다. 휴대용장치 (700) 는선택적으로인코딩된이미지를그의공간적으로로컬인메모리 (710) 에저장하도록구성되어있거나, 주기적으로, 요청시에, 사용자행위시에, 또는실시간으로또는거의실시간으로인코딩된이미지를 RX/TX(706) 를통해또는 I/O(712) 를통해외부시스템에요구하도록구성되어있을수있다. 첨부된특허청구범위에의해한정된본발명의범위를벗어나지않고이상에서기술된본발명의실시예에대한수정이가능하다. " 포함하는 ", " 구비하는 ", " 내포하는 ", "~ 로이루어져있는 ", " 가지는 ", "~ 인 " 등의표현은본발명이비배타적방식으로해석되어야만한다 ( 즉, 명시적으로기술되어있지않은항목, 구성요소또는요소가또한존재할수있다 ) 는것을기술하고청구하기위해사용된다. 단수를언급하는것이또한복수에관련되어있는것으로해석되어야한다. 첨부된청구항들에서괄호안에포함된숫자는청구항의이해를돕기위한것이며, 이들청구항에의해청구되는발명요지를결코제한하는것으로해석되어서는안된다. 도면 도면 1-20 -
도면 2 도면 3-21 -
도면 4 도면 5-22 -
도면 6 도면 7-23 -