MT4보다 개선된 인터페이스

마지막 업데이트: 2022년 7월 16일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
웹 접근성의 정의, https://seulbinim.github.io/WSA/accessibility.html#%EC%9B%B9%EC%BD%98%ED%85%90%EC%B8%A0-%EC%A0%91%EA%B7%BC%EC%84%B1-%EC%A7%80%EC%B9%A8-wcag

인터페이스

인터페이스 클래스는 (잠재적으로) 무관한 클래스 세트가 공통의 함수 세트를 구현할 수 있도록 하는 데 쓰입니다. 그대로라면 유사성이 없었을 크고 복잡한 클래스들에 어떤 게임 함수 기능을 공유시키고자 하는 경우 매우 좋습니다. 예를 들어 트리거 볼륨에 들어서면 함정이 발동되거나, 적에게 경보가 울리거나, 플레이어에게 점수를 주는 시스템을 가진 게임이 있다 칩시다. 함정, 적, 점수에서 ReactToTrigger (트리거에 반응) 함수를 구현하면 될 것입니다. 하지만 함정은 AActor 에서 파생될 수도, 적은 특수 APawn 또는 ACharacter 서브클래스일 수도, 점수는 UDataAsset 일 수도 있습니다. 이 모든 클래스에 공유 함수 기능이 필요하지만, UObject 말고는 공통 조상이 없습니다. 이럴 때 인터페이스를 추천합니다.

인터페이스 선언

인터페이스 클래스 선언은 일반 언리얼 클래스 선언과 비슷하나, 크게 두 가지 차이점이 있습니다. 첫째, 인터페이스 클래스는 UCLASS 매크로 대신 UINTERFACE 매크로를 사용하며, UObject 를 직접 상속하는 대신 UInterface 를 상속합니다.

둘째, UINTERFACE 클래스는 실제 인터페이스가 아닙니다. 언리얼 엔진의 리플렉션 시스템에 보이도록 하기 위해서만 존재하는 비어 있는 클래스입니다. 다른 클래스에서 상속하게 되는 실제 인터페이스는 같은 클래스 이름에 첫 글자만 "U" 에서 "I" 로 바뀝니다.

.h 파일에서 (예: ReactToTriggerInterface.h ):

함수를 .h 파일에 직접 작성할 수 있는데, 기본적으로 아무 것도 하지 않는 함수이거나 false, 0, 비어 있는 스트링 반환처럼 사소한 동작을 하는 함수의 경우 종종 그렇게 합니다. 보다 복잡한 함수는 .cpp 파일에 작성하여 컴파일 시간을 줄일 수 있습니다. 순수 가상 (pure virtual) 함수가 지원됩니다. 여기 샘플 함수는 .h 파일에 작성해도 될만큼 간단하긴 하지만, .cpp 파일에 작성하도록 하겠습니다. ( ReactToTriggerInterface.cpp 와 같은) cpp 파일에 이제 다음과 같은 부분이 있을 것입니다:

접두사가 "U" 인 클래스는 생성자나 기타 다른 함수가 필요치 않은 반면, "I" 인 클래스는 모든 인터페이스 함수를 포함하며, 다른 클래스에 실제로 상속되는 클래스이기도 합니다.

인터페이스 지정자

이 클래스를 블루프린트에서 변수로 사용할 수 있는 유형으로 노출합니다.

나열된 모든 클래스는 이 클래스에 앞서 컴파일됩니다. ClassName 은 같은 (또는 기존) 패키지의 클래스를 지정해야 합니다. 쉼표로 구분되는 단일 DependsOn 줄, 또는 각 클래스마다 별도의 DependsOn 줄을 사용하여 다중 종속 클래스를 지정할 수 있습니다. 컴파일러는 이미 컴파일된 클래스에 있는 것만 알기때문에, 다른 클래스에 선언된 구조체 또는 열거형을 사용할 때는 중요합니다.

클래스의 형 정보만 다른 모듈에서 사용할 수 있도록 익스포트하게 만듭니다. 클래스는 형변환 가능하지만, 그 클래스의 함수는 (인라인 메서드를 제외하고) 호출할 수 없습니다. 그러면 다른 모듈에서 접근할 수 없는 함수가 모두 필요치 않은 클래스에 대해 모든 것을 익스포트하지 않아 컴파일 시간이 빨라집니다.

C++ 로 인터페이스 구현

새 클래스에서 인터페이스를 사용하려면, 단순히 (사용중인 UObject 기반 클래스에 추가로) 접두사가 "I" 인 인터페이스 클래스를 상속하기만 하면 됩니다.

주어진 클래스의 인터페이스 구현 여부 확인

인터페이스를 구현하는 두 C++ 와 블루프린트 클래스 사이의 호환을 위해서는, 다음 함수 중 하나를 사용하면 됩니다:

U 접두사 클래스에 Cast 를 사용하려고 하면 실패하는 반면, StaticClass 함수는 I 접두사 클래스에 구현되어 있지 않아 컴파일되지 않습니다.

다른 언리얼 유형으로의 형 변환

언리얼 엔진의 형변환 시스템은 한 인터페이스에서 다른 인터페이스로, 또는 인터페이스에서 적합한 경우 언리얼 유형으로 형 변환을 지원합니다.

블루프린트 구현가능 클래스

블루프린트가 이 인터페이스를 구현할 수 있도록 하려면, Blueprintable 메타데이터 지정자를 사용해야 합니다. 블루프린트 클래스가 덮어쓰려는 모든 인터페이스 함수는 BlueprintNativeEvent 또는 BlueprintImplementableEvent 여야 합니다. BlueprintCallable 마킹된 함수는 여전히 호출은 가능할 것이나, 덮어쓰기는 불가능합니다. 다른 모든 함수는 블루프린트에서 접근할 수 없을 것입니다.

현실을 바로보자!!

새로운 기기와 서비스의 출현은 인터페이스의 혁신을 촉진시킨다. 스마트 기기의 역사가 5년 남짓 되는 현재 마우스, 터치스크린, 음성·동작 인식 등 복수의 인터페이스 방식이 하나의 기기에 통합적으로 사용되는 멀티모달 추세가 확대되고 있다. 또한 별도의 신체적 움직임 없이 생각만으로 기기를 조작하는 뇌-컴퓨터 인터페이스도 게임 영역 등에서 사용되기 시작하고 있다.

스마트폰과 태블릿, 스마트 TV에 이어 안경과 시계 형태의 웨어러블 디바이스까지 정말 다양한 형태의 기기들이 소비자들의 일상으로 들어오고 있다. 형태가 다양해지고 구현하는 콘텐츠와 서비스의 종류도 광범위해지면서 기기와 사용자간의 연결 기능을 담당하는 인터페이스 방식 또한 진화를 거듭하고 있다. 특히 최근에는 멀티모달(Multi-modal) 인터페이스가 큰 흐름으로 자리잡기 시작했다. 키보드 마우스 터치 뿐 아니라 펜, 음성, 동작 등 다양한 인터페이스 방식을 하나의 기기에 적용함으로써 기기와 더 직관적인 소통을 가능케 하려는 노력들이 확산되고 있는 것이다. 이와 같이 인터페이스의 목적은 기기와 사용자간 정보의 양방향 흐름을 최대한 직관적으로 가능하게 하는 것인 만큼 궁극적으로는 사용자의 직접 개입을 최소화하면서도 풍부한 경험을 제공할 수 있는 두뇌-컴퓨터간 인터페이스(BCI, Brain-Computer Interface)가 주목 받을 가능성이 높다.

현재까지 혁신의 주역은 마우스와 터치스크린

일반 TV의 리모콘도 대단한 인터페이스의 진화로 꼽을 수 있다. 그러나 과거 인터페이스의 변화를 통한 사용자 편의성 제공과 저변 확대를 획기적으로 체감할 수 있었던 영역은 PC 사용 환경이다. 명령어와 키보드 중심이었던 PC 사용성은 기계적 언어를 별도로 공부하지 않은 일반인에게는 진입 장벽이 상당히 높았다. 1950년대 효과적인 컴퓨터 제어 방안으로 명령어-키보드 기반의 인터페이스가 처음 도입된 후 1980년대 아이콘-마우스가 일반적으로 사용되기 전까지 30여년간 인터페이스 방식은 크게 달라지지 않았으며, 컴퓨터는 소수 전문가들의 영역이었다.

마우스가 처음 발표된 시기는 1968년으로 크고 작은 변화를 거치며 상용화 시점인 1980년대에 이르러 그래픽 기반 사용자 인터페이스의 핵심으로 자리잡는데 성공했다. 전문가들의 입장에서는 명령어 기반의 인터페이스가 여전히 강력하면서도 유연한 도구였지만, 아이콘-마우스로 대변되는 직관적인 그래픽 인터페이스는 일반인의 컴퓨터 사용에 대한 진입 장벽을 낮추는데 큰 역할을 담당했다. 그 이후 30여년간 소형 조이스틱을 탑재한 제품 등 작은 변화의 시도들이 있었지만 마우스의 형태와 기능은 큰 변화 없이 현재까지 이어지고 있다.

데스크톱 이후 이동성이 강조되는 노트북이 등장하면서 터치패드가 새로운 인터페이스로 추가되고 현재 대부분의 터치패드가 멀티터치 기능을 보유하고 있지만, 마우스의 편의성을 완전히 대체하지는 못했다. 그러나 노트북 터치패드는 현재 모바일 기기에 보편적으로 탑재되고 있는 터치스크린 인터페이스의 시초라는 점에서 의미가 크다. 어린 아이도 한번만 만져보면 곧바로 조작이 가능한 터치스크린은 스마트폰의 도입으로 인해 사용자들에게 가장 친숙한 인터페이스로 순식간에 자리매김 했다. 모바일 컴퓨팅 기기로서 다양한 기능을 수행할 수 있도록 고안된 스마트폰은 이동성을 극대화하면서도 사용 편의성을 해치지 않기 위해서 인터페이스의 혁신이 반드시 요구되었다. 2007년 애플의 아이폰은 이러한 조건을 충족시키기 위해 터치스크린이라는 카드를 들고 나왔으며, 많은 사용자들의 지지를 얻으며 태블릿이나 PC로 점차 영역을 확장하고 있다.

스마트폰처럼 기술적 파급력을 극대화할 수 있는 적합한 기기를 만나지 못했을 뿐, 사실 터치스크린도 이미 컴퓨터 사용 환경에서 30년의 역사를 가진 오래된 인터페이스 기술이다. 데스크톱 컴퓨터가 보편화되기 훨씬 이전부터 아주 단순한 형태의 터치스크린은 ATM 기기 등에 탑재되어 별도의 교육훈련 없이 사용자들이 기계와 쉽게 상호작용할 수 있는 수단으로 활용되었으며, 컴퓨터 분야에서도 1983년에 적외선 센서를 적용한 MT4보다 개선된 인터페이스 HP-150과 같은 터치 기능 제품이 출시된 바 있다. 그러나 디스플레이 자체에 정전식 터치 센서가 내장된 아이폰의 멀티 터치 기술로 인해 터치스크린 인터페이스의 성장 잠재력이 다시 불붙게 된 것이 사실이다. 스마트폰과 멀티 터치스크린의 관계처럼 새로운 기기와 서비스의 출현은 인터페이스의 혁신을 촉진시키는 동력으로 작용함을 알 수 있다. 스마트 기기의 역사는 이제 불과 5년 정도임을 감안할 때 앞으로도 근접 거리에서 조작해야 하는 다수의 기기들이 출현할 수 있어 인터페이스의 혁신 방향성을 쉽게 단정짓기 어렵다. 당장 구글 글래스나 애플 아이워치처럼 기기와 사용자간 접점이 매우 제한적인 형태에서는 음성이나 동작 인식 등의 대안이 필요하다.

음성·동작 인식 인터페이스 적용 노력 중

음성이나 동작 인식은 웨어러블 기기에 앞서 스마트 TV에 먼저 적용되기 시작했다. 스마트 기능을 TV에 접목시키고자 하는 기업들의 입장에서 고민되는 주요 요소 중 하나가 인터페이스인데, 이는 통상 시청거리가 2미터 이상인 TV 사용 환경에서 조작의 편의성을 제공하는 것이 만만치 많은 문제이기 때문이다. 버튼식 리모컨은 특히나 수동적인 기존의 TV 환경에서 정확도와 효율성이 가장 높은 인터페이스이며, 수 십 년 동안 이에 익숙해진 사용자들을 다른 인터페이스로 MT4보다 개선된 인터페이스 전환시키는 것은 쉽지 않다. 초기 스마트 TV 모델에는 쿼티 키보드를 장착한 리모콘이 시도된 바 있으나 좋은 반응을 얻지 못했다. 이어 무선 마우스 포인터처럼 TV 화면을 향해 조작할 수 있는 매직 리모콘이 출시되면서 사용 편의성이 다소 개선된 효과를 얻었지만, 음성이나 동작 인식을 적용해 보다 다양한 조작을 가능하게 하기 위한 노력은 계속 되고 있다.MT4보다 개선된 인터페이스

음성 인식 기술은 애플, 마이크로소프트, 구글 등 주요 IT 기업들이 길게는 10여년 전부터 연구해오던 분야이다. 그러나 여전히 잦은 오류와 느리고 어색한 사용 톤으로 보편화되지 못하고 있다. 특히 주변의 소음 간섭이나 타인과 공존하고 있는 공간에서 기계에 소리 내어 명령을 내리는 부자연스러운 사용성이 주요 걸림돌로 지적되고 있다. 그러나 자동차 내부처럼 폐쇄된 개인적 공간 등에서 주행 중 구사하는 제한적인 명령어에 한해서는 상대적으로 전망이 밝다고 할 수 있다.

동작 인식 기술은 스마트폰을 얼굴에 가져가면 통화 연결이 되는 것처럼 기기 자체의 움직임을 감지해 다음 단계에 필요한 작업을 수행하는 기본적인 인터페이스에서부터 마이크로소프트의 키넥트 게임 애플리케이션처럼 사용자의 손이나 신체의 움직임을 인지해 의도된 명령을 수행하는 고도화된 인터페이스로 나뉠 수 있다. 기본적인 동작 인식은 기기에 자력계·가속도계나 자이로스코프 등의 센서를 탑재해 비교적 단순하게 구현할 수 있지만, 카메라나 적외선을 이용해 사용자의 움직임 자체를 명령어로 처리하는 과정은 하드웨어적 정교함은 물론 다양한 명령어를 몇 가지 동작으로 일반화하여 수행하도록 하는 알고리즘에 대한 고민이 수반된다. 이러한 과정을 거쳤다 하더라도 동작 인식 인터페이스에 대해 회의적인 진영은 사용자들이 직관적으로 구사할 수 있는 단순한 동작의 수가 제한적이라는 사실에 주목한다. 기기 조작을 위해 특별히 배우고 기억해야 하는 동작이 많아진다면 이를 수용할만한 사용자는 많지 않을 것이다.

지금은 멀티모달 인터페이스가 대세로

컴퓨팅, 커뮤니케이션, 엔터테인먼트 기기 전반에 걸쳐 하나의 기기에 복수의 인터페이스를 적용하려는 움직임이 활발하다. 터치스크린과 마우스를 동시에 사용할 수 있는 노트북이나, 음성·동작·리모콘 인식이 모두 가능한 스마트 TV는 주변에서 어렵지 않게 볼 수 있다. 터치스크린이라도 촉각을 자극하는 햅틱 기능을 통합한 인터페이스는 사용자에게 더욱 풍부하고 색다른 경험을 제공하려는 목적을 가지고 있다. 터치 버튼을 누르면 진동하는 단순한 기능은 이미 보편적으로 적용되고 있지만 향후에는 햅틱 기술로 스크린 표면을 통해 사물의 질감을 표현하는 단계로 발전할 것으로 업계는 예상하고 있다. 이 외에도 안면·표정 변화를 읽어내는 MT4보다 개선된 인터페이스 감성 인식, 사람의 시선이 어디를 어떤 순서로 얼마나 오래 보는지를 읽어내는 아이트랙킹(Eye tracking) 인식 등 차세대 멀티모달의 재료들은 한두 가지가 아니다.

2013년 1월 인텔이 소개한 “Perceptual computing(지각적 컴퓨팅)”은 직관적 사용 편의성과 부족함 없는 컴퓨팅 파워를 구비한 모바일 디바이스의 시장 잠식으로부터 PC 수요를 방어하기 위한 중요한 수단으로서 멀티모달 인터페이스를 시도한 MT4보다 개선된 인터페이스 MT4보다 개선된 인터페이스 사례이다. 카메라가 장착된 PC가 손 동작을 인식하며 구동되는 모습은 마이크로소프트의 키넥트와 유사제품처럼 보인다. 그러나 Perceptual computing 아이디어는 인텔이 판매하고자 하는 개별 제품이나 플랫폼이라기보다 인터페이스적 관점에서 인텔이 그리고 있는 컴퓨팅 기기들의 지향점을 보여준다. 적외선의 깊이 감지 센서와 HD 웹켐, 마이크로폰, 소트프웨어 개발 패키지로 구성된 Perceptual computing 키트는 사용자가 해당 시점에 사용하는 애플리케이션에 따라서 키보드, 마우스, 터치스크린, 음성·동작을 통해 기기를 조작하고, 때로는 복수의 인터페이스를 동시에 사용하며 기기와 상호작용하는 환경이다.

하이테크 세상은 “Intel inside”같은 단순 하드웨어적 차별성·신뢰성 대신 사용자에게 특별한 경험을 제공하는 가치 중심으로 변했으며, 인텔의 입장에서도 컴퓨터의 두뇌에 감각을 더해줌으로써 사용자를 제대로 인지하고, 컴퓨터와의 상호작용을 더욱 직관적으로 만들어줄 필요를 느끼는 것이다. 인텔이 제시하고 있는 시제품이 가치를 인정받을 수 있는 특별한 애플리케이션으로 무엇이 있을까 하는 의구심은 존재한다. 그러나 업계 전문가들은 미래의 기기 사용 환경은 복수의 인터페이스들이 얼마나 조화롭게 동시 사용될 수 있느냐가 관건이기 때문에 인텔이 자연스러운 멀티모달 인터페이스 구현을 적극적으로 연구하고 있다는 사실을 긍정적으로 평가하고 있다.

미래형 인터페이스는 단순함과 편리함 지향

2013년은 구글 글래스로 인해 웨어러블 기기의 인터페이스에 대한 관심이 높았다. 몸에 착용하는 웨어러블 기기는 크기가 작을수록 좋을 뿐만 아니라 결코 무겁거나 복잡한 형태를 가져갈 수 없다. 이러한 제약 조건하에서 사용자가 기기를 자연스럽고 편하게 조작하는 것은 쉽지 않아 보인다. 결과적으로 음성인식과 함께 안경 측면에 위치한 터치패널의 조합으로 구성된 구글 글래스는 한편으로 기기 자체가 매우 새로운 인터페이스의 역할을 충실히 수행한다고 할 수 있다. 예를 들어, 실내 외 보행 중 내비게이션 기능을 증강현실로 구현하거나 연동된 스마트폰에 메시지가 왔을 때 자동으로 통보해주는 제2의 스크린으로서 편의성을 제공해준다. 소형 프로젝션 화면은 바로 눈 앞에서 대단한 조작 없이 많은 정보들을 즉시 표시해줄 수 있다. 스마트폰을 가방이나 호주머니에서 꺼내고 몇 번의 버튼 조작 과정을 거쳐야 알 수 MT4보다 개선된 인터페이스 있는 정보들을 거의 자동으로 습득하게 되는 편리함이다.

MIT 미디어랩에서 주변 사물과 공간을 사용자에게 보다 자연스럽게 연결해주는 인터페이싱 방법을 연구하는 패티 메이즈 (Pattie Maes) 교수는 현재 기기의 사용 한계를 ▲Blind ▲Passive ▲Disruptive 등 세가지로 요약하고 있다. 즉, 기기 자체는 현재의 상황에 대해 아는 것이 없는 캄캄한 상태이고, 사용자가 명령을 해야만 반응하는 수동적인 특성을 가지고 있으며, 사용자가 기기와 상호작용을 하기 위해서는 하던 일을 멈추고 순간이더라도거의 100%에 가까운 주의를 기울어야 하는 불편함이 있다. 따라서 메이즈 교수는 미래의 기기는 ▲Context-aware ▲Proactive ▲Integrated 되는 형태로 나아가야 한다고 주장한다. 기기에 장착된 수많은 센서와 소프트웨어 알고리즘이 상황과 맥락을 해석/이해하고 사용자가 바로 그 시점에 효용을 얻을 수 있는 정보를 능동적으로 제공하며, 이러한 과정에서 사용자의 직접 조작이나 개입은 최소화되어 자연스럽게 기기-사용자가 상호작용하는 모습을 그리고 있다. 특히 인터페이스적으로 Disruptive가 Integrated 형태로 진화하게 되면 무엇이 달라질지 간단한 예를 들어 보자. 대형 서점에 책을 구입하러 갔다고 가정할 때 지금은 스마트폰을 꺼내어 검색 창에 책 제목을 입력하고 그에 대한 리뷰 정보 등을 수작업으로 찾아보게 된다. 몇 년 후 MT4보다 개선된 인터페이스 동일 인물은 안경형 기기를 착용하고 역시 대형 서점을 들어가 관심 있는 책을 집어 들고 응시한다. 책의 표지 디자인이나 마케팅 문구 등을 읽어 내려갈 때 안경형 기기는 해당 도서와 관련돼 사용자가 가장 원할만한 정보를 눈앞에 자동으로 표시해 준다. 물론 사용자가 원할만한 정보는 사용자의 과거 정보 탐색 행태 및 취향을 반영하여 맞춤형으로 선별된다. 이렇듯 인터페이스의 미래 가치는 사용에 대한 심리적 부담이나 학습 과정 필요 없이 자연스럽고 직관적인 제어를 가능하게 하면서도 사용자가 하고 있던 일을 멈추지 않고 상호작용할 수 있는 단순함과 편리함이라고 할 수 있다.

궁극의 모습은 생각과 현실 세계의 직접적 통합

공교롭게 2009년 동시에 개봉한 할리우드 영화 서러게이트와 아바타는 일종의 대리 로봇을통해 주인공의 생각이 현실에서 그대로 실행되는 내용을 담고 있다. 위험하거나 접근이 불가능한 환경 안에서 대리 로봇은 모든 물리적인 위험을 감수하면서 등장인물의 생각을 그대로 수행하는 것이다. 공상 과학 영화에서나 가능한 장면이지만 이렇게 인간의 뇌가 컴퓨팅 기기나 로봇 등의 기계 장치에 연결되어 생각만으로 제어하는 기술을 뇌-컴퓨터 인터페이스(Brain-Computer Interface, BCI)라고 한다. 음성이나 동작 무엇 하나 인위적으로 사용하지 않으면서 기기와 상호작용하는 극단적인 단순함과 편리함이 실현되는 것이다. 영화의 장면을 떠올리면 터무니없이 허황돼 보이지만, 실제로 단순한 BCI를 상용화한 애플리케이션은 의료나 게임 영역에서 서서히 등장하고 있다.

뇌를 통해 사용자의 기기 제어 의도를 감지하는 접근법은 세가지가 있다. ▲뇌의 활동 상태에 따라서 주파수가 다르게 발생하는 뇌파를 이용하는 방법, ▲뇌 특정 부위 신경 세포의 전기적 신호를 이용하는 방법, ▲기능성 자기공명 영상촬영 장치를 이용해 뇌 안에서 혈액이 몰리는 영상을 이용하는 방법 등이다.

BCI 기술은 1990년대 후반 실험실 수준에서 사용자가 컴퓨터 화면의 커서를 움직여 의사소통을 가능하게 하는 등의 성과를 보여주기 시작한 이래 2000년대부터 상당히 활발한 연구가 진행되고 있다. 주로 전신 마비 환자를 대상으로 단순한 전기 신호를 읽어 컴퓨터 화면에 메시지를 작성하고, 휠체어나 로봇 팔 등을 조작함으로써 삶의 질을 개선시키기 위한 목적으로 상용화되고 있다. 대표적으로 MIT, 브라운 대학 등 다수의 기관과 협업하고 있는 BrainGate社가 개발한 반도체 칩은 환자의 뇌에 이식되어 생각만으로 전자우편을 보내거나 게임기, TV 수상기를 제어하고, 로봇 팔을 움직여 커피잔을 잡아 마시고 다시 테이블에 올려 놓는 등의 행동을 가능하게 한다.

최근에는 의료 분야를 넘어 일반 사용자를 대상으로 하는 애플리케이션으로 BCI 영역이 확장하고 있는데 주목할 필요가 있다. 초기 단계이긴 하지만 게임 애플리케이션이 대표적인데 미국의 NeuroSky社와 Emotiv社는 뇌파의 미세하지만 독특한 변화를 모니터링해 상호작용하는 블루투스 헤드셋, 느낌과 감정에 관련된 뇌파를 읽는 헤드셋 등을 출시해 게임에서 생각만으로 특정 명령을 내리거나 감정과 관련된 사진을 검색하는 등의 역할을 수행한다. 캐나다의 InteraXon社는 스마트폰이나 태블릿과 무선으로 연결되어 뇌파를 실시간으로 분석해 뇌 운동을 돕거나 스트레스를 조절하고 집중도는 높일 수 있는 헤드밴드를 출시했다. 여기에는 게임 등의 기기를 뇌파로 직접 조작하는 기능도 포함되어 있다.

뇌의 활동은 단순히 현재 상황을 제대로 분석하는 것만으로도 실질적인 사용자 가치를 줄 수 있다. 일부 자동차 제조사들이 개발 중인 졸음을 감지하는 헤이밴드는 운전자의 상태에 따라 자동으로 비상등을 깜빡여줄 수 있고, DARPA(미국 방위고등연구계획국)가 연구하고 있는 기술은 시시각각 변하는 파일럿의 인지적 상황에 따라서 본부로부터의 추가 정보 전달 방식을 음성이나 그래픽 모드간 자동 변환하는 인터페이스로 정확한 의사결정을 지원한다. MIT가 소개한 아이디어처럼 현재 스트레스 지수가 높거나 급하게 처리해야 하는 정보량이 많을 경우 컴퓨터 인터페이스가 자동으로 업무량을 조절해주는 등의 애플리케이션은 구성원의 정신 건강이나 업무 효율성을 높이는 방안으로 구상되고 있다.

보편화 위해서는 초소형·비침습형 센서 필요

뇌-컴퓨터 인터페이스가 사용층을 넓혀 보다 보편적인 애플리케이션으로 발전하게 위해서는 하드웨어적인 개선이 반드시 필요하다. 뇌의 활동을 측정하는 방식은 기본적으로 침습형과 비침습형으로 나뉘는데, 침습형(invasive) 방식은 전극/마이크로칩을 외과적으로 두피에 시술해 뇌파를 측정하는 방식이고, 비침습형(non-invasive) 방식은 헤드셋이나 헤드밴드를 겉으로 착용해 뇌파를 측정하는 방식이다. 비침습형은 침습형에 비해 사용법이 간편하여 실용화 측면에서 반드시 필요하지만 잡신호가 섞여 정확하고 세밀한 측정이 어렵다는 한계가 있다.

전신 마비 환자들을 대상으로 하는 애플리케이션의 경우에는 삶의 질 개선에 절대적으로 기여한다는 측면에서 정확한 기기 조작을 위해 외과적 시술을 감수한다. 그러나 일반적인 사용자가 양 손을 사용하지 않으면서도 자연스러우면서 직관적인 명령을 시스템에 직접 내릴 수 있다고 해서 뇌에 전극이나 센서를 이식하지는 않을 것이다. 현재는 간단한 수준의 뇌 센싱 기능이 헤드셋이나 헤드밴드 형태로 구현되는 초기 상황인데, 이 또한 게임 시간에만 잠깐씩 착용하는 것을 용인하는 수준이지, BCI를 상시 착용할 수 있는 형태와는 거리가 멀다. 주류 시장에서 고객을 확보하기 위해서는 크기를 훨씬 작게 만들면서 방대한 뇌의 움직임을 읽고 의도를 감지해낸 후, 복잡할 수 있는 제어 정보를 무선으로 전송하는 기술적 어려움을 극복하는 것이 관건이다.

상호보완적 역할로 출발할 듯

과거 인터페이스 혁신을 주도한 마우스나 터치스크린이 순식간에 주류 시장으로 편입된 것처럼 보이지만, 사실 이들 모두 기술적 개념 소개나 시제품 시연은 1960년대 중·후반에 이뤄진바 있다. 기술적 완성도와 애플리케이션 활용성이 일반 대중에게 인정을 받고 상업적 선택을 받기까지 30~40여년이 소요된 셈이다. 뇌-컴퓨터 인터페이스의 경우에도 1990년 후반을 시작 시점으로 보자면, BCI가 단독으로 특정 기기를 조작하면서 충분한 사용자 가치를 제공하기까지는 오랜 시간이 걸릴 것으로 예상된다. 그러나 앞서 언급한 멀티모달 추세대로 BCI 또한 일차적으로는 타 인터페이스와 역할 분담을 고려하여 상호보완적으로 적용될 것으로 예상된다. 즉, 하이브리드 형태로 출발해 단계적으로 독립성을 확보하는 형태로 진화할 수 있다. 예를 들어, 시선의 움직임을 감지해 자동 스크롤을 해주거나 시선이 일정 시간 정지해 있는 콘텐츠에 대해서 추가 정보를 제공하라는 명령을 내리는 아이트랙킹(eye tracking) 웨어러블 기기가 있다고 하자. 정지된 시선이나 깜빡이는 움직임이 해당 명령을 내리는 의도된 행동일 수도 있지만 무의식적으로 일어나는 돌발상황일 여지도 충분하다. 그렇다면 의도와 무의식 사이에 명확한 구분이 필요한데 이를 보완해주기 위해 뇌파 감지 센서를 안경 다리 부분에 탑재한다면 기기의 오작동 염려를 확실히 낮춰줄 수 있다.

2013년 4월 미국 오바마 정부는 미래 10년 장기 프로젝트로 “Brain Activity Map”을 선정하고 당장 내년인 2014년에만도 1억 달러의 예산 투입을 약속했다. 해당 프로젝트의 주요 목적은 신경 MT4보다 개선된 인터페이스 세포의 활동을 완벽히 파악해 알츠하이머 같은 다양한 뇌 관련 질병을 치료할 수 있는 기반을 마련하는데 있지만, 인간의 인지적 메커니즘을 규명하는 연구 결과물은 BCI 분야의 발전에도 크게 기여할 것으로 예상된다. 업계는 복잡한 뇌의 전체적인 지도가 완성되기 전에라도 2년 내 리모콘 인터페이스 등에 의미 있는 변화를 유발할 새로운 뇌-컴퓨터 인터페이스 제품들이 출시될 수 있을 것으로 내다보고 있다.

디자이너의 생각 노트

1990년대 중반, Netscape에서는 Netscape Navigator라는 웹 브라우저를 개발했습니다. 여기에 LiveScript라는 스크립트 언어를 이해하고 실행할 수 있는 엔진(Interpreter)을 더하여 웹 브라우저를 출시했습니다.

Netscape는 Netscape Navigator를 홍보하기 위한 차원으로 당시 한창 흥행했던 Java의 이름을 빌려 LiveScript의 이름을 JavaScript로 변경했습니다. 이것이 우리가 아는 JavaScript의 시초입니다.

그 무렵 Microsoft에서는 Netscape에서 개발한 JavaScript를 교묘하게 베껴서 JScript라는 언어를 읽고 해석하는 Internet Explorer를 개발하게 됩니다. 이렇게 두 종류의 브라우저가 등장하게 되면서 웹 개발자들은 크로스 브라우징 이슈가 발생하지 않도록 신경써야 했기 때문에, 당시 웹 페이지를 개발하는 일은 여간 어려운 일이 아니었습니다.

보다못한 Netscape는 ECMA International라는 정보 통신 분야에서의 표준 제정을 담당하는 비영리 웹 표준화 기구에 찾아가 자신들이 만든 JavaScript를 웹 표준 스크립트 언어로 규격화하자고 제안합니다. 그에 따라 ECMA-262라는 기술 규격 아래 ECMAScript라 불리는 스크립트 언어 문법 체계가 탄생합니다. 보다 자세히 말하자면 ECMAScript는 웹 브라우저에서 동작하는 언어 또는 그 언어를 해석하는 브라우저 엔진을 만들 때 지켜져야 하는 문법 측면의 사항들을 문서화한 것입니다.

한국어에 비유하자면 ECMA International은 국립국어원, ECMA-262는 대한민국 표준어, ECMAScript는 한국어의 표준 맞춤법에 해당합니다. 이렇게 1997년 ECMAScript 1 (ES1)을 시작으로 1998년에는 ECMAScript 2 (ES2), 1999년에는 ECMAScript 3 (ES3), 그리고 2000년에는 ECMAScript 4 (ES4)가 구축되었습니다.

ECMAScript
비영리 웹 표준화 기구인 ECMA International이 ECMA-262 기술 규격에 의해 정의되고 표준화된 스크립트 프로그래밍 언어 및 그것의 문법 체계를 가리킵니다.

그 와중에 Internet Explorer의 점유율은 크게 증가하여 무려 90%라는 높은 점유율을 기록하기에 이릅니다. 입지가 급격히 커진 Microsoft는 ECMAScript 표준안 구축이 자신들의 뜻과 맞지 않는 방향으로 흘러가게 되자 2000년도부터 그 과정에 참여하지 않게 됩니다.

2004년 즈음에 Mozilla에서 Firefox를 개발하여 그 다음 차수의 ECMAScript 표준안 구축을 시도했으나, Firefox를 구성하는 ActionScript라는 언어와 Tamarin이라는 브라우저 엔진은 기존의 JavaScript, JScript과 이질적인 측면이 많았기에 새로운 표준안 구축을 진행하는데에는 무리가 있었습니다. 표준안 구축이 더뎌지는 와중에도 여러 크고 작은 브라우저들이 계속 생겨나게 되면서 크로스 브라우징 이슈에 대한 웹 개발자들의 부담은 커져만 갔습니다.

그러다가 2008년에 구글이 개발한 고성능 브라우저인 크롬 브라우저를 출시됨에 따라 상황은 일단락되고, Netscape, Microsoft, Mozilla, Google이 다시 협력하여 2009년에 ECMAScript 5 (ES5)를, 2015년에 ECMAScript (ES6) 표준안을 구축하는데 성공합니다. 이후로 ES5, ES6 내용의 일부를 수정하기를 반복하여 현재는 ECMAScript 11 (ESC11)까지 출시되었습니다.

현재는 모든 브라우저들이 ECMAScript의 표준 사항을 잘 따르고 있습니다. 따라서 이전과 달리 웹 개발자가 웹 사이트, 웹 어플리케이션을 하나씩만 제대로 만들어도 모든 브라우저에서 문제 없이 구동할 수 있게 되었습니다.

ES5와 ES6은 실질적인 웹 표준에 해당합니다. 하지만 모든 인터넷 사용자들이 최신 버전의 브라우저를 사용하고 있는 것은 아닐 뿐더러 아직까지는 현존하는 모든 브라우저가 ES6 문법의 모든 부분과 100% 호환되지는 않습니다. 그를 위해 ES6 문법에 맞게 코딩한 후 이를 Babel이라는 JavaScript 컴파일러로 Transpile(트랜스파일)하여 이전 버전의 문법인 ES5로 변환합니다. 덕분에 크로스 브라우징 이슈가 발생할 일도 없고 보다 개선된 표준 환경에서 개발할 수 있게 되었습니다.

Babel
신 버전의 JavaScript 문법을 브라우저가 이해할 수 있는 구 버전의 JavaScript 문법으로 변환해주는 Transpiler 입니다. ES6 문법으로 작성된 JavaScript 코드를 ES5 문법으로 변환하여 컴파일하는 등의 상황에서 사용됩니다.

웹 접근성

웹 접근성은 웹을 사용하는 모든 사람들로 하여금 저마다의 신체적, 환경적 조건에 구애받지 않고 웹 사이트가 제공하는 정보에 동등하게 접근할 수 있도록 보장함을 의미합니다.

신체적 측면에서는 장애인, 고령자 등을, 환경적 측면에서는 사용자가 사용중인 기기의 기종, 운영체제, 브라우저 여부에 관계없이 일반 사용자와 동등하게 웹을 사용할 수 있어야 비로소 웹 접근성을 충족한다고 말합니다.

웹 접근성을 충족하는 예시에는 스크린 리더(시각장애인이 웹을 사용할 때 화면에 나타나는 정보들을 읽어서 음성으로 들려주는)와 같은 것들이 있습니다.

웹 접근성의 정의, https://seulbinim.github.io/WSA/accessibility.html#%EC%9B%B9%EC%BD%98%ED%85%90%EC%B8%A0-%EC%A0%91%EA%B7%BC%EC%84%B1-%EC%A7%80%EC%B9%A8-wcag

이렇듯 웹은 신체적, 환경적 제약 없이 정보를 동등하게 전달하기 위해 만들어진 정보 전달 체계입니다. 웹 접근성의 목표는 제약에 의한 정보 격차를 해소하는 것에 있습니다. 웹 접근성을 준수하는 웹 사이트/어플리케이션은 모든 이로 하여금 원하는 정보에 쉽고 자유롭게 접근할 수 있도록 합니다.

W3C(World Wide Web Consortium)라는 웹 표준화 기구의 산하 기구인 WAI(Web Accessibility Initiative)에서는 웹 접근성에 관련된 표준과 지침을 1990년대부터 제정하기 시작했습니다. WAI의 웹 콘텐츠 접근성 지침(WCAG 2.0)에서는 다음의 4가지 영역을 다룹니다.

(1) 인지성 - Perceivable

  • 모든 텍스트가 아닌 콘텐츠에 대체 텍스트를 사람들이 원하는 인쇄, 점자, 음성, 기호 또는 간단 언어 등과 같은 형태로 제공해야 한다.
  • 시간을 바탕으로 한 미디어에 대한 대안을 제공해야 한다.
  • 정보와 구조의 손실 없이 콘텐츠를 다른 방식(예를 들면 더욱 간단한 형태로)들로 표현할 수 있어야 한다.
  • 사용자들이 보다 쉽게 보고 들을 수 있는 전경에서 배경을 분리한 콘텐츠를 만들어야 한다.

(2) 운용성 - Operable

  • 키보드로 모든 기능을 사용할 수 있도록 해야 한다.
  • 읽기 및 콘텐츠를 사용하는 사용자에게 충분한 시간을 제공해야 한다.
  • 알려진 방법으로 발작을 일으킬 수 있는 콘텐츠를 디자인하지 않아야 한다.
  • 사용자가 탐색하고, 콘텐츠를 찾고 그들이 어디에 위치하고 있는지를 알 수 있도록 도와주는 방법을 제공해야 한다.

(3) 이해성 - Understandable

  • 텍스트 콘텐츠를 판독하고 이해할 수 있도록 만들어야 한다.
  • 웹 페이지의 탑재와 운용을 예측 가능한 방법으로 제작해야 한다.
  • 사용자의 실수를 방지하고 수정할 수 있도록 도와야 한다.

(4) 견고성 - Robust

  • 보조 기술을 포함한 현재 및 미래의 사용자 에이전트의 호환성을 극대화해야 한다.

웹 콘텐츠 접근성 지침, https://seulbinim.github.io/WSA/accessibility.html#%EC%9B%B9%EC%BD%98%ED%85%90%EC%B8%A0-%EC%A0%91%EA%B7%BC%EC%84%B1-%EC%A7%80%EC%B9%A8-wcag

대한민국의 경우에는 WCAG를 바탕으로 대한민국 고유의 국가적, 사회문화적 특수성을 고려하고자 보완된 웹 접근성 지침인 KWCAG를 제정했습니다. 관련 내용은 아래 링크에 명시되어 있습니다.

웹 표준

웹 표준은 사용자가 어떠한 환경에 놓이더라도, 즉 사용하는 기기, 운영체제, 브라우저에 관계없이 누구나 동등하게 정보에 접근(보거나 듣거나 등)할 수 있도록 웹에서 채택하는 표준 기술/규칙입니다. 즉 웹 표준은 웹에서 표준적으로 사용되는 기술/규칙을 뜻합니다.

웹 표준은 웹 표준화 기구인 W3C에서 결정됩니다. 아래 그림은 W3C에서 웹 표준이 확정되는 순서를 나타냅니다. Step1부터 Step4까지의 순서로 웹 표준이 결정되는데 여기서 오직 Step4에 해당하는 확정 권고안만이 표준으로 인정됩니다.

표준으로 인정되지 않은 모든 사항들은 비표준으로 간주됩니다. 예를 들어 특정 브라우저에서만 동작하거나 일부 사용자에게 불편함을 가져다주는 HTML 태그와 같은 것들은 비표준에 해당합니다.

웹 표준 채택 프로세스, https://seulbinim.github.io/WSA/standards.html#%EC%9B%B9%ED%91%9C%EC%A4%80-%EC%9D%B4%EB%9E%80

웹 표준을 지켰을 때의 장점은 다음과 같습니다.

(1) 웹 접근성의 향상

  • 웹 표준은 사용자들의 웹 접근성을 향상시키기 위한 목적으로 설계된 규칙입니다. 따라서 웹 표준을 잘 지켜서 만들어진 웹 서비스(사이트, 어플리케이션 등)는 그렇지 않은 서비스보다 사용자들에게 더 나은 웹 접근성을 제공합니다. 웹 표준을 준수한 서비스는 어느 환경에서나 정보 컨텐츠가 동일하게 표시되기 때문입니다.
  • 또한 웹 표준을 준수하여 웹 접근성이 향상됨에 따라 사용자들이 겪게 될 호환성 문제를 최소화할 수 있습니다.

(2) 검색 엔진 최적화에 부합

  • 검색 엔진 최적화는 해당 웹 페이지가 검색 결과에서 높은 순위를 차지하도록, 즉 (앞 페이지, 위쪽에서) 최대한 가장 먼저 보이도록 하는 작업입니다.
  • 이러한 최적화 과정에서 웹 크롤러 봇은 웹 페이지를 탐색하여 분류하는데, 웹 표준을 준수하도록 웹 페이지를 만들면 (HTML 문서 내 태그를 통한 정확한 문서 정보 제공, 시맨틱 마크업 등) 크롤러 봇이 그 페이지를 보다 더 쉽게 이해할 수 있습니다. 이는 해당 웹 페이지가 검색 결과 시 더 높은 순위를 가져갈 수 있도록 합니다.

(3) 구조와 표현의 분리

(4) 개발 효율 증대

  • 동일한 코드로 기기, 운영체제, 브라우저 등 모든 플랫폼에 대응할 수 있어 개발을 보다 효율적으로 진행할 수 있다.
  • 또한 앞서 언급한 검색 엔진 최적화의 경우, 그러한 최적화에 부합하도록 짜여진, 즉 웹 크롤러 봇이 더 쉽게 이해하는 웹 페이지 구조는 사람(개발자) 입장에서도 더 이해하기 쉽습니다. 이는 유지보수의 용이함과도 직결됩니다.
  • 추가적으로, 서버 비용 절감과 운영의 효율성 향상을 도모한다는 점에서 (기업 입장에서는) 경제적입니다.

웹 접근성과 웹 표준의 관계

웹 접근성이 나무라면 웹 표준은 나무 뿌리와 같습니다. 이는 웹 접근성을 높이는 가장 기본적인 방법이 바로 웹 표준 준수임을 의미합니다. 웹 표준을 지킨다고 모든 웹 접근성 문제가 해결되는건 아니지만 웹 표준은 웹 접근성을 위한 보조 도구가 웹을 좀 더 쉽게 이해할 수 있도록 하므로 웹 접근성은 웹 표준을 지키는 것에서부터 시작된다고 할 수 있습니다. 따라서 웹 접근성을 저해하는 비표준 요소들은 웹 개발 과정에서 배제되어야 합니다.

여러 가지 웹 표준화 기구들

W3C

W3C(World Wide Web)는 웹을 위한 표준을 개발하고 장려하는 기구로, CSS, 웹 접근성 등 여러 가지 표준을 관리합니다.

World Wide Web Consortium (W3C)

Decentralized Identifiers (DIDs) v1.0 is a W3C Recommendation 19 July 2022 | Archive The Decentralized Identifier Working Group has published Decentralized Identifiers (DIDs) v1.0 as a W3C Recommendation. This document defines Decentralized identifiers (DI

WICG

W3G 산하의 표준화 기구입니다. 오래되고 안정화된 표준들은 W3G에서, 웹에서 새롭게 등장하는 신규 표준들은 WICG에서 관리합니다.

Web Incubator Community Group (WICG)

Attributions Icons: Document by Icons8, Link made by SimpleIcon, from Flaticon. Header font is "Nexa", from Fontfabric.

WHATWG

Apple, Mozilla, Opera가 모여서 만든 표준화 기구입니다. 웹 어플리케이션 관련된 표준들을 주로 관리합니다. W3C의 단점 중 하나였던 느린 표준화 속도를 해결하고자 WHATWG는 표준 업데이트를 자주 하되 그에 대한 호환성도 검증해서 보여주자는 취지로 설립되었습니다. 여담으로, WHATWG의 발탁으로 인해 HTML5이 새로 발표되기도 했습니다.

Web Hypertext Application Technology Working Group (WHATWG)

ECMA International

컴퓨터 관련 기술 표준을 관리하는 기구입니다. 특히 JavaScript 표준을 관리하는 것으로 잘 알려져 있습니다. 각각의 표준에 번호를 붙이는 방식으로 관리하는게 특징입니다.

Home - Ecma International

Ecma International is an industry association dedicated to the standardization of information and communication systems Ecma is driven by industry members to meet their needs, providing a healthy competitive landscape based on differentiation of products a

TC 39

ECMA International 산하의 조직으로, ECMA International에서 관리하는 표준 중에서 JavaScript 관련 표준만을 담당하는 기구입니다. 3가지의 JavaScript 표준, 보다 자세하게는 ECMAScript 표준인 ECMA-262, ECMAScript International API 표준인 ECMA-402, JSON 표준인 ECMA-404를 정의/관리/논의합니다.

TC39 – Specifying JavaScript.

TC39 Ecma International's TC39 is a group of JavaScript developers, implementers, academics, and more, collaborating with the community to maintain and evolve the definition of JavaScript. We are part of Contribute TC39 welcomes contributions from the Java

IETF

인터넷 전반에 대한 운영, 관리, 개발을 협의하고 기술 프로토콜을 만들어 인터넷 환경에서 사용 가능한 표준을 구축하는 기구입니다. 대표적으로 http 관련 스펙을 다룹니다. ECMA International과 마찬가지로 각 표준에 번호를 붙여서 관리합니다.

드레노어의 전쟁군주: 개선된 사용자 인터페이스

월드 오브 워크래프트: 드레노어의 전쟁군주 확장팩은 퀘스트 추적부터 계승 장비 및 장난감 보관을 더욱 용이하게 해줄 소지품 관리 기능까지, 더욱 개선된 다양한 신규 사용자 인터페이스를 선보입니다.

퀘스트 목록

다음 확장팩에서는 퀘스트 사용자 인터페이스가 업데이트되어 퀘스트를 수행하기 위해 어디서 무엇을 해야 하는지 한눈에 파악할 수 있으며, 줄거리에 속하는 주요 퀘스트와 그에 딸린 보조 퀘스트를 구분하기 쉽도록 정리했습니다. 다음 퀘스트를 수행하기 위해 이동하며 혹시나 중요한 줄거리 요소를 놓치진 않을까 걱정하지 않으셔도 됩니다. 물론, 여러분들이 즐기실 수 있는 목록에 표시되지 않는 깜짝 놀랄만한 이벤트도 있습니다.

소지품 시스템

Inventory system improvements

소지품 시스템에 여러 개선사항을 준비 중이며, 많은 물건을 정리하기 힘들었던 부분을 보완할 기능을 추가하고 있습니다.

  • 퀘스트 아이템: 퀘스트 아이템이 더는 소지품 목록의 칸을 차지하지 않고, 퀘스트 사용자 인터페이스로 이동됩니다.
  • 가방 분류 기능: 필요한 아이템을 찾기 위해 가방의 아이콘을 뚫어져라 살펴야 했던 시절은 곧 지나가게 될 것입니다. 수집하거나 보상받는 아이템은 먼저 지정한 가방으로 자동적으로 들어가게 될 것입니다.
    • 가방마다 방어구, 음식, 회색 아이템 등, 특정 종류의 아이템만을 담도록 지정할 수 있습니다.
    • 아이템의 아이콘 테두리에 색이 표시되어 아이템의 등급을 볼 수 있으며, 회색 아이템은(상인에게 팔아도 안전한 아이템) 금화가 표시됩니다.

    수집품

    아제로스 대륙을 모험하며 하나 둘씩 수집한 계승 아이템과 희귀한 장난감들은 소중한 추억이지만, 때로는 칸을 차지하는 애물단지로 전락하기도 합니다. 이제는 소지품 칸을 차지하지 MT4보다 개선된 인터페이스 않고도 이 소중한 추억들을 간직할 수 있으며, 한번 획득한 수집품은 해당 계정의 모든 캐릭터가 공유합니다. 수집품을 모두 모을 계획이신가요? 탈것이나 애완동물 도감과 마찬가지로, 아직 잠금 해제하지 못한 수집품이 있다면 해당 수집품을 획득하는 방법 등의 유용한 정보가 제공될 것입니다. 수집품은 크게 두 부분으로 나눌 수 있습니다.

    계승 아이템

    heirloom collection

    이제 계승 아이템의 경우, 서버와 계정의 벽이 완전히 허물어집니다. 하나의 Battle.net 계정에 속한 모든 캐릭터(신규 및 기존)는 잠금 해제한 계승 아이템을 공유하며, 언제든지 소환하여 수집품 칸에 넣을 수 있습니다.

    장난감 상자

    toy box collection

    소지할 칸이 부족하다는 이유로 아끼는 장난감을 처분할 필요 없이 원하는 장난감을 모두 수집할 수 있게 되었습니다. 뻥뻥차 마모트, 너 말이야 너..

    MT4보다 개선된 인터페이스

    지금까지 살펴본 부품간의 커넥티비티인 UART, I2C, SPI는 데이터를 전송하기 위해서 기본적으로 하나의 라인을 필요로 한다. SPI는 2개의 라인이 있지만, 마스터의 입장에서 봤을 때 하나는 송신(쓰기)을 위한 것이고, 다른 하나는 수신(읽기)을 위한 것이다. 동작 원리도 해당 데이터 라인을 통해서 들어오는 신호의 전압의 높낮이를 보고 로직 레벨 1(High)또는 0(Low)를 판단한다. 이 방식은 UART 를 다루는 장에서 이미 살펴 보았으며, I2C나 SPI도 동작 원리는 동일하다. 이러한 방식을 단일 종단 신호(Single-ended signal) 방식이라고 한다. 기본적으로 그라운드 전압과 비교하여 그 차이를 신호로 인식한다.

    [그림 1] 단일 종단 신호 방식

    이 방식은 구현이 간단하고, 비용도 적게 들지만 고속의 신호 전송이 필요하거나 비교적 먼거리의 신호 전송이 필요할 때에는 적합하지 않다. 가장 큰 이유는 노이즈에 취약하다는 것이다. 고속 신호 전송 중 노이즈 성분이 포함되면 원래의 데이터 복원이 불가능해질 수 있다. 또한, 먼거리 전송에서도 노이즈에 노출된 가능성이 높아져 역시 온전한 데이터의 전송이 어려워진다.

    이와 같은 문제점을 해결하기 위해서 도입된 기술이 차분 신호(Differential signal) 방식이다. 차분 MT4보다 개선된 인터페이스 신호 방식은 두 개의 라인을 사용한다. 따라서 단일 종단 신호 방식보다는 비용이 더 들게 되지만, 신호의 고속 전송이나 먼거리 전송에는 강점을 갖는다. 동작 원리는 다음과 같다. 그라운드와의 차이에서 신호의 값을 읽었던 단일 종단 방식과는 달리, 차분 신호 방식은 두개의 라인으로 부터 들어 오는 신호의 차이 값으로 부터 신호의 값을 읽는다. 이를 통해서 외부의 노이즈 성분이 섞여 들어 오더라도 원래의 데이터를 복원하는 것이 수월해져서, 고속의 신호 전송이나 먼거리 전송이 가능해 진 것이다.

    일반적으로 차분 신호를 사용하게 되면, 두 신호의 차이를 이용하게 되므로 그라운드 전압과의 비교는 무의미해진다. 따라서 낮은 전압을 사용해도 되는데, 이렇게 해서 낮은 전압(LV, Low Voltage) + 차분 신호(DS, Differential Signal) = LVDS가 만들어 지게 되었다.

    LVDS는 1994년에 소개가 되었는데, LVDS자체는 원천 기술과 같은 것이어서, 이를 사용하는 어플리케이션이 필요했다. 그리하여, 최초의 LVDS적용은 애플 컴퓨터(나중에 애플은 사명에서 컴퓨터를 뗀다)에서 이루어졌다. 아직까지는 고속의 그래픽 데이터 전송에 대한 요구사항이 없던 시절이었지만, 애플 컴퓨터의 선행 기술팀은 멀티미디어 데이터를 컴퓨터 내부의 버스 시스템을 우회하여 빠른 속도로 디스플레이 장치로 전송할 수 있는 새로운 인터페이스 기술을 준비하고 있었으며, 이를 QuickRing이라고 이름 짓고, LVDS를 사용하도록 하였다. 그리고, 이 연결 방식은 애플의 매킨토시 컴퓨터에 사용이 되었다. 이후 애플은 다운사이징을 시도하면서, 더이상 QuickRing에 대한 연구 지원을 하지 않게 되자, 관련 개발자들이 내셔널 반도체사(National Semiconductor)로 자리를 옮겨서 LVDS 적용을 위한 연구를 진행하게 된다.

    내셔널 반도체는 노트북 컴퓨터 모니터를 위한 FPD-LINK(Flat Panel Display)를 LVDS에 기반해서 만들게 되고, 상업적으로 성공하게 된다. 바로 FPD-LINK가 LVDS의 킬러 어플리케이션이 된 것이다. 1990년대 말에는 노트북 컴퓨터 제조업체들이 모여서 내셔널 반도체사의 FPD-LINK와 텍사스 인스트루먼트사가 FPD-LINK의 규격을 보고 만든 Flat Link를 업계의 표준으로 삼게 된다.

    한편, 노트북 컴퓨터에서 성공적인 적용을 확인한 업계는 이를 평판 TV에도 성공적으로 적용을 하게 되었고 현재는 TV 제조 업계에서 de facto standard이다. LVDS 적용 범위의 확대는 계속되었고, 다음 영역은 제품 내부 부품간의 연결 뿐만 아니라, 외부 기기들을 연결하는 수단으로도 제안되었다. 데스크탑 컴퓨터와 모니터, 혹은 DVD 플레이어와 TV의 연결을 위해 만들어진 표준이 LDI(LVDS Display Interface)와 OpenLDI였다. 하지만, 이들은 성공하지 못했다. 그곳은 장차 HDMI를 위한 영역이었다.

    그외에도 LVDS는 카메라 인터페이스를 위한 표준으로 성공적으로 자리 매김하였다. 내셔널 반도체사의 Channel-Link 솔루션은 화상처리 기술의 표준을 작성하는 AIA(Automated Imaging Association)에서 만든 Camera Link 표준에 사용이 된다. Camera Link는 컴퓨터의 비젼 관련 어플리케이션을 통신 표준이다. 모바일 인터페이스의 규격을 정의하는 MIPI에서는 어플리케이션 프로세서(AP)와 카메라 간의 인터페이스를 CSI(Camera Serial Interface)로 정의하고 LVDS를 사용한다.

    LVDS는 TIA/EIA-644이라는 표준으로 규정되어 있고, IEEE에서 만든 규격으로는 SCI-LVDS가 있다.

    LVDS는 기본적으로는 2개의 부품을 연결하는 일대일 연결이다. 그런데, 하나의 송신 부품에서 데이터를 전송하고 다수의 수신 기기에서 데이터를 받을 수 있는 규격이 필요해져서 내셔널 반도체에서는 버스 시스템을 규격에 포함시킨 BLVDS(Bus LVDS)를 만들었고, 업계의 사실상 표준이 되었다. 이후 미 전기 통신 공업 협회(Telecommunications Industry Association)에서도 유사한 표준을 만들었는데, MLVDS(Multipoint LVDS)이다(TIA-899).

    아래 그림에는 하나의 송신기(driver)와 다수의 수신기(receiver)로 구성되는 Multi-drop 방식의 일대다 연결과 다수의 송신기와 다수의 수신기로 구성되는 Multiple point 방식의 다대다 연결이 나타나 있다.


0 개 댓글

답장을 남겨주세요