2017년 4월 22일 토요일

HDR 과 SDR

HDR: High Dynamic Range
SDR: Standard Dynamic Range

Dynamic Range:  ratio between the largest and smallest values that a certain quantity can assume.

SDR:  the dynamic range of images/rendering/video using a conventional gamma curve.

참조: http://communityforums.rogers.com/t5/blogs/blogarticlepage/blog-id/CommunityBlog/article-id/806



conventional: 전통적인

gamma correction: 목적은 인간 시각의 비선형성에 맞추어 정보를 부호화하려는 것이므로, 많은 경우 감마 부호화(gamma encoding)라는 표현이 더 적합하다. 인간 시각은 카메라의 다이나믹 레인지보다 훨씬 높은 명암차이를 감지할 수 있으며 색상이나 해상도차이에 비해 명암의 차이에 민감하다. 디스플레이 장치의 발전에 따라서 다이나믹 레인지를 보다 잘 표현하기 위해서 기존의 영상 시스템의 활용성을 높이면서 시각에 민감한 부분의 데이터를 보다 효율적으로 압축 전달하기 위한 방향으로 gamma encoding이 개발, 발전 되고 있다.
참조
    1) https://en.wikipedia.org/wiki/Gamma_correction
    2) https://ko.wikipedia.org/wiki/%EA%B0%90%EB%A7%88_%EB%B3%B4%EC%A0%95


2017년 4월 17일 월요일

Simplicity(C 언어) 사용 시 Terminology

대상: Chip C8051-F560


CLI: Command Line Interface

HCI: Human–computer interaction

SMbus: The System Management Bus (abbreviated to SMBus or SMB) is a single-ended simple two-wire bus for the purpose of lightweight communication.

숫자 뒤의 'U'
C 언어에서 기본으로 int 이므로 뒤에 U 를 쓰면 unsigned 가 된다.
참조: http://stackoverflow.com/questions/9029974/what-does-u-mean-after-a-number

Interrupt
TCON: Timer Control
Edge/Level triggered interrupt 두 방법의 차이
Edge Trigger 는 rising 혹은 falling edge 가 발생할 때 interrupt 가 발생되는 것
Level Trigger 는 특정 Level이 될 때 interrupt 가 발생되는 것

참조: https://electronics.stackexchange.com/questions/21886/what-does-edge-triggered-and-level-triggered-mean

IT01CF: INT0/INT1 Configuration
IT01CF = 0x0E -> (00001110)
IN0PL: 1 => INT0 Polarity, 1: INT0 input is active high
IN0SL:  INT0 Port Pin Selection Bits
IN0SL[2:0]:110 =>  110: Select P1.6

Timer
When the 8-bit count overflows, the output signal is asserted. The output signal may thereby trigger an interrupt at the processor or set a bit that the processor can read. To restart the timer, software reloads the count register with the same or a different initial value.
참조: http://www.embedded.com/electronics-blogs/beginner-s-corner/4024440/Introduction-to-Counter-Timers


vector
http://www.keil.com/forum/6306/
https://en.wikipedia.org/wiki/Interrupt_vector_table

SFR
Special Function Register:
SFR Page: pages when reading or modifying SFRs.
SFR Page[7:0] = 00001111 (control_page)
SFR Page[7:0] = 00000000 (active_page)


PCA (Programmable Counter Array)
PCA 주요특징.
• 16-bit time base.
• Programmable clock divisor and clock source selection.
• Up to three independently-configurable channels
• 8, 9, 10, 11 and 16-bit PWM modes (edge-aligned operation).
• Frequency output mode.
• Capture on rising, falling or any edge.
• Compare function for arbitrary waveform generation.
• Software timer (internal compare) mode.
• Integrated watchdog timer.
참조: http://igotit.tistory.com/296


Push-Pull/Open Drain 출력 설정
This answer is general to processors and peripherals, and has an SRAM specific comment at the end, which is probably pertinent to your specific RAM and CPU.

Output pins can be driven in three different modes:

• open drain - a transistor connects to low and nothing else
• open drain, with pull-up - a transistor connects to low, and a resistor connects to high
• push-pull - a transistor connects to high, and a transistor connects to low (only one is operated at a time)
• Input pins can be a gate input with a:

• pull-up - a resistor connected to high
• pull-down - a resistor connected to low
• pull-up and pull-down - both a resistor connected to high and a resistor connected to low (only useful in rare cases).
참조: https://electronics.stackexchange.com/questions/28091/push-pull-open-drain-pull-up-pull-down

crossbar
참조: https://www.reddit.com/r/AskElectronics/comments/1ggdd6/what_is_the_crossbar_in_a_microcontroller_and_how/


ASCII
0x0d : carriage return (\r)
0x0a : new line ( \n)


SBIT
SFR 에 개별적으로 접근하기 위한 방법

SBIT (TI0, SFR_SCON0, 1);              // UART0 TX Interrupt Flag
SBIT (RI0, SFR_SCON0, 0);              // UART0 RX Interrupt Flag

참조: http://www.fsinc.com/reference/html/com9agk.htm


Pin Configuration
핀 구성을 도와주는 프로그램이 들어 있다.
그 툴로 셋팅을 하면 Register를 셋팅하는 코드가 나오니 그 코드를 사용하면 된다.
Config2.exe

2017년 4월 3일 월요일

Image processor

이미지 프로세서를 이해하기 위해서 Wikipedia 내용을 번역

An image processor, image processing engine, also called media processor, is a specialized digital signal processor (DSP) used for image processing in digital cameras, mobile phones or other devices.[1][2] Image processors often employ parallel computing even with SIMD or MIMD technologies to increase speed and efficiency. The digital image processing engine can perform a range of tasks. To increase the system integration on embedded devices, often it is a system on a chip with multi-core processor architecture.
이미지 프로세서(이미지 프로세싱 엔진, 그리고 미디어 프로세서로 불리는)는 디지털 카메라, 핸드폰 그리고 다른 장치들에서 사용되는 특화된 디지털 시그널 프로세서(DSP)를 말한다. 이미지 프로세서는 스피드오 효율성을 위해서 SIMD 나 MIMD 와 같은 병렬 컴퓨팅를 사용한다. 디지털 이미지 프로세싱 인진은 여러 Task 를 사용할 수 있다. 임베디드 시스템에서의 시스템 통합을 위해서, 멀티코어 프로세서 시스템 구성을 가진 칩 위에서 사용된다.


Function

Bayer transformation
The photodiodes employed in an image sensor are color-blind by nature: they can only record shades of grey. To get color into the picture, they are covered with different color filters: red, green and blue (RGB) according to the pattern designated by the Bayer filter - named after its inventor. As each photodiode records the color information for exactly one pixel of the image, without an image processor there would be a green pixel next to each red and blue pixel. (Actually, with most sensors there are two green for each blue and red diodes.)
This process, however, is quite complex and involves a number of different operations. Its quality depends largely on the effectiveness of the algorithms applied to the raw data coming from the sensor. The mathematically manipulated data becomes the photo file recorded.
이미지 센서에 사용된 포토 다이오드(감광성의 반도체 장치)는 자연에 의한 color-blind 이다: 회색 그림자만을 저장할 수 있다. 그림에 색을 넣기 위해서는, 서로 다른 Bayer Filter(만든사람 이름)로 디자인된 색 필터가 사용되어야 한다: 빨간색, 녹색 그리고 파란색(RGB). 각각의 포토 다이오드는 하나의 색 정보(RGB 중 1개) 밖에 없기 때문에 이미지 프로세서가 없다면 그냥 녹색 픽셀 옆에 파란색 그 옆에 빨간색 픽셀이 있는 것이다?(실제로는 파란색, 빨간색 하나씩에 녹색은 2개가 있다.)
하지만 이 프로세스는 꽤 복잡하며 많은 작업들이 연관되어 있다. 품질은 sensor 에서 받은 raw 데이터에 대한 알고리즘의 효과성에 달려 있다. 수학적으로 조작된 데이터는 사진 파일이 된다.

Demosaicing
As stated above, the image processor evaluates the color and brightness data of a given pixel, compares them with the data from neighboring pixels and then uses a demosaicing algorithm to produce an appropriate colour and brightness value for the pixel. The image processor also assesses the whole picture to guess at the correct distribution of contrast. By adjusting the gamma value (heightening or lowering the contrast range of an image's mid-tones) subtle tonal gradations, such as in human skin or the blue of the sky, become much more realistic.
이미지 프로세서는 픽셀에 있는 색과 밝기를 평가하고 옆에 있는 픽셀들과 비교하여 demosaicing 알고리즘을 적용하고 나면 적절한 색과 밝기를 생산해 낸다. 이미지 프로세서는 전체 사진에 대해 판단하여 정확한 대비의 분배를 추측한다. gamma 값을 조정하여(이미지의 mid-tone 대비값을 강조하거나 낮추거나 해서) 미묘한 톤의 단계적 차이를 현실감 있게(피부 및 하늘의 파란 색 등) 표현한다.
- 디지털 카메라의 모자이크 형태의 컬러필터배열(CFA)에 의해 만들어진 샘플을 풀컬러 이미지로 변환하는 것(Link)

Noise reduction
Noise is a phenomenon found in any electronic circuitry. In digital photography its effect is often visible as random spots of obviously wrong colour in an otherwise smoothly-coloured area. Noise increases with temperature and exposure times. When higher ISO settings are chosen the electronic signal in the image sensor is amplified, which at the same time increases the noise level, leading to a lower signal-to-noise ratio. The image processor attempts to separate the noise from the image information and to remove it. This can be quite a challenge, as the image may contain areas with fine textures which, if treated as noise, may lose some of their definition.
노이즈는 어느 전기적 회로에나 있는 현상이다. 디지털 사진에서 random 하게 명확하게 잘못된 값들이 관찰되게 된다. 노이즈는 온도에 따르거나 노출 시간에 따라 증가되게 된다. 이미지 센서가 증폭될 때에 높은 ISO 셋팅이 사용되면 노이즈 도 같이 증폭되게 된다. 이미지 프로세서는 이미지 정보와 노이즈를 분리하려고 시도한 뒤 노이즈를 제거한다. 이런 것은 꽤 challenge 가 될 수 있다. 이미지에서 정제된 질감을 가질 때는 노이즈로 취급되어 사라질 수도 있다.


Image sharpening
As the color and brightness values for each pixel are interpolated some image softening is applied to even out any fuzziness that has occurred. To preserve the impression of depth, clarity and fine details, the image processor must sharpen edges and contours. It therefore must detect edges correctly and reproduce them smoothly and without over-sharpening.
각 픽셀의 색과 밝기 값들이 interpolate 되어 보풀같은 것들이 일어났을 때 이미지를 부드럽게 만들어낼 때 쓰인다. depth, clarity, fine detail 의 인상을 보존하고 싶을 때, 이미지 프로세서는 에지나 윤곽을 날카롭게 한다.    그래서 에지들을 명확하게 감지하고 그것들을 부드럽게 재현하는 것 그리고 Over sharpening 하는 것이 없어야 한다.

참조: Link

2017년 3월 26일 일요일

실무 영어

현업에서 영어 사용 중 유용한 표현이나, 어색한 표현을 정리해서 기억한다. 그리고 어색한 표현은 시간을 두고 개선해 본다.


1. 이 항목은 체크해야 한다.
    - need to be checked 이렇게 쓰는데 조금 더 부드러운 표현은 없는지
    - check needed.

2. 우리는 일하지 않을 거야.
    - we would not in the office
    -> mail에 we would not work 라고 적었는데, 생각해보니 Sweden 고객의 경우 office 에 없다는 표현을 썼었다.

3. 파일 공유 드립니다. 확인해 주세요.
    - XXXX file attached. please check.
    -> 간단하게 attached 라고 이야기 하고 이유 등은 따로 이야기 하면 될듯.
    - Attached is the XXXX.
      please review it
    -> 고객 Manage 가 이렇게 보냈는데 간단해 보임

2017년 3월 25일 토요일

Google Search 방법

자주쓰는 Search 방법을 빈도별 정리


List
1. " "
2. -
3. filetype:
4. AND, OR
5. *
6. site:
7. Tools
8. Advanced Search


참조 사진

7. Tools(날짜별 검색 시 사용)








8. Advanced Search(그 외 내용들, 자주 사용하지 않음)


2017년 3월 12일 일요일

블로그 검색을 늘리기 위한 방법

1. 네이버 웹마스터 도구
    - 싸이트 등록

2. 다음 검색엔진 등록
    - 블로그 등록 신청 완료
        * completeindaytime@gmail.com 님의 블로그 등록신청이 완료되었습니다.
        * 블로그 URL http://stackrefactoring.blogspot.kr
    - 싸이트 등록 신청 완료

3. Bing 웹마스터 등록

여기까지 참고 Link

4. Zoom 블로그 등록 신청 완료

CANoe 회사 Vector Informatik 의 Youtube 동영상 분류


실무에 깁숙히 들어가기 전에 분류를 하고싶은 생각이 들어 분류해 보았습니다.
자신만의 방식이 있겠죠... 긍정적으로 꾸준히..

포스트 작성 계기
1. CANoe 를 사용하게 되어 기존 만들어져 있는 Simulation 환경을 사용하던 중 더 자세하게 알고 싶다고 생각

2. CANoe Simulation의 내부에서는 Node 를 사용하며 그 내부에서는 CAPL 코드를 사용하고 있음을 발견

3. CAPL 을 익히기 위하여 Youtube를 검색하던 중 "CAPL Basics -- Three Examples" 이라는 동영상(Link) 발견(CANoe 회사인 Vector Informatik 제작)

4. 내용이 유익하여 그 Youtube 채널 "Vector Group" 의 다른 내용을 확인해 보던 중 가장 인기있는 동영상이 가장 유익할 것이라고 생각하여 분류

 Vector 동영상 우선순위
시간
Youtube 동영상 제목
점수(가중치)
조회수
 4:05
CAPL Basics -- Three Examples
37392.6
53418
 6:07
CANoe 9.0 - Highlights of the new version
11546.0
5773
 6:41
New Panel Designer Controls in CANoe/CANalyzer 7.5
8708.7
12441
 4:57
Highlights of CANoe Version 8.1
6993.6
8742
 3:36
CANoe and CANalyzer New Trace Window - Overview
6430.9
9187
 0:31
CANoe Drag and Drop
5761.7
8231
 5:55
CANoe.DiVa: Fully-automated diagnostic validation
5629.6
7037
 4:51
CANoe 8.5: Highlights of the new version
5194.0
5194
 7:25
Efficient functional testing of ECUs with the VT System and CANoe
4999.4
7142
 6:14
Integrating Simulink models in CANoe's simulation environment
4700.8
5876
 4:03
CANoe and CANalyzer Visual Sequenzer
4683.0
6690
 3:31
Offline analysis with CANoe.XCP
3722.0
3722
 5:52
HIL tests with the VT System and CANoe (English Subtitles)
3556.0
3556
 2:15
CANoe Symbol Panel
3185.0
4550
 0:31
CANoe Graphics Window
2926.0
4180
 5:46
Generating a J1939-82 compliance test conveniently with CANoe.J1939
2828.8
3536
 4:55
CANoe 8.0 Highlights
2611.0
3730
 6:13
CANoe and CarMaker - Connect Both Tools with FMI
2486.2
2279
 3:02
CANoe and CANalyzer New Trace Buffer
2403.1
3433
 3:13
CANoe and CANalyzer New Trace Filter
2320.5
3315
 6:42
CANoe State Tracker Window
1751.4
2502
 27:57
Mastering Service-Oriented Architecture with CANoes Function Bus
1560.0
130
 4:11
CANoe.DiVa - Use the Service View to improve the test depth
1507.2
628
 5:33
CANoe Graphics Window
1274.2
1168
 5:15
CANoe: New Features in Version 7.6
1236.9
1767
 2:38
CANoe Drag and Drop
1133.5
1039
 7:40
CANoe.DiVa Report Analysis: Comment and Structure the Test Results
1080.0
180
 7:46
CANoe.DiVa-Use System Conditions to test in the required operation mode
1000.8
417
 34:47
The CANoe.Ethernet Solution - Use in Practice
996.0
83
 4:37
CANoe.DiVa Report Analysis: Exchange and Archive Test Results
486.0
81
 2:44
AnalyzingAndReproducing of AVBdatastreams withthehelpofCANoe(English Subtitles)
345.6
144
 4:13
CANoe.DiVa Report Analysis: Use Filters to Speed up Test Analysis
342.0
57