상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 다중 목적의 비디오 스트림을 처리하는 장치는 비디오 데이터에 대한 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임을 생성하여 생성된 순서대로 상기 고해상도의 비디오 프레임 또는 상기 저해상도의 비디오 프레임을 출력하는 인코딩부와, 상기 출력된 비디오 프레임의 종류를 확인하여 상기 고해상도의 비디오 프레임이 저장되고, 상기 저해상도의 비디오 프레임이 전송되도록 처리 경로를 결정하는 경로 결정부를 포함한다.
본 발명의 실시예에 따른 다중 목적의 비디오 스트림을 처리하는 방법은 비 디오 데이터에 대한 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임을 생성하여 생성된 순서대로 상기 고해상도의 비디오 프레임 또는 상기 저해상도의 비디오 프레임을 출력하는 단계와, 상기 출력된 비디오 프레임의 종류를 확인하여 상기 고해상도의 비디오 프레임이 저장되고, 상기 저해상도의 비디오 프레임이 전송되도록 처리 경로를 결정하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 3은 본 발명의 실시예에 따른 다중 목적의 비디오 스트림을 처리하는 장치를 나타낸 블록도로서, 다중 목적의 비디오 스트림을 처리하는 장치(이하, 장치라 한다)(300)는 인코딩부(310), 저장부(320), 경로 결정부(330), 디코딩부(340), 디스플레이부(350) 및 통신부(360)를 포함하여 구성된다.
수신된 비디오 데이터를 저장하거나 디스플레이하는 경우, 저장 공간에 대한 제약 사항과 디스플레이부(350)의 디스플레이 능력에 대한 제약 사항이 없으면 사용자는 비교적 고용량 고화질의 비디오 데이터를 저장하거나 디스플레이할 수 있다. 반면, 수신된 비디오 데이터를 네트워크를 통해 전송하는 경우, 네트워크 대역폭이 충분하게 확보되지 않으면 사용자는 고용량 고화질의 비디오 데이터를 송신할 수 없다.
따라서, 수신된 비디오 데이터를 저장하거나 디스플레이하는 경우 장치(300)는 비교적 수신된 원본 비디오 데이터의 특성을 유지한 상태로 저장하거나 디스플레이하고, 수신된 비디오 데이터를 네트워크를 통해 전송하는 경우 장치(300)는 수신된 원본 비디오 데이터를 변환하여 그 크기를 줄인 후에 전송한다. 즉, 장치(300)는 동일한 비디오 데이터에 대해서도 그 목적에 따라 서로 다른 처리를 수행하는 것인데, 이와 같은 처리를 수행하기 위한 장치(300)의 각 구성요소를 설명하면 다음과 같다.
인코딩부(310)는 적어도 하나 이상의 인코더(311 내지 314)를 포함하여 구성될 수 있는데, 인코딩부(310)는 수신된 비디오 데이터에 대한 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임을 생성하여 생성된 순서대로 상기 고해상도의 비디오 프레임 또는 상기 저해상도의 비디오 프레임을 출력하는 역할을 한다. 즉, 인코딩부(310)는 비교적 원본 비디오 데이터의 특성을 유지한 상태인 고해상도의 비디오 프레임과 네트워크를 통하여 전송할 수 있을 정도의 크기로 변환한 저해상도의 비디오 프레임으로 부호화하는 것이다.
이를 위하여, 인코딩부(310)는 수신된 비디오 데이터를 그대로 부호화하여 고해상도의 비디오 프레임을 생성할 수 있으며, 수신된 비디오 데이터를 서브샘플링한 후에 부호화하여 저해상도의 비디오 프레임을 생성할 수 있다.
또한, 인코딩부(310)는 수신된 비디오 데이터에 서로 다른 압축률을 적용할 수도 있다. 즉, 수신된 비디오 데이터에 비교적 낮은 수준의 압축률을 적용함으로써 고해상도의 비디오 프레임을 생성할 수 있으며, 수신된 비디오 데이터에 비교적 높은 수준의 압축률을 적용함으로써 저해상도의 비디오 프레임을 생성할 수 있는 것이다.
인코딩부(310)에 의해 부호화되는 방식으로는 MPEG-4가 바람직하나, 본 발명의 인코딩부(310)는 이에 국한되지 않고, MPEG-1, MPEG-2, MPEG-7, MPEG-21, H263, H264 등의 비디오 부호화 방식을 이용하여 수신된 비디오 데이터를 부호화할 수 있다. 인코더(311 내지 314)에 대한 자세한 설명은 도 4 내지 도5를 통하여 후술하기로 한다.
경로 결정부(330)는 인코딩부(310)에서 출력된 비디오 프레임의 종류를 확인하여 고해상도의 비디오 프레임이 저장되고, 저해상도의 비디오 프레임이 전송되도록 처리 경로를 결정하는 역할을 한다. 여기서, 경로 결정부(330)는 인코딩부(310) 에서 출력된 비디오 프레임에 포함된 식별 부호를 이용하여 처리 경로를 결정할 수 있다. 이를 위하여, 인코딩부(310)는 고해상도의 비디오 프레임 또는 저해상도의 비디오 프레임을 생성함에 있어서, 고해상도의 비디오 프레임에 대한 식별 부호와 저해상도의 비디오 프레임에 대한 식별 부호를 삽입할 수 있다.
통신부(360)는 저해상도의 비디오 프레임을 전송하는 역할을 한다. 즉, 통신부(360)는 비교적 작은 크기를 갖는 데이터를 전송하는 것인데, 통신부(360)가 사용하는 통신 방식으로는 이더넷과 같은 유선 통신 방식뿐만 아니라 블루투스, 홈 RF 및 무선 랜과 같은 무선 통신 방식이 포함될 수 있다.
저장부(320)는 고해상도의 비디오 프레임을 저장하는 역할을 한다. 즉, 저장부(320)는 비교적 수신된 비디오 데이터의 특성이 유지된 상태의 비디오 프레임을 저장하는 것이다.
저장부(320)는 하드 디스크, 플래시 메모리, CF 카드(Compact Flash Card), SD 카드(Secure Digital Card), SM 카드(Smart Media Card), MMC 카드(Multimedia Card) 또는 메모리 스틱(Memory Stick) 등 정보의 입출력이 가능한 모듈로서 장치(300)의 내부에 구비되어 있을 수도 있고, 별도의 장치에 구비되어 있을 수도 있다.
또한, 장치(300)는 그 구현 여부에 따라 고해상도의 비디오 프레임을 디스플레이하는 디스플레이부(350)를 구비할 수도 있는데, 디스플레이부(350)는 입력된 영상 신호를 디스플레이할 수 있는 음극선관(CRT, Cathode Ray Tube), 액정 화면(LCD, Liquid Crystal Display), 발광 다이오드(LED, Light-Emitting Diode), 유기 발광 다이오드(OLED, Organic Light-Emitting Diode) 또는 플라즈마 디스플레이(PDP, Plasma Display Panel) 등의 영상 표시 수단이 구비된 모듈로서 전달 받은 영상 정보를 디스플레이하는 역할을 한다.
디스플레이부(350)에 의하여 고해상도의 비디오 프레임이 디스플레이되도록 하기 위하여 장치(300)에는 부호화된 고해상도의 비디오 프레임을 디코딩할 수 있는 디코딩부(340)가 구비될 수 있다.
도 4는 본 발명의 일 실시예에 따른 인코더를 나타낸 블록도로서, 인코더(311 내지 314)는 수신부(410), 블록 분할부(420), 서브샘플링부(430), 부호화부(440) 및 식별 부호 삽입부(450)를 포함하여 구성된다.
수신부(410)는 비디오 데이터를 수신하는 역할을 한다. 여기서, 수신된 비디오 데이터는 카메라로부터 수신된 데이터일 수 있으며, 비디오 데이터를 저장하고 있는 별도의 장치로부터 수신된 데이터일 수 있으며, 네트워크를 통해 수신된 데이터일 수 있다.
또한, 수신부(410)에 의해 수신되는 비디오 데이터는 인코딩부(310)가 부호화를 할 수 있도록 A/D 컨버팅과 같은 적절한 전처리 과정을 거친 비디오 데이터인 것이 바람직하다.
블록 분할부(420)는 수신부(410)에 의해 수신된 비디오 데이터를 소정 크기의 블록으로 분할하는 역할을 한다.
비디오 영상 간의 중복성을 줄이기 위하여 개발된 방법으로 블록 별 움직임 추정 및 보상 방법이 있다. 즉, 화면을 일정한 크기의 단위로 분할하여 단위마다 앞 화면의 어느 곳으로부터 움직여 왔는지 움직임 벡터를 구하고 이를 이용하여 움직임 보상을 한다. 여기서, 일정한 크기로 분할된 화면 블록을 매크로 블록이라 하는데, 이는 8x8의 블록이 4개 모인 것 즉, 16x16의 블록으로 구성된다.
H.261 및 MPEG 등의 비디오 압축 알고리즘은 전술한 매크로 블록을 통한 움직임 보상으로 원래 비디오 데이터에 대한 압축을 수행하는데, 블록 분할부(420)는 수신된 비디오 데이터를 매크로 블록으로 분할하는 것이다.
서브샘플링부(430)는 블록 분할부(420)에 의해 분할된 각 블록을 서브샘플링하는 역할을 한다. 여기서, 서브샘플링 비율은 사용자에 의해 결정될 수 있으며, 네트워크의 대역폭을 감지할 수 있는 수단이 구비되어 있는 경우 서브샘플링부(430)는 감지된 네트워크 대역폭에 대응되도록 블록을 서브샘플링할 수도 있다.
부호화부(440)는 블록에 대한 부호화를 수행하여 고해상도의 비디오 프레임을 생성하고, 서브샘플링된 블록에 대한 부호화를 수행하여 저해상도의 비디오 프레임을 생성하는 역할을 한다. 즉, 부호화부(440)는 블록에 대한 압축 과정을 수행하는 것으로서, 압축 방식으로는 전술한 바와 같이 MPEG-1, MPEG-2, MPEG-4, MPEG-7, MPEG-21, H.263 및 H.264 등이 사용될 수 있다.
부호화부(440)는 블록 분할부(420)에 의해 분할된 블록 및 서브샘플링부(430)에 의해 샘플링된 블록에 대한 부호화를 수행하는데, 각 블록에 대한 부호화를 동시에 수행할 수도 있고 별도로 수행할 수도 있다. 여기서, 각 블록에 대한 부호화를 별도로 수행하는 경우, 부호화부(440)는 부호화가 수행된 순서대로 부호화된 블록을 출력한다. 즉, 임의의 순서대로 부호화를 수행하는 것인데, 출력된 부호 화된 블록은 버퍼(미도시)에 임시로 저장되고, 하나의 프레임에 대한 모든 블록이 저장되면 고해상도의 비디오 프레임 또는 저해상도의 비디오 프레임으로 결합된다.
식별 부호 삽입부(450)는 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임에 식별 부호를 삽입하는 역할을 한다. 고해상도의 비디오 프레임에 삽입되는 식별 부호와 저해상도의 비디오 프레임에 삽입되는 식별 부호는 서로 다를 수 있는데, 부호화부(440)로부터 전달 받은 모든 비디오 프레임에 삽입될 수 있으며, 부호화부(440)로부터 전달 받은 비디오 프레임의 종류가 전환되는 경우에만 삽입될 수도 있다.
도 5는 본 발명의 다른 실시예에 따른 인코더를 나타낸 블록도로서, 인코더(311 내지 314)는 수신부(510), 제 1 부호화부(520), 제 2 부호화부(530) 및 식별 부호 삽입부(540)를 포함하여 구성된다.
수신부(510)는 비디오 데이터를 수신하는 역할을 한다. 여기서, 수신된 비디오 데이터는 카메라로부터 수신된 데이터일 수 있으며, 비디오 데이터를 저장하고 있는 별도의 장치로부터 수신된 데이터일 수 있으며, 네트워크를 통해 수신된 데이터일 수 있다.
또한, 수신부(510)에 의해 수신되는 비디오 데이터는 인코딩부(310)가 부호화를 할 수 있도록 A/D 컨버팅과 같은 적절한 전처리 과정을 거친 비디오 데이터인 것이 바람직하다.
제 1 부호화부(520)는 비교적 낮은 수준의 압축을 수행하여 수신된 비디오 데이터의 특성이 유지된 상태의 비디오 프레임을 생성하는 역할을 한다. 즉, 제 1 부호화부(520)는 고해상도의 비디오 프레임을 생성하는 역할을 하는 것이다.
제 2 부호화부(530)는 비교적 높은 수준의 압축을 수행하여 작은 크기의 비디오 프레임을 생성하는 역할을 한다. 즉, 제 2 부호화부(530)는 저해상도의 비디오 프레임을 생성하는 역할을 하는 것이다.
여기서, 제 1 부호화부(520)는 사용자의 명령에 따라 또는 저장부(320)의 저장 용량에 따라 그 압축률을 다르게 하여 수신된 비디오 데이터에 대한 부호화를 수행할 수 있으며, 제 2 부호화부(530)는 네트워크의 대역폭에 따라 수신된 비디오 데이터에 대한 부호화를 수행할 수 있다.
제 1 부호화부(520) 및 제 2 부호화부(530)는 도 5에 도시된 바와 같이 별도의 부호화부로 구비될 수 있으며, 하나의 부호화부로 구비될 수도 있다. 제 1 부호화부(520) 및 제 2 부호화부(530)가 하나의 부호화부로 구비되는 경우 하나의 부호화부는 수신부(510)로부터 전달 받은 비디오 데이터에 대하여 높은 수준의 압축 및 낮은 수준의 압축을 번갈아 가면서 수행할 수 있다.
제 1 부호화부(520) 및 제 2 부호화부(530)에 의해 각각 생성된 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임은 식별 부호 삽입부(540)로 전달되고, 식별 부호 삽입부(540)는 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임에 식별 부호를 삽입 한다. 제 1 부호화부(520) 및 제 2 부호화부(530)에 의해 각각 생성된 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임은 생성된 순서대로 식별 부호 삽입부(540)로 전달되지 않을 수도 있는데 이에 따라, 식별 부호 삽입부(540)는 제 1 부호화부(520) 및 제 2 부호화부(530)로부터 전달 받은 모든 비디오 프레임에 식별 부호를 삽입할 수 있으며, 전달 받은 비디오 프레임의 종류가 전환되는 경우에만 식별 부호를 삽입할 수도 있다.
도 6은 본 발명의 실시예에 따른 분할된 비디오 데이터를 나타낸 도면이다.
인코더의 수신부(410)가 원본 비디오 데이터(610)를 수신하면, 수신된 원본 비디오 데이터(610)는 블록 분할부(420)로 전달되고, 블록(622)으로 분할되어 분할된 비디오 데이터(620)가 된다. 여기서, 블록(622)은 매크로 블록을 포함한다.
각각의 원본 블록(622)은 서브샘플링부(430)으로 전달되고 서브샘플링되는데, 서브샘플링된 블록(624)는 임시로 버퍼에 저장된다. 그리고, 분할된 비디오 데이터(620)에 포함된 원본 블록(622)과 서브샘플링된 블록(624)는 부호화부(440)에 의해 부호화되는데, 원본 블록(622)에 대한 부호화가 완료되면 이는 고해상도의 비디오 프레임(630)이 되고, 서브샘플링된 블록(624)에 대한 부호화가 완료되면 이는 저해상도의 비디오 프레임(640)이 된다.
도 7은 본 발명의 실시예에 따른 경로 결정부를 나타낸 도면으로서, 인코딩부(310)에서 출력된 고해상도의 비디오 프레임(630) 및 저해상도의 비디오 프레임(640)에 대한 처리 경로가 경로 결정부(330)에 의해 결정되는 것을 나타낸 도면이다.
인코딩부(310)에 의해 출력되는 비디오 프레임은 고해상도의 비디오 프레임(630) 및 저해상도의 비디오 프레임(640)이 혼합된 것이다. 여기서, 고해상도의 비디오 프레임(630)과 저해상도의 비디오 프레임(640)이 무작위로 혼합되어 있으므로, 경로 결정부(330)는 각 비디오 프레임에 삽입된 식별 부호(710, 720)를 이용하 여 비디오 프레임의 종류를 확인하게 된다. 즉, 경로 결정부(330)는 고해상도의 비디오 프레임(630)에 삽입된 식별 부호(이하, 제 1 식별 부호라 한다)(710) 및 저해상도의 비디오 프레임(640)에 삽입된 식별 부호(이하, 제 2 식별 부호라 한다)(720)를 이용하여 비디오 프레임의 종류를 확인하는 것이다.
제 1 식별 부호(710) 및 제 2 식별 부호(720)는 각 비디오 프레임(630, 640)의 앞부분에 삽입되는 것이 바람직한데, 인코딩부(310)는 출력되는 비디오 프레임의 종류가 전환되는 경우에만 제 1 식별 부호(710) 또는 제 2 식별 부호(720)를 삽입할 수도 있다. 이에 따라, 경로 결정부(330)는 제 1 식별 부호(710) 또는 제 2 식별 부호(720)가 삽입된 비디오 프레임이 전달될 때까지의 비디오 프레임을 동일 종류의 비디오 프레임으로 간주할 수 있다.
도 8은 본 발명의 실시예에 따른 다중 목적의 비디오 스트림을 처리하는 과정을 나타낸 흐름도이다.
다중 목적의 비디오 스트림을 처리하기 위하여 장치(300)의 수신부(410)는 우선 비디오 데이터를 수신한다(S810). 여기서, 수신된 비디오 데이터는 카메라로부터 수신된 데이터일 수 있으며, 비디오 데이터를 저장하고 있는 별도의 장치로부터 수신된 데이터일 수 있으며, 네트워크를 통해 수신된 데이터일 수도 있다.
수신된 데이터는 인코딩부(310)의 블록 분할부(420)로 전달되고, 블록 분할부(420)는 전달 받은 비디오 데이터를 소정 크기의 블록으로 분할한다(S820). 여기서, 블록은 일반적인 비디오 데이터의 압축 알고리즘에 사용되는 매크로 블록일 수 있다.
분할된 블록은 서브샘플링부(430)로 전달되고, 서브샘플링부(430)는 전달 받은 블록에 대한 서브샘플링을 수행한다(S830). 여기서, 서브샘플링의 비율은 사용자 명령에 따라 결정될 수 있으며 네트워크 대역폭에 대응되어 자동으로 결정될 수도 있다.
블록 분할부(420)에 의해 분할된 블록 및 서브샘플링부(430)에 의해 서브샘플링된 블록은 부호화부(440)로 전달되고, 부호화부(440)는 블록 분할부(420)로부터 직접 전달 받은 블록에 대한 부호화를 수행하여 고해상도의 비디오 프레임을 생성하고, 서브샘플링된 블록에 대한 부호화를 수행하여 저해상도의 비디오 프레임을 생성한다(S840).
생성된 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임은 식별 부호 삽입부(450)로 전달되고, 식별 부호 삽입부(450)는 전달 받은 비디오 프레임에 고유 식별 부호를 삽입한다(S850). 식별 부호가 삽입된 고해상도의 비디오 프레임 및 저해상도의 비디오 프레임은 임의의 순서대로 경로 결정부(330)로 전달될 수 있는데, 경로 결정부(330)는 전달 받은 비디오 프레임의 종류에 따라 저장 또는 전송되도록 고해상도의 비디오 프레임의 처리 경로 및 저해상도의 비디오 프레임의 처리 경로를 결정한다(S860). 여기서, 경로 결정부(330)는 전달 받은 비디오 프레임에 포함된 식별 부호를 이용하여 처리 경로를 결정할 수 있다.
결정된 경로에 따라 출력된 비디오 프레임 중 저해상도의 비디오 프레임은 통신부(360)로 전달되고 이에 따라, 통신부(360)는 전달 받은 저해상도의 비디오 프레임을 전송한다(S870).
또한, 결정된 경로에 따라 출력된 비디오 프레임 중 고해상도의 비디오 프레임은 저장부(320)로 전달되어 저장된다(S880).
또한, 장치(300)에 디스플레이부(350)가 구비되어 있는 경우 고해상도의 비디오 프레임은 디스플레이부(350)로 전달되어 디스플레이될 수도 있다. 이 때, 고해상도의 비디오 프레임은 디코딩부(340)에서 디코딩된 후에 디스플레이부(350)로 전달된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.