(51) Int. Cl. (19) 대한민국특허청 (KR) (12) 공개특허공보 (A) H04N 7/32 (2006.01) H04N 7/24 (2006.01) H04N 7/24 (2006.01) (21) 출원번호 10-2007-7028126( 분할 ) (22) 출원일자 2007 년 11 월 30 일 심사청구일자 2007 년 12 월 12 일 (62) 원출원특허 10-2004-7001304 원출원일자 심사청구일자 2004 년 01 월 29 일 2007 년 09 월 06 일 번역문제출일자 2007 년 11 월 30 일 (86) 국제출원번호 PCT/FI2002/000729 국제출원일자 2002 년 09 월 11 일 (87) 국제공개번호 WO 2003/026296 국제공개일자 (30) 우선권주장 2003 년 03 월 27 일 09/954,608 2001 년 09 월 17 일미국 (US) (11) 공개번호 10-2008-0007276 (43) 공개일자 2008년01월17일 (71) 출원인 노키아코포레이션 핀랜드핀 -02150 에스푸카일알라덴티에 4 (72) 발명자 카르체위츠마르타 미국텍사스 75038 어빙히든릿지 1224 아파트먼트 3097 할라푸로안티 핀랜드핀 -33720 탐페레인시노오린카투 60 비 115 (74) 대리인 리앤목특허법인 전체청구항수 : 총 1 항 (54) 서브픽셀값보간방법 (57) 요약 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평위치에상주하며상기행에있는픽셀이단위수직위치에상주하는픽셀을포함하는이미지가부분수평및수직위치에의서브 - 픽셀에대한값을생성하도록보간되는영상코딩에서의보간방법에있어서, a) 절반단위수평및단위수직위치, 및단위수평및절반단위수직위치에의서브 - 픽셀에대한값이필요할경우, 그러한값을, 단위수평및단위수직위치에상주하는픽셀의가중합산값을사용하여, 직접보간하는단계 ; b) 절반단위수평및절반단위수직위치에의서브 - 픽셀에대한값이필요할경우, 그러한값을, 단계 a) 에따라계산된절반단위수평및단위수직위치에상주하는서브 - 픽셀에대한값의가중합산값을사용하여, 직접보간하는단계 ; 및 c) 1/4 단위수평및 1/4 단위수직위치에의서브 - 픽셀에대한값이필요할경우, 그러한값을, 절반단위수평및단위수직위치에있는서브 - 픽셀의값과, 단위수평및절반단위수직위치에있는서브 - 픽셀의값의제 1 쌍및단위수평및단위수직위치에있는픽셀의값과, 절반단위수평및절반단위수직위치에있는서브 - 픽셀의값의제 2 쌍중적어도하나의쌍의평균을취하여, 보간하는단계를포함하는것을특징으로하는영상코딩에서의보간방법. 대표도 - 도 17-1 -
특허청구의범위 청구항 1 신호. 명세서 발명의상세한설명 <1> 기술분야 본발명은데이터를인코딩및디코딩하는데있어서브픽셀값을보간하기위한방법에관한것이다. 특히, 본 발명은디지털영상신호의인코딩및디코딩에관련되지만, 이에한정되는것은아니다. <2> <3> <4> <5> <6> 배경기술필름상에저장된보통이동화상과같은디지털비디오신호흐름 (sequence) 은정지영상의신호열을포함하는데, 동작의잔상은이러한정지영상을전형적으로초당 15프레임내지 30 프레임의속도의비교적고속의프레임률 (frame rate) 로서디스플레이함에의하여생성된다. 비교적고속의프레임률때문에, 연속되는프레임내의영상들은상호매우유사하게되며, 그러므로반복되는정보가상당부분포함되게된다. 예를들어, 전형적인영상은배경경치및다른이동하는지역과같은몇몇개의정지요소 (stationary elements) 를포함할수있는데, 이러한정지요소들은예를들어신문구독자의얼굴, 진행하는교통흐름등과같은다양한상이한형태를취할수있다. 또는, 장면을녹화하는카메라자체가이동할수도있는데, 이러한경우영상내의모든구성요소들은동일한종류의운동을한다. 다양한경우에있어서, 전술된바와같은것들은어떤비디오프레임및다음비디오프레임간의전체적인변화량이다소작다는것을의미한다. 물론, 얼마나많은변화량이검출되느냐는동작의속성에따라변화된다. 예를들어, 동작이빠를수록, 한프레임및다음프레임간의변화량은더커진다. 이와유사하게, 만일어떤장면이다수개의운동 ( 움직임 ) 구성요소 (moving elements) 를포함하고있다면, 한프레임및다음프레임간의변화량은오직하나의구성요소만이운동하는장면에비하여더커지게될것이다. 미가공 (raw) 디지털비디오신호열, 즉, 압축되지않은디지털비디오신호열의각각의프레임은방대한양의영상정보를포함한다는점을이해해야한다. 압축되지않은디지털비디오신호열의각각의프레임은영상픽셀의열 (array) 로부터형성된다. 예를들어, 일반적으로사용되는디지털비디오포맷으로서, Quarter Common Interchange Format(QCIF) 로불리는포맷에서, 하나의프레임은 175*144 픽셀의열들을포함한다. 이경우, 각프레임은 25,344 픽셀들을포함한다. 또한, 각픽셀은특정개수의비트에의하여표시되며, 각각의비트들은그픽셀에상응하는영상영역의휘도및 / 또는색상신호를포함한다. 일반적으로, 소위 YUV 색모델이영상의휘도및색상성분을표현하기위하여사용된다. 휘도신호 (Y 신호 ) 성분은영상의강도 ( 밝기 ) 를표시하며, 영상신호의색상성분은두개의색차성분 (chrominance components) 에의하여표시되는데, 이러한색차성분들은 U 및 V로표현된다. 영상정보의휘도 / 색차성분에기반한색모델은, 원색 (primary colors)( 즉, 적색, 녹색및청색인 RGB) 을포함하는표시법에기반하는색모델들과비교할때몇가지장점들을제공한다. 인간의시각시스템은색차변이에비하여강도변이에더욱민감하다 ; YUV 색모델들은휘도성분 (Y) 에비하여색차성분들 (U,V) 에더낮은공간해상도 (spatial resolution) 를부여함으로써이러한성질을이용한다. 이러한방법으로, 영상내의색정보를코딩하기위하여요구되는정보량이영상의품질을적당하게열화시킴으로써감소될수있다. 색차성분의낮은공간해상도는일반적으로서브-샘플링 (sub-sampling) 을이용하여획득된다. 전형적으로, 16*16 픽셀로구성되는블록은휘도정보를포함하는 16*16 픽셀들의블록에의하여표시되며, 이에상응하는색차성분각각은이러한휘도성분을나타내는 16*16 픽셀들이나타내는영상의영역을표시하는 8*8 픽셀의블록에의하여표시된다. 그러므로, 색차성분은 x 및 y 방향으로공간적으로 2라는인자에의하여서브-샘플링되었다. 결과적으로얻어지는 16*16 픽셀의휘도블록및두개의 8*8 픽셀의색차블록의결합이일반적으로 YUV 매크로블록, 또는줄여서매크로블록이라고불린다. QCIF 영상은 11*9 매크로블록들을포함한다. 만일휘도블록및색차블록이 8비트해상도 ( 즉, 0 내지 255의범위내의숫자에의하여 ) 표시된다면, 매크로블록당요구되는비트수의총수는 (16*16*8)+2*(8*8*8)=3072 비트 - 2 -
이다. 그러므로, QCIF 포맷의비디오프레임을표시하기위하여요구되는비트수는 99*3072=304,128 비트들이다. 이것은 QCIF 포맷의비디오신호열을송신 / 저장 / 디스플레이하기위하여요구되는데이터의총량은, YUV 색모델을이용하여표시된다고할때, 초당 30 프레임의프레임률에서 9Mbps( 초당 9백만비트들이상 ) 이상이라는것을의미한다. 이것은극단적으로높은데이터율이며비디오녹화, 송신및디스플레이응용분야에서사용되기에는비실용적인데, 그이유는요구되는저장용량, 송신채널용량이매우크고하드웨어성능이매우뛰어나야하기때문이다. <7> <8> <9> <10> <11> <12> <13> 만일비디오데이터가실시간으로 ISDN(Integrated Services Digital Network) 또는상용 PSTN(Public Service Telephone Network) 과같은고정된유선네트워크상에서송신되려면, 전형적으로사용할수있는데이터송신대역폭은 65kbits/s 수준이다. 이동화상전화 (mobile videotelephony) 에서는송신이무선통신링크의적어도일부분으로써발생되는데, 사용할수있는데이터대역폭은 20kbits/s 보다낮을수도있다. 이것은, 낮은대역폭을가지는통신네트워크들상에서디지털비디오신호열을송신하는것을허용하기위하여는비디오데이터를표시하기위하여사용되는정보량에상당한저감이수행되어야한다는것을의미한다. 이러한이유에서, 영상정보의품질은적절하게유지하면서도송신되는정보량은감소시키는비디오압축기술이개발되어왔다. 비디오압축방법은비디오신호열의반복되는부분 (redundant parts) 및감각적으로무관한부분을감소시키는데기반한다. 비디오신호열내의반복은공간적, 시간적및스펙트럼적반복으로범주화될수있다. ' 공간적반복 (spatial redundancy)' 은프레임내의인접픽셀들간의관련성 (correlation) 을기술하기위하여사용되는용어이다. ' 시간적반복 (temporal redundancy)' 은신호열중한프레임에서나타난객체는후속프레임들에서나타날가능성이높다는사실을기술한다. 또한, ' 스펙트럼적반복 (spectral redundancy)' 은동일한영상의상이한색성분들간의관련성에대해언급한다. 일반적으로, 주어진영상신호열에반복의다양한형태를감소시키는것만으로는충분히효율적인압축결과는얻어질수없다. 그러므로, 거의모든영상부호기들은주관적으로가장의미없는 (subjectively least important) 비디오신호열의부분들의품질도감소시킨다. 첨가하여, 압축된비디오비트열의반복자체도효율적인무손실인코딩 (loss-less encoding) 기법을이용하여감소된다. 전형적으로, 이것은 ' 가변장코딩 (Variable length coding, VLC)' 이라고알려진기술을이용하여구현된다. ITU-T, H.261, H.263(+)(++), H.26L 및동화상전문가그룹 (MPEG, Motion picture Experts Group, MPEG-4) 추천등과같은최근의비디오압축표준은 ' 동작보정된시간예측법 (motion compensated temporal prediction)' 을이용한다. 이것은비디오신호열내의어떤 ( 가끔은다수의 ) 프레임들의콘텐트가프레임간영상의객체또는영역들의동작을추적함에의하여다른프레임들로부터 ' 예측 ' 되는시간적반복감소기법 (temporal redundancy reduction) 의형태를띤다. 시간적반복감소기법을이용하지않는압축영상들은일반적으로 INTRA-코딩된 (INTRA-coded) 프레임또는 I- 프레임이라고불리고, 시간적으로예측된영상들은 INTER-코딩된 (INTER-coded) 또는 P-프레임이라고불린다. INTER 프레임의경우에, 예측된 ( 동작-보정된 ) 영상은충분한품질로서영상콘텐트를표현하기충분할만큼정밀하기가힘들기때문에, 공간적으로압축된 (spatially compressed) 예측에러 (prediction error, PE) 프레임이각 INTER 프레임과관련된다. 많은비디오압축기법들역시양방향예측된프레임들을이용하는데, 이러한프레임들은 B-영상 (B-Picture) 또는 B-프레임이라고일반적으로불린다. B-영상들은고정영상 (anchor pictures) 중하나또는둘모두로부터예측된다. B-영상들은스스로가고정영상으로서사용되지않는데, 즉, 다시말하면다른프레임들은 B-영상들로부터예측되지않으므로그들은향후영상들의품질의열화를야기하지않으면서비디오신호열로부터폐기될수있다. 전형적인압축비디오신호열내에발생되는상이한타입의프레임들은첨부된도면들중도 3에예시된다. 도면에서알수있는바와같이, 신호열은 INTRA 또는 I 프레임 (30) 으로부터개시된다. 도 3에서, 화살표 (33) 는 P-프레임 (34) 이형성되는순방향예측프로세스를나타낸다. B-프레임 (36) 이형성되는양방향예측프로세스는각각화살표 31a 및 31b로써표시된다. 동작보상된예측법을이용한예시적인비디오코딩시스템의개략적인블록도가도 1 및도 2에도시된다. 도 1은동작보상법을채택한인코더 (10) 를예시하며, 도 2는이에상응하는디코더 (20) 를예시한다. 도 1에도시된인코더 (10) 는동작필드예측블록 (Motion Field Estimation block, 11), 동작필드코딩블록 (Motion Field Coding block, 12), 동작보상예측블록 (Motion Compensated Prediction block, 13), 예측에러코딩블록 (Prediction Error Coding block, 14 ), 예측에러디코딩블록 (Prediction Error Decoding block, 15), 멀티플렉싱블록 (Multiplexing block, 16), 프레임메모리 (17), 및가산기 (19) 를포함한다. 디코더 (20) 는동작 - 3 -
보상예측블록 (Motion Compensated Prediction block, 21), 예측에러디코딩블록 (Prediction Error Decoding block, 22), 디멀티플렉싱블록 (Demultiplexing block, 23) 및프레임메모리 (24) 를포함한다. <14> 동작보상을이용한비디오코더의동작원리는예측된에러프레임 E n (x,y) 내의정보량을최소화하는것인데, 에러프레임 E n (x,y) 은현재코딩되는프레임 I n (x,y) 및예측프레임 P n (x,y) 간의차이값을나타낸다. 그러므 로, 예측에러프레임다음수학식 1 과같다. 수학식 1 <15> <16> 예측프레임 P n (x,y) 은기준프레임 R n (x,y) 의픽셀값을이용하여결정되는데, 기준프레임 R n (x,y) 은일반적으 로사전코딩되어송신된프레임들중하나로서, 예를들어현재프레임의바로앞단의프레임이며인코더 (10) 내의프레임메모리 (17) 로부터이용된다. 특히, 예측프레임 P n (x,y) 은기준프레임 R n (x,y) 내에서실질적으로현재의프레임내의픽셀들에상응하는소위 ' 예측픽셀 (pre-diction pixel)' 을검색함으로써구성된다. 현프레임내의픽셀들및기준프레임내의상응하는예측픽셀들간의관계 ( 예를들어상대적위치, 회전, 크기등 ) 를기술하는동작정보가유도되고예측픽셀들을산출된이동정보에따라이동시킴으로써예측프레임이구성된다. 이러한방법으로, 예측프레임은현재의프레임의근사화된표현으로서구성되며, 이때기준프레임내의픽셀값이사용된다. 그러므로, 전술된바와같은예측에러프레임은예측프레임에의하여제공된현재프레임의근사화된표현식및현재프레임자체간의차이를나타낸다. 동작보상예측법을이용하는영상부호기에의하여제공되는장점은현재프레임을그예측을생성하는데요구되는동작정보와더불어예측에러프레임내의예측에러정보와관련하여표시함으로써현재프레임을비교적간결하게표시할수있다는사실에기인한다. <17> 그러나, 프레임내의픽셀들의개수가매우많기때문에, 각픽셀을위한개별적인동작정보를디코더로송신 하는것은일반적으로효과적이지못하다. 대신에, 거의모든비디오코딩기법에서, 현재프레임은더큰이미 지세그먼트 (S k ) 로분할되며, 각세그먼트를위한동작정보는디코더로송신된다. 예를들어, 동작정보는전형 적으로프레임의각매크로블록을위하여제공되며, 동일한동작정보는그매크로블록내의모든픽셀들을위 하여사용된다. H.26L 과같은어떤비디오코딩표준에서, 매크로블록은작은블록들로분할될수있는데, 각각 의작은블록들에게는각각자신의동작정보가제공된다. <18> 동작정보는일반적으로동작벡터 [ x(x,y), y(x,y)] 의형태를가진다. x(x,y) 및 y(x,y) 의숫자쌍은 현재프레임 I n (x,y) 내의위치 (x,y) 에서의픽셀의기준프레임 R n (x,y) 내의픽셀에대한수평및수직변위를 나타낸다. 동작벡터들 [ x(x,y), y(x,y)] 는동작필드예측블록 (11) 에서계산되고, 현재프레임의동작벡 터들의집합 [ x(,), y(,)] 는동작벡터필드라고언급된다. <19> 전형적으로, 현재비디오프레임내의매크로블록의위치는상단좌측모서리의 (x,y) 좌표에의하여특정된다. 그러므로, 동작정보가프레임의각매크로블록과관련되는비디오코딩기법에서, 각동작벡터는현재프레임 I n (x,y) 내의매크로블록의상단좌측모서리를나타내는픽셀의, 기준프레임 R n (x,y) 내의예측픽셀들의실질 적으로상응하는블록의상부좌측모서리내의픽셀에대한수평및수직변위 ( x(x,y), y(x,y)) 를 나타낸다. 이는도 4b 에도시된바와같다. <20> 동작예측은계산량에있어서매우방대한작업이다. 예를들어, 주어진기준프레임 R n (x,y) 및현재프레임 내의 N*N 픽셀들을포함하는사각형매크로블록에대하여, 동작예측법의목적은특정기준에따라서현재화상내의매크로블록의특성들에부합되는기준프레임내의 N*N 픽셀블록을찾아내는것이다. 이러한기준은, 예를들어현재프레임내의매크로블록의픽셀들및이매크로블록이비교되는기준프레임내의픽셀들의블록간의절대적차이값의합 (SAD, sum of absolute differences) 일수있다. 일반적으로, 이러한프로세스는 ' 블록정합 (block matching)' 이라고알려진다. 일반적으로정합되어야하는블록의기하학적형태및기준프레임내의기하학적형태는반드시동일해야하는것은아니라는점에주의한다. 그이유는실생활의객체들은회전및워핑 (warping) 은물론크기차이 (scale change) 를겪을수있기때문이다. 그러나, 현재국제비디오코딩표준에서, 오직병진동작모델 (translational motion model) 만이사용되며 ( 후술됨 ), 그러므로고정된사각형모형으로충분하다. - 4 -
<21> <22> 이상적으로, 부합되는것을찾기위한가장가능성이높은방법으로는, 기준프레임의전체를검색하는것이다. 그러나, 이러한것은비실용적인데, 그이유는영상부호기의계산부담이너무커지기때문이다. 대신에, 검색영역은현재프레임내의매크로블록의원위치주위의 [-p, p] 영역에한정되는데, 이는도 4c에도시된바와같다. 인코더 (10) 로부터디코더 (20) 로송신되어야하는동작정보의양을감소시키기위하여, 동작벡터필드는그것을어떤동작모델로표현함으로써인코더 (10) 내의동작필드코딩블록 (12) 내에서코딩된다. 이러한프로세스에서, 영상세그먼트들의동작벡터들은특정한소정함수들을이용하여재표현되는데, 또는다른말로하면동작벡터필드가어떤모델을이용하여표시된다. 현재사용되는동작벡터필드모델들중거의모든것들은가산형동작모델들 (additive motion models) 이며, 다음수학식 2 및수학식 3을만족한다. 수학식 2 <23> 수학식 3 <24> <25> 여기서계수들 a i 및 b i 는동작계수들이라고불린다. 동작계수들은디코더 (20) 로송신되는데, 이것이도 1 및 도 2 의정보흐름 (2) 이다. 함수들 f i 및 g i 는동작필드기반함수들 (motion field basis functions) 이라고불 리는데, 인코더및디코더모두에공지된함수들이다. 근사동작벡터필드는계수들및기반함수들을이용하여구성될수있다. 기반함수들이인코더 (10) 및디코더 (20) 모두에공지되므로 ( 각장치내에저장되므로 ), 동작계수들만이인코더로송신되면충분하며, 그러므로프레임의동작정보를표시하는데요구되는정보량을감소시킬수있다. <26> 가장간단한동작모델은각세그먼트에동작벡터들을표시하기위하여오직두개의계수들만을요구하는병 진동작모델 (translational motion model) 이다. 동작벡터들의값들은다음수학식 4 를이용하여제공된다. 수학식 4 <27> <28> <29> 이러한모델은다양한국제표준들 (ISO MPEG-1, MPEG-2, ITU-T 추천 H.261 and H.263) 에서널리사용되어 16*16 및 8*8의픽셀블록을나타낸다. 병진동작모델을이용하는시스템들은전형적으로최대픽셀해상도또는전체픽셀해상도의정수부분에대하여동작예측을수행하는데, 예를들어픽셀해상도의절반또는 1/4에서동작예측을수행한다. 예측프레임 P n (x,y) 은인코더 (10) 내의동작보상예측블록 (13) 내에서구성되는데, 다음수학식 5에의하여 구성된다. - 5 -
수학식 5 <30> <31> 예측에러코딩블록 (14) 에서, 예측에러프레임 E n (x,y) 은전형적으로그것을어떤 2 차원함수의한정적인열 ( 변환 ) 로나타냄에의하여압축된다. 예를들어, 2차원이산여현변환 (DCT, Discrete Cosine Transform) 이사용될수있다. 변환계수들은그들이코더에송신 ( 도 1 및도 2의정보흐름 1로표시 ) 되기전에양자화되고 (quantised) 엔트로피코딩 (entropy coding) 된다. 엔트로피코딩에는예를들어 Huffman 방식이사용될수있다. 양자화에의하여도입되는에러때문에, 이러한처리법은일반적으로예측에러프레임 E n (x,y) 내의품질열화 ( 정보의손실 ) 를야기한다. 이러한열화를보상하기위하여, 인코더 (10) 는예측에러디코딩블록 (15) 도포 함하는데, 예측에러디코딩블록 (15) 에서변환계수들을이용하여디코딩된예측에러프레임 구성된다. 이러한국지적으로디코딩된예측에러프레임은가산기 (19) 내에서예측프레임 P n (x,y) 에 이 합산되며, 결과적으로구해지는디코딩된현프레임 기위하여프레임메모리 (17) 내에저장된다. 이다음기준프레임 R n+1 (x,y) 으로서사용되 <32> <33> <34> 동작벡터들에대한정보를포함하는정보열 (2) 은멀티플렉서 (16) 내에서예측에러에대한정보와결합되고, 전형적으로적어도그러한두가지타입의정보를포함하는정보열 (3) 이디코더 (20) 로전송된다. 이에상응하는영상복호기 (20) 의동작이후술된다. 디코더 (20) 의프레임메모리 (24) 는사전에재구성된기준프레임 R n (x,y) 을저장한다. 예측프레임 P n (x,y) 은수 학식 5 에따라디코더 (20) 의동작보상예측블록 (21) 내에서구성되는데, 이경우수신된계수정보및사전에 재구성된기준프레임 R n (x,y) 의픽셀값들을이용하여구성된다. 예측에러프레임 E n (x,y) 의송신된변환계수 들은예측에러디코딩블록 (22) 내에서이용되어디코딩된예측에러프레임 을구성한다. 그러 면, 디코딩된현재프레임 의픽셀들은예측프레임 P n (x, y) 및디코딩된예측에러프레임 을합산함으로써재구성된다. 수학식 6 <35> <36> <37> 이러한디코딩된현재프레임은다음기준프레임 R n+1 (x,y) 으로서프레임메모리 (24) 내에저장될수있다. 전술된바와같은디지털비디오신호의동작보상된인코딩및디코딩기술에대한설명에서, 동작벡터 [ x(x,y), y(x,y)] 는현재프레임내의매크로블록의기준프레임 R n (x,y) 에대한동작을기술하며기준프레임 내의픽셀들중어떠한것이나지시할수있다. 이것은, 디지털비디오신호열의프레임간의동작은프레임내의영상픽셀에의하여결정되는해상도 ( 소위완전픽셀해상도 (full pixel resolution) 에서만표현될수있다는것을의미한다. 그러나, 실동작은임의의정밀도를가지므로전술된바와같은시스템은디지털비디오신 - 6 -
호열의연속프레임간의동작의근사적인모델링만을제공할수있다. 전형적으로, 완전픽셀해상도를이용하여비디오프레임간의동작을모델링하는것은각매크로블록 / 프레임에관련된예측에러 (PE) 정보의효율적인최소화를제공하기에충분히정확하지않다. 그러므로, 실동작을좀더정밀하게모델링하고인코더에서디코더로전송되어야하는 PE 정보의양을감소하도록돕기위하여, H.263(+)(++) 및 H.26L과같은많은비디오코딩표준들은동작벡터들이 ' 행간의 (in between)' 영상픽셀들을지적하도록허용한다. 다시말하면, 동작벡터들은 " 서브픽셀 ' 해상도를가질수있다. 동작벡터들로하여금서브픽셀해상도를가지도록허용하면수행되어야하는인코딩및디코딩동작들의복잡도가증대되므로, 동작벡터가가져야하는공간해상도의정도를제한하는것이역시바람직하다. 그러므로, 전술된바와같은비디오코딩표준들은전형적으로동작벡터로하여금완전-, 반- 또는 4분의 1의픽셀해상도만을가지도록허용한다. <38> <39> <40> <41> 동작벡터들이완전픽셀해상도또는반-픽셀해상도를가지도록허용하는비디오코딩기술에대해서서브픽셀해상도로동작예측을수행하는것은일반적으로도 5에도시된바와같은 2단계동작으로수행된다. 1단계에서, 완전-픽셀해상도를가지는동작벡터가적당한동작예측기술을이용하여결정되는데, 이경우전술된바와같은블록-정합프로세스가이용될수있다. 결과적으로발생되는동작벡터로서, 완전-픽셀해상도를가지는동작벡터는도 5에도시된다. 제2 단계에서, 제 1 단계에서결정된동작벡터는정밀화되어원하는반-픽셀해상도를획득한다. 도 5에도시된실시예에서, 이러한과정은 8개의새로운 16*16 픽셀의탐색블록을형성함으로써수행되는데, 각블록의좌상단모서리의위치가도 5에서 X라고표시된다. 이러한위치는 [ x+m/2, y+n/2] 라고표시되는데, 여기서 m 및 n은 -1, 0 및 +1의값을가질수있으나동시에 0이될수는없는값이다. 원영상픽셀들의픽셀값들만이알려졌으므로, 반-픽셀위치에상주하는서브픽셀들의값 ( 예를들면휘도및 / 또는색차값들 ) 은어떤형태의보간기법을이용하여 8개의새로운탐색블록들각각에대하여예측되어야한다. 반-픽셀해상도에서서브픽셀들의값들을보간한후, 8개의탐색블록들각각은, 자신의동작벡터가탐색되는매크로블록과비교된다. 완전픽셀해상도에서동작벡터를결정하고자수행되는블록정합프로세스에서와같이, 매크로블록은어떤기준에따라 8개의탐색블록들각각과비교되는데, 여기서적용되는기준의예를들면 SAD와같은것이다. 비교결과로서, 최소 SAD값이일반적으로획득될것이다. 비디오신호열내의동작의속성에따라서, 이러한최소값은원동작벡터 ( 완전-픽셀해상도를가지는 ) 에의하여특정되는위치에상응할수도있으며, 또는반-픽셀해상도를가지는위치에상응할수도있다. 그러므로, 동작벡터가완전-픽셀또는서브픽셀위치를지적하여야하는지결정하는것이가능하며, 또한만일서브픽셀해상도가적합하다면, 정확한서브픽셀해상도동작벡터를결정하는것이가능하다. 또한, 전술된바와같은기법은다른서브픽셀해상도 ( 예를들면, 1/4 픽셀해상도에도 ) 에도완전히동일한방법으로확장될수있다는것이이해되어야한다. 실무에서는, 기준프레임내의서브픽셀값을예측하는것은주위픽셀값 ( surrounding pixel values) 으로부터서브픽셀값을보간함에의하여수행된다. 일반적으로, 비-정수 (non-integer) 위치 (x,y)=(n+ x,m+ y) 에위치된서브픽셀값 F(x,y) 의보간은 2차원연산으로공식화될수있는데, 이는수학적으로다음수학식 7과같이제공된다. 수학식 7 <42> <43> 여기서 f(k,l) 은필터계수들이며, n 및 m 은 x 및 y 를각각정수로잘라버림 (truncating) 으로써획득된다. 전 형적으로, 필터계수들은 x 및 y 값들에의존하며, 보간필터들은일반적으로소위 ' 분리형필터 (separable filter)' 이다. 이러한경우에, 서브픽셀값 F(x,y) 는다음수학식 8 과같이계산될수있다. 수학식 8 <44> - 7 -
<45> <46> <47> <48> <49> <50> <51> <52> 동작벡터들은인코더내에서연산된다. 상응하는동작계수들이디코더로송신되면, 인코더내에서사용된방법과동일한보간방법을이용하여요구되는서브픽셀들을보간하는것은명백한과정이다. 이러한방법으로, 프레임메모리 (24) 내의기준프레임의후속프레임은기준프레임및동작벡터들로부터재구성될수있다. 비디오코더내의서브픽셀값보간법을적용하는가장단순한방법은각서브픽셀값들을그들이요구되는때마다보간하는것이다. 그러나, 이러한방법은영상부호기를위한충분히효율적인방법이아닌데, 그이유는동일한서브픽셀값들이수차례요구되므로, 동일한서브픽셀값의보간연산이수차례수행되기때문이다. 이러한방법을적용하면인코더내의계산복잡성및계산부담이불필요하게증가되게된다. 다른방법으로, 인코더의복잡성을제한하는방법으로는, 모든서브픽셀값들을사전-연산하여그값들을인코더와관련된메모리내에저장하는것이다. 이러한해법은 ' 사전 (before-hand)' 보간법으로본명세서에서는명명한다. 복잡성을제한하는반면, 사전보간법은큰여유를가지고메모리사용이증가된다는단점을가진다. 예를들어, 만일동작벡터정밀도가수평및수직방향모두에서 1/4 픽셀일경우, 사전계산된서브픽셀값들을완전한영상에대해서저장하면, 보간되지않은원영상을저장하는데요구된메모리의 16배에해당하는메모리가요구된다. 뿐만아니라, 이러한방법은인코더내에서동작벡터들을연산하는데실질적으로이용되지않는서브픽셀들에대한연산을포함한다. 또한, 사전보간법은영상복호기에서특별히비효율적인데, 그이유는사전연산된서브픽셀값들의다수는디코더에의하여요구되지않기때문이다. 그러므로, 디코더내에서는사전-연산법을사용하지않는것이바람직하다. 소위 ' 요구형 (on-demand)' 보간법이인코더내의메모리요구량을감소시키기위하여사용될수있다. 예를들면, 만일바람직한픽셀해상도가 1/4 픽셀해상도일경우, 절반의단위해상도를가지는서브픽셀들만이전체프레임을위하여사전보간되어메모리내에저장된다. 1/4 픽셀해상도의서브픽셀들값은요구될때마다동작예측 / 보상처리프로세스에서연산된다. 이러한경우, 메모리용량은보간되지않은원영상을위하여요구되는메모리의 4배만증가되면된다. 사전보간법이사용될때, 보간프로세스는전체인코더연산복잡성및연산부담의일부분만을차지한다는점에주목해야하는데, 그이유는각픽셀들은한번씩만보간되기때문이다. 그러므로, 인코더내에서, 보간프로세스자체의복잡성은사전서브픽셀값보간법이사용될경우에는그다지치명적이지않다. 그러나, 요구형보간법은인코더에더많은연산부담을부여하는데, 그이유는서브픽셀들은여러번보간될수있기때문이다. 그러므로, 서브픽셀값들을보간하기위하여수행되어야하는연산동작을횟수및연산사이클들의관점에서고려되는보간프로세스의복잡성이중요한고려대상으로부각된다. 디코더에서, 동일한서브픽셀값들은고작수차례사용되며, 어떤서브픽셀값들은아예사용되지않는다. 그러므로, 디코더에서는사전보간법을아예사용하지않는것이바람직한데, 다시말하면, 서브픽셀값들을사전연산하지않는것이바람직하다. ITU-원격통신표준화부분의스터디그룹 16인비디오코딩전문가그룹의과제 6 및 15로서 (Telecommunications Standardization Sector, Study Group 16, Video Coding Experts Group(VCEG), Questions 6 and 15) 에서논의되는과제의일부분으로두가지보간기법이개발되는중이다. 이러한접근법들은 ITU-T 추천 H.26L 기법내의보간법으로제안되었으며개선된장치들의측정목적을위해개발된테스트모델들 (TML) 내에구현되었다. 과제 15(Question 15) 에상응하는테스트모델은테스트모델 5(TML5) 라고불리고, 과제 6의결과로구현되는테스트모델은테스트모델 6(TML6) 이라고불린다. TML5 및 TML6 모두내에제안되는보간법들에대해서후술한다. TML5 내에사용된서브픽셀값보간법의설명을통하여, 도 12a를참조하여설명이진행되는데, 도 12a는 TML5 에특정되는픽셀및서브픽셀위치를위한명명법을정의한다. 도 13a에정의된상이한명명법은 TML6 내에사용된서브픽셀값보간법에대한논의과정에서사용될것이다. 도 14a 내에서예시된또다른명명법은본발명에따른서브픽셀값보간법에대한설명과관련된부분에서본명세서의해당부분에서이용될것이다. 본명세서에서사용되는 3가지상이한명명법들은각보간법에대한이해를돕기위하여제공되는것이며이들보간법각각의차이점을구별하는것을용이하게하기위하여제공되는것이라는점을유념해야한다. 그러나, 3 가지도면모두에서, 문자 A는원영상픽셀 ( 완전픽셀해상도 ) 을나타내기위하여사용된다. 더나아가, 문자 A는비디오신호열의프레임을표시하기위한영상데이터내의픽셀의위치를표현하며, 픽셀 A의픽셀값들은비디오소스로부터현재프레임 I n (x,y) 으로서수신되거나인코더 (10) 또는디코더 (20) 내의프레임메모리 (17,24) 에기준 ( 참조 ) 프레임 R n (x, y) 으로서재구성및저장된다. 모든다른문자들은서브픽셀들의위치를 - 8 -
나타내며, 서브픽셀자리에위치된서브픽셀들의값들은보간법에의하여획득된다. <53> <54> <55> <56> <57> <58> <59> <60> <61> 또한, 다른용어들도본명세서전체에서일관적으로사용되어특정픽셀및서브픽셀위치들을식별한다. 이러한것들은다음과같다 : ' 단위수평위치 (unit horizontal location)' 이라는용어는원영상데이터의한행 (column) 내에서구성된서브픽셀의위치를나타내기위하여사용된다. 도 12a 및 13a 내의서브픽셀들 c 및 e, 및도 14a의서브픽셀 b 및 e는단위수평위치를가진다. ' 단위수직위치 (unit vertical location)' 라는용어는원영상데이터의한행 (row) 내에서구성된서브픽셀의위치를나타내기위하여사용된다. 도 12a 및 13a 내의서브픽셀들 b 및 d, 및도 14a의서브픽셀 b 및 d 는단위수평위치를가진다. 정의에의하여, 픽셀 A는단위수평및단위수직위치를가진다. ' 반수평위치 (half horizontal location)' 는반픽셀해상도에위치하는한행내에구성된서브픽셀들의위치를나타내기위하여사용된다. 도 12a 및도 13a 내에도시된서브픽셀들 b, c 및 e가이러한범주에속하며, 도 14a에도시된서브픽셀들 b, c, 및 f 역시이범주에속한다. 유사한방법으로, ' 반수직위치 (half vertical location)' 는반픽셀해상도에위치하는한행내에구성된서브픽셀들의위치를나타내기위하여사용된다. 도 12a 및도 13a 내에도시된서브픽셀들 c 및 e가이러한범주에속하며, 도 14a에도시된서브픽셀들 b, c, 및 g 역시이범주에속한다. 더나아가, '1/4 수평위치 (quarter horizontal location)' 라는용어는 1/4 픽셀해상도에위치하는행내에서구성되는모든서브픽셀을의미하는데, 이러한서브픽셀들은도 12a의서브픽셀 d 및 e, 도 13a의서브픽셀 d 및 g 및도 14a의서브픽셀 d, g 및 h 등이다. 유사한방법으로, '1/4 수직위치 (quarter vertical location)' 라는용어는 1/4 픽셀해상도에위치하는행내에서구성되는모든서브픽셀을의미한다. 도 12a에서, 서브픽셀 e 및 f가이러한범주에속하고, 도 13a의서브픽셀 e, f 및 g 및도 14a의서브픽셀 e, f 및 h 등이이러한범주에속한다. 전술된바와같은용어들각각의정의는상응하는도면상에표시된 ' 포락선 (envelope) 에의하여도시된다. 더나아가, 특정한픽셀을 2차원기준을이용하여식별하는것이가끔은편리하다는것에주의하여야한다. 이러한경우에, 적합한 2차원기준은도 12a, 13a 및 14a 내의포락선의교차점을조사함에의하여획득될수있다. 이러한원칙을적용하면, 도 12a의픽셀 d가예를들어반수평및반수직위치를가지고, 서브픽셀 e는단위수평및 1/4 수직위치를가진다. 더나아가, 용이하게참조하기위하여, 반단위수평및반단위수직위치에위치되는서브픽셀들은물론, 반단위수평및단위수직위치에위치되는서브픽셀들, 단위수평및반단위수직위치에위치되는서브픽셀들이 1/2 해상도서브픽셀이라고명명될것이다. 모든 1/4 단위수평및 / 또는 1/4 단위수직위치에위치되는모든서브픽셀들은 1/4 해상도서브픽셀들이라고명명될것이다. 또한, 2가지테스트모델들에대한설명및본발명자체에대한상세한설명에서, 픽셀들은최소값인 0 및최 대값인 2 n -1 의값을가진다는것이가정되는데, 여기서 n은픽셀값을위하여할당된비트수를나타낸다. 전형적으로 n값은 8이다. 서브픽셀들이보간된이후에, 보간된서브픽셀들의값이 2 n -1을초과한다면, 보간된서브픽셀들의값은 [0,2 n -1] 범위내에한정된다. 즉, 최소허용치보다낮은값들은최소허용치인 0으로설정되고, 최대치보다큰값은최대치인 2 n -1으로설정된다. 이러한동작은클리핑이라고불린다. <62> <63> TML5에따른서브픽셀값보간법이도 12a, 12b 및 12c를참조하여상세히후술될것이다. 1. 반단위수평및단위수직위치의서브픽셀의값, 즉도 12a의 1/2 해상도서브픽셀 b의값은 6-탭필터를이용하여계산된다. 필터는도 12b에도시된바와같이, b 주위에대칭적으로단위수평지점및단위수직지점에위치된행내에자리잡은 6개의픽셀들 (A 1 내지 A 6 ) 의값들에기반하여 1/2 해상도서브픽셀 b의값을 보간한다. 이때, b=(a 1-5A 2 +20A 3 +20A 4-5A 5 +A 6 +16)/32 의공식을이용하여서브픽셀 b 의값을보간한다. 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타낸다. 연산결과는클리핑되어 [0,2 n -1] 의범위내에속하게 된다. <64> 2. c 라고명명된 1/2 해상도서브픽셀의값들이단계 1 에서사용된 6- 탭필터와동일한필터및수직방향의 6-9 -
개의최근린픽셀들또는서브픽셀들 (A 또는 b) 을이용하여계산된다. 도 12c를참조하면, 필터는단위수평및반수직지점에위치된 1/2 해상도서브픽셀 c의값을 c 주위에대칭적으로단위수평지점및단위수직지점에위치된행내에자리잡은 6개의픽셀들 (A 1 내지 A 6 ) 의값들에기반하여보간한다. 이때, c=(a 1-5A 2 +20A 3 +20A 4-5A 5 +A 6 +16)/32의공식을이용하여서브픽셀 c의값을보간한다. 유사한방법으로, 반수평및반수직위치의 1/2 해상도서브픽셀 c의값은 c=(b 1-5b 2 +20b 3 +20b 4-5b 5 +b 6 +16)/32의공식을이용하여계산된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타낸다. c 서브픽셀들을위한연산결과는클리핑되어 [0,2 n -1] 의범위내에속하게된다. <65> <66> 보간프로세스의이시점에서, 1/2 해상도서브픽셀들의값들이연산되었으며, 이제보간프로세스는 1/4 해상도서브픽셀들의값들의연산으로진행한다. 3. d라고명명된 1/4 해상도서브픽셀의값들이선형보간 (linear interpolation) 및최근린픽셀들의값들및 / 또는수평방향의 1/2 해상도서브픽셀들의값들을이용하여계산된다. 더자세하게설명하면, 1/4 수평지점및단위수직지점에위치된 1/4 해상도의서브픽셀들의값들이단위수평및단위수직지점에서직접인접하는픽셀 ( 픽셀 A) 및반수평지점및단위수직지점의 1/2 해상도서브픽셀 ( 서브픽셀 b) 의평균을취함으로써연산되는데, 즉, d=(a+b)/2 의수식을통하여계산된다. 1/4 수평지점및반수직지점에위치된 1/4 해상도서브픽셀 d의값들은, 단위수평및반수직지점의직접인접하는 1/2 해상도서브픽셀 c 및반수평지점및반수직지점의직접인접하는 1/2 해상도서브픽셀 c의평균을취함으로써연산되는데, 즉, d=(c 1 +c 2 )/2 의수식을통하여계산된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타낸다. <67> 4. e라고명명된 1/4 해상도서브픽셀의값들이선형보간 (linear interpolation) 및최근린픽셀들의값들및 / 또는수직방향의 1/2 해상도서브픽셀들의값들을이용하여계산된다. 특히, 단위수평지점및 1/4 수직지점에위치된 1/4 해상도서브픽셀들 e의값들이단위수평및단위수직지점에서직접인접하는픽셀 ( 픽셀 A) 및단위수평지점및반수직지점의직접인접하는서브픽셀 ( 서브픽셀 c) 의평균을 e=(a+c)/2의수식을이용하여취함으로써연산된다. 반수평지점및 1/4 수직지점에위치된 1/4 해상도서브픽셀 e 3 의값들은, 반 수평및단위수직지점의직접인접하는서브픽셀 ( 서브픽셀 b) 및반수평지점및반수직지점의직접인접하는서브픽셀 ( 서브픽셀 c) 의평균을 e=(b+c)/2의공식에의하여취함으로써연산된다. 더나아가, 1/4 수평지점및 1/4 수직지점의 1/4 해상도서브픽셀들 e는 1/4 수평지점및단위수직지점의직접인접하는서브픽셀들및 1/4 수평지점및반수직지점에서의상응하는서브픽셀 ( 서브픽셀 d) 의평균을 e=(d 1 +d 2 )/2의공식에의하여취함으로써계산된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타낸다. <68> 5. 1/4 해상도서브픽셀 f 의값은단위수평지점및수직지점의 4 개의근린픽셀들의값의평균값을취함으 로써보간되는데, 이때, f=(a 1 +A 2 +A 3 +A 4 +2)/4 의공식이이용된다. A 1, A 2, A 3, A 4 는원픽셀로부터최근린의 4 개 의픽셀들이다. <69> <70> TML5의단점은, 디코더에의하여수행되는계산이너무복잡하다는것이다. 이러한단점은, TML5가 1/4 해상도서브픽셀값들의보간이 1/2 해상도서브픽셀값들의보간에의존하게되는접근법을이용하는데기인한다. 이것은, 1/4 해상도서브픽셀들의값들을보간하려면, 그들의값을보간하기위하여요구되는 1/2 해상도서브픽셀들의값들이우선보간되어야한다는것을의미한다. 더나아가, 1/4 해상도서브픽셀들중어떤것들의값은다른 1/4 해상도서브픽셀들을위해획득된보간값에의존하기때문에, 1/4 해상도서브픽셀들의값을잘라버림하는연산결과는 1/4 해상도서브픽셀들중어떤것들의값의정밀도에유해한영향을미친다. 특히, 1/4 해상도서브픽셀값들은그들이잘라버림연산또는클리핑되지않은값들로부터연산되었을경우의값들에비해정확성이떨어진다. TML5의다른단점은, 1/4 해상도서브픽셀값들을보간하기위하여, 1/2 해상도서브픽셀들의값들을저장할필요가있다는점이다. 그러므로, 최종적으로는필요하지않은결과를저장하기위하여요구되는메모리의용량이증가된다. TML6에따르는서브픽셀값보간방법은, 본명세서에서는직접보간법 (direct interpolation) 이라고불리는데, 이에대해설명된다. 인코더에서, TML6에따른보간법은전술된 TML5 보간법과유사하게동작하지만, 최대정밀도 (maximum precision) 가전과정에서유지된다는점이다르다. 이러한장점은잘라버림연산및클리핑연산이적용되지않는중간값들을이용함으로써획득된다. 인코더내에적용되는 TML6 기법에따른보간법에대한단계별설명은도 13a, 13b 및 13c를참조하여제공될것이다. - 10 -
<71> 1. 반단위수평및단위수직지점의서브픽셀의값, 즉도 13a 의 1/2 해상도서브픽셀 b 의값은우선, 6- 탭 필터를이용하여중간값 b 를계산함에의하여획득된다. 필터는도 13b 에도시된바와같이, b 주위에대칭적으 로단위수평지점및단위수직지점에위치된행내에자리잡은 6 개의픽셀들 (A 1 내지 A 6 ) 의값들에기반하여 b 를연산한다. 이때, b=(a 1-5A 2 +20A 3 +20A 4-5A 5 +A 6 ) 의공식을이용하여 b 의값을연산한다. 그러면, b 의최종치는 b=(b+16)/32 의공식을이용하여연산된후클리핑되어 [0,2 n -1] 의범위내에속하게된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타낸다. <72> 2. c 라고명명된 1/2 해상도서브픽셀의값들은우선중간값 c 를계산함에의하여획득된다. 도 13c 를참조하 면, 단위수평및반수직지점에위치된 1/2 해상도서브픽셀 c 를위한중간값 c 는 c 주위에대칭적으로단위 수평지점및단위수직지점에위치된동일행내에자리잡은 6 개의픽셀들 (A 1 내지 A 6 ) 의값들에기반하여연 산된다. 이때, c=(a 1-5A 2 +20A 3 +20A 4-5A 5 +A 6 ) 의공식을이용하여중간값 c의값이연산된다. 그러면, 단위수평지점및반수직지점에위치된 1/2 해상도서브픽셀 c의최종치는 c=(c+16)/32의공식을이용하여연산된다. 유사한방법으로, 반수평및반수직위치의 1/2 해상도서브픽셀 c를위한중간값 c는 c=(b 1-5b 2 +20b 3 +20b 4-5b 5 +b 6 ) 의공식을이용하여계산된다. 그러면, 이 1/2 해상도서브픽셀의최종치는 (c+512)/1024의공식을이용하여계산된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타내고, 1/2 해상도서브픽셀 c를위한연산결과는클리핑되어 [0,2 n -1] 의범위내에속하게된다. <73> 3. d라고명명된 1/4 해상도서브픽셀의값들은후술되는바와같이연산된다. 1/4 수평지점및단위수직지점에위치된 1/4 해상도의서브픽셀들 d의값들은단위수평및단위수직지점에서직접인접하는픽셀 ( 픽셀 A) 및반수평지점및단위수직지점의직접인접하는 1/2 해상도서브픽셀 (1/2 해상도서브픽셀 b) 을위하여단계 1에서연산된중간값 b로부터연산되는데, 이경우 d=(32a+b+32)/64의수식을통하여계산된다. 1/4 수평지점및반수직지점에위치된 1/4 해상도서브픽셀 d의값들은, 단위수평및반수직지점및반수평지점및반수직지점의직접인접하는 1/2 해상도서브픽셀 c를위하여연산된중간값 c를이용하여보간되는데, 즉, d=(32c 1 +c 2 +1024)/2048 의수식을통하여계산된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림 하는나눗셈을나타내며, 최종적으로획득된 1/4 해상도서브픽셀값 d 는클리핑되어 [0, 2 n -1] 의범위내에속 하게된다. <74> 4. e라고명명된 1/4 해상도서브픽셀의값들은다음과같이연산된다. 단위수평지점및 1/4 수직지점에위치된 1/4 해상도서브픽셀들 e의값들은, 단위수평및단위수직지점에서직접인접하는픽셀 ( 픽셀 A) 의값및단위수평지점및반수직지점의직접인접하는 1/2 해상도서브픽셀을위하여단계 2에서연산된중간값 c로부터, e=(32a+c+32)/64의수식을이용하여연산된다. 반수평지점및 1/4 수직지점에위치된 1/4 해상도서브픽셀 e의값들은, 반수평및단위수직지점의직접인접하는 1/2 해상도서브픽셀을위하여단계 1에서연산된중간값 b 및반수평지점및반수직지점의직접인접하는 1/2 해상도서브픽셀을위하여단계 2에서연산된중간값 c를이용하여, e=(32b+c+1024)/2048의공식에의하여연산된다. 마찬가지로, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타내며, 최종적으로획득된 1/4 해상도서브픽셀값들 e는클리핑되어 [0,2 n -1] 의범위내에속하게된다. <75> 5. 1/4 해상도서브픽셀 g 의값은최근린원픽셀 (nearest original pixel) A 및 3 개의최근린인접 1/2 해상 도서브픽셀들의중간값들을이용하여연산되는데, 이경우, g=(1024a+32b+32c 1 +c 2 +2048)/4096 의공식이이용 된다. 전술된바와같이, 연산자 '/' 는소수점이하를잘라버림하는나눗셈을나타내며, 최종적으로획득된 1/4 해상도서브픽셀값들 g 는클리핑되어 [0,2 n -1] 의범위내에속하게된다. <76> 6. 1/4 해상도서브픽셀 f 의값은단위수평및수직지점에서의 4 개의최근린픽셀들의값의평균을구함으로 써보간되는데, 즉, f=(a 1 +A 2 +A 3 +A 4 +2)/4 의공식을이용하여보간되며, 여기서 A 1, A 2, A 3 및 A 4 픽셀들의위치는 4 개의최근린원픽셀들이다. <77> 디코더에서, 서브픽셀값들은수평및수직방향으로 6-탭필터를적용함으로써직접획득될수있다. 1/4 서브픽셀해상도의경우에, 도 13a를참조하면, 단위수직지점의픽셀들및서브픽셀들에적용되는필터계수는, 6개의픽셀 A의집합을위하여 [0, 0, 64, 0, 0, 0] 이고, 6 개의서브픽셀 d의집합을위하여 [1, -5,52,20,-5,1] 이고, 6개의서브픽셀 b들의집합을위하여 [2,-10,40,40,-10,2] 이고, 6개의서브픽셀 d들의 - 11 -
집합을위하여 [1,-5,20,52,-5,1] 이다. 이러한필터계수들이동일행내의각각의픽셀들또는서브픽셀들의 집합에서브픽셀값들이보간되는동안적용된다. <78> 수평및수직방향으로필터를적용한이후에, 보간된값 c 는 c=(c+2048)/ 4096 을이용하여정규화되고, 클리핑 되어 [0,2 n -1] 의범위내에속하게된다. 동작벡터가수평또는수직방향중한방향으로정수배의픽셀위 치를가리킨다면, 0 의계수들이많이사용된다. TML6 의실용적인실시예에서, 상이한서브픽셀경우들을위하 여최적화된상이한브랜치 (branch) 들이사용되어 0 의계수들에의한승산은존재하지않는다. <79> <80> TML6에서, 1/4 해상도서브픽셀값들은전술된바와같이언급된중간값들을이용하여직접획득되며반올림되거나클리핑된 1/2 해상도서브픽셀들의값들로부터유도되지않는다는점에유의하여야한다. 그러므로, 1/4 해상도서브픽셀값들을획득할때, 어떤 1/2 해상도서브픽셀들의최종치도연산할필요가없다. 특히, 1/2 해상도서브픽셀들의최종치를연산하는데관련되는잘라버림연산및클리핑연산을수행할필요가없다. 또한, 1/4 해상도서브픽셀값들을연산하는데사용하기위하여 1/2 해상도서브픽셀들의최종치를저장할필요도없다. 그러므로, TML6는 TML5에비하여수행되어야하는연산이적어덜복잡한데, 그이유는잘라버림및클리핑연산이적게요구되기때문이다. 그러나, TML6의단점은인코더및디코더양측모두에서고정밀연산이요구된다는점이다. 고정밀보간은 ASIC 내의반도체회로의크기를확장시키고 CPU 내에서수행되는연산의수를증가시킨다. 더나아가, 주문형방식으로 TML6 내에특정된직접보간법을구현하려면메모리용량도많이필요하다. 이것은매우중요한요소이며, 특히내장형장치에서는매우중요하다. 전술된바와같은논의들을참조하면, 서브픽셀보간법에대한영상부호기및디코더의요구사항이상이하기때문에, 인코더및디코더양측모두에서만족할만한성능을보이는서브픽셀값보간법을개발하는데에는큰문제점이존재한다는것이이해될것이다. 더나아가, 전술된바와같은현재의테스트모델들 (TML5,TML6) 중어느것도, 인코더및디코더양측모두에적용되도록최적화된해법을제공하지못한다. 발명의내용 <81> <82> 해결하고자하는과제본발명의목적은인코더및디코더양측모두에서만족할만한성능을보이는서브픽셀값보간법을제공하는것이다. 본발명의다른목적은인코더및디코더양측모두에적용되도록최적화된해법을제공하는것이다. <83> 과제해결수단본발명의제1 측면에따르면, 비디오코딩내의보간법이제공되는데, 본발명의 1측면에따르는보간법에서, 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지가, 부분수평및수직지점에의서브-픽셀에대한값을생성하도록보간되는데, 여기서, x가최대값 N 을갖는양의정수일 경우, 상기부분수평및수직지점이 1/2 x 에따라정의된다. 본발명의제 1 측면에의한보간법은 : <84> <85> <86> a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브-픽셀에대한값이필요할경우, 그러한값을, 단위수평및단위수직지점에상주하는픽셀의가중합산값 (weighted sums) 을사용하여, 직접보간하는단계 ; b) 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에의서브-픽셀에대한값이필요할경우, 그러한값들을 1/2 N-1 단위수평및단위수직지점에상주하는서브-픽셀에대한값의제1의가중합산값과단위수평및 1/2 N-1 단위수직지점에상주하는서브-픽셀에대한값의제2의가중합산값중하나의선택치를이용하여직접보간하는단계로서, 상기값들의제1 및제2의가중합산값이단계 a) 에따라계산되는단계 ; 및 c) 1/2 N 단위수평및 1/2 N 단위수직지점에있는서브-픽셀에대한값이필요할경우, 그러한값을, 1/2 N-m 단 위수평및 1/2 N-n 단위수직지점에위치되는제 1 의서브 - 픽셀또는픽셀의값과 1/2 N-p 단위수평및 1/2 N-q 단 위수직지점에있는제 2 의서브 - 픽셀또는픽셀의값의가중평균을취하여보간하는단계로서, 변수 m, n, p, q 는상기제 1 및제 2 서브 - 픽셀또는픽셀이 1/2 N 단위수평및 1/2 N 단위수직위치에의서브 - 픽셀에대하여대 - 12 -
각선으로배치되도록범위 (1 내지 N) 에속하는정수값을취하는단계를포함하는것을특징으로한다. <87> 바람직하게는, 제 1 및제 2 가중값은단계 c) 에서언급되는가중평균내에서사용되며, 가중값들의상대적인크 기 (relative magnitude) 가 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대한제 1 및제 2 서브 - 픽셀 또는픽셀의 ( 직선대각선, straight-line diagonal) 근접에역비례하는것을특징으로한다. <88> 상기제 1 및제 2 의서브 - 픽셀또는픽셀이 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대하여대칭 으로배치되어있는경우에 ( 상기제 1 및제 2 의서브 - 픽셀또는픽셀이 1/2 N 단위수평및 1/2 N 단위수직지점에 의서브 - 픽셀로부터등거리이격된경우에 ), 상기제 1 및제 2 가중값이동일한값을지닐수있다. <89> 상기단계 b) 에서 1/2 N-1 단위수평및단위수직지점에상주하는서브 - 픽셀에대한값의제 1 의가중합산값은, 1/2 N-1 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀이필요할경우에사용될수있다. <90> 상기단계 b) 에서단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀에대한값의제 2 의가중합산값은, 1/2 N 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀이필요할경우에사용될수있다. <91> 본발명의일실시예에서, 1/2 N 단위수평및단위수직지점, 및 1/2 N 수평및 1/2 N-1 수직지점에의서브 - 픽셀 에대한값들이요구되는경우에, 그러한값들은, 계산되는서브 - 픽셀의수직지점에대응하는수직지점과단 위수평지점에위치한제 1 픽셀또는서브 - 픽셀의값과계산되는서브 - 픽셀의수직지점에대응하는수직지점 과 1/2 N-1 단위수평지점에위치한제 2 픽셀또는서브 - 픽셀의값의평균을취함으로써보간된다. <92> <93> 단위수평및 1/2 N 단위수직지점, 및 1/2 N-1 단위수평및 1/2 N 단위수직지점에의서브-픽셀에대한값들이요구되는경우에, 그러한값들은, 계산되는서브-픽셀의수평지점에대응하는수평지점과단위수직지점에위치한제1 픽셀또는서브-픽셀의값과계산되는서브-픽셀의수평지점에대응하는수평지점과 1/2 N-1 단위수직지점에위치하는제2 픽셀또는서브-픽셀의값의평균을취함으로써보간된다. 1/2 N 단위수평및 1/2 N 단위수직지점에의서브-픽셀에대한값들은단위수평및단위수직지점에위치되는 픽셀의값, 및 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에있는서브 - 픽셀의값의평균을취함으로써보간될 수있다. <94> <95> 1/2 N 단위수평및 1/2 N 단위수직지점에의서브-픽셀에대한값들은 1/2 N-1 단위수평및단위수직지점에위치한서브-픽셀의값, 및단위수평및 1/2 N-1 단위수직지점에위치한서브-픽셀의값의평균을취함으로써보간될수있다. 1/2 N 단위수평및 1/2 N 단위수직지점에의서브-픽셀의반의값들은, 1/2 N-1 단위수평및단위수직지점에있는서브-픽셀의값과, 단위수평및 1/2 N-1 단위수직지점에있는서브-픽셀의값의제1쌍의평균을취함에의 하여보간될수있으며, 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀의나머지반의값들은, 단위수 평및단위수직지점에있는픽셀의값과, 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에있는서브 - 픽셀의값의 제 2 쌍의평균을취함에의하여보간될수있다. <96> 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대한값은, 그러한서브 - 픽셀중하나에대하여 1/2 N-1 단위수평및단위수직지점에위치한서브-픽셀의값과, 단위수평및 1/2 N-1 단위수직지점에위치한서브- 픽셀의값의제1쌍의평균을취함에의하여보간되고, 그러한서브-픽셀중인접하는서브-픽셀에대하여는단위수평및단위수직지점에위치한픽셀의값, 및 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에위치한서브- 픽셀의값의제2쌍의평균을취함으로써교호적 (alternatively) 으로보간된다. <97> <98> 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀들은수평방향에서교호적으로보간될수있다. 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀들은수평방향에서교호적으로보간될수있다. - 13 -
<99> <100> <101> <102> <103> <104> <105> <106> 1/2 N 단위수평및 1/2 N 단위수직지점에의몇몇서브-픽셀에대한값들이요구될경우, 그러한값들은복수개의최근린픽셀의평균을취함으로써보간될수있다. 단계 a) 및단계 b) 중적어도하나의단계에서, 가중합산값을사용하여서브-픽셀값을직접보간하는단계는특정의동적범위보다큰동적범위를갖는서브-픽셀값에대한중간값을계산하는단계를포함할수있다. 1/2 N-1 서브-픽셀해상도를갖는서브-픽셀에대한중간값은 1/2 N 서브-픽셀해상도를갖는서브-픽셀값을계산하는데사용될수있다. 본발명의제2 측면에따르면, 비디오코딩에서사용되는보간방법이제공되는데, 본발명의제2 측면에따른보간방법에서, 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지가부분수평및수직지점에의서브-픽셀에대한값을생성하도록보간된다. 또한, 본발명의제2 측면에따르는보간방법은 : a) 반단위수평및단위수직지점, 및단위수평및반단위수직지점에의서브-픽셀에대한값들이요구될경우, 그러한값들을단위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하는단계 ; b) 반단위수평및반단위수직지점에의서브-픽셀에대한값들이요구될경우, 그러한값들을단계 a) 에따라계산된반단위수평및단위수직지점에상주하는서브-픽셀에대한값의가중합산값을사용하여, 직접보간하는단계 ; 및 c) 1/4 단위수평및 1/4 단위수직지점에의서브-픽셀에대한값들이요구될경우, 그러한값들을반단위수평및단위수직지점에있는서브-픽셀의값과, 단위수평및반단위수직지점에있는서브-픽셀의값의제1 쌍및단위수평및단위수직지점에있는픽셀의값과, 반단위수평및반단위수직지점에있는서브-픽셀의값의제2쌍중적어도하나의쌍의평균을취함에의하여보간하는단계들을포함한다. 본발명의제3 측면에따르면, 비디오코딩에사용되는보간방법에제공되는데, 본발명의제2 측면에의한보간방법에서, 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지가부분수평및수직지점에의서브-픽셀에대한값을생성하도록보간되며, x가최대값 (N) 을갖는양의정수 일경우, 상기부분수평및수직지점이 1/2 x 에따라정의되고, 본발명의제 3 측면에의한보간방법은 : <107> <108> a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브-픽셀에대한값들이요구될경우, 그러한값들을단위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하는단계 ; 및 b) 서브-픽셀수평및서브-픽셀수직지점에의서브-픽셀에대한값들이요구될경우, 그러한값들을계산된서브-픽셀의수직지점에대응하는수직지점에있는서브-픽셀에대한값의제1의가중합산값및계산된서브 -픽셀의수평지점에대응하는수평지점에있는서브-픽셀에대한값의제2의가중합산값중하나의선택치를이용하여직접보간하는단계들을포함한다. <109> 상기제 1 의가중합산값에서사용된서브 - 픽셀은 1/2 N-1 단위수평및단위수직지점에상주하는서브 - 픽셀일 수있으며, 상기제 1 의가중합산값은 1/2 N-1 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대한값을보 간하는데사용될수있다. <110> 상기제 2 의가중합산값에서사용된서브 - 픽셀은단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀일 수있으며, 상기제 2 의가중합산값은 1/2 N 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값을보 간하는데사용될수있다. <111> 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대한값들이요구될경우, 이러한값들은 1/2 N-1 단위 수평및단위수직지점에있는서브 - 픽셀의값, 및단위수평및 1/2 N-1 단위수직지점에있는서브 - 픽셀의값 의제 1 쌍및단위수평및단위수직지점에있는픽셀의값및 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에있 - 14 -
는서브 - 픽셀의값의제 2 쌍중적어도하나의쌍의평균을취함으로써보간될수있다. <112> <113> <114> <115> <116> <117> <118> <119> <120> 전술된보간방법들에서, N은 2, 3 및 4로구성된집합으로부터선택된정수와동일할수있다. 1/4 단위수평지점에서의서브픽셀들은, 그들의좌측최근린이웃 (left-hand nearest neighbour) 으로서반단위수평지점에서의서브픽셀을가지고그들의우측최근린이웃으로서단위수평지점에서의픽셀을가지는서브픽셀들은물론, 그들의좌측최근린이웃으로서단위수평지점에위치한픽셀을가지고그들의우측최근린이웃으로서반단위수평지점에서의서브픽셀을가지는서브픽셀들이라고해석된다. 이와상응하는방식으로, 1/4 단위수직지점에서의서브픽셀들은, 그들의상위최근린이웃 (upper nearest neighbour) 으로서반단위수직지점에서의서브픽셀을가지고그들의하위최근린이웃으로서단위수직지점에서의픽셀을가지는서브픽셀들은물론, 그들의상위최근린이웃으로서단위수직지점에위치한픽셀을가지고그들의하위최근린이웃으로서반단위수직지점에서의서브픽셀을가지는서브픽셀들이라고해석된다. 동적범위라는용어는서브픽셀값들및가중합산값들이가질수있는값들의범위를의미한다. 바람직하게는, 동적범위를확장또는감축시킴으로써동적범위를변경한다는것은, 그동적범위를표현하는데사용되는비트들의개수를변경한다는것을의미한다. 본발명의일실시예에서, 본발명에의한방법은다수개의이미지블록들로부분할 (sub-divided) 되는이미지에적용된다. 바람직하게는, 각이미지블록은 4개의모서리를가지며, 각모서리는단위수평및단위수직지점에위치된픽셀에의하여정의된다. 바람직하게는, 본발명에의한방법은각이미지블록이서브픽셀값보간을위하여사용가능해질때각각의이미지블록에대하여적용된다. 또는, 본발명에의한방법에따른서브픽셀값보간법은이미지내의모든이미지블록들이서브픽셀값보간을위하여사용가능해지면수행된다. 바람직하게는, 본발명에따른방법은비디오인코딩에사용된다. 바람직하게는본발명에따른방법은비디오디코딩에사용된다. 인코딩에사용될경우, 본방법의일실시예에서, 본발명에따른방법은사전보간 (before-hand interpolation) 으로서수행될수있는데, 사전보간에서반단위지점에서의모든서브픽셀들의값들및 1/4 단위지점에서의모든서브픽셀들의값들은, 동작예측코딩이수행되는동안예측프레임의결정과정에서후속되어사용되기이전에연산및저장된다. 본발명의다른실시예에서, 본발명에따른방법은사전및요구형 (on-demand) 보간법의조합으로서수행될수있다. 이러한경우에, 서브픽셀값들의특정비율또는범주가예측프레임의결정에사용되기이전에연산및저장되고, 다른어떤서브픽셀값들은동작예측코딩이수행되는동안에만연산된다. 바람직하게는, 본발명에따른방법이디코딩에사용될경우, 서브픽셀들은그들의필요성이동작벡터에의하여지시될경우에만보간된다. 본발명의제4 측면에따르면, 이미지를코딩하기위한비디오코더가제공되는데, 본발명의제4측면에따른비디오코더는, 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에위치한픽셀이단위수평지점에상주하며상기행에위치한픽셀이단위수직지점에상주하는픽셀을포함하는이미지를코딩하고, 부분수평및수직지점에의서브-픽셀에대한값을생성하기에적합한보간기를포함하며, x 가최대값 N 을갖는양의정수일경우, 상기부분수평및수직지점이 1/2 x 에따라정의된다. 본발명에따른 비디오코더에포함되는보간기는 : <121> <122> a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값을단 위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하고 ; b) 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값을, 1/2 N-1 단위수평및단위수직지점 에상주하는서브 - 픽셀에대한값의제 1 의가중합산값과단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀에대한값의제 2 의가중합산값중하나의선택치를이용하여직접보간하며, 상기값들의제 1 및제 2 의 가중합산값이단계 a) 에따라계산되고 ; 그리고 <123> c) 1/2 N 단위수평및 1/2 N 단위수직지점에있는서브 - 픽셀에대한값을, 1/2 N-m 단위수평및 1/2 N-n 단위수직 지점에있는제 1 의서브 - 픽셀또는픽셀의값과 1/2 N-p 단위수평및 1/2 N-q 단위수직지점에있는제 2 의서브 - 픽셀또는픽셀의값의가중평균을취하여보간하며, 변수 m, n, p, q 는상기제 1 및제 2 서브 - 픽셀또는픽셀 - 15 -
이 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대하여대각선으로배치되도록범위 (1 내지 N) 내에 속하는정수값을취하기에적합하도록구현된다. <124> <125> 본발명에의한비디오코더는영상부호기를포함할수있다. 본발명에의한비디오코더는영상복호기를포함할수있다. 영상부호기및영상복호기모두를포함하는코덱이존재할수도있다. 본발명의제5 측면에따르면, 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지를코딩하는영상코더를포함하는통신단말기가제공되는데, 상기영상코더는부분수평및수직지점에서의서브-픽셀에대한값을생성하기에적합한보간기를포함하며, x가최대값 N을갖는양의정수 일경우, 상기부분수평및수직지점이 1/2 x 에따라정의된다. 본발명의제 5 측면에따른통신단말기에포함 되는보간기는 : <126> <127> a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값들을 단위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하고 ; b) 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값을, 1/2 N-1 단위수평및단위수직지점 에상주하는서브 - 픽셀에대한값의제 1 의가중합산값과단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀에대한값의제 2 의가중합산값중하나의선택치를이용하여직접보간하며, 상기값들의제 1 및제 2 의 가중합산값이단계 a) 에따라계산되고 ; 그리고 <128> c) 1/2 N 단위수평및 1/2 N 단위수직지점에있는서브 - 픽셀에대한값을, 1/2 N-m 단위수평및 1/2 N-n 단위수직 지점에있는제1의서브-픽셀또는픽셀의값과 1/2 N-p 단위수평및 1/2 N-q 단위수직지점에있는제2의서브- 픽셀또는픽셀의값의가중평균을취하여보간하며, 변수 m, n, p, q는상기제1 및제2 서브-픽셀또는픽셀이 1/2 N 단위수평및 1/2 N 단위수직지점에의서브-픽셀에대하여대각선으로배치되도록범위 (1 내지 N) 에속하는정수값을취하기에적합하도록구현된다. <129> <130> 본발명에의한통신단말기는영상부호기를포함할수있다. 본발명에의한통신단말기는영상복호기를포함할수있다. 영상부호기및영상복호기모두를포함하는영상코덱이존재할수도있다. 본발명에의한통신단말기는사용자인터페이스, 프로세서및송신블록및수신블록중적어도하나, 및본발명의제3 및제 4 측면들중적어도하나에따른영상코더를포함할수도있다. 상기프로세서는상기영상코더및상기송신블록및 / 또는수신블록의동작을제어할수도있다. 본발명의제6측면에따르면, 통신단말기및네트워크를포함하는통신시스템이제공되는데, 상기통신네트워크및상기통신단말기는통신링크에의해접속되며, 상기통신링크를통해코딩된영상이전송될수있고, 상기통신단말기는열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지를코딩하기위한영상코더를포함하고, 상기영상코더가부분수평및수직지점에의서브-픽셀에대한값을생성하기에적합한보간기를포함하며, x가최대값 N을갖는양의정수일경우, 상기부분수평 및수직지점이 1/2 x 에따라정의된다. 본발명의제 6 측면에따른통신시스템에포함되는보간기는 : <131> <132> a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값들을 단위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하고 ; b) 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값을, 1/2 N-1 단위수평및단위수직지점 에상주하는서브 - 픽셀에대한값의제 1 의가중합산값과단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀에대한값의제 2 의가중합산값중하나의선택치를이용하여직접보간하며, 상기값들의제 1 및제 2 의 가중합산값이단계 a) 에따라계산되고 ; 그리고 <133> c) 1/2 N 단위수평및 1/2 N 단위수직지점에있는서브 - 픽셀에대한값을, 1/2 N-m 단위수평및 1/2 N-n 단위수직 지점에있는제 1 의서브 - 픽셀또는픽셀의값과 1/2 N-p 단위수평및 1/2 N-q 단위수직지점에있는제 2 의서브 - - 16 -
픽셀또는픽셀의값의가중평균을취하여보간하며, 변수 m, n, p, q 는상기제 1 및제 2 서브 - 픽셀또는픽셀 이 1/2 N 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에대하여대각선으로배치되도록범위 (1 내지 N) 에 속하는정수값을취하기에적합하도록구현된다. <134> <135> 바람직하게는, 본발명에따른통신시스템은이동통신단말기및무선네트워크를포함하는이동통신시스템이며, 상기이동통신단말기및상기무선네트워크간의접속이무선링크에의해형성된다. 바람직하게는, 상기네트워크는상기통신단말기가상기네트워크및다른통신단말기간의통신링크를통해상기네트워크에접속된다른통신단말기와통신할수있도록허용한다. 본발명의제7측면에따르면, 통신단말기및네트워크를포함하는통신시스템이제공되는데, 본발명의제7측면에따른통신시스템은, 상기통신네트워크및상기통신단말기는통신링크에의해접속되며, 상기통신링크를통해코딩된영상이전송될수있고, 상기네트워크는열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지를코딩하기위한영상코더를포함하고, 상기영상코더가부분수평및수직지점에의서브-픽셀에대한값을생성하기에적합한보간기를포함하며, x가최대값 N을갖는양 의정수일경우, 상기부분수평및수직지점이 1/2 x 에따라정의된다. 본발명의제 7 측면에따른통신시스템 에포함되는보간기는 : <136> <137> a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값들을 단위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하고 ; b) 1/2 N-1 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에대한값을, 1/2 N-1 단위수평및단위수직지점 에상주하는서브 - 픽셀에대한값의제 1 의가중합산값과단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀에대한값의제 2 의가중합산값중하나의선택치를이용하여직접보간하며, 상기값들의제 1 및제 2 의 가중합산값이단계 a) 에따라계산되고 ; 그리고 <138> c) 1/2 N 단위수평및 1/2 N 단위수직지점에있는서브 - 픽셀에대한값을, 1/2 N-m 단위수평및 1/2 N-n 단위수직 지점에있는제1의서브-픽셀또는픽셀의값과 1/2 N-p 단위수평및 1/2 N-q 단위수직지점에있는제2의서브- 픽셀또는픽셀의값의가중평균을취하여보간하며, 변수 m, n, p, q는상기제1 및제2 서브-픽셀또는픽셀이 1/2 N 단위수평및 1/2 N 단위수직지점에의서브-픽셀에대하여대각선으로배치되도록범위 (1 내지 N) 에속하는정수값을취하기에적합하도록구현된다. <139> <140> <141> 본발명의제8측면에따르면, 열 (row) 및행 (column) 으로배열되며특정의동적범위를갖는값으로표시되고, 상기열에있는픽셀이단위수평지점에상주하며상기행에있는픽셀이단위수직지점에상주하는픽셀을포함하는이미지를코딩하는영상코더가제공되는데, 본발명의제8측면에따르는영상코더는부분수평및수직지점에의서브-픽셀에대한값을생성하기에적합한보간기를포함하며, 상기서브-픽셀의해상도는양의정수 N에의해결정된다. 본발명의제8측면에따른영상코더에포함되는보간기는 : a) 1/2 N-1 단위수평및단위수직지점, 및단위수평및 1/2 N-1 단위수직지점에의서브-픽셀에대한값들을단위수평및단위수직지점에상주하는픽셀의가중합산값을사용하여직접보간하고 ; 그리고 b) 서브-픽셀수평및서브-픽셀수직지점에의서브-픽셀에대한값을, 계산된서브-픽셀의수직지점에대응하는수직지점에있는서브-픽셀에대한값의제1의가중합산값및계산된서브-픽셀의수평지점에대응하는수평지점에있는서브-픽셀에대한값의제2의가중합산값중하나의선택치를이용하여직접보간하기에적합하도록구현된다. <142> 상기보간기는 1/2 N-1 단위수평및단위수직지점에상주하는서브 - 픽셀의값을사용하여상기제 1 의가중합 산값을형성하고상기제 1 의가중합산값을사용하여 1/2 N-1 단위수평및 1/2 N 단위수직지점에의서브 - 픽셀에 대한값을보간하는데또한적합하도록구현될수있다. <143> 상기보간기는단위수평및 1/2 N-1 단위수직지점에상주하는서브 - 픽셀의값을사용하여상기제 2 의가중합 산값을형성하고상기제 2 의가중합산값을사용하여 1/2 N 단위수평및 1/2 N-1 단위수직지점에의서브 - 픽셀에 - 17 -
대한값을보간하는데또한적합하도록구현된다. <144> 보간기 (interpolator) 는 1/2 N-1 단위수평및단위수직위치에있는서브-픽셀, 및단위수평및 1/2 N-1 단위수직위치에있는서브-픽셀의값들의제1 쌍및단위수평및단위수직위치에있는픽셀, 및 1/2 N-1 단위수평 및 1/2 N-1 단위수직에있는서브 - 픽셀의값들의제 2 쌍의적어도하나의쌍을평균을취함에의해 1/2 N-1 단위 수평및 1/2 N-1 단위수직위치들에있는서브 - 픽셀들에대한값들을보간하기에더적합하다. <145> <146> <147> <148> <149> 본발명의제9 실시예에따르면통신단말기가제공되는데, 상기통신단말기는열들 (rows) 및행들 (columns) 로배열되고특정한동적범위를가지는값들에의해표현되는픽셀들을포함하는이미지를코딩하기위한비디오코더를포함하고, 상기열들에있는상기픽셀들은단위수평위치들에놓이고상기행들에있는상기픽셀들은단위수직위치들에놓이며, 상기코더는분수의 (fractional) 수평및수직위치들에있는서브-픽셀들에대한값들을생성하기에적합한보간기를포함하고, 상기서브-픽셀들의해상도는양의정수 N에의해결정되며, 상기보간기는 a) 단위수평및단위수직위치들에놓인픽셀들의가중된합들 (weighted sums) 을직접이용하여 1/2 N-1 단위수평및단위수직위치들, 및단위수평및 1/2 N-1 단위수직위치들에있는서브-픽셀들에대한값들을보간하기에적합하며 ; b) 서브-픽셀수평에있는서브-픽셀에대한값을보간하기에적합하고, 서브-픽셀수직위치는계산되는서브- 픽셀의것에대응하는수직위치에위치한서브-픽셀들에대한값들의제1 가중합 (first weighted sum), 및계산되는서브-픽셀의것에대응하는수평위치에위치한서브-픽셀들에대한값들의제2 가중합 (second weighted sum) 의선택을직접사용하는것이요구되는것을특징으로한다. 본발명의제10 실시예에따르면, 통신단말기및네트워크를포함하는통신시스템이제공되는데, 상기통신네트워크및상기통신단말기는코딩된비디오 ( 영상 ) 가전송될수있는통신링크에의해연결되며, 상기통신단말기는열들및행들로배열되고특정한동적범위를가지는값들에의해표현되는픽셀들을포함하는이미지를코딩하기위한비디오코더를포함하고, 열들에있는픽셀들은단위수평위치들에놓이고행들에있는픽셀들은단위수직위치들에놓이며, 상기코더는분수의 (fractional) 수평및수직위치들에있는서브-픽셀들에대한값들을생성하기에적합한보간기를포함하고, 상기서브-픽셀들의해상도는양의정수 N에의해결정되며, 상기보간기는 a) 1/2 N-1 단위수평및단위수직위치들에있는서브픽셀들에대한값들을보간하기에적합하고, 단위수평및 1/2 N-1 단위수직위치들은단위수평및단위수직위치들에놓인픽셀들의가중된합들을사용하며 ; <150> <151> <152> b) 서브-픽셀수평에있는서브-픽셀들에대한값을보간하기에적합하며, 서브-픽셀수직위치는계산되는서브-픽셀의것에대응하는수직위치에위치한서브-픽셀들에대한값들의제1 가중합 (first weighted sum), 및계산되는서브-픽셀의것에대응하는수평위치에위치한서브-픽셀들에대한값들의제2 가중합 (second weighted sum) 의선택을직접사용하는것이요구되는것을특징으로한다. 본발명의제11 실시예에따르면, 통신단말기및네트워크를포함하는통신시스템이제공되는데, 상기통신네트워크및상기통신단말기는코딩된비디오가전송될수있는통신링크에의해연결되고, 상기네트워크는열들및행들로배열되고특정한동적범위를가지는값들에의해표현되는픽셀들을포함하는이미지를코딩하기위한코딩하기위한비디오코더를포함하고, 열들에있는픽셀들은단위수평위치들에놓이고행들에있는픽셀들은단위수직위치들에놓이며, 상기코더는분수의 (fractional) 수평및수직위치들에서서브-픽셀들에대한값들을생성하기에적합한보간기를포함하고, 상기서브-픽셀들의해상도는양의정수 N에의해결정되며, 상기보간기는 a) 1/2 N-1 단위수평및단위수직위치들에있는서브-픽셀들에대한값들을보간하기에적합하고, 그리고단위 수평및 1/2 N-1 단위수직위치들은단위수평및단위수직위치들에있는픽셀들의가중합을직접사용하며 ; <153> b) 서브 - 픽셀수평에있는서브 - 픽셀에대한값을보간하기에적합하며, 그리고서브 - 픽셀수직위치는계산되 는서브 - 픽셀의것에대응하는수직위치에위치한서브 - 픽셀들에대한제 1 가중합 (first weighted sum), 및계 산되는서브 - 픽셀의것에대응하는수평위치에위치한서브 - 픽셀들에대한값들의제 2 가중합 ( second - 18 -
weighted sum) 의선택을직접사용하는것이요구되는것을특징으로한다. <154> 본발명의실시예는첨부된도면들과관련하여단지예시의방식으로이제기술될것이다. <155> <156> 효과 본발명은인코더및디코더양측모두에서만족할만한성능을보이는서브픽셀값보간법을제공할수있다. 또한, 본발명은인코더및디코더양측모두에적용되도록최적화된해법을제공할수있다. <157> <158> <159> <160> <161> <162> <163> <164> 발명의실시를위한구체적인내용도 1 내지 5, 12a, 12b, 12c, 13a, 13b, 및 13c는앞에서기술되었다. 도 6은본발명에따라서동작하기에적합한비디오인코딩및디코딩장치 ( equipment) 를포함하는단말기장치 (terminal device) 를제시한다. 더욱상세하게는, 도면은 ITU-T 권고 H.324에따라구현되는멀티미디어단말기를기술한다. 단말기는멀티미디어송수신장치로서간주될수있다. 그것은수신된멀티미디어콘텐트를수신하고, 디-멀티플렉싱하고, 디코딩하고및디스플레이하는소자들 ( elements) 뿐만아니라, 통신네트워크를통한전송을위하여멀티미디어데이터스트림들을캡쳐하고, 인코딩하고, 멀티플렉싱하는소자들을포함한다. ITU-T 권고 H.324는단말기의전반적인동작을정의하며, 그의다양한구성소자들의동작을제어하는다른권고들 (recommendations) 을지칭한다. 이러한종류의멀티미디어단말기는예를들면인터넷에서멀티미디어콘텐트서버로부터나오는대화형화상전화 (conversational videotelephony) 와같은실시간어플리케이션들또는비디오클립들의검색 / 스트리밍 (retrieval/streaming) 과같은비실시간에서사용될수있다. 본발명의내용에있어서, 도 6에서도시된 H.324 단말기는독창적방법 ( inventive method) 의어플리케이션에적합한단지다수의대안적인멀티미디어단말기구현들중의하나이다. 또한유념해야할점은단말기장비의위치및구현에관한다수의변형이존재한다는것이다. 도 6에서도시된바와같이, 멀티미디어단말기는아날로그형공중교환전화망 (PSTN: Public Switched Telephone Network) 과같은고정유선전화네트워크 (fixed line telephone network) 에접속된통신장비에위치될수있다. 이러한경우에멀티미디어단말기는 ITU-T 권고들 V.8, V.34 및선택적으로 V.8bis에순응하는모뎀 (71) 을갖출수있다. 대안적으로, 멀티미디어단말기는외부모뎀에접속될수있다. 모뎀은멀티미디어단말기에의해생성되는멀티플렉싱된디지털데이터및제어신호들을 PSTN을통해서전송되기에적합한아날로그형식으로의변환을가능하게한다. 더더욱그것은멀티미디어단말기로하여금 PSTN으로부터의아날로그형식의데이터및제어신호들을수신하게하고, 적절한방식으로단말기에의해디멀티플렉싱되고처리될수있는그것들을디지털데이터스트림으로변환한다. H.324 멀티미디어단말기는또한종합정보통신망 (ISDN: Integrated Services Digital Network) 와같은디지털고정유선네트워크 (digital fixed line network) 에직접접속될수있는방식으로구현될수도있다. 이러한경우에, 모뎀 (71) 은 ISDN 사용자-네트워크인터페이스로대체될수있다. 도 6에서, ISDN 사용자-네트워크인터페이스는대안적블록 (72) 에의해표현된다. H.324 멀티미디어단말기들은이동통신어플리케이션들에사용되기에적합할수있다. 무선통신링크와함께사용된다면, 모뎀 (71) 은도 6에서대안적블록 (73) 에의해표현된바와같이어떤적절한무선인터페이스로대체될수있다. 예를들어, H.324/M 멀티미디어단말기는현재의제2세대 GSM 이동전화네트워크또는제안된제3 세대범용이동전화시스템 (UMTS: Universal Mobile Telephone System) 로의접속을가능하게하는무선송수신기를포함할수있다. 비디오데이터의전송및수신을위한양방향통신 (two-way communication) 을위해설계된멀티미디어단말기들에서, 본발명에따라구현되는비디오인코더및비디오디코더모두를제공하는것이유리하다. 그러한인코더및디코더쌍은간혹 " 코덱 (codec)" 이라고불리는단일의조합된기능유닛으로서구현된다. 본발명에따른비디오인코더는특유한보간스킴 (specific interpolation scheme) 및이전그리고온-디맨드서브-픽셀값보간의특별한조합을사용해서서브-픽셀해상도로움직임보상비디오인코딩을수행하기때문에, 수신단말기의비디오디코더는압축된비디오데이터스트림을형성한전송단말기의인코더와호환되는방식으로구현될필요가있다. 이러한호환성 (compatibility) 보증의실패는움직임보상의품질및재구성된비디오프레임들의정확성에좋지않은영향을준다. 전형적인 H.324 멀티미디어단말기가이제도 6을참조하여더욱상세하게기술될것이다. - 19 -
<165> <166> <167> <168> <169> <170> <171> 멀티미디어단말기 (60) 는 " 단말기장비 (terminal equipment)' 라고불리는다양한소자들을포함한다. 이것은각각참조번호들 61, 62, 및 63에의해일반적으로표기된비디오, 오디오, 및텔레메틱장비들 (telemetic equipments) 을포함한다. 비디오장비 (61) 는예를들어비디오이미지들을캡처하기위한비디오카메라, 수신된비디오콘텐트를디스플레이하기위한모니터, 및선택적인비디오처리장비를포함할수있다. 오디오장비 (62) 는예를들면언어메시지들 (spoken messages) 을캡처링하기위한마이크로폰, 및수신된오디오콘텐트를재생하기위한확성기 (loudspeaker) 를전형적으로포함할수있다. 오디오장비는또한부가적인오디오처리유닛들을포함할수있다. 텔레메틱장비 (63) 는또한데이터단말기, 키보드, 전자칠판 (electric whiteboard) 또는팩스유닛과같은정지이미지송수신기 (still image transceiver) 를포함할수있다. 비디오장비 (61) 는비디오코덱 (65) 에결합될수있다. 비디오코덱 (65) 은본발명에따라서구현되는비디오인코더및대응하는비디오디코더모두를포함한다. 그러한인코더및디코더는다음에기술될것이다. 비디오코덱 (65) 은통신링크를통한전송을위해적절한형식으로캡처링된비디오데이터를인코딩하고통신네트워크로부터수신된압축된비디오콘텐트를디코딩한다. 도 6에서기술된예시에서, 비디오코덱은상기비디오코덱의인코더및디코더모두에있어서본발명에따른서브-픽셀값보간방법을구현하기위한적절한변형을가지고 ITU-T 권고 H.263에따라구현된다. 유사하게, 단말기오디오장비는참조번호 (66) 에의해도 6에서표기된오디오코덱에결합된다. 비디오코덱과같이, 오디오코덱은인코더 / 디코더쌍을포함한다. 그것은단말기오디오장비에의해캡처링된오디오데이터를통신링크를통한전송에적합한형태로변환하고, 네트워크로부터수신된인코딩된오디오데이터를, 예를들어단말기확성기상에서재생을위한적절한형태로다시변환시킨다. 오디오코덱의출력은지연블록 (67) 으로전달된다. 이것은비디오코딩과정에의해도입된지연들 (delays) 을보상하고, 그리고그렇게함으로써오디오및비디오콘텐트의동기화를보증한다. 멀티미디어단말기의시스템제어블록 (64) 은송신및수신단말기간의공통동작모드를설립하기위해적절한제어프로토콜 ( 시그널링 ( 신호 ) 블록 (68)) 을사용해서앤드-투-네트워크시그널링 (end-to-network signalling) 을제어한다. 시그널링블록 (68) 은송신및수신단말기들의인코딩및디코딩기능들 (capacities) 에대한정보를교환하고, 비디오인코더의다양한코딩모드들을가능하도록하기위해사용될수있다. 시스템제어블록 (64) 은또한데이터암호화사용을제어한다. 데이터전송에서사용되는암호화타입에대한정보는암호화블록 (69) 으로부터멀티플렉서 ( 다중화기 )/ 디멀티플렉서 ( 역다중화기 )(MUX/DEMUX 유닛 ; 70) 로전달된다. 멀티미디어단말기로부터의데이터전송중에, MUX/DEMUX 유닛 (70) 은단일비트-스트림 (single bit-stream) 을형성하기위해텔레메틱장비 (63) 로부터입력된데이터및가능한제어데이터를가지고인코딩되고동기화된비디오및오디오스트림들을결합시킨다. 암호화블록 (69) 에의해제공되는비트스트림에적용될데이터암호화타입에관한정보는 ( 어떠한타입이라도 ) 암호화모드를선택하기위해사용된다. 유사하게, 멀티플렉싱되고혹시 (possibly) 암호화된멀티미디어비트-스트림이수신되고있을때, MUX/DEMUX 유닛 (70) 은비트-스트림을암호화하고, 그것을그의구성멀티미디어성분들로나누고, 디코딩및재생을위해그러한성분들을적절한코덱 ( 들 ) 및 / 또는단말기장비로전달한다. 본발명에따른멀티미디어단말기, 비디오인코더, 디코더및비디오코덱의기능적요소들은소프트웨어또는전용하드웨어또는상기 2개의조합으로써구현될수있음에유의해야한다. 본발명에따른비디오인코딩및디코딩방법들은본발명의기능적단계들을수행하기위한기계로판독가능한지시들 (instructions) 을포함하는컴퓨터프로그램의형태로구현되기에특히적합하다. 그와같이, 본발명에따른인코더및디코더는저장매체에저장된소프트웨어코드로서구현될수있으며, 컴퓨터에비디오인코딩및 / 또는디코딩기능을제공하기위해퍼스널데스크탑컴퓨터와같은컴퓨터에서실행될수있다. 만약멀티미디어단말기 (60) 가이동단말기라면, 즉무선송수신기 (73) 를장착한다면, 그것은또한부가적인소자들을포함할수있다는것을당해분야의통상의지식을가진자라면이해될수있을것이다. 하나의실시예에서, 그것은멀티미디어단말기, 램 (RAM: Random Access Memory), 롬 (ROM: Read Only Memory), 및디지털카메라의다른기능들에대한책임이있는블록들을제어하는마이크로프로세서와같은중앙처리장치 (CPU: Central Processing Unit) 를포함하는필수적기능블록들과함께, 사용자에의한멀티미디어단말기 (60) 의동작을가능하게하는디스플레이및키보드를가지는사용자인터페이스를포함한다. 멀티미디어단말기 (60) 의기본적기능들에대응하는프로그램코드인마이크로프로세서의동작지시들은롬 (ROM) 에저장되고, 예를들면사용자의제어하에서마이크로프로세서에의해요청된대로실행될수있다. 프로그램코드에따라서, 마이크로프로세서는무선송수신기 (73) 를사용하여이동통신네트워크와접속할수있고, 멀티미디어단말기 (60) 로 - 20 -
하여금무선통로 (radio path) 를통하여이동통신네트워크로정보를전송하고이동통신네트워크로부터정보 를수신할수있다. <172> <173> <174> <175> <176> <177> 마이크로프로세서는사용자인터페이스의상태를모니터링하고, 디지털카메라를제어한다. 사용자명령에응답하여, 마이크로프로세서는카메라에지시하여디지털이미지들을램 (RAM) 에기록하도록한다. 일단이미지가캡처되면, 또는대안적으로캡처과정동안, 마이크로프로세서는이미지들을 ( 예를들어마이크로블록들과같은 ) 이미지세그먼트들로분할하고, 앞서언급된바와같이압축된이미지시퀀스를생성하기위하여인코더를사용하여세그먼트들에대한움직임보상인코딩을수행한다. 사용자는멀티미디어단말기 (60) 에지시하여그의디스플레이상에캡처된이미지들을디스플레이하도록하거나또는압축된이미지시퀀스를무선송수신기를사용하여다른멀티미디어단말기, 예를들면고정된유선네트워크 (PSD.N) 에접속된비디오텔레폰또는다른원격통신디바이스로전송할수있다. 바람직한실시예에서, 이미지데이터의전송은수신자가최소지연을가지고대응하는디코딩과정을개시할수있도록, 제1 세그먼트가인코딩되는즉시이미지데이터의전송이개시된다. 도 11은본발명의실시예에따른이동통신네트워크의개략도이다. 멀티미디어단말기 MS는무선링크에의해기지국들 BTS와통신중이다. 기지국들 BTS는이른바 Abis 인터페이스를통하여다수의기지국들을제어하고관리하는기지국제어기 (base station controller; BSC) 에또한접속된다. 다수의기지국들 (BTS: base stations) 에의해 ( 전형적으로는수십개의기지국들에의해형성된실체및기지국들을제어하는단일의기지국제어기 (BSC) 는기지국서브시스템 (BSS: Base Station Subsystem) 이라고불린다. 특히, 기지국제어기 (BSC) 는무선통신채널들및핸드오버들 (handovers) 을관리한다. 기지국제어기 (BSC) 는또한, 이른바 A 인터페이스를통해, 이동국들로그리고이동국들로부터의접속들의형태 (formation) 를조정하는이동전화기지국 (MSC: Mobile Services Switching Centre) 으로접속된다. 이동전화기지국 (MSC) 을통해외부의이동통신네트워크로의접속이또한이루어진다. 이동통신네트워크외부에는예를들어인터넷또는일반전화교환망 (PSTN: Public Switched Telephone Network) 과같이게이트웨이 ( 들 )(GTW: Gateway) 에의해이동통신네트워크로연결되는다른네트워크 ( 들 ) 가더존재할수있다. 그러한외부네트워크에는, 또는원격통신네트워크내에는, 컴퓨터들 (PC) 과같은비디오디코딩또는인코딩스테이션들 (decoding or encoding stations) 이위치할수있다. 본발명의실시예에서, 이동통신네트워크 (Mobile Telecommunications Networ k) 는그러한서비스를예약한 MS로비디오데이터를제공하기위한비디오서버 (VSRVR) 를포함한다. 비디오데이터는이전에서기술된바와같은움직임보상비디오압축방법 (Motion Compensated Video Compression Method) 을사용해서압축된다. 비디오서버는온라인비디오소스에대한게이트웨이로서기능할수있으며, 또는그것은이전에기록된비디오클립들 (video clips) 을포함할수있다. 전형적인화상전화어플리케이션들은, 예를들어 2개의이동국들또는하나의이동국 (MS) 및일반전화교환망 (PSTN) 에접속된화상전화, 인터넷에접속된 PC, 또는인터넷또는일반전화교환망 (PSTN) 중어느하나에접속된 H.261 호환단말기를포함할수있다. 도 7은본발명의실시예에따른비디오인코더 (700) 를도시한다. 도 8은본발명의실시예에따른비디오디코더 (800) 를도시한다. 인코더 (700) 는카메라또는다른비디오소스 ( 미도시 ) 로부터의비디오신호를수신하기위한입력 (701) 을포함한다. 그것은 DCT 변환기 (705), 양자화기 (quantiser; 706), 역양자화기 (inverse quantiser; 709), 역 DCT 변환기 (710), 결합자들 (712,716), 이전서브-픽셀보간블록 (730), 프레임저장부 (740), 및온-디맨드서브픽셀보간블록 (750) 을포함하며, 움직임예측블록 (Motion Prediction Block; 760) 과조합하여구현된다. 인코더는또한움직임필드코딩블록 (Motion Field Coding Block; 770) 및움직임보상예측블록 (Motion Compensated Prediction Block; 780) 을포함한다. 스위치들 (702,714) 은비디오인코딩의인트라-모드 (INTRA-mode) 및비디오인코딩의인터-모드 (INTER-mode) 간에인코더를스위칭하기위해제어관리자 (720) 에의해협동하여동작된다. 인코더 (700) 는또한원격수신단말기로의전송을위하여또는컴퓨터하드드라이브 ( 미도시 ) 와같은대용량저장매체상의저장을위하여인코더 (700) 에의해생성된다양한타입들의정보로부터단일비트-스트림을생성하기위한멀티플렉서유닛 (MUX/DMUX) 을포함한다. 인코더아키텍처에서의이전서브-픽셀보간블록 (730) 및온-디맨드서브-픽셀값보간블록 (750) 의존재및구현은본발명에따른서브-픽셀보간방법이적용되는방식에의존한다는점에유의해야한다. 이전서브-픽셀보간이수행되지않는본발명의실시예에서, 인코더 (700) 는이전서브-픽셀값보간블록 (730) 을포함하지않는다. 본발명의다른실시예들에서, 단지이전서브픽셀보간이수행되고, 따라서인코더는온-디맨드서브 - 21 -
- 픽셀보간블록 (750) 을포함하지않는다. 이전및온 - 디맨드서브픽셀값보간이수행되는실시예들에서, 블 록들 (730,750) 모두는인코더 (700) 내에존재한다. <178> <179> <180> <181> <182> <183> 본발명에따른인코더 (700) 의동작이이제상세하게기술될것이다. 기술 (description) 에서, 입력 (701) 에서비디오소스로부터수신된압축되지않은비디오의각프레임은바람직하게는래스터-스캔순서 (raster-scan order) 로매크로블록-매크로블록기반 (macroblock-by-macroblock) 으로수신되고처리된다. 새로운비디오시퀀스의인코딩이개시될때, 시퀀스의제1 프레임이인트라-모드 (INTRA-mode) 에서인코딩된다. 이어서, 다음의조건들중하나를만족하지않는다면, 인코더는인터-포맷 (INTER-format) 에서각프레임을코딩하도록프로그램된다 : 1) 코딩되고있는현재프레임이그의예측에서사용된레퍼런스 ( 참조 ) 프레임과너무비유사하기때문에과도한예측오류정보가생성되거나 ; 2) 미리정의된인트라프레임 (INTRA frame) 반복간격이초과하였거나 ; 또는 3) 인트라포맷 (INTRA format) 에서코딩되어야할프레임에대한요청을나타내는피드백이수신단말기로부터수신되는경우이다. 조건 1) 의발생은결합자 (716) 의출력을모니터링함에의해검출된다. 결합자 (716) 는코딩되고있는프레임의현재매크로블록과움직임보상예측블록 (780) 에서생성된그의예측간의차이를형성한다. 이러한차이의측정치가 ( 예를들어픽셀값들의절대차이들의합산 ) 소정의문턱값을초과하면, 결합자 (716) 는제어라인 (71 7) 을통해제어관리자 (720) 에알리고제어관리자 (720) 는인코더 (700) 를인트라코딩모드로스위칭할수있도록스위치들 (702 및 714) 을동작시킨다. 조건 2) 의발생은만약타이머가시간초과하거나, 또는프레임카운터 (frame counter) 가프레임들의소정의수에도달하면제어관리자 (720) 가스위치들 (702, 714) 을동작시켜인코더를인트라코딩모드 (INTRA coding mode) 로스위칭하는방식으로, 제어관리자 (720) 에서구현되는타이머또는프레임카운터에의해모니터링된다. 조건 3) 은만약제어관리자 (720) 가제어라인 (718) 을통해예를들어, 수신단말기로부터인트라프레임갱신 (INTRA frame refresh) 이수신단말기에의해요구된다는것을나타내는피드백신호를수신한다면트리거된다. 그러한조건은예를들어, 이전에전송된프레임이그전송중에간섭 (interference) 에의해심하게손상되고, 수신기에서디코딩을불가능하게한다면일어날수있다. 이러한상황에서, 수신기는인트라포맷으로디코딩될다음프레임에대한요청을발하고, 따라서코딩시퀀스를재-초기화한다. 인코더및디코더는 1/4-픽셀해상도이상의공간해상도를가진움직임벡터의결정을허가하는방식으로구현될수있다고더가정될것이다. 다음에보여지듯이, 해상도의세밀한레벨들이또한가능하다. 인트라코딩모드 (INTRA coding mode) 에서의인코더 (700) 의동작이이제기술될것이다. 인트라-모드 (INTRAmode) 에서, 제어관리자 (720) 는스위치 (702) 를동작시켜입력라인 (719) 으로부터비디오입력을받아들인다. 비디오신호입력은매크로블록별로입력라인 (719) 을통해입력 (701) 으로부터수신되고, 원시이미지픽셀들 (original image pixels) 의각매크로블록은 DCT 변환기 (705) 에의해 DCT 계수들 (DCT coefficients) 로변환된다. 그리고나서, DCT 계수들은양자화기 (706) 로전달되고, 여기서그것들은양자화파라미터 (QP: Quantization Parameter) 를사용해서양자화된다. 양자화파라미터 (QP) 의선택은제어라인 (722) 을통해제어관리자 (720) 에의해제어된다. 프레임의인트라코딩된이미지정보 (723) 를작성한각각의 DCT 변환되고양자화된매크로블록은양자화기 (706) 를거쳐 MUX/DMUX(790) 로전달된다. MUX/DMUX(790) 는코딩된이미지정보 (725) 의단일비트 -스트림(single bit-stream) 을생성하기위해인트라코딩된이미지정보와가능한제어정보 ( 예를들어, 헤더데이터, 양자화파라미터정보, 오류보정데이터등 ) 를결합시킨다. 당해분야의통상의지식을가진자에게알려진바와같이, 압축된비디오비트-스트림의반복 (redundancy) 을줄이기위해가변길이코딩 (VLC: Variable Length Coding) 이사용될수있다. 국부적으로디코딩된픽쳐 (picture) 는양자화기 (706) 에의해출력된데이터를역양자화기 (709) 로전달하고, 역 DCT 변환 (710) 을역-양자화된데이터에적용함으로써인코더 (700) 내에서형성될수있다. 그러면결과데이터 (Resulting data) 는결합자 (712) 로입력된다. 인트라모드 (INTRA mode) 에서, 스위치 (714) 를통한결합자 (712) 에대한입력이 0으로세팅되도록스위치 (714) 가세팅된다. 이러한방식으로, 결합자 (712) 에의해수행된동작은역양자화기 (709) 및역 DCT 변환기 (710) 에의해형성된디코딩된이미지데이터를변경없이통과시킬수있는것과같다. 이전서브-픽셀값보간이수행되는본발명의실시예들에있어서, 결합자 (712) 로부터의출력은이전서브-픽셀보간블록 (730) 으로인가된다. 이전서브-픽셀값보간블록 (730) 으로의입력은디코딩된이미지블록들의형태를취한다. 이전서브-픽셀값보간블록 (730) 에서, 각각의디코딩된매크로블록은서브-픽셀해상도서브-픽셀값들의소정의서브-셋 (sub-set) 이본발명의보간방법에따라계산되고, 디코딩된픽셀값들과함께프레 - 22 -
임저장부 (740) 에저장되는방식으로서브 - 픽셀보간된다. <184> <185> <186> <187> <188> <189> <190> <191> 이전서브-픽셀보간이수행되지않는실시예들에서, 이전서브-픽셀보간블록은인코더아키텍처에존재하지않으며, 디코딩된이미지블록들을포함하는결합자 (712) 로부터의출력은직접프레임저장부 (740) 에인가된다. 현재프레임의이후의매크로블록들이수신되고블록들 (705,706,709,710, 712) 에서이전에기술된코딩및디코딩단계들을거치는동안에, 인트라프레임 (INTRA frame) 의디코딩된버전이프레임저장부 (740) 내에만들어진다. 현재프레임의최종매크로블록이인트라코딩 (INTRA coded) 되고그리고이후에디코딩될때, 프레임저장부 (740) 는인터포맷 (INTER format) 으로연속적으로수신된비디오프레임을코딩함에있어서예측레퍼런스프레임으로사용할수있는완전히디코딩된프레임을포함한다. 이전서브-픽셀값보간이수행되는본발명의실시예들에서, 프레임저장부 (740) 내에있는레퍼런스프레임은적어도부분적으로는서브-픽셀해상도로보간된다. 인터코딩모드 (INTER coding mode) 에서의인코더 (700) 의동작이이제기술될것이다. 인터코딩모드에서, 제어관리자 (720) 는결합자 (716) 의출력을포함하는라인 (721) 으로부터그의입력을수신하기위해스위치 (702) 를동작시킨다. 결합자 (716) 는코딩되고있는프레임의현재매크로블록과움직임보상예측블록 (780) 에서생성된그의예측간의차이를나타내는예측오류정보 (prediction error information) 를생성한다. 예측오류정보는 DCT 변환되고양자화된예측오류정보를생성하기위해블록 (705) 에서 DCT 변환되고, 블록 (706) 에서양자화된다. DCT 변환되고양자화된예측오류의각매크로블록은양자화기 (706) 로부터 MUX/DEMUX 유닛 (790) 으로전달된다. MUX/DEMUX 유닛 (790) 은코딩된이미지정보의단일비트-스트림 (725) 을생성하기위해예측정보오류 (723) 를 ( 다음에기술된 ) 움직임계수들 (724) 및 ( 예를들어, 헤더데이터, 양자화파라미터정보, 오류보정데이터등의 ) 제어정보와결합시킨다. 다음에인터코딩된프레임 (INTER coded frame) 의각매크로블록에대한국부적으로디코딩된예측오류정보는양자화기 (706) 에서출력된인코딩된예측오류정보 (723) 를역양자화기 (709) 로전달하고블록 (710) 에서역 DCT 변환을적용함에의해인코더 (700) 에서형성된다. 예측오류정보의결과적인국부적인디코딩된매크로블록은다음에결합자 (712) 로입력된다. 인터-모드 (INTER-mode) 에서, 스위치 (714) 는결합자 (712) 가또한움직임예측블록 (780) 에서생성된현재인터프레임 (INTER frame) 에대한움직임예측매크로블록들을수신하도록세팅된다. 결합자 (712) 는이러한 2개의정보조각들을결합하여현재인터프레임 (INTER frame) 에대하여재구성된이미지블록들을생성한다. 인트라코딩된프레임들 (INTRA coded frames) 을고려할때위에서기술된바와같이, 이전서브-픽셀값보간이수행되는본발명의실시예들에서, 결합자 (712) 로부터의출력은이전서브-픽셀보간블록 (730) 으로인가된다. 따라서, 인터코딩모드 (INTER coding mode) 에서이전서브-픽셀값보간블록 (730) 으로의입력은또한디코딩된이미지블록들의형태를취한다. 이전서브-픽셀값보간블록 (730) 에서, 각각의디코딩된매크로블록은서브-픽셀값들의소정의서브-셋 (sub-set) 이본발명의보간방법에따라계산되고, 디코딩된픽셀값들과함께프레임저장부 (740) 에저장되는방식으로서브-픽셀보간된다. 이전서브-픽셀보간이수행되지않는실시예들에서, 이전서브-픽셀보간블록은인코더아키텍처에존재하지않으며, 디코딩된이미지블록들을포함하는결합자 (712) 로부터의출력은직접프레임저장부 (740) 에인가된다. 비디오신호의연속적인매크로블록들이비디오소스로부터수신되고블록들 (705,706,709,710,712) 에서의이전에기술된코딩및디코딩단계들을거침에따라, 인터프레임 (INTER frame) 의디코딩된버전이프레임저장부 (740) 에만들어진다. 프레임의마지막매크로블록이인터코딩 (INTER coded) 되고, 이어서디코딩될때, 프레임저장부 (740) 는이후에수신된비디오프레임을인터포맷 (INTER format) 으로인코딩함에있어예측레퍼런스프레임으로서의사용을위해이용가능한완전히디코딩된프레임을포함한다. 이전서브-픽셀값보간이수행되는본발명의실시예들에서, 프레임저장부 (740) 내에있는레퍼런스프레임은적어도부분적으로는서브-픽셀해상도로보간된다. 현재프레임의매크로블록에대한예측형식 (formation of prediction) 이이제기술될것이다. 인터포맷 (INTER format) 으로인코딩된어떤프레임은움직임보상예측을위해레퍼런스프레임을필요로한다. 이것은그중에서도특히비디오시퀀스를인코딩할때, 인코딩될제1 프레임은그것이시퀀스에서제1 프레임이던혹은다른프레임이건, 인트라포맷 (INTRA format) 으로인코딩되어야한다는것을의미한다. 다시말하면, 이것은비디오인코더 (700) 가제어관리자 (720) 에의해인터코딩모드 (INTER coding mode) 로스위칭될때, 이전에인코딩된프레임을국부적으로디코딩함에의해형성된완전한레퍼런스프레임이인코더의프레임 - 23 -
저장부 (740) 내에이미이용가능하다는것을의미한다. 일반적으로, 레퍼런스프레임은인트라코딩된프레임 (INTRA coded frame) 또는인터코딩된프레임 (INTER coded frame) 중의어느하나를국부적으로디코딩함에의 해형성된다. <192> <193> <194> <195> 현재프레임의매크로블록에대한예측을형성함에있어제1 단계는움직임예측블록 (760) 에의해수행된다. 움직임예측블록 (760) 은라인 (727) 을통해코딩되는프레임의현재매크로블록을수신하고, 현재의매크로블록과실질적으로일치하는레퍼런스프레임내에서의영역을식별하기위해블록매칭동작 (block matching operation) 을수행한다. 본발명에따라, 블록매칭과정은인코더 (700) 구현및수행된이전서브-픽셀보간의정도에의존하는방식으로서브-픽셀해상도로수행된다. 그러나, 블록매칭과정뒤의기본적원리는모든경우들에서유사하다. 특히, 움직임예측블록 (760) 은검사중인현재프레임의매크로블록과레퍼런스프레임에서의픽셀들 / 서브-픽셀들의후보지최적-매칭영역들간의픽셀값들에서의차이를나타내는차이값들 ( 예를들어, 절대차이들의합 (sums of absolute differences)) 을계산함에의해블록-매칭을수행한다. 차이값 (difference value) 은현재프레임에서의매크로블록과레퍼런스프레임에서의소정의검색영역내의후보지테스트영역 (candidate test region) 간의모든가능한오프셋들 ( 예를들어, 1/4 또는 8분의 1의서브-픽셀정밀도 x, y 변위들 ) 에대해생성되고, 움직임예측블록 (760) 은가장작은계산된차이값을결정한다. 현재프레임에서매크로블록과가장작은차이값을내는레퍼런스프레임에서의픽셀값들 / 서브-픽셀값들의후보테스트영역 (candidate test region) 간의오프셋은문제된매크로블록에대한움직임벡터를정의한다. 본발명의다른실시예들에서, 단위픽셀정밀도 (precision) 를가지는움직임벡터에대한초기추정이우선결정되고, 다음에는이후에기술되는바와같이, 더서브-픽셀정밀도의좀더세밀한레벨 (finer level of sub-pixel precision) 로정제된다 (refine). 이전서브-픽셀값보간이수행되지않는인코더의실시예들에서, 블록매칭과정에서요구되는모든서브-픽셀값들은온-디맨드서브-픽셀값보간블록 (750) 에서계산된다. 움직임예측블록 (760) 은그것이요구됨에따라또는요구될때온-디맨드방식의블록-매칭과정에서요구되는각각의서브-픽셀값을계산하기위해온-디맨드서브-픽셀값보간블록 (750) 을제어한다. 이러한경우에, 움직임예측블록 (760) 은일-단계과정으로서블록-매칭을수행하기위해구현될수있고, 이러한경우에이상적인서브-픽셀해상도를가진움직임벡터가직접적으로찾아지거나, 또는그것은 2 단계과정으로서블록-매칭을수행하기위해구현될수있다. 만약 2-단계과정이채택되면, 제1 단계는예를들면전또는반-픽셀해상도움직임벡터 (full or half-pixel resolution motion vector) 에대한검색을포함하고, 제2 단계는이상적서브-픽셀해상도로움직임벡터를정제하기위해수행된다. 블록매칭은현재프레임들의 n m 픽셀들의블록들이보간된레퍼런스프레임내의 n m 픽셀들또는서브-픽셀들의블록들과하나씩비교되는소모적인과정이므로, 온-디맨드픽셀보간블록 (750) 에의해온-디맨드방식으로계산된서브-픽셀은연속하는차이값들이결정됨에따라수차례계산될필요가있다는점이인식되어야한다. 비디오인코더에서, 이러한접근방식은계산의복잡성 / 부담의견지에서가능한가장효율적이지못하다. 단지이전서브-픽셀값보간만을사용하는인코더의실시예들에서, 이상적인서브-픽셀해상도를가진움직임벡터를결정하는데요구되는레퍼런스프레임의모든서브-픽셀값들이블록 (730) 에서이전에계산되고, 프레임저장부 (740) 에저장됨에따라블록-매칭은일단계과정 (one step process) 으로서수행될수있다. 따라서, 그것들은블록-매칭과정에서의사용될수있으며, 움직임예측블록 ( 760) 에의해프레임저장부 (740) 로부터요구되는바에따라검색될수있다. 그러나, 모든서브-픽셀값들이프레임저장부 (740) 로부터이용가능한경우에서조차도, 더욱적은차이계산들 (difference calculations) 이요구됨에따라, 2-단계과정으로서블록-매칭을수행하는것이계산적으로여전히더욱효율적이다. 전이전서브-픽셀값보간 (full before-hand sub-pixel value interpolation) 이인코더에서의계산의복잡성을감소시켜주는반면에, 메모리소모의견지에서는가장효율적인접근방법이아니라는점이인식되어야한다. 이전 (before-hand) 그리고온-디맨드서브-픽셀값보간모두가사용되는인코더의실시예들에서, 움직임예측블록 (760) 은이전서브-픽셀값보간블록 (730) 에서이전에계산되어프레임저장부 (740) 에저장된서브-픽셀값들을검색할수있고, 요구되는어떤부가적인서브-픽셀값들을계산하기위해온-디맨드서브-픽셀값보간블록 (750) 을더제어할수있는방식으로구현될수있다. 블록-매칭과정은 1-단계 (one-step) 또는 2-단계 (two-step) 과정으로더수행될수있다. 만약 2-단계구현이사용된다면, 프레임저장부 (740) 로부터검색된이전에계산된서브-픽셀값들은과정의제1 단계에서사용될수있고, 제2 단계는온-디맨드서브-픽셀값보간블록 (750) 에의해계산된서브-픽셀값들을사용하도록구현될수있다. 이러한경우에, 블록매칭과정의제2 단계에서사용된어떤서브-픽셀값들은연속적인비교가수행됨에따라수차례계산될필요가있으나, 만약이 - 24 -