สิ่งที่ผมรู้ หากคุณอ่าน คุณจะรู้ตามผมไปด้วย

25-09-2007

Lima Bella เกาะเสม็ด

Filed under: เกาะเสม็ด — ejeepss @ 09:44:57

เดินทาง 23-24  กันยายน 2550

img_0000.jpg

หากใครต้องการพักผ่อน ตากอากาศ สดชื่นกับบรรยากาศทะเล อาจนึกถึง ทะเลที่ใกล้ ๆ กรุงเทพฯ เช่น บางแสน พัทยา หรือ หัวหิน ก็ตาม แต่หากต้องการพักผ่อนโดยไม่อยู่บนฝั่ง อยากพัีกบนเกาะ เพื่อใกล้ชิดทะเลมากขึ้น ก็ต้องที่นี่เลย เกาะเสม็ด หากทรายขาว น้ำทะเลใส เพียงนั่งเรือเร็ว ใช้เวลาเดินทางเพียง 10 นาที เท่านั้น จากบ้านเพ …

การเดินทางครั้งนี้เริ่มต้นจากถนน รามอินทรา เข้าสู่ทางหลวงแผ่นดินระหว่างเมือง (Motor Way) โดยการเดินทางสะดวกสบายเป็นอย่างมาก ตรงอย่างเดียว โดยชำระค่าผ่านทางทั้งสิ้น 3 ด่าน (จริงๆ อาจเสียแค่ 2 ด่านก็พอ แล้วไปหลบด่านพานทอง) แต่หากเสีย 3 ด่าน ก็เดินทางสะดวก แต่ระหว่างทางที่ไหนนั้น ช่วงเส้น 36 เพื่อวิ่งไประยอง มีการก่อสร้างสะพานหลายจุด ซึ่งหลายจุดนั้น ป้ายบอกว่ากำลังมีการก่อสร้างก็น้อยเหลือเกิน หากเดินทางกลางคืนนั้น ไฟส่องสว่าง ก็ไม่เพียงพอ แนะนำให้เดินทางกลางวันจะดีกว่า เมื่อเข้าตัวเมืองระยองแล้ว แป๊ปเดียวก็ถึงบ้านเพ วิ่งตามป้ายบอกเส้นทางได้ โดยไม่ยากนัก …

รีสอร์ทที่เราจะเข้าพักนั้น เป็นรีสอร์ทเล็กๆ เปิดใหม่ ซึ่งอยู่ห่างจากหาดทรายแก้ว เพียง 400 เมตร หลายคนอาจชอบรีสอร์ทที่ติดทะเลมากกว่า อาจเนื่องจากต้องการเดินลงทะเลได้เลย แต่ผมกลับชอบห้องที่ถัดจากทะเลมาหน่อย บรรยากาศอาจไม่คึกคักนัก แต่เงียบสงบดี เมื่อเรานั่งเรือเร็วมาถึงท่าเรือบนเกาะเสม็ด ทางรีสอร์ทให้ Taxi มารับ (ฟังดูดี จริงๆ คือรถสองแถวสีเขียว นั่นเอง) และเมื่อมาถึงรีสอร์ท ก็ถึงรีสอร์ทมีพนักงานต้อนรับออกมารับ …

img_0002.jpg

มาถึงก็พบสระน้ำขนาดใหญ่ จึงต้องเดินออม โดยผ่านทางเดิน ซึ่งตบแต่งด้วยไม้หมอนรถไฟเก่า ซึ่งได้บรรยากาศไปอีกแบบ

img_0003.jpg
เจ้าหน้าที่วุ่นวายพอควร เนื่องจากมีลูกค้าพอสมควร

img_0004.jpg

ห้องพักที่ได้เข้าพักนั้น อยู่ติดกับสระน้ำ บรรยากาศค่อนข้างร่มรื่นมาก เนื่องจากมีต้นไม้ขนาดใหญ่พอสมควร ได้อาศัยร่ม จากต้นไม้่ใหญ่นี้

img_1387.jpg

บรรยากาศภายในห้อง ตบแต่งได้สวยงาม โดยห้องที่พักมี 2 ชั้น โดยที่ชั้นล่างเป็นห้องพักผ่อนสบาย ๆ ส่วนห้องนอนอยู่ัชั้นบน โดย Design ให้เป็นแบบห้องใต้หลังคา

img_1407.jpg

img_1412.jpg
บรรยากาศสระว่ายน้ำหน้าห้อง ประกอบด้วย 2 สระ คือสระนวดตัว และสระว่ายน้ำขนาดเกือบมาตรฐาน

ไปชายหาดกันดีกว่า … หาดทรายแก้ว โดยมีร้านอาหารทะเล เรียงรายตามชายหาด
img_1441.jpg

img_1451.jpg

มา Dinner ที่รีสอร์ทกันบ้านดีกว่า โดยอาหารนั้นรสชาติ ถึงแม้ัจะไม่จัดจ้านมากนั้น

img_1474.jpg

แบบว่า ยังไม่สะใจคนไทยเท่าไหร่ อาจทำให้กับลูกค้าต่างชาติจนชินก็ได้

img_1510.jpg

ตื่นเช้าจึงไปชมทะเลอีกรอบ บรรยากาศเงียบเหงา อาจเนื่องวันนี้ไม่ใช่วันหยุด

กลับมากินอาหารเช้าที่รีสอร์ท โดยมีหลาย Set ให้เลือก แต่ละชุดตามด้วยผลไม้ พร้อมชา หรือกาแฟ

img_1514.jpg

img_1533.jpg

บรรยากาศจากที่รับประทานอาหาร บรรยากาศดีทีเดียว

หลังจากพักผ่อน แล้วก็เช็คเอาท์ กลับยังท่าเรือเพ ได้อย่างปลอดภัย

img_1548.jpg

เรือเร็ว แต่เป็นของอีกรีสอร์ทหนึ่ง ซึ่งเป็นญาติกัน 5 5

img_1547.jpg

ที่จอดรถ บอกได้ว่าสะดวกสบาย และปลอดภัย โดยเสียค่าจอดคืนละ 80 บาท แต่หากพักที่รีสอร์ทจะเสียเพียง 60 บาทเท่านั้น

img_1567.jpg
ก่อนกลับกรุงเทพฯ แวะทานอาหารทะเลสด ๆ ที่ร้านน้องพร ที่หาดแม่รำพึง บรรยากาศเงียบๆ สบาย ๆ ตามสไตล์ที่ผมชอบ

และเดินทางกลับด้วยความประทับใจ
ขอบพระคุณที่สนใจอ่าน

Reference :

Lima Bella Resort : http://www.limabella.com/nuke.php

11-09-2007

“Lana” คุณคือใคร?

Filed under: Lena คุณคือใคร? — ejeepss @ 15:45:00

Lana ฟังชื่อแล้วเขาคือใครกันหนอ ..

len_top.jpg

หากใครได้ศึกษา วิชา Information Theory หรือวิชาเกี่ยวกับการเข้ารหัสช่องสัญญาณ หรือ Source Coding ทั้งหลาย อาจคุ้นกับภาพ ๆ นี้ เนื่องจาก คุณ Lena Söderberg

สาวสวยที่คุณจะได้พบได้ในหลาย ๆ งานวิจัยเกี่ยวกับทางด้าน Image Compression หรือใครที่คิดทฤษฏี ใหม่ ๆ หรือเพียงแค่เพิ่มประสิทธิภาพของทฤษฏีเก่า อีกนิด ก็มักจะใช้฿าพนี้ เพื่อเปรียบเทียบก่อน และหลัง โดยจริงๆ ภาพนี้ถูกตีพิมพ์ในหนังสือ PlayBoy ! ตกใจใช่ไหมครับ ว่า วงการ PlayBoy นั้นมาเกี่ยวกับ วงการวิชาการ และนักวิชาการได้อย่าไร …
เหตุการเกิดขึ้นเมื่อปี 1973 เมื่อผู้ช่วยนักวิจัย ของ Professor Alexander Sawchuk ที่อยู่ใน Lab Signal and Image Processing Institute (SIPI) ของ University of Southern California กำลังทำงานวิจัย พยายามหาภาพต้นแบบ เพื่อทดสอบ ทฤษฏีที่เขาคิดค้นขึ้น โดยต้องการภาพที่ดูดี มีแสงกว้าง และให้ความลึก โดยมีพืนสีหน้าชัดเจน โดยได้เปิดหนังสือ PlayBoy พบคุณ Lenna จึงนำมา Scan โดยให้ได้ภาพขนาด 512 × 512 Pixel โดยภาพจริง ๆ นั้น ฮึ ฮึ ไม่ต้อง Said เลย ..แฮะ แฮะ

lena.jpg
฿าพต้นฉบับ ที่ใช้ในการทำงานวิจัย
จากครั้งนั้น ถือว่ามีผลมากกับ สายงานวิจัยทาง ด้าน image processing และ image compression algorithms โดยแทบจะเรียกได้ว่า ในช่วงนั้น งานวิจัยใครไม่ได้ใช้ภาพคุณ Lena อาจดูเชยไปเลยทีเดียว

ตัวอย่าง Paper ที่ใช้ภาพคุณ Lena ในการอธิบาย algorithms

lena1.jpg

lena2.jpg

lena3.jpg
visit_icn.jpg

ภาพคุณ lena ในปัจจุบัน (แต่คงหลายปีแล้ว…)

หากใครอยู่ในสายนี้ หรือทำงานวิจัยด้านนี้ เห็นภาพคงนึกถึงสมัยเรียนที่ นั่งคำนวณ ทฤษฏีต่างๆ นา เต็มไปหมด แต่สมัยนี้เปิด Math Lab พิมพ์ก๊อกแก๊ก อึดใจเดียวก็เห็นผลลัพท์ แล้ว ….เฮ้อ …
ขอบพระคุณที่สนใจอ่าน

อ่านเพิ่มเติม : http://en.wikipedia.org/wiki/Lenna

Convolution Code

Filed under: Convolution Code — ejeepss @ 14:55:40

การเข้ารหัส Convolution Code

convolutioncode.jpg

Convolution Code หรือบางคนอาจเรียกว่า รหัสแบบขด จัดอยู่ในกลุ่มของ การเข้ารหัสผ่านช่องสัญญาณ (Channel Coding) โดยมีจุดประสงค์ เพื่อให้ผู้รับ รับสัญญาณ ได้ครบถ้วน หรือหากเกิดมีสัญญาณรบกวนขึ้น ผู้รับสามารถรับรู้ได้ถึงความผิดพลาด ของข้อมูลที่ได้รับ อีกทั้งสามารถแก้ไขข้อผิดพลาดนั้น ๆ ได้ โดยวิธีนี้เรียกว่า Forward Error Correction (FEC)

การเข้ารหัส Convolution Code นั้น นำไปใช้อย่างแพร่หลาย เช่นใช้ในการส่งสัญญาณวิทยุระบบดิจิตอล โทรศัพท์มือถือ รวมถึงในสัญญาณดาวเทียม และใน BlueTooth อาจเนื่องจากหากเกิดข้อผิดพลาด หรือมี Noise เข้ามากวน ฝั่งผู้รับสามารถตรวจสอบ และแก้ไขให้ข้อมูลที่ได้รับ กลับมาถูกต้อง แต่ถ้าเกิด Noise แบบแถบ (Burst noise) ล่ะก็ อาจช่วยได้ไม่ทั้งหมด อาจต้องใช้เทคนิค Bit Interleave เข้ามาช่วย ผมเคยทดสอบด้วย Math Lab ได้ผลค่อนข้างดีเดียว

การเข้ารหัส Convolution Code นั้น เริ่มต้นด้วยมีการสร้าง Generator เพื่อทำการแปลงข้อมูลจาก Bit ข้อมูล เป็น Bit รหัส Convolution Code โดยที่เริ่มต้นจากกระแสข้อมูล ที่ต้องการเข้ารหัสวิ่งผ่าน ตัวสร้างรหัส จะนำแต่ละ Bit ข้อมูลมาเพิ่มรหัส ดัง฿าพ

convolutioncode2.jpg

ข้อมูลที่ต้องการส่ง คือ 110101เมื่อตัวสร้างรหัสแล้วจะได้รหัส Convolution คือ 11 10 11 01 01 01 ซึ่งแม้จะขนาดยาวกว่าเพิ่ม แต่ได้เพิ่ม Bit เพื่อให้ปลายทางสามารถตรวจสอบ และกู้คืนความผิดปกติได้ หลักการทำงาน โดยการเปลี่ยนแปลง

การถอดรหัส Convolution

หากเป็นการอธิบายให้เห็นภาพ จะใช้ แผนภาพ Viterbi algorithm ซึ่งจะแผนเส้นทางเดิน ของข้อมูล ซึ่งจะแสดงเส้นทางที่เป็นไปได้

convolutioncode3.jpg

convolutioncode4.jpg

convolutioncode5.jpg

convolutioncode6.jpg
จากตัวอย่าง จะเห็นว่าฝั่งผู้รับมีข้อมูลผิดถึง 2 bit (Bit สีแดง) โดยสามารถถอดรหัส โดยไล่ตามเส้นทางของ Bit ที่ได้รับในแผนภูมิ Viterbi algorithm หากไม่มีเส้นทางไหนที่เป็นไปได้ แต่เมื่อถอดไปอีก จะเห็นเส้นทางต่อไป จึงทำให้สามารถสร้างเส้นทางที่ขาดไป ได้

จากการทดสอบด้วย Math Lab นั้น มีฟังก์ชั่น การเข้ารหัส Convolution ให้เรียกใช้ จากการทดสอบ ด้วยข้อมูลทดสอบนั้น หากผิดเพียง 1 Bit ปลายทางสามารถกู้คืนได้ แต่หากผิด 2 Bit ติดกัน สามารถแก้ไขได้ โดยมีโอกาศผิด 30% แต่หากผิด 1 Bit สลับกัน มีโอกาสกู้คืนผิดถึง 50% วิธีการแก้ปัญหานั้น ให้ใช้ รหัส Convolution ควบคู่กับเทคนิค Bit Interleaving และยังสามารถป้องกัน Burst Errors (การเกิด Noise ทำให้เกิด Error เป็นแถบ) ดังภาพ

convolutioncode7.jpg

เมื่อเกิด Burst Error เกิดขึ้น เมื่อ De-Interleaving ทำให้ Bit ที่เสียหายกระจายตัวกันออกไป หลังจากนั้นก็ Decode รหัส Convolution อีกครั้ง ซึ่งจะทำให้รหัส Convolution เป็นพระเอกขึ้นมาทีเดียว

ขอบพระคุณที่สนใจอ่าน

อ่านเพิ่มเติม : http://en.wikipedia.org/wiki/Convolution_code

เริ่มต้นกับทฤษฏีสารสนเทศ

Filed under: Basic Concept — ejeepss @ 11:45:00

ทฤษฏีสารสนเทศ (Information Theory)

ทฤษฏีที่ว่าด้วย การเข้ารหัสข้อมูล และการเข้ารหัสช่องสัญญาณ โดยมีภาพรวมดังนี้

it_theory1.jpg

฿าพรวมของ Information นั้นแบ่งได้เป็น 2 ส่วนหลัก ๆ คือ

1. Source Coding

หรือสามารถเรียกอีกอย่างหนึ่งได้ว่า Data Compression หมายถึงกระบวนการสร้างข้อมูลในรูปแบบ Digital ที่ไม่ซ้ำกัน เช่นหากเราต้องการส่ง a b c ไปให้ถึงผู้รับ จะทำอย่างไรให้ข้อมูลที่ส่งไปถึงผู้รับ โดยที่ผู้รับเข้าใจตรงกัน ว่าสิ่งที่ผู้ส่งมานั้น คือ a b หรือ c ซึ่งในความเป็นจริงๆ ข้อมูลที่จะส่งมีตั้งแต่ a-z A-Z ตัวเลข ตัวอักษรพิเศษ ^ & % $ # ส่งอย่างไร ถึงจะใช้จำนวน bit ที่สั้น และปลายทางสามารถเข้าใจได้ทันทีว่า Bit ที่ได้รับนั้น คือข้อมูลใด โดยมีจุดประสงค์ เพื่อจัดเก็บที่ดี (ขนาดเล็กลง) และเพื่อส่งข้อมูลถึงกัน (ข้อมูลจะมีขนาดเล็ก ส่งได้เร็ว)

  • แบ่งตามประเภทการสูญเสียข้อมูล แบ่งได้ดังนี้
    • Losseless Compression
      • หมายถึงการบีบอัดข้อมูล โดยที่ไม่ยอมสูญเสียข้อมูลเลย
    • Lossy Compression
      • หมายถึง การบีบอัดข้อมูล โดยที่ยอมสูญเสียข้อมูลบ้าง แต่ฝั่งผู้รับสามารถรับรู้ และตีความหมายได้
  • แบ่งตามลักษณะข้อมูล แบ่งได้ดังนี้
    • Multimedia Coding เน้นถึง Algorithm สำหรับส่งส่งสัญญาณ Audio, Images และ Video เช่น
      • Text
      • Speech
      • Music
      • Audio
      • Graphic
      • Image Video
      • more …
    • ตัวอย่างงานวิจัยทางด้านนี้ จนเป็นที่ยอมรับในอุตสาหกรรม และเราได้ใช้โดยไม่รู้ตัวเช่น
      • Standard: H:series, MPEG, VRML .. เพลงที่เราฟัง, MP3, DVD เป็นต้น
      • Networking: streaming, QoS, VBR
      • MMX Technology (คุ้น ๆ ไหม สำหรับคนใช้ Pantium II )
      • Databases : Retrive and Indexing
      • more …
    • Data Compression เน้นถึง Algorithm สำหรับส่งข้อมูลถึงปลายทางโดยไม่แยกแยะข้อมูล โดยที่ข้อมูลชุดใหม่ที่สร้างขึ้น มีขนาดกระทัดรัด

2. Channel Coding

การเข้ารหัสผ่านช่องสัญญาณ (Channel Coding) โดยมีจุดประสงค์ เพื่อให้ผู้รับ รับสัญญาณ ได้ครบถ้วน หรือหากเกิดมีสัญญาณรบกวนขึ้น ผู้รับสามารถรับรู้ได้ถึงความผิดพลาด โดยที่ไม่ได้เน้นการบีบอัดข้อมูลมากนัก อาจเพิ่ม Bit เข้าไปตรวจสอบ หรือเพิ่มจำนวน Bit เข้าไป เพื่อให้ฝั่งรับสามารถตรวจสอบ และสามารถแก้ไขข้อผิดพลาดนั้น ๆ ได้ โดยวิธีนี้เรียกว่า Forward Error Correction (FEC) ตัวอย่างเช่น

  • Block Code [Hamming code(7,4)]
  • Convolution Coding
  • Turbo Coding
  • more …

Channel Coding ที่เพียงแค่ให้ผู้รับปลายทางทราบว่ามีข้อมูลผิดพลาดเข้ามาเพียงอย่างเดียว และผู้รับร้องขอให้ผู้ส่ง ส่งใหม่ เรียกว่า Automatic Repeat-reQuest (ARQ) ตัวอย่างได้แก่

  • Hash Function
  • CRC
  • more …

ขอบพระคุณที่สนใจอ่าน

อ่านเพิ่มเติม : http://en.wikipedia.org/wiki/Information_Theory

Huffman Code

Filed under: Huffman Code — ejeepss @ 11:38:26

Huffman Coding

huffmancoding2.jpg

เป็นส่วนหนึ่งของ Data Compression แบบที่เรียกว่า Lossless Compression ที่เมื่อผู้รับปลายทาง รับข้อมูล สามารถ Decode กลับมาเป็นข้อมูลได้ครบถ้วน ถือว่าเป็นแม่แบบของ Data Compression เนื่องจากเป็นหลักในการศึกษาทฤษฏีอื่น ๆ ต่อไป

ตัวอย่างการเข้ารหัส Huffman Code

ผู้ส่ง ต้องการส่งข้อมูลดังนี้ {a , b , c , d } โดยที่มีโอกาศเกิดคำนั้นในเอกสาร {0.5 ; 0.3 ; 0.1 ; 0.1 } หากคิดง่าย โดยการแทนตัวอักษรดังนี้

  • a = 00
  • b = 01
  • c = 10
  • d = 11

หากต้องการส่งข้อมูล abcd ไปยังผู้รับ หากแทนตัวอักษรด้วยจำนวน 2 Bit จะได้ข้อมูล 00011011 ไปยังปลายทาง สังเกตุว่า เราใช้ ถึง 2 Bit ในการแทนตัวอักษรทั้งหมด ซึ่งไม่จำเป็นต้องใช้ Bit จำนวนมากขนาดนั้น

หากเราใช้ Huffman Code ให้การแทนนั้น เราจะสามารถแทน

  • a = 1
  • b = 01
  • c = 001
  • d = 000

สามารถคำนวณค่าเฉลี่ยการใช้ Bit แทนตัวอักษรได้ดังนี้
(0.5)*1+(0.3)*2+(0.1)*3+(0.1)*3 = 1.7 Bit เท่านั้น

ยิ่งหากมีเอกสารมากขึ้นยิ่งสามารถลดจำนวน Bit ได้มากขึ้น

ขอบพระคุณที่สนใจอ่าน

อ่านเพิ่มเติม : http://en.wikipedia.org/wiki/Huffman_coding

Next Page »

Powered by WordPress